能有多大?你是说最大么?
站在用户的角度思考问题,与客户深入沟通,找到瓯海网站设计与瓯海网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、网站设计、企业官网、英文网站、手机端网站、网站推广、申请域名、网站空间、企业邮箱。业务覆盖瓯海地区。
数据库最多带65536,也就是64K个数据文件,去掉2-3个redolog,一般为3个。也就是65533个。
现在的db_block_size可以为4K,8K,16K,32K,64K,(有人说有128K的但是我没用过这么大的,也没见过用的)
一般的smallfile(普通数据文件)中可以有4M个数据块(4*1024*1024),那么每个数据文件的最大大小就是:16G,32G,64G,128G,256G。
为了方便计算,我们将65533认定为64K,那么如果数据文件都是smallfile的话,数据库可以达到,1EB,2EB,4EB,8EB,16EB。
但是这并不是最大值,因为数据库还有一种datafile叫做bigfile这种数据文件每个有4G个数据块,也就是说数据文件大小直接变化了一个数量级别,每种数据文件大小分别是:16T,32T,64T,128T,256T。
再加上64K个文件,那就是天文数字了。
不过应该用不到这么大吧。
1、64位linux 和64位oracle,默认oracle表空间数据文件用的BLOCKSIZE是8k,表空间数据文件最大是32G。
SQLshow parameter k_cache_size
查看数据库默认的块大小
SQL show parameter db_block_size
db_block_size integer 8192
2、为了让一个表空间数据文件存64G,你需要告诉oracle用BLOCKSIZE 是16k
CREATE TABLESPACE TEST DATAFILE ‘/data1/test_ts1.dbf’ SIZE 512M AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED BLOCKSIZE 16k;
提前需要设置db_16k_cache_size
alter system set db_16k_cache_size=16M scope=both;
否则会报错ORA-29339:
tablespace block size 16384 does not match configured block sizes
3、为了让一个表空间数据文件存128G,你需要告诉oracle用BLOCKSIZE 是32k
4、32位linux 和32位oracle,默认oracle表空间datafile用的BLOCKSIZE也是8k,表空间数据文件最大也是32G。试了一下64G文件,也没有问题。
oracle中连续求和分析函数为sum(?)over(?)。
用法:
selectbdcode,sum(1)over(orderbybdcode)aafrombd_bdinfo
规则:
1、sum(?)over(),对所有行求和
2、sum(?)over(orderby?),连续求和
3、sum(?)over(partitionby?),同组内所行求和
4、sum(?)over(partitionby?orderby?),同第1点中的排序求和原理,只是范围限制在组内。
扩展资料
数据库的物理存储结构是由一些多种物理文件组成,主要有数据文件、控制文件、重做日志文件、归档日志文件、参数文件、口令文件、警告文件等。
控制文件:存储实例、数据文件及日志文件等信息的二进制文件。altersystemsetcontrol_files=‘路径’。V$CONTROLFILE。
数据文件:存储数据,以.dbf做后缀。一句话:一个表空间对多个数据文件,一个数据文件只对一个表空间。dba_data_files/v$datafile。
日志文件:即RedoLogFiles和ArchivelogFiles。记录数据库修改信息。ALTERSYSTEMSWITCHLOGFILE;。V$LOG。
参数文件:记录基本参数。spfile和pfile。
警告文件:showparameterbackground_dump_dest---使用共享服务器连接。
跟踪文件:showparameteruser_dump_dest---使用专用服务器连接。
参考资料来源:百度百科-Oracle数据库
1、数据文件:
Oracle数据库中每个表空间(tablespace)都是由一个或多个物理数据文件(datafile)构成的。
当一个数据文件(datafile)首次被创建时,为其分配的磁盘空间被格式化为Oracle格式,此时其中尚不包含任何用户数据。Oracle将使用这些空间存储属于( 与此数据文件对应的)表空间的段(segment),这些空间专为Oracle使用。随着表空间内的数据增长,Oracle使用数据文件中的可用空间为段分配新的数据扩展(extent)。
2、控制文件
控制文件(control file)是一个二进制文件,供数据库启动及正常工作时使用。
在数据库运行过程中,控制文件会频繁地被Oracle修改,因此数据库处于开启(open)状态时控制文件必须可写。如果控制文件因故不能访问,数据库 也将无法正常工作。
每当添加,重命名,或移除数据库中的数据文件(datafile)及重做日志文件(redo log file)时,控制文件(control file)就会被更新以反映这些数据库物理结构变化。
需要用count函数来实现。
如test表中有如下数据:
现要查询每个deptno下的人数,可用如下语句:
select deptno,count(*) from emp group by deptno;
查询结果:
表有哪些列,及其数据类型等这些属于是Oracle的元数据,存放在系统表空间,表里面的数据存放在表所在的表空间。当然表空间是由数据文件组成的,所以也可以认为他们都存放在数据文件里。