DP异机恢复测试(RAC)

异机恢复测试
一、准备工作
登录节点1
1) 创建审计目录

mkdir -p /u01/app/oracle/admin/SPRPRD/adump

2) 创建密码文件

cd $ORACLE_HOME/dbs orapwd file=orapwSPR1 password=Oracle entries=3

3) 创建pfile

vi initSPR1.ora SPFILE=’+DATA/sprprd/spfilesprprd.ora’

4) 配置tns

cd $ORACLE_HOME/network/admin
vi tnsnames.ora
SPR = (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.208)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SPRPRD)
)
)

二、创建pfile,启动数据库
登录节点1,创建pfile
su - oracle
vi /tmp/test/init.ora
audit_file_dest=’/u01/app/oracle/admin/SPRPRD/adump’
audit_trail=’db’
cluster_database=true
compatible=’11.2.0.4.0’
control_files=’+DATA/sprprd/controlfile/control01.ctl’,’+RECO/sprprd/controlfile/control02.ctl’
db_name=’SPRPRD’
db_recovery_file_dest=’+RECO’
db_recovery_file_dest_size=1073G
diagnostic_dest=’/u01/app/oracle’
dispatchers=’(PROTOCOL=TCP) (SERVICE=SPRPRDXDB)’
log_archive_dest_1=’LOCATION=USE_DB_RECOVERY_FILE_DEST’
log_archive_format=’%t_%s_%r.dbf’
remote_listener=’dm02-scan:1521’
remote_login_passwordfile=’exclusive’
db_create_file_dest=’+DATA’
db_create_online_log_dest_1=’+DATA’
db_create_online_log_dest_2=’+RECO’
SPR1.instance_number=1
SPR2.instance_number=2
SPR2.thread=2
SPR1.thread=1
SPR1.undo_tablespace=’UNDOTBS1’
SPR2.undo_tablespace=’UNDOTBS2’
启动数据库到nomount

export ORACLE_SID=SPR1
sqlplus / as sysdba
SQL> startup nomount pfile=’/tmp/test/init.ora’

三、 从带库还原控制文件备份
打开Data Protector管理器,按下图一步一步还原控制文件备份至目标服务器,默认放到/var/opt/omni/tmp目录。
1)查看备份文件,确定要还原的控制文件
这里写图片描述
2)找到要还原的数据库后,恢复操作选择执行RMAN存储库恢复,再选择CONTROL FILE FROM DP MANAGED BACKUP
这里写图片描述
3)在选项中做如下设置:
客户机:节点1 注意要选择恢复的目标服务器
用户名:oracle
用户组:oistall
会话ID:选择要恢复哪个时间备份的控制文件
目标客户端设置:用户名:sys 密码:oracle 服务名:orcl
(说明:此数据库为一个空闲数据库,用于远程连接并还原控制文件备份。当然也可以使用静态监听连接要恢复的库,我没配成功)
这里写图片描述
4)设置完成后,开始还原,然后默认下一步
这里写图片描述
5)默认点完成
这里写图片描述
6)恢复完成后,在/var/opt/omni/tmp目录可以看到恢复后的控制文件备份
这里写图片描述
四、恢复控制文件
登录节点1

export ORACLE_SID=SPR1
rman target /
RMAN> restore controlfile from
‘/var/opt/omni/tmp/ctrl_SPRPRD_102647.dbf’;

这里写图片描述
五、还原数据文件(图形界面)
每五和六步选择任一种方式还原。
a) 打开备份软件DP,选择要恢复的数据,执行还原,选项设置如下:
Client:dm0201.faw-vw.in 注意要选择恢复的目标服务器
User Name:oracle
User Group:oinstall
Restore options:选择还原的时间点
Settings User name:sys Password:Oracle Service:SPR
这里写图片描述
b) 开始还原
这里写图片描述
c) 查看从哪个备份片恢复,确定恢复是否正确
d) 查看日志,及恢复情况

六、还原数据文件(脚本)
将还原数据文件命令写到可执行文件中,可在后台执行,参数要注意,

OB2APPNAME :db name
OB2BARLIST :备份片句柄
OB2BARHOSTNAME:原数据库主机名

[oracle@dm02db01 test]$ vi spr.sh

rman target / << eof run { allocate channel ‘dev_0’ type ‘sbt_tape’
parms
‘SBT_LIBRARY=/opt/omni/lib/libob2oracle8_64bit.so,ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=SPRPRD,OB2BARLIST=PTL_dm0101_SPRPRD_OnlineFull,OB2BARHOSTNAME=dm0101.faw-vw.in)’;
restore database; release channel ‘dev_0’; } eof

添加可执行权限:chmod +x spr.sh
执行:nohup sh spr.sh &
七、还原归档日志
将还原归档日志命令写到可执行脚本中

