oracle 11g 导出空表 exp 导出

oracle 11g 导出空表  exp 导出 


在没有dba权限的条件下,用exp 导出是一个不错的选择,但是在遇到空表的情况下 11g默认不导出空表,则可以进行如下操作

   

对已存在的表 执行如下 ,要经过统计分析后 num_rows=0 才准确


分析表例子: analyze table test1 compute statistics 


select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0


Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出。


设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment。
 
在sqlplus中,执行如下命令: 
alter system set deferred_segment_creation=false;
show parameter deferred_segment_creation;

该值设置后只对后面新增的表产生作用,对之前建立的空表不起作用



示例如下,只举例第一种情况 在scott 用户下

创建表

create table scott.test1(id number(6),name varchar2(20));   


分析表
analyze table scott.test1 compute statistics 

导出scott 用户下的表
exp userid=scott/tiger@orcl file=f:\scott.dmp 



无 test1 表 


然后给 test1 分配空间

alter table scott.test1 allocate extent;


再进行 导出操作,截图如下





空表 test 1 成功导出






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值