有没有办法在 RAC 中强制执行 oracle 调度程序链作业上的实例
is there a way to force the instance on oracle scheduler chain job in RAC
我们需要在 RAC 环境中创建 Oracle 调度程序链作业。有没有办法强制链中的所有步骤在一个实例中为 运行?
我们尝试将实例 ID 等属性设置为 1,但这对实例 1 上的链 运行 中的第 1 步和实例 2 上的其余步骤 运行 没有帮助。
提前致谢。
您可以使用 v$Instance 来识别您当前的实例
DECLARE
pCurInstance varchar2(20);
BEGIN
SELECT INSTANCE_NAME into pCurInstance FROM V$INSTANCE;
IF (pCurInstance != "myInstance") THEN
RETURN;
END;
--EXECUTE YOUR SCRIPT / FUNCTION / PROCEDURE HERE
END;
或者,更优雅的方式
svrctl add service -d <db_unique_name> -s AQ_01 -r <preferredinstance> -a <availableinstances>
dbms_scheduler.create_job_class(job_class_name=> 'AQ01', service=> 'AQ_01');
dbms_scheduler_create_job (job_name => v_jobname. . .
job_class => 'AQ_01')
我们需要在 RAC 环境中创建 Oracle 调度程序链作业。有没有办法强制链中的所有步骤在一个实例中为 运行?
我们尝试将实例 ID 等属性设置为 1,但这对实例 1 上的链 运行 中的第 1 步和实例 2 上的其余步骤 运行 没有帮助。
提前致谢。
您可以使用 v$Instance 来识别您当前的实例
DECLARE
pCurInstance varchar2(20);
BEGIN
SELECT INSTANCE_NAME into pCurInstance FROM V$INSTANCE;
IF (pCurInstance != "myInstance") THEN
RETURN;
END;
--EXECUTE YOUR SCRIPT / FUNCTION / PROCEDURE HERE
END;
或者,更优雅的方式
svrctl add service -d <db_unique_name> -s AQ_01 -r <preferredinstance> -a <availableinstances>
dbms_scheduler.create_job_class(job_class_name=> 'AQ01', service=> 'AQ_01');
dbms_scheduler_create_job (job_name => v_jobname. . .
job_class => 'AQ_01')