【新炬網路名師大講堂】12c高可用新特性what-if command evaluation介紹

shsnchyw發表於2014-12-10

      OOW第一天OU的培訓,聽了下Oracle database 12c高可用新特性的介紹。主要內容有柔性叢集、基於策略的叢集管理、假設狀況評估命令、柔性ASM及DG新特性等等。其中的假設狀況評估命令,即what-if command evaluation非常新穎,有點像我們在論壇上準備發帖的時候有個預覽的功能,非常有趣。

        Oracle最近幾年的發展出現了很多預估的功能,給使用者帶來很大的方便,記得剛開始接觸Oracle的時候,總是要花費幾天的時間用在安裝Oracle的折騰上,尤其是11g以前資料庫版本,在前期準備功夫沒做足的情況下,每次在DBCA建庫裝到一半的時候,突然彈出一個錯誤提示框,然後拼命的google查啊查,好不容易才搞清楚,原來是系統少了個rpm包,於是安裝後繼續進行,快到結束時,又彈出個錯誤提示框,又是缺少某個rpm包導致,反反覆覆折騰,苦不堪言。

        Oracle 11g資料庫開始在安裝的時候,無論是RAC中的GRID或新建DB,都會有個prerequlsite checks(先決條件檢查),這個功能非常實用,再仔細的人都會有遺漏的時候,這個prerequlsite checks功能就會把你的環境掃描下,然後給出結果,看你的環境是否符合安裝的條件。有了這個安裝預估的功能,安裝就變得簡單多了。

        當然不但在安裝方面,oracle資料庫在RMAN備份的時候也提供了類似的功能,假設一個場景:如果一個重要的業務系統資料庫有幾個T,準備給這套系統資料庫做升級或其它維護操作,由於操作前需要進行RMAN備份,當你對備份的指令碼進行測試完後部署生產系統,一執行指令碼就下班回家去了,過幾天后才發現,原來rman才備份了幾個資料檔案就發現有壞塊,導致備份失敗。由於發現問題比較晚,最後導致整個維護操作都延期。rman提供了BACKUP VALIDATE DATABASE、backup validate datafile x等命令,可以為提前發現問題。

        Oracle 12c高可用新特性中的what-if command evaluation就提供了一堆命令集,可以幫你提前預估你對叢集管理操作命令實際執行前的效果,讓你儘量減少失誤避免出現災難的機會。what-if command evaluation包括一堆對叢集資源的管理,如使用crsctl及srvctl命令對resource start、resource stop、resource relocate、resrouce modify、resource add及resource failure預估維護操作等等。
        使用crsctl命令對啟動資源的效果預估:
$crsctl eval start resource my_resource -n my_server

Stage Group 1:
———————————————————————-
Stage Number  Required  Action
     1           Y         Resource ‘my_dep_res1′ (1/1) will be in state                 
                              [ONLINE] on server [my_server]
                  N         Resource ‘my_dep_res2′ (1/1) will be in state
                              [ONLINE|INTERMEDIATE] on server [my_server]

        可以做其它命令,如
$crsctl eval { add | delete | modify } serverpool …
$crsctl eval { add | relocate | delete } server …
$crsctl eval activate policy …

        還可以使用叢集adminstrator的命令以控制輸出格式
$crsctl eval delete server my_server -f -admin
NAME = Free
ACTIVE_SERVERS =

NAME = Generic
ACTION_SERVERS =

NAME = ora.my_pool
ACTION_SERVERS = some_server

        使用srvctl命令啟動資料庫的時候測試資源的啟動效果:
$srvctl start database -db orcl -eval

Resource ora.asm will be started on node c000n02
Resource ora.DATA.dg will be started on node c000n02
Resource ora.FRA.dg will be started on node c000n02
Database orcl will be started on node c000n02

        當然還可以使用srvctl評估失敗後果,
$srvctl predict { database | service | asm | diskgroup | filesystem | vip
 | network | listener | scan | scan_listenner | oc4j } … [-verbose]
       如:
$srvctl predict asm -n c00n02
$srvctl predict diskgroup -g DATA
$srvctl predict filesystem -d /dev/asm/vo11-261 -verbose
        srvctl predict 命令允許管理員評估執行命令失敗後影響那些資源,如database、service、asm、diskgroup、filesystem、vip、network、listener、scan、scan listener及oc4j等。

        其它具體的用法可以檢視12c的官方文件具體瞭解。

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

相關文章