oracle 11g 无法导出空表解决方法
2014-06-20 10:18
344 查看
开门见山,首先使用SQL语句查询出哪些表为空表,
select table_name from user_tables where NUM_ROWS=0;
检查并确认这些表是否包含在要exp中的表,如果需要.接下来执行这句SQL:
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
查询结果类似:
将查询结果选中copy并past,执行这些语句,执行成功完成后,再通过exp操作,可看到有表为0行数据的导出.说明执行成功.
再来说一下原因,11g 默认对空表不分配segment,所以exp时,空表不会导出.
接下来,我们可以设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment,SQL语句如下:
alter system set deferred_segment_creation=false;
该参数设置以后,只会对新增的表产生作用,我们之前创建的空表是不起作用滴
.所以我们只需要执行这些操作,以后不管是以前的表,还是新创建的表,都可以通过exp进行导出成功了.
select table_name from user_tables where NUM_ROWS=0;
检查并确认这些表是否包含在要exp中的表,如果需要.接下来执行这句SQL:
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
查询结果类似:
将查询结果选中copy并past,执行这些语句,执行成功完成后,再通过exp操作,可看到有表为0行数据的导出.说明执行成功.
再来说一下原因,11g 默认对空表不分配segment,所以exp时,空表不会导出.
接下来,我们可以设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment,SQL语句如下:
alter system set deferred_segment_creation=false;
该参数设置以后,只会对新增的表产生作用,我们之前创建的空表是不起作用滴
.所以我们只需要执行这些操作,以后不管是以前的表,还是新创建的表,都可以通过exp进行导出成功了.
相关文章推荐
- Oracle 11G R2 用exp无法导出空表解决方法
- Oracle 11G 用exp无法导出空表解决方法以及数据泵的使用
- Oracle 11G R2 用exp无法导出空表解决方法
- Oracle 11G R2 用exp无法导出空表解决方法
- Oracle 11G R2 用exp无法导出空表解决方法
- Oracle 11g R2 用exp无法导出空表解决方法
- Oracle 11G R2 用exp无法导出空表解决方法
- Oracle 11G R2 用exp无法导出空表解决方法
- oracle 11g不能导出空表的解决方法
- Oracle 11g用exp无法导出空表的处理发布方法
- oracle 11G 11.2.0.1.0使用exp无法导出空表的解决办法
- oracle 11g不能导出空表的解决方法
- oracle 11g ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务解决方法
- oracle 11g 导出数据库时,出现空表无法导出问题解决
- 11g Oracle导出表不导出数据默认为空表的解决方法
- 解决Oracle 11g R2 EXP命令无法导出空表问题
- oracle 11g exp默认空表不导出 原因及解决方法
- oracle 11g不能导出空表的多种解决方法
- oracle 11g不能导出空表的解决方法
- oracle 11g不能导出空表的解决方法