vi /tmp/test/archivelog.sh export ORACLE_SID=SPR1 rman target / << eof
run { allocate channel ‘dev_0’ type ‘sbt_tape’ parms
‘SBT_LIBRARY=/opt/omni/lib/libob2oracle8_64bit.so,ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=SPRPRD,OB2BARLIST=PTL_dm0101_SPRPRD_OnlineFull,OB2BARHOSTNAME=dm0101.faw-vw.in)’;
restore archivelog time between “to_date(‘2015-03-13
11:00:45’,’YYYY-MM-DD HH24:MI:SS’)” and “to_date(‘2015-03-13
13:00:28’,’YYYY-MM-DD HH24:MI:SS’)”; release channel ‘dev_0’; } eof

添加文件的可执行权限:

chmod +x archivelog.sh

执行脚本:

/tmp/test/archivelog.sh

八、恢复数据库

export ORACLE_SID=SPR1
sqlplus / as sysdba
SQL> recover database using
backup controlfile until cancel;

输入auto(说明:自动查找归档日志进行恢复直至没有可以恢复的归档)
如果不能打开数据,再次执行,这次输入cancel

SQL> recover database using backup controlfile until cancel;

输入cancel

九、 打开数据库
以resetlogs方式打开数据库:SQL> alter database open resetlogs;

十、检测库是否正常
1. 如果允许,可使用应用测试服务器进行连接检测。亦可使用监听连接测试代替:

sqlpus sys/Oracle@SPR as sysdba

十一、 还原spfile
说明:还原spfile在恢复测试过程中是可选的。
1 从带库还原spfile
a) 查看spfile的备份,找到最后一个spfile备份
这里写图片描述
b) 还原脚本写入到spfilerecover.sh文件中

rman target / << eof
run {
allocate channel ‘dev_0’ type ‘sbt_tape’
parms
‘SBT_LIBRARY=/opt/omni/lib/libob2oracle8_64bit.so,ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=SPRPRD,OB2BARLIST=PTL_dm0101_SPRPRD_OnlineFull,OB2BARHOSTNAME=dm0101.faw-vw.in)’;
restore spfile to ‘/tmp/test/spfilespr.ora’ from tag
‘TAG20150313T120038’; release channel ‘dev_0’;
} eof

c) .sh文件添加可执行的权限

cd /tmp/test/
chmod +x spfilesrecover.sh

d) 开始还原:/tmp/test/spfilesrecover.sh
2 创建新的pfile

export ORACLE_SID=SPR1
sqlplus / as sysdba
SQL> create
pfile=’/tmp/test/inispr.ora’ from spfile=’/tmp/test/spfilespr.ora’;

3 修改pfile文件
将initspr.ora内容复制到文本文件中进行修改,然后创建新的文件,名为:initnew.ora

vi /tmp/test/initnew.ora

4 重启数据库
以新生成的pfile文件重新打开数据库

export ORACLE_SID=SPR1
sqlplus / as sysdba
SQL> shutdown immediate
SQL> startup mount pfile=’/tmp/test/initnew.ora’;

5 创建SPFILE至ASM

export ORACLE_SID=SPR1
sqlplus / as sysdba SQL> create
spfile=’+DATA/sprprd/spfilesprprd.ora’ from
pfile=’/tmp/test/initnew.ora’;

重启

SQL> shutdown immediate;
SQL> startup

十二、集群数据库
1 配置节点1
登录节点1(192.168.8.208)
创建spfile至ASM中(同十一中的第5步,已创建忽略此步)

export ORACLLE_SID=SPR1

SQL> create spfile=’+DATA/sprprd/spfilesprprd.ora’ from
pfile=’/tmp/test/init.ora’;

2 配置节点2
登录节点2(192.168.8.209)
1) 创建审计目录mkdir -p /u01/app/oracle/admin/SPRPRD/adump
2) 创建pfile

cd $ORACLE_HOME/dbs vi initSPR2.ora
SPFILE=’+DATA/sprprd/spfilesprprd.ora’

3) 创建密码文件

cd $ORACLE_HOME/dbs
orapwd file=orapwSPR2 password=Oracle entries=3

3 转换成集群数据库
登录节点1
1) 使用oracle添加数据库到集群中,如果已添加,则先将数据库从集群中移除

srvctl stop instance -d SPRPRD -i SPR1 srvctl remove instance -d
SPRPRD -i SPR1 srvctl remove instance -d SPRPRD -i SPR2 srvctl remove
database -d SPRPRD

2) 添加数据库到集群

su - oracle
srvctl add database -d SPRPRD -o
/u01/app/oracle/product/11.2.0.4/dbhome_1 -n SPRPRD -p
+DATA/sprprd/spfilesprprd.ora -a DATA,RECO
srvctl add instance -d SPRPRD -i SPR1 -n dm02db01
srvctl add instance -d SPRPRD -i SPR2 -n dm02db02

3) 使用集群重启数据库

su - grid srvctl start database -d SPRPRD

4) 查看启动结果crsctl stat res -t
5) 查看数据库状态

su - oracle
export ORACLE_SID=SPR1
sqlplus / as sysdba
SQL> select
instance_name,status from gv$instance;

参考:
http://blog.itpub.net/24500180/viewspace-1062197/
http://blog.itpub.net/24500180/viewspace-1067957/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上海阿丽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值