生产系统恢复到异机测试

前言:

oracle数据库每个公司都在备份,但是有以下几个问题每个dba能够很快的回答吗?

1、备份是否有效?

2、数据库逻辑故障了,恢复需要多长时间?

3、生产系统硬盘坏了,恢复又需要多长时间?

因此每个月或者每个季度应该对生产系统进行测试恢复一遍,虽然oracle的rman也提供了恢复的预览功能,

但是出于习惯还是每个季度进行一次手工恢复;

 

环境说明:

1、数据库版本11.2.0.3

2、操作系统版本AIX6.1

3、数据量估算700G

4、备份方式network的集中备份

 

准备工作:

一、准备环境,需要参数文件、密码文件、各种文件路径、并设置权限、且需要相应的磁盘空间

a)参数文件的传输  scp  initPIP.ora root@192.168.199.43:/oracle/ID1/112_64/dbs

b)根据参数文件创建相应的目录

sapides:oraid1 318> mkdir -p /oracle/PIP/origlogA/cntrl/

sapides:oraid1 319> mkdir -p /oracle/PIP/origlogB/cntrl

sapides:oraid1 320> mkdir -p /oracle/PIP/sapdata1/cntrl

sapides:oraid1 321> mkdir -p /oracle/PIP/oraarch/PIParch

sapides:oraid1 322> mkdir -p /oracle/PIP/saptrace/audit

c)创建相应数据文件的目录

mkdir -p /oracle/PIP/sapdata4/undo_3/

mkdir -p /oracle/PIP/sapdata4/undo_2/

mkdir -p /oracle/PIP/sapdata4/sr3usr_1/

mkdir -p /oracle/PIP/sapdata4/sr3db_3/

mkdir -p /oracle/PIP/sapdata4/sr3db_2/

mkdir -p /oracle/PIP/sapdata4/sr3db_18/

mkdir -p /oracle/PIP/sapdata4/sr3db_17/

mkdir -p /oracle/PIP/sapdata4/sr3db_16/

mkdir -p /oracle/PIP/sapdata4/sr3db_15/

mkdir -p /oracle/PIP/sapdata4/sr3db_14/

mkdir -p /oracle/PIP/sapdata4/sr3db_13/

mkdir -p /oracle/PIP/sapdata4/sr3db_12/

mkdir -p /oracle/PIP/sapdata4/sr3db_11/

 

二、进行数据库的恢复

a)进行控制文件的恢复

启动数据库到nomount状态

进行控制文件的恢复,脚本:

查找network上面的备份信息脚本,根据脚本查找可以恢复的控制文件的信息

nsrinfo -s bkserver01 -n oracle joeonepip> C:\nsrinfo.txt

运行脚本进行控制文件的恢复,恢复完毕后启动到mount状态,然后进行数据库的restore和recover操作;

run{

allocate channel ch1 device TYPE 'SBT_TAPE';

SEND DEVICE TYPE 'SBT_TAPE' 'NSR_ENV=(NSR_SERVER=bkserver01,NSR_CLIENT=joeonepip)';

set DBID=1579788476; 

restore controlfile from 'PIP_CONTROL_73467_1_20140312';

release channel ch1;

sql 'alter database mount';

allocate channel ch2 device TYPE 'SBT_TAPE';

allocate channel ch3 device TYPE 'SBT_TAPE';

allocate channel ch4 device TYPE 'SBT_TAPE';

allocate channel ch5 device TYPE 'SBT_TAPE';

SEND DEVICE TYPE 'SBT_TAPE' 'NSR_ENV=(NSR_SERVER=bkserver01,NSR_CLIENT=joeonepip)';

set DBID=1579788476; 

restore database;

recover database;

release channel ch2;

release channel ch3;

release channel ch4;

release channel ch5;

}

 

三、打开数据库

因为恢复在异机是以不完全恢复的方式进行的,所以打开的时候需要resetlogs的方式进行打开;

脚本:alter database open resetlogs;

上一篇:拦截器详解


下一篇:文件写入的6种方法