IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉貼|軟件發(fā)布

您當前所在位置:首頁數(shù)據(jù)庫Oracle → DATAGUARD的角色轉換服務

DATAGUARD的角色轉換服務

時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)

  Data Guard 配置包含一個數(shù)據(jù)庫作為主角色以及一個或更多數(shù)據(jù)庫作為備角色。典型地,每個數(shù)據(jù)庫的角色不會更改。然而,如果Data Guard 是用于維護對主數(shù)據(jù)庫停機響應的服務,你必須在配置中發(fā)起當前主數(shù)據(jù)庫和一個備數(shù)據(jù)庫之間的角色轉換。要查看數(shù)據(jù)庫的當前角色,查詢V$DATABASE 視圖中的DATABASE_ROLE 列。

  在 Data Guard 配置中的備數(shù)據(jù)庫的數(shù)量、位置、和類型(物理或邏輯),以及重做數(shù)據(jù)以哪種方式從主數(shù)據(jù)庫傳送到每個備數(shù)據(jù)庫,決定了你用于響應主數(shù)據(jù)庫停機可用的角色管理選項。

  一、角色轉換介紹

  數(shù)據(jù)庫操作于下面互斥的角色之一:主或備。Data Guard 允許你通過執(zhí)行本章中描述的SQL 語句或通過使用任何一個Data Guard broker 界面,來動態(tài)更改這些角色。oracle DataGuard 支持下述角色轉換:

  *   切換

  允許主數(shù)據(jù)庫切換角色到它的備數(shù)據(jù)庫之一。在切換期間沒有數(shù)據(jù)丟失。在切換之后,每個數(shù)據(jù)庫繼續(xù)以其新的角色參與在Data Guard 配置中。

  *  故障轉移

  更改備數(shù)據(jù)庫到主角色響應主數(shù)據(jù)庫的故障。如果主數(shù)據(jù)庫在故障之前沒有操作在最大保護模式或最大可用性模式,可能發(fā)生數(shù)據(jù)丟失。如果在主和備數(shù)據(jù)庫上都允許Flashback數(shù)據(jù)庫,一旦故障的原因更正了,故障的數(shù)據(jù)庫可用恢復作為新的主數(shù)據(jù)庫的備庫。

  1、準備角色轉換(故障轉移或切換)

  在開始任何角色轉換之前,執(zhí)行下述準備:

  * 對每個數(shù)據(jù)庫檢查初始化參數(shù)是否正確配置。

  * 檢驗將成為新的主數(shù)據(jù)庫的備數(shù)據(jù)庫是操作于 ARCHIVELOG 模式。

  * 確保存在于備數(shù)據(jù)庫的臨時文件符合在主數(shù)據(jù)庫上的臨時文件。

  * 刪除任何在應用重做中的延遲,這可能會影響將會成為新的主數(shù)據(jù)庫的備數(shù)據(jù)庫。

  * 檢驗在 Real Application Clusters 配置中的備數(shù)據(jù)庫上除了一個RAC 實例以外都關閉。?

  對于 Real Application Clusters 數(shù)據(jù)庫,在角色轉換過程中備數(shù)據(jù)庫上只有一個RAC實例能聯(lián)機。在開始角色轉換之前關閉所有其它實例。然后,在角色轉換完成后,將這些實例聯(lián)機。

  注:即使在切換期間備數(shù)據(jù)庫上只有一個RAC 實例是打開的,所有其它備數(shù)據(jù)庫實例在打開時,還將自動經歷一個正確轉換到它們的新角色的過程。

  2、為角色轉換選擇目標備數(shù)據(jù)庫

  對于使用多個備數(shù)據(jù)庫的 Data Guard 配置,當為角色轉換選擇目標備數(shù)據(jù)庫時需要考慮許多因素。包括如下:

  * 備數(shù)據(jù)庫的本地性。

  * 備數(shù)據(jù)庫的能力(硬件規(guī)格——如 CPU 數(shù)目、可用I/O 帶寬、等等)。

  * 執(zhí)行角色轉換所需的時間。這受離備數(shù)據(jù)庫后面多遠(用重做數(shù)據(jù)的應用衡量),以及你有多大的靈活性(用應用可用性與數(shù)據(jù)丟失的折衷衡量)的影響。

  Data Guard 提供了V$DATAGUARD_STATS 視圖,能用于估計每個備數(shù)據(jù)庫的生存能力,用備數(shù)據(jù)庫中數(shù)據(jù)的流通衡量,以及如果所有可用的重做數(shù)據(jù)庫應用到備數(shù)據(jù)庫,執(zhí)行角色轉換所需的時間。例如:

  SQL> COLUMN NAME FORMAT A18

  SQL> COLUMN VALUE FORMAT A16

  SQL> COLUMN TIME_COMPUTED FORMAT A24

  SQL> SELECT * FROM V$DATAGUARD_STATS;

  NAME  VALUE     TIME_COMPUTED

  ------------------ ---------------- ------------------------

  apply finish time +00 00:00:02.4 15-MAY-2005 10:32:49

  second(1)

  interval

  apply lag     +00 0:00:04     15-MAY-2005 10:32:49

  second(0)

  interval

  transport lag      +00 00:00:00    15-MAY-2005 10:32:49

  second(0)

  Interval

  這顯示了對于這個備數(shù)據(jù)庫,沒有傳輸延遲,日志應用服務沒有應用在過去的 4 秒中生成的重做(apply lag),日志應用服務將使用2.4 秒來完成應用未應用的重做(apply finishtime)。在每個統(tǒng)計的時間在TIME_COMPUTED 列中顯示。如果配置包含物理和邏輯備數(shù)據(jù)庫,考慮選擇物理備數(shù)據(jù)庫作為目標備數(shù)據(jù)庫。向物理備數(shù)據(jù)庫的切換或故障轉移是更可取的,因為在角色轉換完成后,配置中的所有數(shù)據(jù)庫對于新的主數(shù)據(jù)庫作為備數(shù)據(jù)庫是可行的。然而切換或故障轉移到邏輯備數(shù)據(jù)庫將會使其它物理備數(shù)據(jù)庫對于原主數(shù)據(jù)庫無效。然后在能夠重允許物理備數(shù)據(jù)庫之前,你將需要從新的主數(shù)據(jù)庫的備份重建物理備數(shù)據(jù)庫。

  3、切換

  切換典型地用于在計劃的停機期間減少主數(shù)據(jù)庫宕機時間,如操作系統(tǒng)或硬件升級,或Oracle 數(shù)據(jù)庫軟件和補丁集的滾動升級。

  切換以兩個階段發(fā)生。在第一個階段,現(xiàn)有的主數(shù)據(jù)庫經歷向備角色的轉換。在第二個階段,備數(shù)據(jù)庫經歷向主角色的轉換。

  圖 1 顯示了在數(shù)據(jù)庫角色切換前的兩站點Data Guard 配置。主數(shù)據(jù)庫位于SanFrancisco,備數(shù)據(jù)庫位于Boston。


