Oracle 12c 新特性(三)

jelephant發表於2015-12-05

第三部分包括:

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

注意:

  • 你無法從Flex恢復回標準叢集模式
  • 改變叢集節點模式需要叢集棧停止
  • 確保以一個固定的VIP配置GNS

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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29337971/viewspace-1853942/,如需轉載,請註明出處,否則將追究法律責任。

相關文章