【Wonder原创】Imp&Exp迁移DB实践记事
背景:
【Source】环境
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
IP:10.91.50.19
Instance Name:vmi
DB User / Password:vmiuser / vmipwd
【Target】环境
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
IP:10.91.50.31
Instance Name:vmi
DB User / Password:vmiuser / vmipwd
准备工作:
【Target】
1、Create Instance
使用dbca来创建
2、Create TabelSpace
参照 【Source】 创建与设定 TableSpace
3、Create DB User
参照 【Source】 创建与设定 DB User
接下来应该Exp/Imp导入Schema 了
第一次操作的时候没有考虑 Oracle 版本不同会对操作有影响,后来才明白Oracle版本相同时可以按下边方式来做
【Source】
4、Exp
$export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
$exp vmiuser/vmipwd owner=vmiuser file=/u01/app/oracle/dmp2010/vmi2010.dmp log=/u01/app/oracle/dmp2010/vmi2010.log
5、SCP
$scp vmi2010.dmp vmi2010.log oracle@10.91.50.31:/u01/app/oracle/dmp2010
输入Linux 账户 Oracle的密码即可
【Target】
6、Imp
$export ORACLE_SID=vmi
$export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
$imp vmiuser/vmipwd fromuser=vmiuser touser=vmiuser ignore=y file=vmi2010.dmp log=vmi2010.log
操作到这一步一直报错,导入失败,详细信息忘了记录,大概意识是执行一些Oracle命令失败。
然后去网上查找原因:高版本Exp的文件,往低版本Imp时会有问题,然后改变操作方式如下:
【Target】
4、Exp
$export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
$exp USERID=vmiuser/vmipwd@10.91.50.19/vmi file=/u01/app/oracle/dmp2010/vmi2010.dmp log=/u01/app/oracle/dmp2010/vmi2010.log
5、Imp
$imp vmiuser/vmipwd fromuser=vmiuser touser=vmiuser ignore=y file=vmi2010.dmp log=vmi2010.log
此时就可以成功迁移了。