我正在使用EAP 6.4.0版本。 我正在尝试进行数据库故障转移配置
以下是连接网址
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=database1.com)(PORT=1515)))(CONNECT_DATA=(SERVICE_NAME=service-1)))
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=database2.com)(PORT=1515)))(CONNECT_DATA=(SERVICE_NAME=service-2)))
注意:我有两个不同的服务名称
如何添加故障转移配置(具有两个不同的服务名称)?
无论我指的是什么,这都是我要得到的模式
jdbc:oracle:thin:@(DESCRIPTION=(CONNECT_TIMEOUT=10)(RETRY_COUNT=3)(ADDRESS_LIST=(LOAD_BALANCE=OFF)(FAILOVER=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=database1.com)(PORT=1535))(ADDRESS=(PROTOCOL=TCP)(HOST=database2.com)(PORT=1535)))(CONNECT_DATA=(SERVICE_NAME=common_service_name)))
注意:只有一个服务名称
答案 0 :(得分:0)
您必须创建一个公共服务名称。
例如,数据库启动时会自动运行触发器或动态执行SQL查询。
alter system set service_names='common_service_name' scope=memory
或
CREATE OR REPLACE TRIGGER sys.set_svc_name
AFTER
STARTUP
ON DATABASE
DECLARE role VARCHAR(30);
BEGIN
SELECT Database_Role
INTO Role
FROM V$database;
IF Role = 'PRIMARY' THEN
EXECUTE IMMEDIATE 'alter system set service_names=''common_service_name'' scope=memory'; END IF;
END;