【ASK_ORACLE】手動配置DataGuard的自動化Client Failover(故障轉移)的service
說明
本文方法適用於使用不了命令“SRVCTL”建立service的情況:
1. 11gR2之前的資料庫版本配置DG的自動化Client Failover的service
2. 任何僅安裝在檔案系統上的DG,資料庫版本不限
配置步驟
1. 在主庫上,建立兩個service,一個連線到主庫(primdb),另一個(stbydb)連線到備庫:
SQL> exec dbms_service.create_service('primdb','primdb'); SQL> exec dbms_service.create_service('stbydg','stbydg');
2. 在主庫上,啟動剛建立的連線到主庫所需的 service:
SQL> exec dbms_service.start_service('primdb');
3. 在主庫上,建立觸發器來自動化管理這些 services:
CREATE OR REPLACE TRIGGER AutoDGServices after startup on database DECLARE db_role VARCHAR(30); db_open_mode VARCHAR(30); BEGIN SELECT DATABASE_ROLE, OPEN_MODE INTO db_role, db_open_mode FROM V$DATABASE; IF db_role = 'PRIMARY' THEN DBMS_SERVICE.START_SERVICE('primdb'); DBMS_SERVICE.STOP_SERVICE('stbydg'); END IF; IF db_role = 'PHYSICAL STANDBY' AND db_open_mode LIKE 'READ ONLY%' THEN DBMS_SERVICE.START_SERVICE('stby_dg'); END IF; END; /
4. 重啟備庫使得剛才建立的觸發器生效
SQL> shu immediate SQL> startup
5. 進行主備庫切換測試,檢查新的service能否自動在新主庫上啟動並在舊主庫上停止
注:tnsnames.ora檔案參考
PRIMDB = (DESCRIPTION = (ADDRESS_LIST = (FAILOVER = ON) (LOAD_BALANCE = OFF) (ADDRESS = (PROTOCOL = TCP)(HOST = Prim-DB)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = Stby-DG)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = primdb) ) ) STBYDG = (DESCRIPTION = (ADDRESS_LIST = (FAILOVER = ON) (LOAD_BALANCE = OFF) (ADDRESS = (PROTOCOL = TCP)(HOST = Stby-DG)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = Prim-DB)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = stbydg) ) )
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992972/viewspace-2778178/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle Dataguard故障轉移(failover)操作OracleAI
- ORA-19909(一次DataGuard Failover導致的故障AI
- 4.2.13 主備庫實現自動故障轉移
- Oracle dataguard failover 實戰OracleAI
- 「移動開發」iuap mobile玩轉前端自動化構建移動開發前端
- oracle 11g dg broker 開啟fast-start failover自動故障切換OracleASTAI
- vscode配置vue的自動格式化VSCodeVue
- 自動化簡化了移動傳輸網路的部署
- PostgreSQL中利用驅動程式實現故障轉移SQL
- Oracle 11g dg broker自動failoverOracleAI
- rac 正常關閉例項service不會自動漂移,只有在例項異常abort才會發生自動failoverAI
- MongoDB 4.2副本集自動故障轉移(一主一副一仲裁)MongoDB
- 手自一體化的移動雲測試平臺建設方案
- SpringBoot的自動配置Spring Boot
- 移動裝置的自動化測試工具,如何選型?
- 成功的9大步驟:從手動測試轉為自動化測試
- Oracle RAC的自定義service自啟動Oracle
- 函式計算自動化運維實戰2 -- 事件觸發eip自動轉移函式運維事件
- 2019年移動自動化測試的5個新趨勢
- 測者的測試技術手冊:自動的自動化EvoSuite 自動生成JUnit的測試用例UI
- JMeter 介面自動化測試(手工轉自動化指令碼)JMeter指令碼
- 自動識別PC端、移動端,並跳轉
- appium uiautomator 移動端自動化測試工具APPUI
- Ansible自動化配置詳解
- SpringBoot的自動配置原理Spring Boot
- 【python介面自動化】- ConfigParser配置檔案的使用Python
- SQL Server隱藏例項會導致Alwasy on手動故障轉移時報error 26SQLServerError
- 模擬手機裝置:使用 Playwright 實現移動端自動化測試
- 自動的自動化:EvoSuite 自動生成JUnit的測試用例UI
- 透過自動化運維實現無人值守的故障自愈運維
- Android手機QQ的UI自動化實踐AndroidUI
- 移動端 UI 自動化測試框架對比UI框架
- mac配置自動化環境所需要的軟體Mac
- 基於AI的移動端自動化測試框架的設計與實踐AI框架
- SpringBoot | 4.1 SpringMVC的自動配置Spring BootSpringMVC
- 記一次自動恢復的支付故障
- App 端自動化的最佳方案,完全解放雙手!APP
- 2022 年 11 種最佳移動自動化測試工具