欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

用exp命令不能导出Oracle 11g空表的解决方法

程序员文章站 2022-05-03 13:42:20
...

最近用oracle 11g的exp命令备份数据库,然后恢复,发现导出前表中还从没插入过数据的表并没有导出。以前用9i、10g的时候都没发现

最近用Oracle 11g的exp命令备份数据库,然后恢复,发现导出前表中还从没插入过数据的表并没有导出。以前用9i、10g的时候都没发现过类似问题,,着实被坑了一把,google一查发现11g中有个新特性,当表无数据时,不分配segment以节省空间。为了使空表也能导出需要如下处理:

1) 用以下这句查找空表

select 'alter table '||table_name||' allocate extent;' from user_tables where segment_created='NO';

把查询结果导出,执行导出的语句

2) 然后再使用exp命令导出数据库即可

用exp命令不能导出Oracle 11g空表的解决方法