开发者社区> lfreeali> 正文

[20121114]Oracle数据文件大小限制.txt

简介: [20121114]Oracle数据文件大小限制.txtSQL> show parameter db_block_sizeNAME           TYPE        VALUE-------------- ----------- ------db_bl...
+关注继续查看
[20121114]Oracle数据文件大小限制.txt

SQL> show parameter db_block_size

NAME           TYPE        VALUE
-------------- ----------- ------
db_block_size  integer     8192


SQL> SELECT file_name, file_id, tablespace_name, BYTES, blocks, status, relative_fno, maxbytes, maxblocks, online_status FROM dba_data_files;

FILE_NAME                                         FILE_ID TABLESPACE_NAME           BYTES     BLOCKS STATUS    RELATIVE_FNO               MAXBYTES  MAXBLOCKS ONLINE_
---------------------------------------------- ---------- -------------------- ---------- ---------- --------- ------------ ---------------------- ---------- -------
/u01/app/oracle11g/oradata/test/system01.dbf            1 SYSTEM                807403520      98560 AVAILABLE            1            34359721984    4194302 SYSTEM
/u01/app/oracle11g/oradata/test/sysaux01.dbf            2 SYSAUX                880803840     107520 AVAILABLE            2            34359721984    4194302 ONLINE
/u01/app/oracle11g/oradata/test/undotbs01.dbf           3 UNDOTBS1             1073741824     131072 AVAILABLE            3            34359721984    4194302 ONLINE
/u01/app/oracle11g/oradata/test/users01.dbf             4 USERS                 687865856      83968 AVAILABLE            4            34359721984    4194302 ONLINE
/u01/app/oracle11g/oradata/test/example01.dbf           5 EXAMPLE               104857600      12800 AVAILABLE            5            34359721984    4194302 ONLINE
/u01/app/oracle11g/oradata/test/rman01.dbf              6 RMAN                   67108864       8192 AVAILABLE            6            34359721984    4194302 ONLINE
/u01/app/oracle11g/oradata/test/tools01.dbf             7 TOOLS                  67108864       8192 AVAILABLE            7            34359721984    4194302 ONLINE
/u01/app/oracle11g/oradata/test/test01.dbf              8 TEST                   67108864       8192 AVAILABLE            8            34359721984    4194302 ONLINE

8 rows selected.

--我使用的数据文件都是smallfile,可以发现最大文件大小MAXBYTES=34359721984,最大允许的块MAXBLOCKS=4194302。
--4194302 *8192 正好等于 34359721984。

SQL> select 34359721984/1024/1024/1024 from dual ;

34359721984/1024/1024/1024
--------------------------
                31.9999847

并没有达到32G。为什么呢?

主要是由于在Oracle的Rowid中使用22位来代表Block号,这22位最多只能代表2^22-1(4194303)个数据块.
[补充一点,每个数据文件的第一个块(block 0 )是OS block header,在数据库中查询不到信息,记录的是OS信息,以及文件大小的等信息]

$ ls -l /u01/app/oracle11g/oradata/test/test01.dbf
-rw-r-----  1 oracle11g oinstall 67117056 Nov 14 00:06 /u01/app/oracle11g/oradata/test/test01.dbf

--可以发现ls -l看到的与dba_data_files查询到的存在差异! 67117056 - 67108864 = 8192.正好相差1个块。
--也就是如果你建立一个64M的数据文件,实际上的os看文件的大小是64*1024*1024+8192=67117056.
--从v$datafile视图也可以发现:
SQL> SELECT block1_offset,name FROM v$datafile;

BLOCK1_OFFSET NAME
------------- --------------------------------------------------
         8192 /u01/app/oracle11g/oradata/test/system01.dbf
         8192 /u01/app/oracle11g/oradata/test/sysaux01.dbf
         8192 /u01/app/oracle11g/oradata/test/undotbs01.dbf
         8192 /u01/app/oracle11g/oradata/test/users01.dbf
         8192 /u01/app/oracle11g/oradata/test/example01.dbf
         8192 /u01/app/oracle11g/oradata/test/rman01.dbf
         8192 /u01/app/oracle11g/oradata/test/tools01.dbf
         8192 /u01/app/oracle11g/oradata/test/test01.dbf
8 rows selected.

这样实际上2^22-2=4194302.也就是最大允许的数据块是4194302。实际8k数据块数据文件最大从OS看就是34359721984+8192=34359730176.


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
基于大量数据的Excel文件生成方案
基于大量数据的Excel生成方案 以往我们在基于POI生成Excel文件时,都是利用官方提供的HSSF或XSSF对应的系列API,它们操作简便,上手比较快。但是对于大数据量的Excel文件生成往往会比较耗时,这是我们利用标准的API进行开发的一个痛点。
947 0
7.数据本地化CCString,CCArray,CCDictionary,tinyxml2,写入UserDefault.xml文件,操作xml,解析xml
 数据本地化 A CCUserDefault 系统会在默认路径cocos2d-x-2.2.3\projects\Hello\proj.win32\Debug.win32下生成一个名为UserDefault.xml.所有的key皆为char *型,value类型为bool intfloat double std::string. 读操作
1269 0
你以为的ASP.NET文件上传大小限制是你以为的吗
原文:你以为的ASP.NET文件上传大小限制是你以为的吗 我们以为的文件大小限制 我们大家都知道ASP.NET为我们提供了文件上传服务器控件FileUpload,默认情况下可上传的最大文件为4M,如果要改变可上传文件大小限制,那么我们可以在web.config中的httpRuntime元素中添加maxRequestLength属性设置大小,同时为了支持大文件上传超时可以添加executionTimeout属性设置超时时间。
1162 0
+关注
lfreeali
熟悉oracle数据库性能优化,rman备份,数据库恢复技术.
2122
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载