圖 1 在切換前的Data Guard 配置

#p#副標題#e#

  圖 2 顯示了在原主數(shù)據(jù)庫切換到備數(shù)據(jù)庫后,但是在原備數(shù)據(jù)庫成為新的主數(shù)據(jù)庫之前的Data Guard 環(huán)境。在這個步驟,Data Guard 配置臨時有兩個備數(shù)據(jù)庫。


圖 2 在切換到新的主數(shù)據(jù)庫之前的備數(shù)據(jù)庫

  圖 3 顯示了在切換發(fā)生后的Data Guard 環(huán)境。原備數(shù)據(jù)庫成為新的主數(shù)據(jù)庫。主數(shù)

  據(jù)庫現(xiàn)在位于Boston,備數(shù)據(jù)庫現(xiàn)在位于San Francisco。


圖 3 切換后的Data Guard 環(huán)境

  準備切換

  確保滿足步驟一列出的先決條件,另外,下面的先決條件必須對切換滿足:

  * 對于包含物理備數(shù)據(jù)庫的切換,檢驗主數(shù)據(jù)庫實例是否打開和備數(shù)據(jù)庫實例是否安裝。

  * 你計劃更改到主角色的備數(shù)據(jù)庫在你開始切換之前必須是安裝的。理想地,物理備數(shù)據(jù)庫在數(shù)據(jù)庫角色在切換時也將活動地應用重做。如果物理備數(shù)據(jù)庫打開用于只讀訪問時,切換還將發(fā)生,但是需要額外的時間。

  * 對于包含邏輯備數(shù)據(jù)庫的切換,檢驗主和備數(shù)據(jù)庫實例是否打開以及 SQL 應用是否活動。

  對于包含在 Real Applications Cluster 中的主數(shù)據(jù)庫的切換,除了一個實例以外所有實例都必須關閉。一旦切換成功執(zhí)行,你能將所有其它實例聯(lián)機。

  當數(shù)據(jù)庫從一個角色轉換到另一個,DB_ROLE_CHANGE 系統(tǒng)事件會觸發(fā)。你能寫一個觸發(fā)器關聯(lián)這個系統(tǒng)事件,以在切換發(fā)生后管理任務。當數(shù)據(jù)庫第一次在切換過后打開時該事件觸發(fā),不管其新的角色(就是說,不管切換導致其第一次作為主數(shù)據(jù)庫、作為邏輯備、或作為只讀模式中的物理備而打開)。你能查詢V$DATABASE 視圖的DATABASE_ROLE列來確定數(shù)據(jù)庫的當前角色。

  4、故障轉移

  只有當主數(shù)據(jù)庫變得不可用,并且沒有可能在合理的時間期間內還原以提供服務,才典型地會使用故障轉移。在故障轉移期間執(zhí)行的特定操作基于在故障轉移中包括的是邏輯或物理備數(shù)據(jù)庫,在故障轉移的時候Data Guard 配置的狀態(tài),和用于開始故障轉移使用的特定SQL 語句而不同。

  圖 4 顯示了從San Francisco 的主數(shù)據(jù)庫故障轉移到Boston 的物理備數(shù)據(jù)庫的故障轉移的結果。


