您好,登錄后才能下訂單哦!
【TechTarget中國原創】本文是Oracle數據庫12c新特性的系列文章的第三篇,作者將對集群,ASM以及RAC數據庫新增和改進方面做一個廣泛的介紹。相關閱讀:Oracle 數據庫12c新特性總結(一)、Oracle 數據庫12c新特性總結(二)、Oracle 數據庫12c新特性總結(四)
第三部分包括:
1. ASM中的增強
2. 網格基礎架構的增強
3. Oracle RAC的增強
1. 自動存儲管理(ASM)中的增強
Flex ASM
在一個典型的網格基礎架構安裝環境中,每個節點都運行自身的ASM實例,并將其作為運行于此節點上數據庫的存儲容器。但這種設置會存在相應的單點故障危險。例如,如果此節點上的ASM實例發生故障,則運行于此節點上的所有數據庫和實例都會受到影響。為了避免ASM實例的單點故障,Oracle 12c提供了一個名為Flex ASM的功能。Flex ASM是一個不同的概念和架構,只有很少數量的ASM實例需要運行在集群中的一些服務器上。當某節點上的一個ASM實例發生故障,Oracle集群就會在另一個不同的節點上自動啟動替代ASM實例以加強可用性。另外,這一設置還為運行在此節點上的實例提供了ASM實例負載均衡能力。Flex ASM的另一個優勢就是可以在單獨節點上加以配置。
當選擇Flex Cluster選項作為集群安裝環境的第一部分時,鑒于Flex Cluster的要求,Flex ASM配置就會被自動選擇。傳統集群同樣也適用于Flex ASM。當你決定使用Flex ASM時,你必須保證所需的網絡是可用的。你可以選擇Flex ASM存儲選項作為集群安裝環境的一部分,或是使用ASMCA在一個標準集群環境下啟用Flex ASM。
以下命令顯示了當前的ASM模式:
$ ./asmcmd showclustermode $ ./srvctl config asm |
或是連接到ASM實例并查詢INSTANCE_TYPE參數。如果輸出值為ASMPROX,那么,就說明Flex ASM已經配置好了。
ASM存儲限制放寬
ASM存儲硬性限額在最大ASM 磁盤群組和磁盤大小上已經大幅提升。在 12c R1中,ASM支持511個ASM磁盤群組,而在11g R2中只支持63個。同樣,相比起在11g R2中20 PB的磁盤大小,現在已經將這一數字提高到32 PB。
對ASM均衡操作的優化
12c 中新的EXPLAIN WORK FOR 語句用于衡量一個給定ASM均衡操作所需的工作量,并在V$ASM_ESTIMATE動態視圖中輸入結果。使用此動態視圖,你可以調整POWER LIMIT語句對重新平衡操作工作進行改善。例如,如果你想衡量添加一個新ASM磁盤所需的工作量,在實際執行手動均衡操作之前,你可以使用以下命令:
SQL> EXPLAIN WORK FOR ALTER DISKGROUP DG_DATA ADD DISK data_005; SQL> SELECT est_work FROM V$ASM_ESTIMATE; SQL> EXPLAIN WORK SET STATEMENT_ID='ADD_DISK' FOR ALTER DISKGROUP DG_DATA AD DISK data_005; SQL> SELECT est_work FROM V$ASM_ESTIMATE WHERE STATEMENT_ID = 'ADD_DISK’; |
你可以根據從動態視圖中獲取的輸出來調整POWER的限制以改善均衡操作。
ASM 磁盤清理
在一個ASM磁盤群組中,新的ASM磁盤清理操作分為正常或高冗余兩個級別,它可以檢驗ASM磁盤群組中所有磁盤的邏輯數據破壞,并且可以自動對邏輯破壞進行修復,如果檢測到有邏輯數據破壞,就會使用ASM鏡像磁盤。磁盤清理可以在磁盤群組,特定磁盤或是某個文件上執行,這樣其影響可降到最小程度。以下演示了磁盤清理場景:
SQL> ALTER DISKGROUP dg_data SCRUB POWER LOW:HIGH:AUTO:MAX; SQL> ALTER DISKGROUP dg_data SCRUB FILE '+DG_DATA/MYDB/DATAFILE/filename.xxxx.xxxx' REPAIR POWER AUTO; |
ASM的活動會話歷史(ASH)
V$ACTIVE_SESSION_HISOTRY 動態視圖現在還可以提供ASM實例的活動會話抽樣。然而,診斷包的使用是受到許可限制的。
2. 網格(Grid)基礎架構的增強
Flex 集群
Oracle 12c 在集群安裝時支持兩類配置:傳統標準集群和Flex集群。在一個傳統標準集群中,所有集群中的節點都彼此緊密地整合在一起,并通過私有網絡進行互動,而且可以直接訪問存儲。另一方面,Flex集群在Hub和Leaf節點結構間引入了兩類節點。分配在Hub中的節點類似于傳統標準集群,它們通過私有網絡彼此互連在一起并對存儲可以進行直接讀寫訪問。而Leaf節點不同于Hub節點,它們不需要直接訪問底層存儲;相反的是,它們通過Hub節點對存儲和數據進行訪問。
你可以配置多達64個Hub節點,而Leaf節點則可以更多。在Oracle Flex集群中,無需配置Leaf節點就可以擁有Hub節點,而如果沒有Hub節點的話,Leaf節點是不會存在的。對于一個單獨Hub節點,你可以配置多個Leaf節點。在Oracle Flex集群中,只有Hub節點會直接訪問OCR和Voting磁盤。當你規劃大規模的集群環境時,這將是一個非常不錯的功能。這一系列設置會大大降低互連擁堵,并為傳統標準集群提供空間以擴大集群。
部署Flex 集群的兩種途徑:
1. 在配置一個全新集群的時候部署
2. 升級一個標準集群模式到Flex集群
如果你正在配置一個全新的集群,你需要在步驟3中選擇集群配置的類型,選擇配置一個Flex集群選項,然后你需要在步驟6中對Hub和Leaf節點進行分類。對于每個節點,選擇相應角色是Hub或是Leaf,而虛擬主機名也是可選的。
將一個標準集群模式轉換為Flex 集群模式需要以下步驟:
1. 用以下命令獲取集群的當前狀態:
$ ./crsctl get cluster mode status |
2. 以root用戶執行以下命令:
$ ./crsctl set cluster mode flex $ ./crsctl stop crs $ ./crsctl start crs –wait |
3. 根據設計改變節點角色:
$ ./crsctl get node role config $ ./crsctl set node role hub|leaf $ ./crsctl stop crs $ ./crsctl start crs -wait |
注意:
ASM磁盤群組中的OCR備份
對于12c,OCR現在可以在ASM磁盤群組中得以備份。這簡化了通過所有節點對OCR備份文件的訪問。為了防止OCR的恢復,你不必擔心OCR最新的備份是在哪個節點上。可以從任何節點輕易識別存儲在ASM中的最新備份并能很容易地執行恢復。
以下演示了如何將ASM磁盤群組設置為OCR備份位置:
$ ./ocrconfig -backuploc +DG_OCR |
支持IPv6協議
對于12c,Oracle是支持IPv6網絡協議配置的。你現在可以在IPv4或IPv6上配置共有或私有網絡接口,盡管如此,你需要確保在所有集群中的節點上使用相同的IP協議。
3. RAC數據庫的增強
What-if命令評估
通過srvctl使用新的What-if命令評估選項,現在可以確定運行此命令所造成的影響。這一新添加到srvctl的命令,可以在沒有實際執行或是不對當前系統做任何改變的情況下模擬此命令。這在想要對一個已存在的系統進行更改卻對結果不確定的時候特別有用。這樣,此命令就會提供進行變更的效果。而–eval 選項也可以通過crsctl 命令來使用。
例如,如果你想要知道停止一個特定數據庫會發生什么,那么你就可以使用以下示例:
$ ./srvctl stop database –d MYDB –eval $ ./crsctl eval modify resource -attr “value” |
srvctl的改進
對于srvctl命令還有一些新增功能。以下演示了如何用這些新增功能停止或啟動集群上的數據庫或實例資源。
srvctl start database|instance –startoption NOMOUNT|MOUNT|OPEN srvctl stop database|instance –stopoption NOMOUNT|MOUNT|OPEN |
在本系列的第四篇文章中,作者將主要介紹Oracle數據庫12c中最為重要的開發者特性。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。