使用Oracle的Scheduller定期执行任务

f公司施行新的IT安全制度后,系统使用的帐号也要90天换一次密码。

原先通过Solaris的Cron执行的Oracle上的任务,在密码到期未改时,就停止执行了。(是否更改Solaris配置可以避免?没去深究)

此外,Oracle的账户密码更改后,要修改保存密码的Script文件。麻烦不说,系统安全上也有瑕疵。

 

其实,如果是纯粹在Oracle内部执行的任务,可以通过Oracle的Scheduller来实现。(要和OS打交道的任务是否可以?还没试过。)

在Oracle 10.2.0.3版测试后,发现密码更改(password change),密码失效(password expire),甚至帐号死锁(account locked)的情况下还可以照常执行任务。

 

1.    Create a table for test.

CREATE TABLE "AT_TEST"

  (          "NO" NUMBER(2,0),

              "MESSAGE" VARCHAR2(30),

              "CREATE_DATE" DATE

  )

/

 

15:07……

2.    Create test job via scheduller

BEGIN

DBMS_SCHEDULER.CREATE_JOB(

  job_name         => 'test',

  job_type         => 'PLSQL_BLOCK',

  job_action       => 'insert into AT_TEST values(10,'Test',sysdate);',

  start_date       => SYSDATE,

  repeat_interval  => 'freq=weekly; byday=mon,tue,wed,thu,fri; byhour=15-18; byminute=0,5,10,15,20,25,30,35,40,45,50,55; bysecond=0;',

  enabled          => TRUE

  );

END;

/

 

15:15……

3.    Change password

alter user at identified by abcde;

 

insert into AT_TEST values(20,'password changed.',sysdate);

 

15:20……

4.    

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值