RAC中指定job运行实例

统计RAC库晚上运行了很多job,由于没给job指定固定的实例。部分job会

同时在一个实例上运行。导致job不能按时完成。通过dbms_job.instance()

将job固定在某个实例上,避免多个job同时被分配到一个实例上。

 

 

Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0
Connected as careport

--1.建表
SQL> DROP TABLE T_JOB;
Table dropped

 

--2建表t_job.分别存储实例编号,实例名,系统时间
SQL> CREATE TABLE t_job as
  2  SELECT INSTANCE_NUMBER,INSTANCE_NAME ,sysdate  c_date
  3  FROM v$instance;
Table created

 

 

--3建存储过程
SQL> CREATE OR REPLACE PROCEDURE   job_inst IS
  2  BEGIN
  3     execute immediate('truncate table t_job');
  4     execute immediate ('insert into t_job
  5      select INSTANCE_NUMBER,INSTANCE_NAME ,sysdate  from v$instance');
  6     commit;
  7  END job_inst;
  8  /
Procedure created

 

--4建job

SQL> variable jobno number;
SQL> begin
  2  sys.dbms_job.submit(job => :jobno,
  3                      what => 'job_inst;',
  4                      next_date => to_date('2010-12-01 15:07:00', 'yyyy-mm-dd hh24:mi:ss'),
  5                      interval => 'TRUNC(SYSDATE+1)+15/24');
  6    commit;
  7  end;
  8  /
PL/SQL procedure successfully completed
jobno
---------
292

 

--5.查询job建好后默认分在那个实例。默认instance是0
SQL> select job ,what ,instance  from dba_jobs where job=292;

       JOB WHAT         INSTANCE
---------- ---------- ----------
       292 job_inst;           0

 

--6.指定292号job在实例3上执行
SQL> exec dbms_job.instance(292,3);
PL/SQL procedure successfully completed

 

--7.已经指定成功
SQL> select job ,what ,instance  from dba_jobs where job=292;

       JOB WHAT         INSTANCE
---------- ---------- ----------
       292 job_inst;           3

 

--8. 等job运行后,查询该t_job表发现292号job已经在实例3上运行  
SQL> select * from t_job;

INSTANCE_NUMBER INSTANCE_NAME    C_DATE
--------------- ---------------- --------------------
              3 caprod3          2010-12-01 15:07:00

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值