题目部分
在Oracle中,RAC环境下的Redo文件可以放在节点本地吗?
♣
答案部分
不能。同单实例的系统一样,在RAC环境中,每个节点实例都需要至少两组Redo日志文件,且每个节点实例有自己独立的Redo日志线程(由初始化参数THREAD定义),例如:
SQL> SELECT B.THREAD#,A.GROUP#,A.STATUS,A.MEMBER,B.BYTES,B.ARCHIVED,B.STATUS FROM V$LOGFILE A,V$LOG B WHERE A.GROUP#=B.GROUP#;
THREAD# GROUP# STATUS MEMBER BYTES ARCHIVED STATUS
----------------------------------------------------------------------------------------
1 1 STALE +DATA/lhrdb/onlinelog/group_1.257.660614753 52428800 YES INACTIVE
1 2 +DATA/lhrdb/onlinelog/group_2.258.660614755 52428800 NO CURRENT
2 3 +DATA/lhrdb/onlinelog/group_3.265.660615545 52428800 NO CURRENT
2 4 STALE +DATA/lhrdb/onlinelog/group_4.266.660615543 52428800 YES INACTIVE
RAC环境中的Redo日志文件必须部署到共享存储中,而且需要保证可被集群内的所有节点实例访问到。当某个节点实例进行实例恢复或介质恢复的时候,该节点上的实例将可以应用集群下所有节点实例上的Redo日志文件,从而保证恢复可以在任意可用节点进行。
本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