TA的每日心情 | 开心 2023-8-9 11:05 |
---|
|
- CREATE OR REPLACE PROCEDURE ZHYU.REFRESH_MV as
- BEGIN
- EXECUTE IMMEDIATE 'alter session set timed_statistics = true';
- EXECUTE IMMEDIATE 'alter session set statistics_level=all';
- EXECUTE IMMEDIATE 'alter session set MAX_DUMP_FILE_SIZE=UNLIMITED';
- EXECUTE IMMEDIATE 'alter session set events ''10046 trace name context forever, level 12''';
- EXECUTE IMMEDIATE 'alter session set tracefile_identifier="10046"';
- dbms_mview.refresh('MV_T');
- EXECUTE IMMEDIATE 'alter session set events ''10046 trace name context off''';
- END;
- /
复制代码 ///在pdb1创建zhyu用户,并赋权
- sqlplus sys/oracle@pdb1 as sysdba;
- create user zhyu identified by zhyu;
- grant connect,resource to zhyu;
- grant scheduler_admin to zhyu;
- grant unlimited tablespace to zhyu;
- grant create materialized view to zhyu;
- grant alert session to zhyu;
复制代码 ///创建测试表
- sqlplus zhyu/zhyu@pdb1;
- create table t(time date);
复制代码 ///创建2个调度,一个间隔1分钟,一个间隔5分钟
- BEGIN
- sys.dbms_scheduler.create_schedule(
- repeat_interval => 'FREQ=MINUTELY;INTERVAL=1',
- start_date => to_date('13-03-2023 15:00:00', 'dd-mm-yyyy hh24:mi:ss'),
- comments => 'scheduler by minute for zhyu',
- schedule_name => '"zhyu_min"');
- END;
- /
复制代码- BEGIN
- sys.dbms_scheduler.create_schedule(
- repeat_interval => 'FREQ=MINUTELY;INTERVAL=5',
- start_date => to_date('13-03-2023 15:25:00', 'dd-mm-yyyy hh24:mi:ss'),
- comments => 'scheduler by minute for zhyu',
- schedule_name => '"zhyu_5min"');
- END;
- /
复制代码 ///创建2个物化视图,创建一个刷物化的过程
- create materialized view mv_1_t
- refresh force on demand as
- select * from t;
- exec dbms_mview.refresh('MV_1_T');
复制代码- create materialized view mv_2_t
- refresh force on demand as
- select * from t;
- exec dbms_mview.refresh('MV_2_T');
复制代码- create or replace procedure refresh_mv as begin
- dbms_mview.refresh('MV_1_T');
- dbms_mview.refresh('MV_2_T');
- end;
- /
复制代码 ///创建2个作业,每1分钟插入t表时间戳,每5分钟执行刷物化的过程
- BEGIN
- sys.dbms_scheduler.create_job(
- job_name => '"ZHYU_JOB1"',
- job_type => 'PLSQL_BLOCK',
- job_action => 'begin
- insert into t select sysdate from dual;
- end;',
- schedule_name => '"zhyu_min"',
- job_class => '"DEFAULT_JOB_CLASS"',
- comments => 'insert into t values to t',
- auto_drop => FALSE,
- enabled => FALSE);
- dbms_scheduler.set_attribute( name => '"ZHYU_JOB1"', attribute => 'job_priority', value => 4);
- dbms_scheduler.enable( '"ZHYU_JOB1"' );
- END;
- /
复制代码- BEGIN
- dbms_scheduler.create_job(
- job_name => '"ZHYU_JOB2"',
- job_type => 'PLSQL_BLOCK',
- job_action => 'begin
- refresh_mv;
- end;',
- schedule_name => '"zhyu_5min"',
- job_class => '"DEFAULT_JOB_CLASS"',
- comments => 'insert into t values to t',
- auto_drop => FALSE,
- enabled => FALSE);
- dbms_scheduler.set_attribute( name => '"ZHYU_JOB2"', attribute => 'job_priority', value => 4);
- dbms_scheduler.enable( '"ZHYU_JOB2"' );
- END;
- /
复制代码 ///修改过程加入10046
- create or replace procedure refresh_mv as begin
- EXECUTE IMMEDIATE 'alter session set timed_statistics = true';
- EXECUTE IMMEDIATE 'alter session set statistics_level=all';
- EXECUTE IMMEDIATE 'alter session set MAX_DUMP_FILE_SIZE=UNLIMITED';
- EXECUTE IMMEDIATE 'alter session set events ''10046 trace name context forever, level 12''';
- EXECUTE IMMEDIATE 'alter session set tracefile_identifier="10046"';
- dbms_mview.refresh('MV_1_T');
- dbms_mview.refresh('MV_2_T');
- EXECUTE IMMEDIATE 'alter session set events ''10046 trace name context off''';
- END;
- /
复制代码 ///查看作业执行情况
- ZHYU@pdb1> select JOB_NAME,START_DATE,ENABLED,STATE,LAST_START_DATE,NEXT_RUN_DATE from user_scheduler_jobs;
- JOB_NAME START_DATE ENABL STATE LAST_START_DATE NEXT_RUN_DATE
- ------------------------------ -------------------- ----- -------------------- ---------------------------------------------------------------------------
- ZHYU_JOB1 13-MAR-23 03.02.00.9 TRUE SCHEDULED 13-MAR-23 04.39.01.033777 PM +08:00 13-MAR-23 04.40.00.0
- 58782 PM +08:00 40010 PM +08:00
- ZHYU_JOB2 13-MAR-23 04.00.00.0 TRUE SCHEDULED 13-MAR-23 04.35.00.022577 PM +08:00 13-MAR-23 04.40.00.0
- 00000 PM +08:00
复制代码 ///查看trace目录的10046.trc
- [oracle@vm1 trace]$ ll -lrt|grep 10046
- -rw-rw---- 1 oracle oracle 434356 Mar 13 16:25 ora19_j000_22304_10046.trm
- -rw-rw---- 1 oracle oracle 2202362 Mar 13 16:25 ora19_j000_22304_10046.trc
- -rw-rw---- 1 oracle oracle 98243 Mar 13 16:30 ora19_j000_24514_10046.trm
- -rw-rw---- 1 oracle oracle 428097 Mar 13 16:30 ora19_j000_24514_10046.trc
- -rw-rw---- 1 oracle oracle 78026 Mar 13 16:35 ora19_j000_26724_10046.trm
- -rw-rw---- 1 oracle oracle 337752 Mar 13 16:35 ora19_j000_26724_10046.trc
- -rw-rw---- 1 oracle oracle 302941 Mar 13 16:40 ora19_j000_28935_10046.trm
- -rw-rw---- 1 oracle oracle 1512982 Mar 13 16:40 ora19_j000_28935_10046.trc
复制代码
|
|