SCHEDULE JOB FOR GATHER STATISTIC

create a Sched. job for specific schemas that you want to GATHER STATISTIC

oraclesqlperformance-tuningv1.0.0
0 stars3 downloads41 views0 comments
By Mahmoud • Created

Code

(78 lines)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
BEGIN
  SYS.DBMS_SCHEDULER.DROP_JOB
    (job_name  => '<schemaname>.SCHEMA_GATHER_STATSTIC');
END;
/

BEGIN
  SYS.DBMS_SCHEDULER.CREATE_JOB
    (
       job_name        => '<schemaname>.SCHEMA_GATHER_STATSTIC'
      ,start_date      => TO_TIMESTAMP_TZ('2026/03/11 03:00:00.000000 +02:00','yyyy/mm/dd hh24:mi:ss.ff tzh:tzm')
      ,repeat_interval => 'FREQ=WEEKLY;INTERVAL=1' -- or 'FREQ=DAILY;INTERVAL=1'
      ,end_date        => NULL
      ,job_class       => 'DEFAULT_JOB_CLASS'
      ,job_type        => 'PLSQL_BLOCK'
      ,job_action      => 'BEGIN
--    DBMS_STATS.gather_schema_stats (''<schemaname>'',
--                                    estimate_percent   => 20,
--                                    cascade            => TRUE);
--    DBMS_STATS.gather_schema_stats (''<schemaname>'',
--                                    estimate_percent   => 20,
--                                    cascade            => TRUE);
--    DBMS_STATS.gather_schema_stats (''<schemaname>'',
--                                    estimate_percent   => 20,
--                                    cascade            => TRUE);
--    DBMS_STATS.gather_schema_stats (''<schemaname>'',
--                                    estimate_percent   => 20,
--                                    cascade            => TRUE);
DBMS_STATS.gather_database_stats(estimate_percent=> 100 ,cascade=> TRUE);
END;'
      ,comments        => NULL
    );
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
    ( name      => '<schemaname>.SCHEMA_GATHER_STATSTIC'
     ,attribute => 'RESTARTABLE'
     ,value     => FALSE);
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
    ( name      => '<schemaname>.SCHEMA_GATHER_STATSTIC'
     ,attribute => 'LOGGING_LEVEL'
     ,value     => SYS.DBMS_SCHEDULER.LOGGING_OFF);
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
    ( name      => '<schemaname>.SCHEMA_GATHER_STATSTIC'
     ,attribute => 'MAX_FAILURES');
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
    ( name      => '<schemaname>.SCHEMA_GATHER_STATSTIC'
     ,attribute => 'MAX_RUNS');
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
    ( name      => '<schemaname>.SCHEMA_GATHER_STATSTIC'
     ,attribute => 'STOP_ON_WINDOW_CLOSE'
     ,value     => FALSE);
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
    ( name      => '<schemaname>.SCHEMA_GATHER_STATSTIC'
     ,attribute => 'JOB_PRIORITY'
     ,value     => 3);
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
    ( name      => '<schemaname>.SCHEMA_GATHER_STATSTIC'
     ,attribute => 'SCHEDULE_LIMIT');
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
    ( name      => '<schemaname>.SCHEMA_GATHER_STATSTIC'
     ,attribute => 'AUTO_DROP'
     ,value     => FALSE);
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
    ( name      => '<schemaname>.SCHEMA_GATHER_STATSTIC'
     ,attribute => 'RESTART_ON_RECOVERY'
     ,value     => FALSE);
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
    ( name      => '<schemaname>.SCHEMA_GATHER_STATSTIC'
     ,attribute => 'RESTART_ON_FAILURE'
     ,value     => FALSE);
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
    ( name      => '<schemaname>.SCHEMA_GATHER_STATSTIC'
     ,attribute => 'STORE_OUTPUT'
     ,value     => TRUE);

  SYS.DBMS_SCHEDULER.ENABLE
    (name                  => '<schemaname>.SCHEMA_GATHER_STATSTIC');
END;
/

General Comments(0)

Tip: Click on a line number in the code to add a line-specific comment

No general comments yet. Be the first to comment!