plsql oracle cmd 备份导入数据库

导出

exp 用户名/密码@ip(数据库所在机器)/SID file=D:eifenxxx.dmp owner=用户名

例子:

exp abc/abc@172.172.100.100/orcl file=D:eifenxxx.dmp owner=用户名

导入

imp 用户名/密码@服务器IP:端口/服务名  file=dmp文件路径 full=y

例子:

imp abc/abc@172.172.100.100/orcl file=D:eifenxxx.dmp full=y 

选择导入dmp文件中的特定表语句

imp abc/abc@172.18.102.1/orcl file=D:TJ上虞项目大数据局接口数据库备份abc_20210409.dmp tables=(tab_person)

导入 dmp 文件时,解决警告

IMP-00041: 警告: 创建的对象带有编译警告
 "CREATE TRIGGER "SYJW_CCAP_BD".DDS_CT_BDCDJCXZM_SYJSPT AFTER DELETE"
 " ON syjw_ccap_bd.CT_BDCDJCXZM_SYJSPT"
 " FOR EACH ROW"
 "BEGIN"
 "if (1<2) then"
 "INSERT INTO syjw_ccap_bd.DS_CT_BDCDJCXZM_SYJSPT(DS_ROWID,DS_ACTIONE,DS_DATE"
 ",DS_ISAFTER,DS_sFields,DS_tFields,id)VALUES(Q_CT_BDCDJCXZM_SYJSPT.nextval,'"
 "D',sysdate,'N','QLBSM,ZSBSM,ZL,BDCDYH,BDCLX,MJ,YT,BDCQZH,ZSZT,DJSJ,FC,TD,YG"
 ",QLR,QLRBSM,QLRMC,QLRZJLX,QLRZJH,TXDZ,GYFS,QLBL,LXDH,MODIFY_TIME,ID,PERSON_"
 "TYPE','QLBSM,ZSBSM,ZL,BDCDYH,BDCLX,MJ,YT,BDCQZH,ZSZT,DJSJ,FC,TD,YG,QLR,QLRB"
 "SM,QLRMC,QLRZJLX,QLRZJH,TXDZ,GYFS,QLBL,LXDH,MODIFY_TIME,ID,PERSON_TYPE',:ol"
 "d.id);"
 "END IF;"
 "END;"

在导入的目标系统里需要先建好触发器.  然后就OK了

解决方法:
1. 导入命令里加上 ignore=y
2. 导入完成后,在pl/sql developer 里选中出现警告的触发器,右键选择recompiled 即可

原文地址:https://www.cnblogs.com/zhangrh/p/14646924.html