使用ORACLE导出dmp时发现没有数据的空表没有导出来,是因为创建完数据库后没有执行
alter system set deferred_segment_creation=false;
执行上述语句可以在表创建时让空表也占有表空间,这样导出时就不会缺少空表了。
如果已经创建数据库时没有执行,现在导出dmp时需要导出空表,执行下方语句,查询出当前数据库中的空表,以及使现有空表也占表空间的语句。
select 'alter table'|| table_name || 'allocate extent;'
from user_tables where segment_created='NO';
查出来的是如下格式的语句
alter table 表名 allocate extent;
对于空表使用当前用户挨个执行该语句,然后导出即可。
整库导出语句:
exp user/password@orcl full=y file=文件名及路径
整库导入语句:
imp user/password@ip:1521/orcl file=dmp文件地址 log=日志地址 fromuser=dmp文件用户
touser=当前用户 constraints=N ignore=y
导入的过程中可能遇到相同的数据,可以加上 ignore=y 忽略掉重复数据只导入新数据
最后
以上就是纯情毛巾最近收集整理的关于ORACLE导出dmp文件空表无法导出的全部内容,更多相关ORACLE导出dmp文件空表无法导出内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复