中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【恩墨學院】深入解析:一主多備DG環境,failover的實現過程詳解

發布時間:2020-08-10 02:06:56 來源:ITPUB博客 閱讀:252 作者:恩墨學院 欄目:關系型數據庫

【恩墨學院】深入解析:一主多備DG環境,failover的實現過程詳解

作者介紹


現任云和恩墨數據庫技術顧問,擅長Oracle數據庫的安裝配置、故障診斷、性能診斷、性能優化、備份容災解決方案的設計與實施。

個人技術博客:https://www.cnblogs.com/jyzhao



在DG中,switchover和failover是兩個重要的概念,也是DG實現的核心。根據不同的DG配置,switchover和failover也是有差異的。當主庫被crash之后,如何進行DG foilover的操作?


概述


本文是針對在DG災備環境進行failover操作以及后續恢復的報告。


測試環境

數據庫版本:Oracle 11.2.0.4
Site A:主庫 db_unique_name=jyzhao
Site B:備庫(實時應用)db_unique_name=mynas
Site C:備庫(延遲1小時應用)db_unique_name=jyzhao_s


簡稱注釋

A庫 => Site A:主庫
B庫 => Site B:備庫(實時應用)
C庫 => Site C:備庫(延遲1小時應用)


當A庫crash后,在B庫進行failover將B切換為新的主庫,確認failover之后,A庫和C庫應該如何處理才可以成為新的備庫繼續使用?是否需要重建?重建的話,是否需要重新備份來恢復,以前的備份是否可以用來創建備庫?

問題


驗證過程


 1、A庫異常關閉


A庫:

SQL>shutdown abort


 2、B庫進行failover切換為新主庫


failover 標準步驟如下:

#取消DG應用

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

#重啟下數據庫(建議)

shutdown immediate;

startup

#操作不可逆,確定實際情況需要failover

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH force;

SELECT OPEN_MODE, DATABASE_ROLE, SWITCHOVER_STATUS, FORCE_LOGGING, DATAGUARD_BROKER, GUARD_STATUS FROM V$DATABASE;

#嘗試常規切換為主庫

ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;


如果這一步的常規切換失敗,提示需要介質恢復,那么:

 1)恢復備庫 recover standby database until cancel;

 2)激活備庫 alterdatabaseactivatestandbydatabase;


#最后重新啟動數據庫

shutdownimmediate;

startup


查看此時B庫的信息:

SQL>selectname, database_role, open_mode fromgv$database;


【恩墨學院】深入解析:一主多備DG環境,failover的實現過程詳解


可以看到,目前B庫已成為新的主庫,redo日志的sequence重新開始。


 3、要求C庫成為新主庫的備庫


現在要求C庫成為新主庫的備庫。是否需要重建C庫呢?答案是不需要。下面具體來看下驗證過程。


C庫的alert日志:


【恩墨學院】深入解析:一主多備DG環境,failover的實現過程詳解

可以看到,在A庫crash之后,C庫收到網絡無法連接到A庫的告警,說明C庫目前沒有新的操作。


接下來想要C庫成為B庫(新主庫)的備庫,就需要嘗試在B庫上配置DG參數,使得B庫的歸檔可以傳輸到C庫。


【恩墨學院】深入解析:一主多備DG環境,failover的實現過程詳解

同時在B庫的tnsnames.ora文件中增加到C庫的連接:

#StandbySingle Instance

JYZHAO_S=

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = jyzhao_s))  )


在B庫設置完成后,觀察B庫的告警:


【恩墨學院】深入解析:一主多備DG環境,failover的實現過程詳解

然后返回C庫操作,將C庫開啟實時日志應用:

SQL>alter database recover managed standby database cancel;

Databasealtered.

SQL>alter database recover managed standby database using current logfile disconnect from session;

Databasealtered.


此時再觀察C庫的告警日志:


【恩墨學院】深入解析:一主多備DG環境,failover的實現過程詳解

實際看到,C庫已經可以正常應用日志。說明C庫不需要重建即可通過簡單配置成為新主庫B庫的新備庫。


 4、要求A庫成為新主庫的備庫


此時A庫啟動的話,是一個獨立運行的數據庫,如果想將A庫也設置為主庫的話,那么,通過新主庫的最新備份肯定是可行的,但是如果數據量很大,之前A庫自己本身有歷史的備份,能否不再耗時備份新主庫,直接通過歷史的備份恢復呢?其實這個從上面的C庫不再需要重建直接成為新主庫的備庫,也可以推斷出,是可以的。只需要確認這個備份是在failover之前完成的。下面我們來具體實驗驗證下可行性。


在B庫創建新的備庫控制文件,并傳輸到A庫相同路徑下:

backupcurrentcontrolfileforstandbyformat'/tmp/std_control02.ctl';

在A庫啟動到nomount,恢復新的備庫控制文件

restorestandbycontrolfilefrom'/tmp/std_control02.ctl';

在A庫查看數據文件頭的檢查點,確認是在failover之前:


【恩墨學院】深入解析:一主多備DG環境,failover的實現過程詳解


上面這個數據文件頭的檢查點是0,說明數據文件沒有正確獲取到,實際上是由于OMF的名字有變化,直接將數據文件路徑catalog到備份集中,再switch即可。

catalogstartwith'+DATA1/jyzhao/datafile/';

switchdatabase to copy;


再次查詢:


【恩墨學院】深入解析:一主多備DG環境,failover的實現過程詳解


此時在mount狀態下開啟日志應用:

alter database recover managed standby database disconnect from session;


從告警日志觀察,確認應用到最新時,取消日志應用:

alter database recover managed standby database cancel;


打開數據庫,開啟實時應用:

alter database recover managed standby database USING CURRENT LOGFILE disconnect from session;

最終查詢可以正常實時應用。


結論



一般來說,在A庫crash之后,B庫failover成為新的主庫,那么原來設置為延遲1小時應用的C 庫是可以直接配置成為新主庫的備庫。A庫修復后,也可以通過failover之前的現有備份集來恢復到failover之前的狀態,而不需要在新主庫重新去備份。


恩墨學院隸屬于云和恩墨(北京)信息技術有限公司,致力于提供專業高水準的oracle數據庫與大數據培訓服務,挖掘培養大數據與數據庫人才。恩墨學院提供包括個人實戰技能培訓、個人認證培訓、企業內訓在內的全方位大數據和數據庫技術培訓。ACE級別超強師資,配備專業實驗室,沉浸式學習與訓練,專業實驗室、配備專業助教指導訓練。能迅速融入專家圈子,業內資源豐富,迅速積累職場人脈。oracle數據庫課程包括:Oracle DBA實戰班、Oracle OCM考試Oracle OCP考試等。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

开平市| 林甸县| 平武县| 定边县| 玉田县| 山阳县| 攀枝花市| 乳山市| 建昌县| 吴旗县| 远安县| 抚顺市| 南丹县| 布尔津县| 东平县| 青河县| 凌海市| 枝江市| 长寿区| 威宁| 成安县| 枣强县| 潜山县| 福安市| 龙口市| 武陟县| 永康市| 三门县| 兴化市| 平泉县| 阿合奇县| 万山特区| 洛川县| 荣成市| 河间市| 西吉县| 从化市| 湘西| 仙桃市| 乐东| 嫩江县|