この記事では、主にマテリアライズドビューの表示方法について説明します。
マテリアライズドビューの定義を確認する
SHOW CREATE TABLE ステートメントを使用して、マテリアライズドビューの定義を確認します。
例:
マテリアライズドビュー mv_tbl1 の定義を確認します。
SHOW CREATE TABLE mv_tbl1;
実行結果は次のとおりです:
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
| VIEW | CREATE VIEW | CHARACTER_SET_CLIENT | COLLATION_CONNECTION |
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
| MV_TBL1 | CREATE MATERIALIZED VIEW "MV_TBL1" ("COL1", "COL2") COMPRESS FOR ARCHIVE REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 10 REFRESH FORCE ON DEMAND AS select "TEST_USER001"."TBL1"."COL1" AS "COL1","TEST_USER001"."TBL1"."COL2" AS "COL2" from "TEST_USER001"."TBL1" where ("TEST_USER001"."TBL1"."COL3" >= 20) | utf8mb4 | utf8mb4_bin |
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
1 row in set
ビューを使用したマテリアライズドビュー情報の確認
システムビューを通じてマテリアライズドビューに関する情報を確認できます。確認可能なビューは以下のとおりです:
| ビュー名 | 機能の説明 |
|---|---|
| ALL_MVIEWS | マテリアライズドビューの情報を表示します。 |
| DBA_MVREF_STATS_SYS_DEFAULTS | マテリアライズドビューのリフレッシュ履歴統計プロパティのシステム範囲デフォルト値。 |
| DBA_MVREF_STATS_PARAMS | 各マテリアライズドビューに関連付けられたリフレッシュ統計情報プロパティを表示します。 |
| DBA_MVREF_RUN_STATS | マテリアライズドビューの各リフレッシュ実行情報を表示します。各実行はREFRESH_IDで識別されます。 |
| DBA_MVREF_STATS | マテリアライズドビューのリフレッシュに関する基本的なタイミング統計情報を表示します。 |
| DBA_MVREF_CHANGE_STATS | マテリアライズドビューのリフレッシュに関連する統計情報を表示します。 |
| DBA_MVREF_STMT_STATS | リフレッシュステートメントに関連付けられた情報を表示します。 |
| DBA_SCHEDULER_JOBS | データベース内のすべてのスケジューラー作業の情報を表示します。 |
例:
DBA_SCHEDULER_JOBS ビューを使用して、マテリアライズドビュー mv_rc_swn_tbl1 の自動更新タスクの状況を確認します。
SELECT JOB_NAME,JOB_ACTION,START_DATE,REPEAT_INTERVAL,LAST_START_DATE,NEXT_RUN_DATE
FROM sys.DBA_SCHEDULER_JOBS
WHERE JOB_ACTION like '%MV_RC_SWN_TBL1%';
注意
Oracleモードでは、ビュー sys.DBA_SCHEDULER_JOBS 内のフィールド JOB_ACTION がテーブル名と一致する場合、テーブル名は大文字で指定する必要があります。
実行結果は次のとおりです:
+----------------------------------+--------------------------------------------------------------------------+-------------------------------------+----------------------------------+-------------------------------------+-------------------------------------+
| JOB_NAME | JOB_ACTION | START_DATE | REPEAT_INTERVAL | LAST_START_DATE | NEXT_RUN_DATE |
+----------------------------------+--------------------------------------------------------------------------+-------------------------------------+----------------------------------+-------------------------------------+-------------------------------------+
| MVIEW_REFRESH$J_1125899909162864 | DBMS_MVIEW.refresh('TEST_USER001.MV_RC_SWN_TBL1', refresh_parallel => 1) | 18-DEC-24 05.04.48.000000 PM +08:00 | current_date + INTERVAL '1' HOUR | 18-DEC-24 05.04.51.502947 PM +08:00 | 18-DEC-24 06.04.51.000000 PM +08:00 |
+----------------------------------+--------------------------------------------------------------------------+-------------------------------------+----------------------------------+-------------------------------------+-------------------------------------+
1 row in set