cmd中导出/导入dmp:

导出:

exp czdx/java@127.0.0.1:1521/ORCL file=D:\czdx.dmp owner=czdx log=D:\czdx.log --导出整个用户底下的所有数据,包括表,视图,函数等

解释:

exp 用户名/密码@IP:端口(1521)/数据库全局名(ORCL) file=导出后dmp文件存储路径(D:\czdx.dmp) owner=用户名 log=日志存储路径(D:\czdx.log)

导入:

imp czdx/java@ORCL file=D:\czwj.dmp fromuser=czdx touser=czdx ignore=y --导入至目标库

解释:

imp 目标库用户名/目标库用户密码@目标库库全局名(ORCL) file=需执行的dmp文件路径(D:\czwj.dmp) fromuser=源数据库用户名(czdx) touser=目标数据库用户名(czdx) ignore=y (y/n指遇到错误是否继续)

特别注意:

dmp导出时空表导不出导致dmp文件中缺表解决办法:

1、先执行下边这条语句,把结果集粘贴出来全部执行;再导出dmp,就对了

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

2、在SqlPlus中登录对应用户查看用户下的deferred_segment_creation是否设置为false

SQL>show parameter deferred_segment_creation;

修改deferred_segment_creation参数

SQL>alter system set deferred_segment_creation=false;

imp CZWJ_NEW/java@ORCL file=F:\临时文件\2020-10-30武进数据库备份\czwj_20201030.dmp fromuser=CZWJ touser=CZWJ_NEW ignore=y

更多推荐