oracle文件大小的限制
标准的 Oracle 数据文件最多可以包含 4194303 个 Oracle 数据块。所以这也表示单个数据文件大小的上限取决于所用的 Oracle 块大小。
(MOS ID 112011.1)
SQL> SELECT TO_CHAR (4194303 * VALUE, '999,999,999,999')MAX_BYTES,TO_CHAR (TRUNC (4194303 * VALUE / 1024), '999,999,999') || ' Kb'MAX_KB,TO_CHAR (TRUNC (4194303 * VALUE / 1024 / 1024), '999,999') || ' Mb'MAX_MBFROM v$parameterWHERE name = 'db_block_size'; 2 3 4 5 6 7 8 MAX_BYTES MAX_KB MAX_MB
------------------------------------------------ --------------------------------------------- ---------------------------------34,359,730,176 33,554,424 Kb 32,767 Mb
8k最大为32,767 Mb。DB_BLOCK_SIZE与文件最大值的对应关系如下:
DB_BLOCK_SIZE File Max Mb
~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2048 8191 M4096 16383 M8192 32767 M16384 65535 M
尝试修改下数据文件的大小:
SQL> select file_id,file_name,bytes/1024/1024 mb from dba_data_files; FILE_ID FILE_NAME MB
---------- --------------------------------------------- ----------4 /u01/oradata/prodb/users01.dbf 106.253 /u01/oradata/prodb/sysaux01.dbf 2702 /u01/oradata/prodb/undotbs01.dbf 6051 /u01/oradata/prodb/system01.dbf 6305 /u01/oradata/prodb/example01.dbf 1006 /u01/oradata/prodb/test_01.dbf 2006 rows selected.SQL> alter database datafile 6 resize 33G;
alter database datafile 6 resize 33G
*
ERROR at line 1:
ORA-01144: File size (4325376 blocks) exceeds maximum of 4194303 blocks
报错,不能超过4194303 blocks限制。
标准数据文件中的4194303块数从哪里来的呢?
普通数据文件数据的详细地址是由Base64编码的18位rowid组成,形式如下:
OOOOOOFFFBBBBBBRRR
OOOOOO:6位,data object id
FFF: 3位,relative_fno
BBBBBB:6位,data block number
RRR: 3位,row number
查询表中某一行的信息:
SELECT SUBSTR (ROWID, 1, 6) "object",SUBSTR (ROWID, 7, 3) "file",SUBSTR (ROWID, 10, 6) "block",SUBSTR (ROWID, 16, 3) "row"FROM hr.employeesWHERE ROWNUM = 1; "object" "file" "block" "row"
AAAMg6 AAF AAAABY ABD
也可以使用DBMS_ROWID:
SELECT DBMS_ROWID.rowid_object (ROWID) obj#,DBMS_ROWID.rowid_relative_fno (ROWID) rfile#,DBMS_ROWID.rowid_block_number (ROWID) block#,DBMS_ROWID.rowid_row_number (ROWID) row#,FROM hr.employeesWHERE ROWNUM = 1;
rowid转换为2进制数为:
32bit obj# + 10bit file# + 22bit block# + 16bit row#
由此我们可以得出以下结论:
一个库最大obj数=2^32=4G
一个表空间最大file数=2^10=1024(除去file_id=0的数据文件,共1023)
一个数据文件最大block数=2^22=4M=4194303
一个块最大的数据行数=2^16=64K
限制请参考:https://docs.oracle.com/cd/B19306_01/server.102/b14237/limits.htm#REFRN004
oracle 10g推出了大文件表空间,可以突破以上文件大小限制。
在大文件表空间中,一个表空间仅包含一个文件,rowid中3位relative_fno不再需要保存相对文件号信息,全部扩展到block,rowid变为OOOOOO.BBBBBBBBB.RRR.
rowid转换为2进制数为:
32bit obj# + 32bit block# + 16bit row#
一个数据文件最大block数=2^32=4G
因此,对于同样的是8K的数据块,大文件表空间的的文件容量上限为32TB。
大文件表空间的文件号以1024开始。
大文件表空间不支持UNDO,TEMPORARY和SYSTEM表空间。
转载于:https://blog.51cto.com/hunt1574/2134628
oracle文件大小的限制相关推荐
- oracle 文件大小为零,windows Oracle数据文件大小为0的恢复case
本站文章除注明转载外,均为本站原创: 转载自love wife love life -Roger 的Oracle技术博客 本文链接地址: windows Oracle数据文件大小为0的恢复case 一 ...
- Redhat 中裸设备(raw) 的配置和oracle中使用
1.对磁盘进行分区 fdisk -l 查看磁盘情况 fdisk /dev/sdb 进行分区操作 2.配置裸设备(修改/etc/udev/rules.d/60-raw.rules文件) 在redhat5 ...
- oracle设置大表空间,Oracle怎样设置表空间数据文件大小
这篇文章主要介绍了Oracle如何设置表空间数据文件大小,文中讲解非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下 Oracle数据文件默认大小上限是32G,如果要数据文件大于32G,需要在 ...
- 修改oracle日志大小,修改Oracle重做日志文件大小
修改Oracle重做日志文件大小 1.创建3个新的日志组 SQL> ALTER DATABASE ADD LOGFILE GROUP 4 ('/u01/app/oracle/oradata/or ...
- SQLSERVER 和 ORACLE 查询数据库文件大小
SQLSERVER: SQLSERVER一个库的文件分为数据文件(行数据)和日志文件两个文件,详情可以在数据库的属性->文件中查看. 在资源管理器中打开文件所在路径可以直接看到这两个文件 但是, ...
- oracle 增加ora容量_案例:Oracle报错ORA-01144 详解数据文件大小32GB的限制的原因
天萃荷净 Oracle数据文件大小的限制,运维DBA在向Oracle数据库添加一个32G的数据文件的时候报错ORA-01144,分析原因为数据库针对文件有32G限制 1.添加数据文件报错ORA-011 ...
- oracle日志文件大小规则,在线重做Oracle日志文件大小
下面为您介绍的方法用于实现在线重做Oracle日志文件大小,如果您在Oracle日志文件方面遇到过类似的问题的话,不妨一看. 1.创建2个新的日志组 alter database add logfil ...
- oracle trace 文件名,限制oracle trace 文件大小
限制oracle trace 文件大小 2007-10-10 17:34:55| 分类: oracle | 标签:|字号 max_dump_file_size参数在oracle数据库中用来限制 o ...
- 10g数据库入门与实践 oracle_修改oracle数据文件大小 报错:ORA-03297
修改oracle数据文件大小 报错:ORA-03297 数据库中SXSJ的表空间SXS文件在创建的时候由于达到最大块空间,增加了一个SXSJ1的数据文件,但是增加时直接给的文件大小是30G,过于占用空 ...
最新文章
- python画卡通人物用什么_干啥啥不行,吹牛第一名——Python头像动漫化,快来用女朋友照片生成一个动漫头像吧...
- VS2005的depends工具 (分析EXE)
- C语言数理逻辑题目,数学逻辑推理题整理,看看你能答对多少
- mysql参数之innodb_buffer_pool_size大小设置
- 计算机管理 网络延时打开,如何解决网络延时-如何解决局域网访问延迟问题?通过局域网访问网内机子,有时候半天没 爱问知识人...
- 最后2天!快去登录你的百度网盘,不然。。。
- python获取文件列表失败_python – Pytesseract没有这样的文件或目录错误
- Windows Server 2008 RC1标准版
- 原子结构示意图全部_原子结构示意图全部-原子结构示意图规律口诀-前20号元素的原子结构示意图...
- Linux批量修改文件名称
- 手机端网页-微信授权登录
- C#学习笔记:GDI图形高级编程(1)——如何将图形画到控件上
- 广州移动MGV3001_ZG_S905L3_UWE5621DS_线刷固件包
- 软件工程3 软件开发过程
- 卫生事业单位计算机科学与技术,2021年卫生事业单位考试计算机科学与技术知识点-20210417090636.doc-原创力文档...
- 计算机文字输入原理,也谈计算机汉字键盘设计“三原理”
- [No0000C8]英特尔快速存储IRST要不要装
- 少年,下班后你都做什么?
- 如何卸载阿里云ECS服务器的阿里云盾和安骑士
- win10 系统自带画图工具 mspaint