【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
- keepalive配置mysql自動故障轉移MySql
- 11g DataGuard實現故障轉移(Failover)AI
- 各種主機部署故障轉移Failover的詳細配置AI
- [WK-T]ORACLE 10G 配置故障轉移(Failover)Oracle 10gAI
- 4.2.13 主備庫實現自動故障轉移
- dataguard switchover的自動化指令碼實現指令碼
- Windows MPIO與EMC儲存的故障轉移模式(Failover Mode)Windows模式AI
- Oracle RAC 客戶端故障轉移(failover) TAFOracle客戶端AI
- Oracle物理DG自動切換——Dataguard Broker配置Oracle
- Failover 之 Client-Side Connect time Failover、Client-Side TAF、Service-Side TAFAIclientIDE
- 「移動開發」iuap mobile玩轉前端自動化構建移動開發前端
- 自動化簡化了移動傳輸網路的部署
- 自動啟動ORACLE Script ServiceOracle
- 手自一體化的移動雲測試平臺建設方案
- 自己動手寫Web自動化測試框架(6):自動化測試框架的規劃Web框架
- dataguard手動switchover切換步驟及注意的問題 轉
- oracle11g dataguard完全手冊--failover &active dataguard(完)OracleAI
- 移動裝置的自動化測試工具,如何選型?
- 測者的測試技術手冊:自動的自動化EvoSuite 自動生成JUnit的測試用例UI
- Oracle RAC的自定義service自啟動Oracle
- RAC+Dataguard環境中JDBC Failover配置JDBCAI
- MongoDB 4.2副本集自動故障轉移(一主一副一仲裁)MongoDB
- PostgreSQL中利用驅動程式實現故障轉移SQL
- ORA-19909(一次DataGuard Failover導致的故障AI
- oracle 11g dg broker 開啟fast-start failover自動故障切換OracleASTAI
- 自動的自動化:EvoSuite 自動生成JUnit的測試用例UI
- 【DataGuard】物理Data Guard之Failover轉換AI
- ORACLE RAC TAF 配置(透明故障轉移)Oracle
- 函式計算自動化運維實戰2 -- 事件觸發eip自動轉移函式運維事件
- vscode配置vue的自動格式化VSCodeVue
- 手動處理DataGuard間隔
- JMeter 介面自動化測試(手工轉自動化指令碼)JMeter指令碼
- AMP,來自 Google 的移動頁面優化方案Go優化
- rac 正常關閉例項service不會自動漂移,只有在例項異常abort才會發生自動failoverAI
- Ant+junit的測試自動化 (轉)
- SQL Server資料庫映象的FailOver自動連線SQLServer資料庫AI
- 模擬手機裝置:使用 Playwright 實現移動端自動化測試