ORACLE+RAC+ASM环境下添加redo日志组
?????? 在集群環境中,每個節點上的數據庫實例都需要自己的重做日志組。例如,如果集群數據庫擁有三個節點和實例,每個實例至少有兩個重做日志組,則整個集群至少需要6個聯機重做日志組。一般而言,兩個日志組是最低限量,工程上可以給每個實例更多的組。一則提高效率,二則提高恢復性。但無論多少組,所有日志文件存放于共享存儲介質上,并可以被其他實例訪問。
?????? 在集群數據庫中,實例恢復的過程與單節點是一樣的,都是通過存儲在聯機重做日志中的日志信息自動進行實例恢復。不同的是,在集群環境中,所有節點的重做日志都必須可被其他所有節點訪問。當由于這個節點的突然崩潰事故而進行實例恢復時。,其他仍然完好的節點數據庫實例就可以對其聯機重做日志進行訪問,執行實例恢復
?????? 在集群環境中,每個節點上的數據庫實例都需要自己的重做日志組。例如,如果集群數據庫擁有三個節點和實例,每個實例至少有兩個重做日志組,則整個集群至少需要6個聯機重做日志組。一般而言,兩個日志組是最低限量,工程上可以給每個實例更多的組。一則提高效率,二則提高恢復性。但無論多少組,所有日志文件存放于共享存儲介質上,并可以被其他實例訪問。
?????? 在集群數據庫中,實例恢復的過程與單節點是一樣的,都是通過存儲在聯機重做日志中的日志信息自動進行實例恢復。不同的是,在集群環境中,所有節點的重做日志都必須可被其他所有節點訪問。當由于這個節點的突然崩潰事故而進行實例恢復時。,其他仍然完好的節點數據庫實例就可以對其聯機重做日志進行訪問,執行實例恢復。即便崩潰的實例無法再行啟動,其重做日志仍可訪問,其日志數據仍可被其他實例使用,進行已提交事務的前滾和未提交事務的回滾,從而實現集群角度的崩潰恢復。
?
?????? 由于實例恢復由集群中完好的集群節點完成,所以崩潰的節點重新啟動時,無須進行實例恢復。同理,只要集群還有一個存活節點,數據庫數據就是完整的。如果所有節點全部崩潰,則第一個再啟動節點將完成恢復操作。
????
?????? 由于每個節點都需要有自己的私有日志組,所以在集群數據庫節點上,每個實例都會有一個獨立的日志線程號,這個線程號由參數THREAD確定,不會改變。在下例中,服務器參數文件中的thread參數定義了節點一(orcl1)實例的線程號為1,而節點而節點二(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>
?????? 因此,當給數據庫集群創建重做日志是,管理員需要指定這個新的日志組被分配給哪個線程(服務于哪個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.
?
?????? 查詢新創建的日志組,組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
轉載于:https://blog.51cto.com/zhuozhuo/1737495
總結
以上是生活随笔為你收集整理的ORACLE+RAC+ASM环境下添加redo日志组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 重载赋值运算符与11选5平台修复
- 下一篇: 外网访问XAMPP失败 解决方案