oracle maximum file size = db_block_size * ( ^ = )
也就是说最大的数据文件大小是由 db_block_size 来决定的 KB的数据块的数据文件最大为 K * = G 其他的以此类推
数据块 数据文件 KB GB KB GB KB GB KB GB KB GB
限制的原因在于 由于Oracle的Rowid中使用 位来代表Block号 这 位最多只能代表 ^ 个数据块
【注】以上规则适用于 *** allfile tablespace 下的数据文件 bigfile tablespace 下的数据文件不受此限制
SQL>create tablespace lob_rms datafile +DISKGRP /rms/datafile/lob_rms_ size G
create tablespace lob_rms datafile +DISKGRP /rms/datafile/lob_rms_ size G
*
ERROR at line :
ORA : File size ( blocks) exceeds maximum of blocks
SQL>!oerr ora
File size (%s blocks) exceeds maximum of %s blocks
// *Cause: Specified file size is larger than maximum allowable size value
lishixinzhi/Article/program/Oracle/201311/17420
查看方法:
1、查看所有表空间及表空间大小:
select tablespace_name ,sum(bytes) / 1024 / 1024 as MB from dba_data_files group by tablespace_name
2、查看所有表空间对应的数据文件:
select tablespace_name,file_name from dba_data_files
3、修改数据文件大小:
alter database datafile 'H:\ORACLE\PRODUCT\10.1.0\ORADATA\ORACLE\USERS01.DBF' RESIZE 10240M
扩展资料
每张表都是作为“段”来存储的,可以通过user_segments视图查看其相应信息。
段(segments)的定义:如果创建一个堆组织表,则该表就是一个段。
sql:SELECT segment_name AS TABLENAME,BYTES FROM user_segments WHERE segment_name='表名'。
解释:
segment_name 就是要查询的表名(大写),BYTES 为表存储所占用的字节数。本sql的意思就是查询出表名和表所占的存储空间大小。
参考资料
csdn:怎么查看oracle数据库大小
1、64位linux 和64位oracle,默认oracle表空间数据文件用的BLOCKSIZE是8k,表空间数据文件最大是32G。SQL>show parameter k_cache_size
查看数据库默认的块大小
SQL>show parameter db_block_size
db_block_sizeinteger 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文件,也没有问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)