11g导入大量包含子分区的数据时表空间不足
问题描述:
ORACLE11g使用impdp数据泵导入时遭遇:
ORA-01691: Lob 段 ISCS.SYS_LOB0000100750C00045$$ 无法通过 128 (在表空间 RT_DATA 中) 扩展
还可能遇到TEMP和UNDO表空间不足:
ORA-30036: 无法按 8 扩展段 (在还原表空间 'UNDOTBS1' 中)
ORA-01652: 无法按 8 扩展段 (在还原表空间 'TEMP 中)
解决方式:
查看RT_DATA表空间下面的段使用情况:
select *
from (select owner,
segment_name,
tablespace_name,
segment_type,
bytes / 1024 / 1024 AS "SIZE(M)"
from dba_segments
order by 5 desc)
where TABLESPACE_NAME = 'RT_DATA'
AND rownum < 20;
LOBSEGMENT的系统命名规则是:
SYS_LOB(10 digit object_id)C(5 digit col#)$$ 表段
SYS_IL(10 digit object_id)C(5 digit col#)$$ 索引
查看段空间使用者:
select * from dba_objects where object_id='0000100750';
最终发现11g导入时,impdp命令在默认表空间RT_DATA中生成的sys_import_table_01表中字段xml_clob为可变字段,且占用大量空间,下面是11条记录的片段。
select object_name,
object_schema,
partition_name,
subpartition_name,
object_tablespace,
xml_clob,
round(dbms_lob.getlength(xml_clob) / 1024 ) as "XML_CLOB SIZE(K)"
from SYS_IMPORT_TABLE_01
where rownum < 12;
相比10g的sys_import_table_01 ,11g增加了子分区的描述,从该表由原来82列变为95列,11g中在该表中对子分区的记录,会导致xml_clob列占用空间巨大,上述结果中子分区每条信息占用导致默认表空间爆满。
而这个原因目前不得而知,网上资料甚少,还请高手指点。不过可以通过手动扩展或自动扩展默认表空间,等完成导入之后,再收缩默认表空间。
方法一(手动扩展):
alter database datafile '/data1/oradata/i1000/rt_data01.dbf' resize 10G;
impdp结束后:
alter database datafile '/data1/oradata/i1000/rt_data01.dbf' resize 2G;
方法二(自动扩展):
alter database datafile '/data1/oradata/i1000/rt_data01.dbf' autoextend on;
impdp结束后:
alter database datafile '/data1/oradata/i1000/rt_data01.dbf' resize 2G autoextend off ;
如果遭遇temp和undo表空间不足,亦如此扩展。
11g导入大量包含子分区的数据时表空间不足的更多相关文章
- Oracle 数据备份、恢复以及导入时表空间不存在的解决方案
一.数据备份(导出) 1.exp命令导出dmp文件(exp -help查看帮助信息) 命令:exp username/userpasswd@192.168.99.199/orcl file=C:\jd ...
- Oracle添加数据文件创建表空间,创建用户代码
1,添加数据文件创建表空间 CREATE TABLESPACE "TEST1" DATAFILE 'D:\ORACLE\11G\ORADATA\ORCL\TEST1.DBF' SI ...
- 关于IMP由拥有DBA权限的用户EXP数据时,数据存放表空间的几种情况(IMP-00013) -1
关于IMP由拥有DBA权限的用户EXP数据时,数据存放表空间的几种情况(IMP-00013) -1 ORACLE公司来培训BIEE,带了一个DEMO的DMP文件,其导出用户DBO具有DBA权限,缺省表 ...
- exp和imp导入导出时表空间问题【未完】
准备工作 第一步: 创建教师和学生用户 教师用户/密码 TEACHER/t123456 学生用户/密码 STUDENT/s123456 参考链接 http://www.cnblogs.com/what ...
- 【Oracle】删除(释放)数据文件/表空间流程
oracle删除(释放)数据文件/表空间流程 生产环境:数据库里空间不足,niptest 表空间251G,只使用了17G 再alter database datafile '...../niptest ...
- 1118ALTER TABLE tabname DISCARD TABLESPACE快速导入数据利用表空间
-- 快速导入数据如果你有.ibd文件的一个干净的备份,你可以按如下操作从被起源的地方恢复它到MySQL安装中:相当快速 1. 发出这个ALTER TABLE语句: 2. ALTER TABLE tb ...
- 如何删除offline数据文件/表空间上的分区
接上一篇"Oracle 10g RAC全库flashback " http://www.cnblogs.com/cqubityj/p/3265552.html 在打开数据库之前把2 ...
- 使用phpexcel导入excel文件种的时期数据时数据导入格式
在使用phpexcel导入类似于 YYYY-MM-DD HH:ii:ss格式的数据时,导入成功以后会发现导入的数据其实是类似于42085.746516204格式的数据( excel在存储时间类型的数据 ...
- Oracle 删除用户和表空间////Oracle创建删除用户、角色、表空间、导入导出、...命令总结/////Oracle数据库创建表空间及为用户指定表空间
Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说, 可以使用如下命令来完成. 步骤一: 删除user drop ...
随机推荐
- hbase权威指南学习笔记--架构--存储
HBase主要处理两种文件:预写日志(Write-Ahead Log,WAL),实际的数据文件. 一个基本的流程是客户端首先联系ZooKeeper子集群查找行健数据所在的region服务器名.(通过Z ...
- jsp页面获取服务器时间
Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MON ...
- oracle 语句汇总
Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象 一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1 ...
- FileBeat
FileBeat使用说明 FileBeat是一个日志收集器,基于Logstash-Forwarder的源代码.FileBeat一般以代理的身份运行在客户端服务器中,并监视用户指定的目录.文件,同时把日 ...
- Mysql开发技巧之删除重复数据
Mysql利用联表查询和分组来删除重复数据 //删除表中重复的id,保留最大的id mysql> select * from user; +----+------+ | id | name | ...
- IOS通过PushSharp开源框架发送推送
1,首先生成推送证书: openssl x509 -in aps_developer_identity.cer -inform DER -out aps_developer_identity.pem ...
- 如何系统地学习JavaScript
在过去,JavaScript只是被用来做一些简单的网页效果,比如表单验证.浮动广告等,所以那时候JavaScript并没有受到重视.自从AJAX开始流行后,人们发现利用JavaScript可以给用户带 ...
- ZendFramework2 文件结构
Application |__ config // 配置文件目录 |__ language // 语言包目录 |__ src |__ Application |__ Controller // 控制器 ...
- 2016_ThinkinG of everyDay
2016-2-15:新年的第一篇心情,慢慢更新. 1.以后的文章当然都会是ACM竞赛的题解,但会多写写自己的思考以及总结,因为感觉自己缺少思考这个习惯,有些东西在脑子里也只是一带而过,最后也不会停留多 ...
- ASP.NET MVC 4.0 学习4-Code First
之前我們需要用到的數據,通過添加Entity實體數據模型把數據庫中需要的Database拉到項目中如下圖, 而就是Code First就是相對於這種處理數據的方法而言的 Code First更加準確的 ...