oracle11g导出dmp文件空表不能导出问题解决

一、原因

查资料发现oracle11g增加了一个新特性 "deferred_segment_creation" 含义是段延迟创建,默认是true。也就是说没有创建段的表格是不能被exp导出到dmp文件中的。所以需要我们手动为空表创建段。

二、工具与环境

1.操作系统:window server2008R2

2.oracle版本: oracle 11g 2.0.1

3.oracle客户端:sqldevelop

三、操作步骤

1.执行sql语句

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

oracle11g导出dmp文件空表不能导出问题解决_第1张图片

2.将查询到的sql语句再次复制执行。

oracle11g导出dmp文件空表不能导出问题解决_第2张图片

3.通过cmd窗口导出dmp文件。

exp **2013/*** file=c:\dat.dmp owner=**2013 log=log.log

4.下图我们可以看到导出了0行的表格。

oracle11g导出dmp文件空表不能导出问题解决_第3张图片

四、验证导出dmp文件

1.我们创建新用户,将dmp文件导入的数据库中,经过sql查询,我们发现表个数完全一致。

oracle11g导出dmp文件空表不能导出问题解决_第4张图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(oracle)