使用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 忽略掉重复数据只导入新数据
本文发布于:2024-02-01 02:12:09,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170672473233104.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |