♣
题目部分
在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/。
本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
---------------优质麦课------------
详细内容可以添加麦老师微信或QQ私聊。
About Me:小麦苗
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:618766405
● 提供OCP、OCM和高可用部分最实用的技能培训
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
DBA宝典
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。