DG中模擬failover故障與恢復

来源:https://www.cnblogs.com/houzhiheng/archive/2019/12/03/11977666.html

問題描述:情形是當主庫真正出現異常之後,才會執行的操作,那麼我們執行過failover 之後,如何在重新構建DG,這裡我們利用flashback database來重構。模擬前主庫要開啟閃回區,否則要重新搭建DG了 1.由於主庫已經不可訪問,下麵所有的操作都在備庫完成,先取消實時同步 SQL> al ...


問題描述:情形是當主庫真正出現異常之後,才會執行的操作,那麼我們執行過failover 之後,如何在重新構建DG,這裡我們利用flashback database來重構。模擬前主庫要開啟閃回區,否則要重新搭建DG了

1.由於主庫已經不可訪問,下麵所有的操作都在備庫完成,先取消實時同步

SQL> alter database recover managed standby database cancel;

 

 

 2.強制取消redo接收

 

 

 3.確認一下備庫

 

 

4.切換為物理主庫,然後open,確認一下切換成功,因為原先的主庫還沒有關閉,可能會產生一些連接,所以現在的狀態是GAP,至此failover操作完成,原來的備庫已經切換為主庫,可以給業務提供服務了

SQL> alter database commit to switchover to primary with session shutdown;

SQL> alter database open;

SQL> select switchover_status,database_role,open_mode from v$database;

 

 

5.failover恢復,在新的主庫執行,查詢到scn值

SQL> select to_char(standby_became_primary_scn) from v$database;

 

 

 6.在之前的主庫現在的備庫上執行,我的之前是startup狀態,調整一下現在備庫的狀態

SQL> shutdown immediate

SQL> startup mount

 

 

 7.恢復閃回區scn值

SQL> flashback database to scn 1388059

 

 

 8.更改狀態

SQL> alter database convert to physical standby;

 

 

 SQL> shutdown immediate

SQL> startup

 

 

 9.開啟實時同步

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

 

 

 10.分別查看一下主備庫的切換狀態,以及資料庫角色是否正常

SQL> select switchover_status,database_role,open_mode from v$database;

現在的備庫:

 

 

 現在的主庫:已經不再顯示GAP,現在指向備庫,到此failover結束

 

11.相關命令

停止實時同步:SQL> alter database recover managed standby database cancel;

強制停掉redo apply:SQL> alter database recover managed standby database finish force;         //危險操作,一旦執行,rfs、mrp進程就會停掉

轉換物理備庫:SQL> alter database commit to switchover to primary with session shutdown;

查詢狀態角色:SQL> select switchover_status,database_role,open_mode from v$database;

查詢SCN號   :SQL> select to_char(standby_became_primary_scn) from v$database;

閃回到序列號:SQL> flashback database to scn 1388059

切換主庫為備庫:SQL> alter database convert to physical standby;

開啟實時同步:SQL> alter database recover managed standby database using current logfile disconnect from session;

 

 

 


您的分享是我們最大的動力!

