Oracle11g,导出时;空表不能导出

来源:互联网 发布:网络摄像头转模拟信号 编辑:程序博客网 时间:2024/06/11 08:50

最近公司换服务器,服务器上的Oracle 换成了oracle11g; 在导出的时候发现 部分表丢失;经过查询发现,只要是空表都没有导出来。


之后发现是;11g中有个新特性,当表无数据时,不分配segment,以节省空间。


此时 1.就只能向空表中插入一条数据,然后再删除这个数据 ,则产生segment。导出时则可导出空表(但是操作起来如果空表太多,就很麻烦了)

   查询当前为空的表:    select * from all_all_tables  where num_rows='0'    and owner='CONTRACT_CS'


       2.执行:select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null;
                     然后再执行该语句的执行结果(alert 表名 allocate extent;...)。执行后就不会再丢失表了。
                     EXP语法:exp username/userpass@oracle实例名 file=盘符:\xxxxxxxxx.dmp




0 0
原创粉丝点击