空表导出方法网上很多,我不多说,但发现目前的空表导出方案针对特殊情况不能很好处理,所以略作修改3oracle 11g用exp无法导出空表的解决方案
工具/原料
oracle11g, plsql
方法/步骤
1
查询当前用户未分配segment的表(一般为空表):select ‘alter table ‘||table_name||’ allocate extent;’ from user_tables where segment_created='NO';此处查询条件为segment_created='NO',而不是网上的的 rows=0,因为实际使用中发现,有些特殊情况row<>0, 但是segment仍未分配,所以这样查询更稳妥,毕竟我们是要找出未分配segment的表,这是根本目的。
2
查询出的所有结果(是sql语句)批量执行就行了。用数据泵导出可以避免空表无法导出问题,就是麻烦些,非正式场合我一般懒得用。
注意事项
具体操作做可以看上面引用的文章,写的很细,我比较懒
上一篇:数据库增删改查基本操作
下一篇:oracle创建表空间