打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ORACLE数据库创建表空间ORA
Oracle的数据文件大小是有限制的,今天在创建表空间的时候就遇到了问题,限制很简单,作为DBA必须要了解。

   测试环境:
   操作系统:Win7 64位专业版
   数据库版本:64位Oracle10.2.0.4
   DB_NAME:hoegh
   表空间名称:hoegh

    在执行创建表空间语句时报错,具体语句如下:
   create tablespace hoegh
    datafile 'S:\hoegh\hoegh01.dbf' size 20g
    autoextend on next 1g maxsize 100g;
   
   提示报错:
   ORA-03206: AUTOEXTEND 子句中 (13107200) 块的最大文件大小超出范围

   后来查资料,说单个文件大小最大是32g,修改语句如下:
   create tablespace hoegh
    datafile 'S:\hoegh\hoegh01.dbf' size 20g
    autoextend on next 1g maxsize 32g;

   仍然报错:
    ORA-03206: AUTOEXTEND 子句中 (4194304) 块的最大文件大小超出范围

   
    按照Oracle文档的描述,每个datafile的最大容量为(2^22-1)个block,即4194303个block,而当前数据库的block大小是8k,也就是说最大的文件大小是32G,要建100G的datafile肯定不行。
 
    也就是说,以Oracle的限制,如果要建普通的datafile,最大的大小就是 (2^22-1)*32K = 128G (注:Oracle最大支持block为32k)。存在这个限制是因为Oracle的内部ROWID使用22位2进制数来存储不同的block号,所以22位最多代表(2^22-1)个block。
 
      下面列表说明不同数据块数据库所能支持的最大物理文件大小:
               
            数据块的大小        物理文件的最大值 M
        ===============================================               
                2048                        8191 M
                4096                        16383 M
                8192                        32767 M
              16384                        65535 M
 
    这就可以解释,32G>32767 M(多了1M)也不能够创建。因此,干脆修改为如下语句,执行成功。
   create tablespace hoegh
    datafile 'S:\hoegh\hoegh01.dbf' size 10g
    autoextend on next 500m maxsize 20g;

   下面,总结一下ORA-03206报错的解决方案,推荐使用第一种解决方案
   

一)不要创建单个文件超过32GB的表空间

如果你创建的表空间超过32GB,请把这个表空间存储为多个数据文件,每个文件不大于32GB。这样,就可以成功的创建表空间。

二)扩大db_block_size

根据oracle的算法,我们很容易想到这个解决方法。数目衡定,但是db_block_size可以更改(db_block_size的最大大小为32KB)。如果把db_block_size扩大到32KB(32位系统好像是16KB,我在Red Hat 企业版的操作系统创建32KB的block_size失败。),那么我们的系统就可以支持单个数据文件最大128GB。

这个方案听起来好像很迷人,但是实际上并不是那么回事。因为要修改db_block_size并不是很容易的事。因为这个db_block_size在创建实例的时候就要指定。而且不能通过简单修改参数来指定db_block_size。

三)创建bigfile表空间

在oracle10g中引进了bigfile表空间,充分利用了64位CPU的寻址能力,使oracle可以管理的数据文件总量达到8EB。单个数据文件的大小达到128TB,即使默认8K的db_block_size也达到了32TB。

创建bigfile的表空间使用的sql语句也很简单。

create bigfile tablespace...

后面的语句和普通的语句完全一样。

需要注意OS的文件大小限制。
 
    例如在windows下,单个文件最大限制如下:
    FAT12           8M   
    FAT16           2G     
    FAT32           4G   
    NTFS            64GB   
    NTFS5.0         2TB
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
oracle可以存放多大数据量数据,多少条数据
Oracle ADG备库SYSAUX数据文件坏块恢复处理(ORA-00600,ORA-10567,ORA-10564......
数据库坏块处理v1.0
[精华] [技术]手工建库脚本(转载)
[经验] NC数据库备份及恢复操作方法
最新分享
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服