千家信息网

怎么实现物理DataGuard客户端无缝切换

发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇文章主要讲解了"怎么实现物理DataGuard客户端无缝切换",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么实现物理DataGuard客户端无缝
千家信息网最后更新 2025年11月10日怎么实现物理DataGuard客户端无缝切换

这篇文章主要讲解了"怎么实现物理DataGuard客户端无缝切换",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么实现物理DataGuard客户端无缝切换"吧!

项目客户一直想实现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客户端无缝切换"的内容了,经过本文的学习后,相信大家对怎么实现物理DataGuard客户端无缝切换这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

切换 客户 客户端 物理 无缝 学习 应用 内容 文章 触发器 过程 问题 歪门邪道 可以通过 可用性 就是 思路 情况 故障 方式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百宝庄网络技术工作室 网络安全空间探测系统 机架式服务器怎么连接显示器 数据库的选择按钮怎么设置选项值 重庆销售软件开发公司 软件开发者产生纠纷怎么处理 南京运营软件开发定制价格 前端与数据库交互实验报告 网络安全知识精英赛 网络安全人才培养怎么做 电话软件开发技术怎么样 华为云服务器登录下载 河北星橙网络技术有限公司 网络安全运行与维护学到了什么 怎样学习提高网络技术 软件开发后台设计 存储服务器错误1065 收费管理系统数据库 南京专业视频系统服务器 屯溪区威力软件开发技术大概费用 服务器版黑群晖 ip地址数据库是干啥的 苹果手机软件开发者无法验证 部署代码的服务器长什么样 软件著作权用什么软件开发 对日软件开发实习生怎么样 公司软件开发怎么入账 网络安全赋能城市建设 能直接提供外文期刊原文的数据库 中软国际软件开发培训怎么样
0