oracle一个表空间超出32g,Oracle表空间超出32G的解决方法

刚才导入一个17.5G的dmp文件,3800W行,导了大概70分钟后,

. importing XXXX's objects into XXXX

. . importing table                    "XXXX"   38776021 rows imported

我以为导完了,

结果报错了,

IMP-00017: following statement failed with ORACLE error 1659:

去数据库里查了一下,导入了198521803行。

查报错信息,说是数据库表空间剩余空间不足。

但建表空间的时候明明指定了maxsize unlimited啊

create tablespace XXXX datafile '/usr/app/oracle/oradata/orcl/XXXX.dbf' size 1024M  autoextend on next 1024m maxsize unlimited;

去看一下dbf文件的大小,32G,很敏感的一个大小,

再查一下,

原来是Oracle默认的单个数据文件大小是32G。

两种解决方法:

1.增加数据文件

alter tablespace XXXX add datafile '/usr/app/oracle/oradata/orcl/XXXX02.dbf' size 1024M autoextend on next 1024m maxsize unlimited;

2.在Oracle10g之后,可以在建表空间的时候指定使用bigfile,以前都是smallfile,

bigfile在数据文件大小blocksize 2K的数据文件最大支持8TB,blocksize 32K的数据文件最大支持到128TB

create bigfile tablespace XXXX datafile '/usr/app/oracle/oradata/orcl/XXXX.dbf' size 1024M  autoextend on next 1024m maxsize unlimited;

在dba_tablespace里可以查看表空间是否是bigfile类型,

SQL> select TABLESPACE_NAME, BIGFILE from DBA_TABLESPACES;

增加数据文件的话,可能增加一个还不够,需要多加几个,

查了半天也没明白bigfile有什么不足之处,

不然为什么不把默认类型设为bigfile呢?

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值