大道浮屠诀---NBU8.1.1_备份恢复_RAC-RAC(linux6)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
⼤道浮屠诀---NBU8.1.1_备份恢复_RAC-RAC(linux6)环境介绍
Window_NBU8.1.1 备份 ORACLE_11G_RAC
全备和归档两个策略
恢复:
RAC-RAC恢复
恢复到指定时间点(追加归档)
颜⾊区别:
配置⽂件颜⾊
脚本命令颜⾊
Window-NBU8.1.1安装
注:8.1.1安装之前需要做以下操作
安装过程不再赘述,根据向导安装即可。
环境介绍
-----------------------------
oracle_RAC
[root@rac1 ~]# more /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.168.1.11 rac1
172.168.1.22 rac2
172.168.1.111 rac1-vip
172.168.1.222 rac2-vip
10.10.10.11 rac1-prv
10.10.10.22 rac2-prv
172.168.1.33 rac-scan
#-----------------------nbu
172.168.1.213WIN-KH4NAH82PJC
linux系统版本
[root@rac1 ~]# more /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
备份步骤
-----------------------------
1、创建存储池(DISK OR TAPE)
2、创建备份策略(instance backup or script backup)
3、测试备份
详细步骤不再赘述(可参考单机版)
-----测试备份⽅法
-----1、⾸先进⾏⼀次全备
-----2、创建⼀个表空间,切换⽇志,进⾏归档⽇志备份
-----3、创建⼀张表,切换⽇志,进⾏归档⽇志备份
恢复步骤
-----------------------------
注:先查看原库数据⽂件和redo⽇志的路径,接下来可能会在脚本中对路径进⾏修改
1、查看备份集
/usr/openv/netbackup/bin/bplist -C rac1 -t 4 -R /
2次归档备份,1次全备
注:也可搜索指定时间段的备份集,如下命令
/usr/openv/netbackup/bin/bplist -C rac1 -t 4 -R -s 03/20/2019 -e 03/21/2019 /
2、⾸先启动到nomount
pfile⽂件⾃⾏进⾏修改(⼀般修改各路径与实例名即可)
3、恢复控制⽂件
此次先选择以下控制⽂件恢复
此时需要追加归档来恢复数据库,数据库可以看到表空间,但是看不到表
ControlFileScripts:(RMAN下运⾏)
run{
allocate channel c1 type sbt_tape;
SEND 'NB_ORA_SERV=WIN-ECOEQVGJGRJ,NB_ORA_CLIENT=rac1';
restore controlfile from '/cntrl_87_1_1003411309';
release channel c1;
}
此时集群状态:
4、接下去恢复数据⽂件
DataFileScripts:(RMAN下运⾏)
run{
allocate channel c4 type sbt_tape;
allocate channel c5 type sbt_tape;
SEND 'NB_ORA_SERV=WIN-ECOEQVGJGRJ,NB_ORA_CLIENT=rac1';
set newname for datafile '+DATA01/racdb/datafile/sysaux.263.975102913' to '+DATA01/rachui/datafile/sysaux01.dbf';
set newname for datafile '+DATA01/racdb/datafile/undotbs2.266.975102943' to '+DATA01/rachui/datafile/undotbs02.dbf';
set newname for datafile '+DATA01/racdb/datafile/system.262.975102909' to '+DATA01/rachui/datafile/system01.dbf';
set newname for datafile '+DATA01/racdb/datafile/undotbs1.264.975102917' to '+DATA01/rachui/datafile/undotbs01.dbf';
set newname for datafile '+DATA01/racdb/datafile/users.267.975102945' to '+DATA01/rachui/datafile/users01.dbf';
set newname for datafile '+DATA01/racdb/datafile/huifu01.dbf' to
'+DATA01/rachui/datafile/huifu01.dbf';
restore database;
switch datafile all;
release channel c4;
release channel c5;
}
--redo⽇志修改路径(可选)
如果你需要更改恢复后的redo路径,可⽤以下命令进⾏修改
alter database rename file '+data01/racdb/onlinelog/group_1.258.975102907' to '+data01/rachui/onlinelog/group_1.258.975102907'; alter database rename file '+data01/racdb/onlinelog/group_1.259.975102907' to '+data01/rachui/onlinelog/group_1.259.975102907';
alter database rename file '+data01/racdb/onlinelog/group_2.260.975102907' to '+data01/rachui/onlinelog/group_2.260.975102907'; alter database rename file '+data01/racdb/onlinelog/group_2.261.975102907' to '+data01/rachui/onlinelog/group_2.261.975102907'; alter database rename file '+data01/racdb/onlinelog/group_3.268.975110971' to '+data01/rachui/onlinelog/group_3.268.975110971'; alter database rename file '+data01/racdb/onlinelog/group_3.269.975110971' to '+data01/rachui/onlinelog/group_3.269.975110971'; alter database rename file '+data01/racdb/onlinelog/group_4.270.975110973' to '+data01/rachui/onlinelog/group_4.270.975110973'; alter database rename file '+data01/racdb/onlinelog/group_4.271.975110975' to '+data01/rachui/onlinelog/group_4.271.975110975'; 5、接下来我们可以尝试进⾏恢复(不过由于缺失归档,恢复会报错)
RecoverScripts:(RMAN下运⾏)
run
{
allocate channel ch00 type 'sbt_tape';
allocate channel ch01 type 'sbt_tape';
SEND 'NB_ORA_SERV=WIN-ECOEQVGJGRJ,NB_ORA_CLIENT=rac1';
recover database;
release channel ch00;
release channel ch01;
}
提⽰需要恢复seq为204的归档⽇志:
a、我们先选择取消此归档的恢复,并打开库
recover database using backup controlfile until cancel;
接下来open数据库
此时我们查询表空间(没有出错的情况下,此时会有之前创建的表空间,但是不会有表存在)
正确!
b、此时我们来追加归档恢复⾄创建表之后的时间点
由于我们的控制⽂件中的备份记录只到203,⽆法⾃动进⾏⾃动恢复,所以需要进⾏⼿动从备份集中寻找需要的归档进⾏恢复
从备份集中可以看出
我们恢复到了86,204可以从之后的88,89,90中寻找
sql>中执⾏
declare
devtype varchar2(256);
done boolean;
begin
devtype:=sys.dbms_backup_restore.deviceAllocate(type=>'sbt_tape',ident=>'t2');
sys.dbms_backup_restore.restoreSetArchivedLog(destination=>'+data02/arch/');
sys.dbms_backup_restore.restoreArchivedLog(thread=>1,sequence=>204);
sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'/al_89_1_1003419927',params=>'NB_ORA_SERV=WIN-ECOEQVGJGRJ,NB_ORA_CLIENT=rac1');
sys.dbms_backup_restore.deviceDeallocate;
end;
从89中找到了所需要的归档
我们可以⽤以下命令进⾏追加
recover database using backup controlfile until cancel;
提⽰需要thread 2 中 seq 204
继续⽤上述⽅法进⾏追加
追加到206时,已经⽆法在88,89,90中找到相应归档
此时可以选择cancel取消恢复
这时打开数据库,应该恢复到了之前创建表的状态,也就是最新的时间点过程中遇到的问题
1、恢复数据⽂件时遇到RMAN-06091
解决⽅法:
RMAN下执⾏
allocate channel for maintenance type disk;
delete obsolete device type disk;。