圖 4 故障轉移到備數(shù)據(jù)庫

  準備故障轉移

  如果可能,在執(zhí)行故障轉移之前,你應該傳遞盡可能多的可用的和未應用的主數(shù)據(jù)庫重做數(shù)據(jù)到備數(shù)據(jù)庫。

  確保滿足在 步驟一"準備角色轉換(故障轉移或切換)"中列出的先決條件。另外,對于故障轉移,下面的先決條件必須滿足:

  * 如果故障轉移中包括當前運行在最大保護模式的備數(shù)據(jù)庫,首先通過在備數(shù)據(jù)庫上執(zhí)行下面面語句將其置于最大性能模式:

  SQL> ALTER DATABAS

關鍵詞標簽:DATAGUARD,角色轉換服

相關閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列Oracle中使用alter table來增加,刪除,修改列oracle中使用SQL語句修改字段類型-oracle修oracle中使用SQL語句修改字段類型-oracle修使用低權限Oracle數(shù)據(jù)庫賬戶得到管理員權限使用低權限Oracle數(shù)據(jù)庫賬戶得到管理員權限Oracle對user的訪問控制Oracle對user的訪問控制

相關下載

人氣排行 ORACLE SQL 判斷字符串是否為數(shù)字的語句Oracle中使用alter table來增加,刪除,修改列的語法ORACLE和SQL語法區(qū)別歸納(1)oracle grant 授權語句如何加速Oracle大批量數(shù)據(jù)處理Oracle刪除表的幾種方法ORACLE修改IP地址后如何能夠使用Oracle 10g創(chuàng)建表空間和用戶并指定權限