Scheduler Job分布不同计算节点
1 现状与背景描述
某某核心生产库近期发现2个计算节点负载不一致,经过调查发现是由于Scheduler Job大多数集中在某一个节点执行,为了均衡节点之间负载,所以需要指定Job在固定节点之间执行,同时也需要做到HA即某一个节点出现问题,另外一个节点可以接管执行,保证业务正常运行。
2 实现方法
2.1 在RAC数据库上建立两个Service
2.1.1 创建的目的
在RAC环境下,Oracle在调度普通的Scheduler JOB的时候,是随机地分配在两个实例上执行的。
为了均衡两台实例的负载,我们安排Scheduler JOB指定服务名来连接,这样可以指定任务到指定的实例上执行。
这两个Service Name在后面创建JOB_CLASS要用到!
2.1.2 创建前检查
show parameter service_name;
2.1.3 创建和修改Service的属性
-
在Oracle用户下执行
srvctl add service -d mmsdb -s srv_1 -r mmsdb1 -a mmsdb2 -P basic
srvctl add service -d mmsdb -s srv_2 -r mmsdb2 -a mmsdb1 -P basic
-
在Oracle用户下执行
srvctl start service -d mmsdb -s srv_1 -i mmsdb1
srvctl start service -d mmsdb -s srv_2 -i mmsdb2
-
通过crsctl stat res -t验证
-
在SQLPLUS下执行
exec dbms_service.modify_service(service_name => 'srv_1',failover_method => 'BASIC',failover_type => 'SELECT',failover_retries => 10,failover_delay => 5);
exec dbms_service.modify_service(service_name => 'srv_2',failover_method => 'BASIC',failover_type => 'SELECT',failover_retries => 10,failover_delay => 5);
2.1.4 创建后验证
在1#生产库服务器上:
show parameter service_name
在2#生产库服务器上:
show parameter service_name
2.2 创建job_class
2.2.1 1#job_class: JOB_FACTORY1
BEGIN
SYS.DBMS_SCHEDULER.CREATE_JOB_CLASS
(
job_class_name => 'JOB_FACTORY1'
,resource_consumer_group => NULL
,service => 'srv_1[z1] '
,logging_level => SYS.DBMS_SCHEDULER.LOGGING_RUNS
,log_history => 30
,comments => NULL
);
END;
/
2.2.2 2#job_class: JOB_FACTORY2
BEGIN
SYS.DBMS_SCHEDULER.CREATE_JOB_CLASS
(
job_class_name => 'JOB_FACTORY2'
,resource_consumer_group => NULL
,service => 'srv_2[z2] '
,logging_level => SYS.DBMS_SCHEDULER.LOGGING_RUNS
,log_history => 30
,comments => NULL
);
END;
/
2.3 创建job
begin
sys.dbms_scheduler.create_job(job_name => 'MESINTERFACE.JDE_COST_D_JOB',
job_type => 'STORED_PROCEDURE',
job_action => 'JDE_COST_D',
start_date => to_date('23-02-2016 07:30:00', 'dd-mm-yyyy hh24:mi:ss'),
repeat_interval => 'Freq=Hourly;Interval=24',
end_date => to_date(null),
job_class => 'JOB_FACTORY1[z3] ', enabled => true,
auto_drop => false,
comments => '');
end;
/
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31134212/viewspace-2120192/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31134212/viewspace-2120192/