物理DataGuard客戶端無縫切換--客戶端TAF 配置
物理 DG 客戶端無縫切換 -- 客戶端 TAF 配置
專案客戶一直想實現DataGuard的主備切換的自動化,即主庫故障後自動切換到備庫,並此過程要讓應用感知。諮詢了DG broker後,考慮到其可用性,易用性,和license問題,放棄了broker。但是物理備庫切換到主庫還是可以實現對應用透明的。之前我有篇歪門邪道的文章,透過linux系統的IP漂移設定,實現主備切換對應用的透明。對於oracle 11g的dataguard switchover,可以透過建立觸發器方式實現自動切換。下面是主要操作步驟:
主庫執行:
1. 建立 service
begin
DBMS_SERVICE.CREATE_SERVICE(service_name => 'dg_taf_pri',
network_name => 'dg_taf_pri',
aq_ha_notifications => TRUE,
failover_method => 'BASIC',
failover_type => 'SELECT',
failover_retries => 30,
failover_delay => 5);
end;
/
2. 建立儲存過程,主庫啟動 service 監聽
create or replace procedure dg_taf_proc is
v_role VARCHAR(30);
begin
select DATABASE_ROLE into v_role from V$DATABASE;
if v_role = 'PRIMARY' then
DBMS_SERVICE.START_SERVICE('dg_taf_pri');
else
DBMS_SERVICE.STOP_SERVICE('dg_taf_pri');
end if;
end;
/
select owner,object_name ,procedure_name from dba_procedures where procedure_name='dg_taf_proc'; --procedure_name 列出 package 中的 procedure 、 function
select owner,object_name ,procedure_name from dba_procedures where object_name='DG_TAF_PROC';
select distinct name,owner from dba_source where name like 'DG_TAF_PROC%';
3. 建立觸發器,主備切換時觸發
create or replace TRIGGER dg_taf_trg_startup
after startup or db_role_change on database
begin
dg_taf_proc;
end;
/
select trigger_name, trigger_name
from dba_triggers where trigger_name = 'DG_TAF_TRG_STARTUP';
4. 客戶端配置:
dg_taf =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp)(HOST = 12.12.12.123)(PORT = 1521))
(ADDRESS = (PROTOCOL = tcp)(HOST = 12.12.12.125)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dg_taf_pri)
(FAILOVER_MODE =
(TYPE = session)
(METHOD = basic)
(RETRIES = 180)
(DELAY = 5)
)
)
)
【參考】
【DATAGUARD】物理dg配置客戶端無縫切換 (八.3)--客戶端TAF 配置
http://blog.itpub.net/26736162/viewspace-1811944/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16976507/viewspace-2636976/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 分散式配置中心客戶端分散式客戶端
- dubbo客戶端客戶端
- Pulsar客戶端客戶端
- mqtt 客戶端MQQT客戶端
- 服務端,客戶端服務端客戶端
- 客戶端,服務端客戶端服務端
- Nacos - 客戶端心跳續約及客戶端總結客戶端
- 郵件客戶端的配置使用客戶端
- 多K8s叢集切換:Kubectl客戶端配置全記錄K8S客戶端
- 無密碼驗證:客戶端密碼客戶端
- [Redis 客戶端整合] Java 中常用Redis客戶端比較Redis客戶端Java
- OSSEC服務端配置客戶端批次部署方案服務端客戶端
- ICAP: 互換客戶端地址協議客戶端協議
- java websocket 客戶端JavaWeb客戶端
- redis客戶端管理Redis客戶端
- iscsi linux客戶端Linux客戶端
- Zookeeper 客戶端 API客戶端API
- 客戶端加解密客戶端解密
- Tower:GIt客戶端Git客戶端
- YouTube macYouTube客戶端Mac客戶端
- Redis-客戶端Redis客戶端
- 客戶端筆記客戶端筆記
- ftp客戶端,ftp客戶端軟體具體怎麼使用?FTP客戶端
- bilibili mac客戶端 嗶哩嗶哩 b站mac客戶端Mac客戶端
- VNC客戶端推薦,Windows系統下VNC客戶端推薦VNC客戶端Windows
- VNC客戶端是Windows,VNC客戶端是Windows如何進行操作VNC客戶端Windows
- Thrift 客戶端-服務端 零XML配置 註解式配置客戶端服務端XML
- 開發JAXR客戶端客戶端
- NEO 客戶端外掛客戶端
- 給客戶端新增cookie客戶端Cookie
- impala客戶端連線客戶端
- openGauss 客戶端工具DataStudio客戶端AST
- C# MQTT客戶端C#MQQT客戶端
- 客戶端身份驗證客戶端
- Git客戶端:Fork for MacGit客戶端Mac
- FTP 客戶端使用教程FTP客戶端
- Mactwitter客戶端——Twitterrific for MacMac客戶端
- ZooKeeper客戶端CRUD命令客戶端