Database OracleDB インフラ

OracleDBの自動メンテナンスタスクの確認方法

2018年8月9日

こんにちは!シミダイ(@shimidai2100)です。

OracleDatabaseの「自動メンテナンスタスク」の確認方法について紹介します。

自動メンテナンスタスクはデータベースのメンテナンス操作を一定間隔毎に自動的に行う機能です。

デフォルトでは有効化されており、システムの負荷が軽いと予測される時間帯に実行されますが、

個々のメンテナンスタスクをいつ動いているか確認してみましょう。

なお、以下が自動メンテナンスタスクの設定手順になります。

OracleDBの自動メンテナンスタスクの有効・無効・スケジュール変更手順

こんにちは!シミダイ(@shimidai2100)です。 OracleDatabaseの「自動メンテナンスタスク」の確認 ...

続きを見る


自動メンテナンスタスクとは?

自動メンテナンスタスクには3つの機能があり、それぞれの役割は以下になります。

[table id=64 column_widths="35%|65%" /]

なお自動メンテナンスタスクを使用するためには別途追加ライセンスが発生します。

自動メンテナンスタスクの有効・無効確認

自動メンテナンスタスクの有効・無効を確認するのは「DBA_AUTOTASK_CLIENT」ビューを確認しましょう。

set line 200
col CLIENT_NAME for a50
col STATUS for a7
select CLIENT_NAME
      ,STATUS 
  from DBA_AUTOTASK_CLIENT;

以下、実行のサンプルです。

  > set line 200
  > col CLIENT_NAME for a50
  > col STATUS for a7
  > select CLIENT_NAME
 2        ,STATUS
 3    from DBA_AUTOTASK_CLIENT;

CLIENT_NAME                                        STATUS
-------------------------------------------------- -------
sql tuning advisor                                 ENABLED
auto optimizer stats collection                    ENABLED
auto space advisor                                 ENABLED

参考DBA_AUTOTASK_CLIENT

自動メンテナンスタスクのスケジュール確認

自動メンテナンスタスクのスケジュールを確認するのは「DBA_SCHEDULER_WINDOWS」ビューと「DBA_AUTOTASK_WINDOW_CLIENTS」ビューを確認しましょう。

set line 300
col WINDOW_NAME for a20
col REPEAT_INTERVAL for a70
col DURATION for a15
col ENABLED for a7
col AUTOTASK_STATUS for a15
col OPTIMIZER_STATS for a15
col SEGMENT_ADVISOR for a15
col SQL_TUNE_ADVISOR for a16
select s.WINDOW_NAME
      ,s.REPEAT_INTERVAL
      ,s.DURATION
      ,s.ENABLED
      ,a.AUTOTASK_STATUS
      ,a.OPTIMIZER_STATS
      ,a.SEGMENT_ADVISOR
      ,a.SQL_TUNE_ADVISOR
  from DBA_SCHEDULER_WINDOWS s,
       DBA_AUTOTASK_WINDOW_CLIENTS a
 where s.WINDOW_NAME = a.WINDOW_NAME(+);

以下、実行のサンプルです。

  > set line 300
  > col WINDOW_NAME for a20
  > col REPEAT_INTERVAL for a70
  > col DURATION for a15
  > col ENABLED for a7
  > col AUTOTASK_STATUS for a15
  > col OPTIMIZER_STATS for a15
  > col SEGMENT_ADVISOR for a15
  > col SQL_TUNE_ADVISOR for a16
  > select s.WINDOW_NAME
 2        ,s.REPEAT_INTERVAL
 3        ,s.DURATION
 4        ,s.ENABLED
 5        ,a.AUTOTASK_STATUS
 6        ,a.OPTIMIZER_STATS
 7        ,a.SEGMENT_ADVISOR
 8        ,a.SQL_TUNE_ADVISOR
 9    from DBA_SCHEDULER_WINDOWS s,
10         DBA_AUTOTASK_WINDOW_CLIENTS a
11   where s.WINDOW_NAME = a.WINDOW_NAME(+);

WINDOW_NAME          REPEAT_INTERVAL                                                        DURATION        ENABLED AUTOTASK_STATUS OPTIMIZER_STATS SEGMENT_ADVISOR SQL_TUNE_ADVISOR
-------------------- ---------------------------------------------------------------------- --------------- ------- --------------- --------------- --------------- ----------------
SATURDAY_WINDOW      freq=daily;byday=SAT;byhour=6;byminute=0; bysecond=0                   +000 20:00:00   TRUE    ENABLED         ENABLED         ENABLED         ENABLED
THURSDAY_WINDOW      freq=daily;byday=THU;byhour=22;byminute=0; bysecond=0                  +000 04:00:00   TRUE    ENABLED         ENABLED         ENABLED         ENABLED
TUESDAY_WINDOW       freq=daily;byday=TUE;byhour=22;byminute=0; bysecond=0                  +000 04:00:00   TRUE    ENABLED         ENABLED         ENABLED         ENABLED
MONDAY_WINDOW        freq=daily;byday=MON;byhour=22;byminute=0; bysecond=0                  +000 04:00:00   TRUE    ENABLED         ENABLED         ENABLED         ENABLED
WEDNESDAY_WINDOW     freq=daily;byday=WED;byhour=22;byminute=0; bysecond=0                  +000 04:00:00   TRUE    ENABLED         ENABLED         ENABLED         ENABLED
FRIDAY_WINDOW        freq=daily;byday=FRI;byhour=22;byminute=0; bysecond=0                  +000 04:00:00   TRUE    ENABLED         ENABLED         ENABLED         ENABLED
SUNDAY_WINDOW        freq=daily;byday=SUN;byhour=6;byminute=0; bysecond=0                   +000 20:00:00   TRUE    ENABLED         ENABLED         ENABLED         ENABLED
WEEKNIGHT_WINDOW     freq=daily;byday=MON,TUE,WED,THU,FRI;byhour=22;byminute=0; bysecond=0  +000 08:00:00   FALSE
WEEKEND_WINDOW       freq=daily;byday=SAT;byhour=0;byminute=0;bysecond=0                    +002 00:00:00   FALSE