更多相關文章
  • 有時候,linux內核文檔對我們很重要,我們可以在linux系統中安裝,並及時查看: 參考鏈接:https://askubuntu.com/questions/841043/where-is-the-kernel-documentation In CentOS I can do yum instal ...
  • To enable user-defined extended attributes for ext3 file systems (i.e. device), use: tune2fs -o user_xattr /dev/device Alternatively, extended attribu ...
  • 回到目錄 1. 交流分析與交流電阻 我們曾經在 1-4二極體的電阻 大致講過交流電阻的特性,交流電阻並不是一個實際的可直接測量的物理量,而是一個抽象的量(是伏安曲線上某點處的斜率)。這裡我們再花一個小節詳細解釋一下,為什麼不用簡單明瞭的普通電阻(即直流電阻)概念,還要專門去發明抽象的“交流電阻”這一 ...
  • https://blog.csdn.net/w2393040183/article/details/98069555 https://blog.csdn.net/xifeijian/category_1471505.html ...
  • **表的創建和操作** - 界面式操作表 > 創建表:>第一步:打開資料庫,在‘對象資源管理器’中展開‘資料庫’,右擊 ‘pxscj’ 資料庫菜單下的 ‘表’ 選項,在彈出的快捷菜單中選擇 ‘新建表’ 菜單項,如圖> >第二步:在 “表設計器” 的 視窗中,根據以及設計好的xsb的表結構分別輸入或選 ...
  • MySQL高可用 Galera Cluster [toc] Galera Cluster Galera Cluster:集成了Galera插件的MySQL集群,是一種新型的,數據不共用的,高度冗餘的高可用方案,目前Galera Cluster有兩個版本,分別是Percona Xtradb Clust ...
  • 使用oracle客戶端連接資料庫,從oracle官網下載客戶端instantclient_18_3工具,到目錄下打開cmd命令視窗: 個人網盤客戶端工具:https://pan.baidu.com/s/1lM4Faat7Mq0gr7rzmfjtSQ 1.輸入sqlplus; 2.輸入連接信息:use ...
  • 需求 SQL Server的作業歷史(Job)記錄是保存在msdb庫中的,很方便就查詢相關的Job定義,計劃和歷史記錄,而MySQL的event卻沒有歷史記錄。為方便查看event是否正常執行以及執行結果,通過以下兩個步驟來實現類似的功能。 實現 1. 在mysql庫創建event執行的歷史記錄表 ...
一周排行
  • 微信公眾號: "Dotnet9" ,網站: "Dotnet9" ,問題或建議: "請網站留言" , 如果對您有所幫助: "歡迎贊賞" 。 .NET CORE(C ) WPF 值得推薦的動畫菜單設計 閱讀導航 1. 本文背景 2. 代碼實現 3. 本文參考 4. 源碼 1. 本文背景 YouTube上 ...
  • 1. HttpRequest對象 伺服器接收到http協議的請求後,會根據報文創建HttpRequest對象,這個對象不需要我們創建,直接使用伺服器構造好的對象就可以。視圖的第一個參數必須是HttpRequest對象,在django.http模塊中定義了HttpRequest對象的API。 1.1 ...
  • SpringMVC 攔截器 Spring MVC也可以使用攔截器對請求進行攔截處理,可以自定義攔截器來實現特定的功能,自定義的攔截器可以實現HandlerInterceptor介面中的三個方法,也可以繼承HandlerInterceptorAdapter 適配器類按照需要那個方法,就實現哪個方法 過 ...
  • 1. JDBC介紹 JDBC(Java DataBase Connectivity),即Java資料庫的連接。JDBC是一種用於執行SQL語句(DML,DDL,DQL)的Java API,可以為多種關係資料庫(oracle,mysql,sqlserver)提供統一訪問,它由一組用Java語言編寫的類 ...
  • [toc] 一、入門 1、Spring Boot簡介 簡化Spring應用開發的一個框架 整個Spring技術棧的整合 J2EE開發的一站式解決方案 2、微服務 Martin Fowler 微服務是一種架構風格 一個應用應該是一組小型服務:可以通過HTTP的方式進行互通 每一個功能元素最終都是一個可 ...
  • 首先如果直接使用 root 用戶來啟動 tomcat 的話,是可以正常啟動的。 但是我們在 Linux 中使用普通用戶啟動 tomcat 報瞭如下錯誤 原因是沒有在 setclasspath.sh 上設置 JAVA_HOME 和 JRE_HOME。 解決辦法: 打開 setclasspath.sh ...
  • 線上實時轉換 需要 .babelrc中: 項目中main.js配置: 前提是安裝對應的包 自己寫的要運行的為app.js,這樣配置後會在運行main.js是自動轉為es5並執行 通過配置手動轉換 需要 安裝babel後 運行 src為自己寫的es6目錄文件,dist為轉碼後的es5文件,沒有則創建 ...
  • 假如有兩個文件:app.js和config.js app.js為主文件要去引用config這個模塊 以前學習node時使用的模塊導出: es6中的模塊導出 方法一 兩種可以混合使用 方法二 通過 export 導出的成員必須通過解構賦值按需載入 或者通過 的形式載入所有通過 export 關鍵字導出 ...
  • 不做解釋,代碼一看就懂 app.js config.js ...
  • 對babel進行複習
x