Oracle 11g exp不能导出的空表处理方法
2013-10-27 20:36
239 查看
ORACLE 11G在用EXP导出时,空表不能导出。
11G中有个新特征,当表无近据时,不分配segment,以节省空间
处理方法:
1、insert一行,再rollback就发生segment了。
该方法是在在空表中插入数据,再删除,则发生segment。导出时则可导出空表。
2、配置deferred_segment_creation 参数
如:1、alter system set deferred_segment_creation=false;
2、show parameter deferred_segment_creation;
该参数值默许是TRUE,当改为FALSE时,无论是空表仍旧非空表,都分配segment。
需留意的是:该值配置后对以前导入的空表不发生作用,仍不能导出,只好对后面新增的表发生作用。如需导出之前的空表,只好用第一种方法
3、这种方法也是有点笨拙,但当前只想到这个方法
(1)找到有哪些空表 如:select table_name from user_tables where NUM_ROWS=0;
(2)在执行下面的SQL,有多少张空表就执行多少次。如:alter table 表名 allocate extent;
11G中有个新特征,当表无近据时,不分配segment,以节省空间
处理方法:
1、insert一行,再rollback就发生segment了。
该方法是在在空表中插入数据,再删除,则发生segment。导出时则可导出空表。
2、配置deferred_segment_creation 参数
如:1、alter system set deferred_segment_creation=false;
2、show parameter deferred_segment_creation;
该参数值默许是TRUE,当改为FALSE时,无论是空表仍旧非空表,都分配segment。
需留意的是:该值配置后对以前导入的空表不发生作用,仍不能导出,只好对后面新增的表发生作用。如需导出之前的空表,只好用第一种方法
3、这种方法也是有点笨拙,但当前只想到这个方法
(1)找到有哪些空表 如:select table_name from user_tables where NUM_ROWS=0;
(2)在执行下面的SQL,有多少张空表就执行多少次。如:alter table 表名 allocate extent;
相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- 我是运营,我没有假期
- Oracle 10g R2不能使用EM的问题
- PreparedStatement中in子句的处理
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- 数据库自动备份脚本
- DB2数据库的安装
- “传奇”图象数据存储方式
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累
- Oracle存储过程之数据库中获取数据实例
- Windows下ORACLE 10g完全卸载的方法分析
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ORACLE LATERAL-SQL-INJECTION 个人见解
- Oracle Connect to Idle Instance解决方法
- oracle sys_connect_by_path 函数 结果集连接
- Oracle捕获问题SQL解决CPU过渡消耗
- oracle dba 应该熟悉的命令
- Oracle11.2 命令行手工最简创建数据库的过程