在Oracle中,RAC数据库在备份恢复时有哪些步骤?
♣
答案部分
RAC数据库的备份和恢复与单实例的数据库的备份和恢复基本上没有区别,其恢复过程基本上就是先恢复spfile,再还原控制文件,最后做数据库文件的RESTORE和RECOVER。需要注意的是,在RAC中,归档文件需要放在共享存储上,需要让集群的所有节点都可以访问的到。
RAC数据库的备份可以使用如下的脚本:
1run
2{
3 allocate channel c1 type disk;
4 allocate channel c2 type disk;
5 backup database format '/home/oracle/rman_back/full_%n_%T_%t_%s_%p.bak';
6 sql 'alter system archive log current';
7 backup archivelog all format '/home/oracle/rman_back/arch_%d_%T_%s_%p.bak' delete input;
8 backup current controlfile format '/home/oracle/rman_back/ctl_%d_%T_%s_%p.bak';
9 release channel c1;
10 release channel c2;
11}
12
RAC数据库的恢复过程中常用的命令如下所示:
1ORACLE_SID=LHRRAC1
2startup nomount;
3restore spfile to '+DATA/lhrrac1/spfilelhrrac1.ora' from '/home/oracle/rman_back/full_LHRRAC1x_20180711_981219654_4_1.bak';
4
5startup nomount force;
6restore controlfile from '/home/oracle/rman_back/ctl_LHRRAC1_20180711_7_1.bak';
7
8set line 9999 pagesize 9999
9col FILE_NAME format a60
10select 'datafile' file_type, file#,name FILE_NAME,status,enabled from v$datafile
11union all
12select 'tempfile',file#,name FILE_NAME,status,enabled from v$tempfile
13union all
14select 'logfile',group# file#,member FILE_NAME,status,'' from v$logfile
15union all
16select 'controlfile', to_number('') ,name FILE_NAME,status,'' from v$controlfile;
17
18
19alter database mount;
20restore database;
21list backupset of archivelog all;
22RUN
23{
24set until sequence 10 thread 1;
25set until sequence 7 thread 2;
26recover database;
27}
28
29alter database open resetlogs;
最后在节点2执行startup操作。
& 说明:
有关RAC添加和删除节点的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-1682237/。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。