ORACLE+RAC+ASM环境下添加redo日志组
?????? 在集群環(huán)境中,每個節(jié)點上的數(shù)據(jù)庫實例都需要自己的重做日志組。例如,如果集群數(shù)據(jù)庫擁有三個節(jié)點和實例,每個實例至少有兩個重做日志組,則整個集群至少需要6個聯(lián)機重做日志組。一般而言,兩個日志組是最低限量,工程上可以給每個實例更多的組。一則提高效率,二則提高恢復(fù)性。但無論多少組,所有日志文件存放于共享存儲介質(zhì)上,并可以被其他實例訪問。
?????? 在集群數(shù)據(jù)庫中,實例恢復(fù)的過程與單節(jié)點是一樣的,都是通過存儲在聯(lián)機重做日志中的日志信息自動進行實例恢復(fù)。不同的是,在集群環(huán)境中,所有節(jié)點的重做日志都必須可被其他所有節(jié)點訪問。當(dāng)由于這個節(jié)點的突然崩潰事故而進行實例恢復(fù)時。,其他仍然完好的節(jié)點數(shù)據(jù)庫實例就可以對其聯(lián)機重做日志進行訪問,執(zhí)行實例恢復(fù)
?????? 在集群環(huán)境中,每個節(jié)點上的數(shù)據(jù)庫實例都需要自己的重做日志組。例如,如果集群數(shù)據(jù)庫擁有三個節(jié)點和實例,每個實例至少有兩個重做日志組,則整個集群至少需要6個聯(lián)機重做日志組。一般而言,兩個日志組是最低限量,工程上可以給每個實例更多的組。一則提高效率,二則提高恢復(fù)性。但無論多少組,所有日志文件存放于共享存儲介質(zhì)上,并可以被其他實例訪問。
?????? 在集群數(shù)據(jù)庫中,實例恢復(fù)的過程與單節(jié)點是一樣的,都是通過存儲在聯(lián)機重做日志中的日志信息自動進行實例恢復(fù)。不同的是,在集群環(huán)境中,所有節(jié)點的重做日志都必須可被其他所有節(jié)點訪問。當(dāng)由于這個節(jié)點的突然崩潰事故而進行實例恢復(fù)時。,其他仍然完好的節(jié)點數(shù)據(jù)庫實例就可以對其聯(lián)機重做日志進行訪問,執(zhí)行實例恢復(fù)。即便崩潰的實例無法再行啟動,其重做日志仍可訪問,其日志數(shù)據(jù)仍可被其他實例使用,進行已提交事務(wù)的前滾和未提交事務(wù)的回滾,從而實現(xiàn)集群角度的崩潰恢復(fù)。
?
?????? 由于實例恢復(fù)由集群中完好的集群節(jié)點完成,所以崩潰的節(jié)點重新啟動時,無須進行實例恢復(fù)。同理,只要集群還有一個存活節(jié)點,數(shù)據(jù)庫數(shù)據(jù)就是完整的。如果所有節(jié)點全部崩潰,則第一個再啟動節(jié)點將完成恢復(fù)操作。
????
?????? 由于每個節(jié)點都需要有自己的私有日志組,所以在集群數(shù)據(jù)庫節(jié)點上,每個實例都會有一個獨立的日志線程號,這個線程號由參數(shù)THREAD確定,不會改變。在下例中,服務(wù)器參數(shù)文件中的thread參數(shù)定義了節(jié)點一(orcl1)實例的線程號為1,而節(jié)點而節(jié)點二(orcl2)實例的線程號為2:
$ sqlplus? / as sysdba?????????????????????????????????????????????????
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Jan 28 14:00:48 2010
?
Copyright (c) 1982, 2007, Oracle.? All Rights Reserved.
?
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
?
SQL> show parameters thread
?
NAME??????????????????????????????????? TYPE??????? VALUE
------------------------------------ ----------- ------------------------------
parallel_threads_per_cpu????? integer???? 2
thread????????????????????????????????????integer?????1
?
?
$ sqlplus / as sysdba??????????????????????????????????????????????????
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Jan 28 14:01:23 2010
?
Copyright (c) 1982, 2007, Oracle.? All Rights Reserved.
?
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
?
SQL> show parameters thread
?
NAME???????????????????????????????????? TYPE??????? VALUE
------------------------------------ ----------- ------------------------------
parallel_threads_per_cpu??????integer???? 2
thread????????????????????????????????????integer???? 2
SQL>
?????? 因此,當(dāng)給數(shù)據(jù)庫集群創(chuàng)建重做日志是,管理員需要指定這個新的日志組被分配給哪個線程(服務(wù)于哪個RAC實例)。下面來給線程2的實例添加一個組,組號為5,采用ASM自動存儲方式,因此無需指定文件名和大小:
SQL>alter database add logfile thread 2 group 5;
Database altered.
?
?????? 下面來給線程1的實例添加一個組,組號為6,采用ASM自動存儲方式,因此無需指定文件名和大小。
SQL>alter database add logfile thread 1 group 6;
Database altered.
?
?????? 查詢新創(chuàng)建的日志組,組5屬于實例二,有兩個組成員。而組6屬于實例一,有兩個組成員,都由ASM方式存儲,采用OMF(Oracle 管理的文件)方式命名:
?
SQL> select group#,member from v$logfile where group# in (3,4);
?
??? GROUP#???? MEMBER
----------???? ----------------------------------------------
???????? 3???? +DG_DATA/cctt/onlinelog/group_3.266.684757609
???????? 3???? +DG_BACK/cctt/onlinelog/group_3.259.684757609
???????? 4???? +DG_DATA/cctt/onlinelog/group_4.267.684757611?
???????? 4???? +DG_BACK/cctt/onlinelog/group_4.260.684757611
轉(zhuǎn)載于:https://blog.51cto.com/zhuozhuo/1737495
總結(jié)
以上是生活随笔為你收集整理的ORACLE+RAC+ASM环境下添加redo日志组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 重载赋值运算符与11选5平台修复
- 下一篇: 外网访问XAMPP失败 解决方案