oracle restore from PROD to TEST server via tdp

需求:  客户需要将PROD的oracle database 恢复到另一台server上做DR。
当前环境介绍: PROD和T上都是oracle standard 11.2.0.3 version.两个server上的oracle分别装在不同的目录下。通过TSM/RMAN的方式直接备份到磁带上。备份信息都存在各自的控制文件中,因此不能采用RMAN的dumplicate的方式实现clone,而只能通过restore的方式
实现步骤如下:

----------------------------------------------------------------------------------------------------------------------------------------------------
presteps: create all the required directory under DR side

---steps as follow

1. PROD: list backup;

2. DR: cold backup control-file;spfile;pfile

3. DR: rename the dsm.opt to dsm_dbr01.opt & rename tdpo.opt to tdpo_dbr01.opt

4. copy dsm.opt &tdpo.opt from PROD to DR under the same location

5. DR: open tdp for oracle agent: tdpoconf password  & tdpoconf showenv   --verify if can establish the connection

6. DR: create pfile='location\' from spfile;

7. DR: modify the controlfile location in pfile

8. DR: shutdown database;

9. DR: startup nomount pfile='location\'


10. DR: rman target /
run
{
allocate channel t3 type 'sbt_tape' parms
                'ENV=(TDPO_OPTFILE=C:\Program Files\Tivoli\TSM\AgentOBA64\tdpo.opt)';
restore controlfile from 'c-3502834440-20150206-00' ;
}
11. DR: reset the datafile location and restore database
run
{
allocate channel t3 type 'sbt_tape' parms
                'ENV=(TDPO_OPTFILE=C:\Program Files\Tivoli\TSM\AgentOBA64\tdpo.opt)';
set newname for datafile 1 to 'E:\APP\PROD\ORADATA\PROTECT\SYSTEM01.DBF';
set newname for datafile 2 to 'E:\APP\PROD\ORADATA\PROTECT\SYSAUX01.DBF';
set newname for datafile 3 to 'E:\APP\PROD\ORADATA\PROTECT\UNDOTBS01.DBF';
set newname for datafile 4 to 'E:\APP\PROD\ORADATA\PROTECT\DRSYS01.DBF';
set newname for datafile 5 to 'E:\APP\PROD\ORADATA\PROTECT\LOB01.DBF';
set newname for datafile 6 to 'E:\APP\PROD\ORADATA\PROTECT\LOB02.DBF';
set newname for datafile 7 to 'E:\APP\PROD\ORADATA\PROTECT\LOB03.DBF';
set newname for datafile 8 to 'E:\APP\PROD\ORADATA\PROTECT\USERS01.DBF';
set newname for datafile 9 to 'E:\APP\PROD\ORADATA\PROTECT\USERS02.DBF';
set newname for datafile 10 to 'E:\APP\PROD\ORADATA\PROTECT\USERS03.DBF';
restore database from TAG=TAG20150206T030710;
}
-------------------------------------此时若restore失败报错如不能找到备份信息等等,其原因可能是因为恢复出来的控制文件太久而找不到指定的备份信息。解决方案:可以在RMAN下执行 $crosscheck copy 以更新控制文件信息。。。
12. DR: switch datafile to new location
rman target /

13. DR: recover database;
run
{
allocate channel t3 type 'sbt_tape' parms
                'ENV=(TDPO_OPTFILE=C:\Program Files\Tivoli\TSM\AgentOBA64\tdpo.opt)';
switch database to copy;
recover database;
}

14. DR: select * from v$logfile;    --查看当前undo log状态,根据当前环境更改redolog的位置及其他信息

15. DR: alter database rename file 'D:\APP\PROD\ORADATA\PROTECT\REDO01.LOG' to 'E:\APP\PROD\ORADATA\PROTECT\REDO01.LOG';
                    alter database rename file 'D:\APP\PROD\ORADATA\PROTECT\REDO02.LOG' to 'E:\APP\PROD\ORADATA\PROTECT\REDO02.LOG';
                    alter database rename file 'D:\APP\PROD\ORADATA\PROTECT\REDO03.LOG' to 'E:\APP\PROD\ORADATA\PROTECT\REDO03.LOG';

16. DR: alter database open resetlogs;

17. DR: SQL> select * from v$tempfile;
        SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'E:\APP\PROD\ORADATA\PROTEC\temp01.dbf' size 32G;   --restore不会恢复temp表空间文件,因此需要创建
        SQL> alter tablespace temp drop tempfile ‘D:\APP\CHRISTOPHE\ORADATA\PROTECT\TEMP01.DBF’;         ---删掉原来保留的TEMP文件信息。也可以REUSE

18. DR: nid target=sys/password dbname=DB102    ---如果DR与PROD在同一个network下,则需要更改DBID以及DBNAME防止冲突。。。##需要在mount状态下更改

-----------------------------------以上则完成了整个的数据库迁移/以下则是一些必要的验证及环境复原过程-------------------------------------------------------------
19. DR: check the status of each datafiles

20. DR: check the status of dbid&open_mode

21. DR: delete the dsm.opt & tdpo.opt

22. DR: rename the dsm_dbr01.opt to dsm.opt & rename tdpo_dbr01.opt to tdpo.opt

23. DR: trigger the backup


----------备注(RESTORE过程中碰到的一些问题)--------------------------------------------------------------------------------
Select isspecified,count(*) from v$spparameter group by isspecified;               --查找当前实例是启用的spfile or pfile  ##如果结果有选项为TRUE则使用的SPFILE,否则PFILE。

startup pfile=’E:\APP\PROD\PFILE\init_prod.ora’;                              ---以指定的pfile启动实例

alter system set spfile='E:\APP\PROD\PFILE\spfileprod.ora';         ---在启动的环境下自定义SPFILE的位置


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27799221/viewspace-1431510/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/27799221/viewspace-1431510/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值