由于开发一直说我们数据库连接数过小而导致连接不上数据的问题,今日特意做了一下测试,测试一下在高峰期的数据库process和session的值;

知道oracle上面有个job定时器,类似linux的crontab,故查了一下,终于搞定了;

 

我是使用oracle sql developer 建立的,当然也可以敲命令

1.首先建立新表保存数据

sql>create table process 

    (process_count number(8),

     session_count number(8),

     time varchar2(20));

Table created.

2.创建procedure

 sql>create or replace procedure processtest as

     begin

     insert into process(process_count,session_count,time) 

    values ((select count(*) from v$process),(select count(*) from v$session),

    to_char(sysdate,'yy-mm-dd hh24:mi:ss'));

    end;

    /

Procedure created.

 

3.使用oracle sql developer连接目标数据库

  展开右边数据库树形菜单

  看见 "Scheduler",展开会看见"Jobs"

  点击鼠标右键"new job.."

  在弹出的框里面选择Schema->>>sys

  Job Name-->>processtest

  Job Type->>>STORED_PROCEFURE(因为使用存储过程)

  Job Action->>>processtest(刚刚新建的存储过程)

  Start Date->>根据自己选择开始时间

  Repeat Interval->>自己选择执行频率

  End Date->>自己选择结束时间

  之后Enabled 打上勾

  Apply就可以了。

4.这样就建立一个job了.