plsql oracle cmd 备份导入数据库
导出
exp 用户名/密码@ip(数据库所在机器)/SID file=D:\beifen\xxx.dmp owner=用户名
例子:
exp abc/abc@172.172.100.100/orcl file=D:\beifen\xxx.dmp owner=用户名
导入
imp 用户名/密码@服务器IP:端口/服务名 file=dmp文件路径 full=y
例子:
imp abc/abc@172.172.100.100/orcl file=D:\beifen\xxx.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 即可