Oracle EBS 克隆之数据库克隆
[日期:2012-12-03]
来源:Linux社区
作者:choppe
[字体:大 中 小]
五、恢复数据文件
从磁带中导出数据文件到目录中
su - oratest
rman target / nocatalog
RMAN>run {
allocate channel t1 type 'SBT_TAPE';
send 'NSR_ENV=(NSR_CLIENT=ehr-db,NSR_SERVER=wh-cvrd-backup.cvrd.dfl.com.cn)';
restore database;
release channel t1;
}
六、从磁带机中恢复归档日志
su - oratest
rman target / nocatalog
run{
allocate channel t1 type 'SBT_TAPE';
send 'NSR_ENV=(NSR_CLIENT=ehr-db,NSR_SERVER=wh-cvrd-backup.cvrd.dfl.com.cn)';
restore archivelog all;
(一般需要指定日志的起始序号:restore archivelog from logseq 13765 until logseq 13778)
release channel t1;
}
判断from logseq数字方法:用sqlplus进入数据库,输入recover database 命令,系统会显示第一个需要的logseq数字,可就是rman 的restore archivelog from logseq需要的数字:
sqlplus /nolog
conn / as sysdba
recover database;
ORA-00279: change 1324281854 generated at 08/16/2008 12:19:19 needed for thread 1
ORA-00289: suggestion : /t07/oratest/testdb/9.2.0/dbs/arch/1_13765.dbf
ORA-00280: change 1324281854 for thread 1 is in sequence #13765
Specify log: {=suggested | filename | AUTO | CANCEL}
手动输入 “AUTO”
判断unitl logseq的数字,可以参考生产环境已有的archivelog,文件名里最小序号减1就是until logseq的号码。
七、恢复数据库
su - oratest
conn / as sysdba
recover database until cancel using backup controlfile;
specify log: {=suggested | filename | AUTO | CANCEL}
选择AUTO
alter database open resetlogs
八、编辑TEST数据库pfile
su - oratest
sqlplus /nolog
conn / as sysdba
shutdown immediate
exit
cd $Oracle_HOME/dbs
cp initTEST.ora initTEST.bak
vi initTEST.ora
将db_name=PROD修改为db_name=TEST
删除log_archive_format=PROD_%T%TS%S.arc
九、重建controlfile
登陆正式环境
su - oraprod
conn / as sysdna
alter database backup controlfile to treace (把当前数据库控制文件的创建语句备份到trace文件里);
exit
显示的最后一个trc文件就是创建controlfile的脚本,将文件传至oratest用户家目录(/t02/oratest),注意权限问题。
改名为test.sql
vi test.sql
删除所有带#的行
test.sql文件离有两段重复的脚本,删除重复的一段
将CREATE CONTROLFILE REUSE DATABASE "PROD" NORESETLOGS ARCHIVELOG 改
为CREATE CONTROLFILE SET DATABASE "TEST" RESETLOGS NOARCHIVELOG
批量将prod 改为test (1,$s/prod/test/g)
批量将u01改为t01 (1,$s/u01/t05/g,修改目录路径)
运行创建controlfile脚本
su - oratest
cd /t05/oratest/testdata
删除或更名cntrl01.dbf、cntrl02.dbf、cntrl03.dbf
sqlplus /nolog
conn / as sysdba
alter database open resetlogs
@testsql
十、数据库克隆后的配置
启动监听
su - oratest
lsnrctl start TEST
在数据库启动状态运行更新library脚本
cd $ORACLE_HOEM/appsutil/install/TEST_ehr-test
sqlplus "/ as sysdba" @adupdlib.sql so
在数据库启动状态运行更新对象脚本
./$ORACLE_HOEM/appsutil/install/TEST_ehr-test/adcrobj.sh
运行autoconfig
./$ORACLE_HOEM/appsutil/scripts/TEST_ehr-test/adautocfg.sh
至此oracle ebs 数据库克隆完毕。