参考DBA_AUTOTASK_WINDOW_CLIENTS
参考DBA_SCHEDULER_WINDOWS

自動メンテナンスタスクの実行履歴確認

自動メンテナンスタスクのスケジュールを確認するのは「DBA_AUTOTASK_JOB_HISTORY」ビューを確認しましょう。

set line 200
set pages 20
col CLIENT_NAME for A33
col WINDOW_NAME for A20
col WINDOW_START_TIME for A20
col JOB_START_TIME for A30
col JOB_DURATION for A20
col JOB_DURATION_HMS for A12
select CLIENT_NAME
     , WINDOW_NAME
     , TO_CHAR(WINDOW_START_TIME, 'YYYY/MM/DD HH24:MI:SS') as WINDOW_START_TIME
     , TO_CHAR(JOB_START_TIME, 'YYYY/MM/DD HH24:MI:SS.FF') as JOB_START_TIME
     , LPAD(EXTRACT(HOUR   from JOB_DURATION), 2, '0') || ':' ||
       LPAD(EXTRACT(MINUTE from JOB_DURATION), 2, '0') || ':' ||
       LPAD(EXTRACT(SECOND from JOB_DURATION), 2, '0') as JOB_DURATION_HMS
  from DBA_AUTOTASK_JOB_HISTORY
 order BY CLIENT_NAME
     , JOB_START_TIME;

以下、実行のサンプルです。

  > set line 200
  > set pages 20
  > col CLIENT_NAME for A33
  > col WINDOW_NAME for A20
  > col WINDOW_START_TIME for A20
  > col JOB_START_TIME for A30
  > col JOB_DURATION for A20
  > col JOB_DURATION_HMS for A12
  > select CLIENT_NAME
 2       , WINDOW_NAME
 3       , TO_CHAR(WINDOW_START_TIME, 'YYYY/MM/DD HH24:MI:SS') as WINDOW_START_TIME
 4       , TO_CHAR(JOB_START_TIME, 'YYYY/MM/DD HH24:MI:SS.FF') as JOB_START_TIME
 5       , LPAD(EXTRACT(HOUR   from JOB_DURATION), 2, '0') || ':' ||
 6         LPAD(EXTRACT(MINUTE from JOB_DURATION), 2, '0') || ':' ||
 7         LPAD(EXTRACT(SECOND from JOB_DURATION), 2, '0') as JOB_DURATION_HMS
 8    from DBA_AUTOTASK_JOB_HISTORY
 9   order BY CLIENT_NAME
10       , JOB_START_TIME;

CLIENT_NAME                       WINDOW_NAME          WINDOW_START_TIME    JOB_START_TIME                 JOB_DURATION
--------------------------------- -------------------- -------------------- ------------------------------ ------------
auto optimizer stats collection   SUNDAY_WINDOW        2018/07/29 23:39:20  2018/07/29 23:39:28.047828     00:01:44
auto optimizer stats collection   SUNDAY_WINDOW        2018/07/29 23:39:20  2018/07/30 00:47:37.030659     00:00:25
auto optimizer stats collection   SUNDAY_WINDOW        2018/07/29 23:39:20  2018/07/30 00:57:38.571153     00:00:12
auto optimizer stats collection   SUNDAY_WINDOW        2018/07/29 23:39:20  2018/07/30 01:07:40.130112     00:00:25
auto optimizer stats collection   SUNDAY_WINDOW        2018/07/29 23:39:20  2018/07/30 01:17:40.556757     00:00:12
auto optimizer stats collection   SUNDAY_WINDOW        2018/07/29 23:39:20  2018/07/30 01:27:41.432096     00:00:19
auto optimizer stats collection   SUNDAY_WINDOW        2018/07/29 23:39:20  2018/07/30 01:37:42.270000     00:00:16
auto space advisor                SUNDAY_WINDOW        2018/07/29 23:39:20  2018/07/29 23:39:28.144160     00:00:03
auto space advisor                SUNDAY_WINDOW        2018/07/29 23:39:20  2018/07/30 00:47:37.157128     00:00:03
auto space advisor                SUNDAY_WINDOW        2018/07/29 23:39:20  2018/07/30 00:57:38.571168     00:00:02
auto space advisor                SUNDAY_WINDOW        2018/07/29 23:39:20  2018/07/30 01:07:40.250932     00:00:03
auto space advisor                SUNDAY_WINDOW        2018/07/29 23:39:20  2018/07/30 01:17:40.679245     00:00:02
auto space advisor                SUNDAY_WINDOW        2018/07/29 23:39:20  2018/07/30 01:27:41.554395     00:00:03
auto space advisor                SUNDAY_WINDOW        2018/07/29 23:39:20  2018/07/30 01:37:42.286383     00:00:03
sql tuning advisor                SUNDAY_WINDOW        2018/07/29 23:39:20  2018/07/29 23:39:28.147503     00:00:02

 

関連記事

-Database, OracleDB, インフラ

Copyright© shimidai2100 , 2020 All Rights Reserved.