概述
使用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文件空表无法导出所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复