RMAN备份与恢复(7)-半自动化异机恢复数据库

前面我们讲述了如何进行数据库异机恢复和备份的校验,上节最后,我也提到过如果做数据库异机恢复测试备份的有效性和完整实验,有没有什么简单便捷的方法?答案肯定是有嘀。

下面,提供一下本人的方法,小伙伴们如有什么好的建议,还请多多指教。

注意:加粗斜体参数,这是要小伙伴们根据自己数据库的情况修改的。

第1步:我们需要根据源数据库的PFILE文件使用批处理脚本创建文件目录。将以下代码另存为 create_paper_file.bat

md D:\oracle\product\10.2.0\admin

md D:\oracle\product\10.2.0\flash_recovery_area

md D:\oracle\product\10.2.0\oradata

md D:\oracle\product\10.2.0\admin\SID

md D:\oracle\product\10.2.0\admin\SID\adump

md D:\oracle\product\10.2.0\admin\SID\bdump

md D:\oracle\product\10.2.0\admin\SID\udump

md D:\oracle\product\10.2.0\admin\SID\cdump

md D:\oracle\product\10.2.0\admin\SID\dpdump

md D:\oracle\product\10.2.0\oradata\SID

第2步:利用批处理脚本创建实例,并调用RMAN备份恢复数据。

将以下代码另存为resore.bat

oradim -new -sidSID

set oracle_sid=SID

rman target/ msglog E:\r_%date:~0,10%.log cmdfile=E:\restore.rman

将以代码另存为restore.rman

SET DBID13********7;

run{

STARTUP NOMOUNT;

RESTORE SPFILE TO PFILE "D:\oracle\product\10.2.0\db_1\database\initSID.ora" FROM

"E:\rmdatabase\C-13******7-20180601-00";

STARTUP FORCE NOMOUNT PFILE='D:\oracle\product\10.2.0\db_1\database\initSID.ora';

RESTORE CONTROLFILE FROM "E:\rmdatabase\C-13******7-20180601-00";

ALTER DATABASE MOUNT;

allocate channel t1 type disk;

allocate channel t2 type disk;

allocate channel t3 type disk;

RESTORE DATABASE;

RECOVER DATABASE;

release channel t1;

release channel t2;

release channel t3;

}

第3步:打开数据,将以下代码另存为open.bat

set oracle_sid=SID

rman target/ msglog E:\o_%date:~0,10%.log cmdfile=E:\open.rman

将以下代码另存为open.rman

ALTER DATABASE OPEN RESETLOGS;

第4步:创建密码文件,将以下代码另存为create_password.bat

ORAPWD FILE=D:\oracle\product\10.2.0\db_1\database\pwdSID.ora password=123456entries=20

最后,注入注册表信息,修改字符集,并设置数据库自动启动。将以下代码另存为edit_nls_lang.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1]

"NLS_LANG"="AMERICAN_AMERICA.US7ASCII"

"ORA_sid_AUTOSTART"=hex(2):54,00,52,00,55,00,45,00,00,00

至此,我们的半自动化批处理脚本恢复数据库就这样了,最后,我们需要手动去配置一下监听。

当然,小伙伴们也可将上面多个处理整合成一个批处理,这个就留给小伙伴们自己动手操作了

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180609G0VIQU00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券