管理の自動化

ADDMの概念の理解

ADDMはOracle内部の性能診断エンジンであり、自動的にパフォーマンス問題を診断し、パフォーマンス問題の原因判定と改善アドバイスを提供する。
デフォルトでOracleは1時間毎の統計情報スナップショットを取ってAWRに保存する。スナップショットが作成されるたびに、MMONプロセスによってADDMは起動されて、問題診断を行う。

ADDMによる分析の実行方法

ADDMパラメータ変更:DBMS_ADVISOR.SET_DEFAULT_TASK_PARAMETER

SQL> exec DBMS_ADVISOR.SET_DEFAULT_TASK_PARAMETER('ADDM', 'DBIO_EXPECTED', 8000);

ADDMパラメータ確認:DBA_ADVISOR_DEF_PARAMETERS

SQL> SELECT parameter_name,parameter_value, is_default FROM dba_advisor_def_parameters WHERE advisor_name = 'ADDM';

PARAMETER_NAME                 PARAMETER_VALUE                I
------------------------------ ------------------------------ -
DB_ID                          0                              Y
ANALYSIS_TYPE                  PERIOD                         Y
SCOPE_TYPE                     UNUSED                         Y
SCOPE_VALUE                    UNUSED                         Y
HISTORY_TABLE                  UNUSED                         Y
DBIO_EXPECTED                  10000                          Y
DB_ELAPSED_TIME                0                              Y

7 rows selected.

ADDMレポート取得:addmrpt

SQL> @?/rdbms/admin/addmrpt
…
Enter value for begin_snap: 8
Enter value for end_snap: 10
…
Enter value for report_name:
Generating the ADDM report for this analysis ...

自動オプティマイザ統計収集の運用方法

AWR

DBMS_WORKLOAD_REPOSITORY

DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT/DROP_SNAPSHOT:スナップショット作成/削除
DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE/DROP_BASELINE:AWRベースライン作成/削除
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS:AWRスナップショット設定変更

AWRレポート

$ORACLE_HOME/rdbms/admin/awrrpt.sql:ローカルインスタンスレポート
$ORACLE_HOME/rdbms/admin/awrrpti.sql:クラスタ環境インスタンスレポート、インスタンスIDを指定する必要がある。

ASH:ACTIVE SESSION HISTORY

The Active Session History (ASH) contains recent session activity.The ASH samples V$SESSION every second and records the events that sessions are waiting for. Inactive sessions are not sampled.The sampling facility is very efficient because it directly accesses the internal structures of Oracle Database 10g.
V$ACTIVE_SESSION_HISTORYを問い合わせしてASH情報を取れる。DBA_HIST_ACTIVE_SESS_HISTORYにはASH履歴情報を保存される。

サーバー生成アラートの使用方法

アラート情報保存

DBA_OUTSTANDING_ALERTS:カレントアラート保存
DBA_ALERT_HISTORY:クリアされたアラート保存

アラート閾値の設定:DBMS_SERVER_ALERT.SET_THRESHOLD

SQL> BEGIN
DBMS_SERVER_ALERT.SET_THRESHOLD (
metrics_id=>DBMS_SERVER_ALERT.BLOCKED_USERS,
warning_operator=>DBMS_SERVER_ALERT.OPERATOR_GE,
warning_value=>2,
critical_operator=>DBMS_SERVER_ALERT.OPERATOR_GE,
critical_value=>4,
observation_period=>2,
consecutive_occurrences=>4,
instance_name=>'BT10GNF1',
object_type=>DBMS_SERVER_ALERT.OBJECT_TYPE_SESSION,
object_name=>NULL);
END;
SQL> /

各種アドバイザ機能の使用方法

各種自動チューニング機能に関する理解

SGA自動管理

バックグランドプロセスMMANによって定期にワークロード統計情報を収集し、この情報を基づいて自動チューニングを行う。
SGA_TARGET = 0によって自動チューニングを無効にする。

SGA自動チューニング対象

  • DB_CACHE_SIZE
  • SHARED_POOL_SIZE
  • LARGE_POOL_SIZE
  • JAVA_POOL_SIZE

※ 上記のパラメータが手動で指定された場合、自動チューニングの下限になる。

SGA自動チューニングを有効にすると、V$PARAMETERSのSGAコンポーネントサイズが0になる。

SQL> select name,value,isdefault from v$parameter where name like '%size';

NAME                           VALUE                                              ISDEFAULT
------------------------------ -------------------------------------------------- ---------
sga_max_size                   1157627904                                         TRUE
shared_pool_size               134217728                                          FALSE
large_pool_size                0                                                  TRUE
java_pool_size                 0                                                  TRUE
streams_pool_size              0                                                  TRUE
shared_pool_reserved_size      8388608                                            TRUE
java_max_sessionspace_size     0                                                  TRUE
db_block_size                  8192                                               FALSE
db_cache_size                  0                                                  TRUE
db_2k_cache_size               0                                                  TRUE
db_4k_cache_size               0                                                  TRUE

NAME                           VALUE                                              ISDEFAULT
------------------------------ -------------------------------------------------- ---------
db_8k_cache_size               0                                                  TRUE
db_16k_cache_size              0                                                  TRUE
db_32k_cache_size              0                                                  TRUE
db_keep_cache_size             0                                                  TRUE
db_recycle_cache_size          0                                                  TRUE
db_recovery_file_dest_size     53687091200                                        FALSE
global_context_pool_size                                                          TRUE
create_bitmap_area_size        8388608                                            TRUE
bitmap_merge_area_size         1048576                                            TRUE
parallel_execution_message_siz 2152                                               TRUE
e

NAME                           VALUE                                              ISDEFAULT
------------------------------ -------------------------------------------------- ---------

hash_area_size                 131072                                             TRUE
max_dump_file_size             UNLIMITED                                          TRUE
object_cache_optimal_size      102400                                             TRUE
sort_area_size                 65536                                              TRUE
sort_area_retained_size        0                                                  TRUE
olap_page_pool_size            0                                                  TRUE

27 rows selected.

動的なビュー

V$SGA_CURRENT_RESIZE_OPS:カレントSGAチューニング操作
V$SGA_RESIZE_OPS:直近400回のSGAリサイズ操作
V$SGA_DYNAMIC_COMPONENTS:SGA動的コンポーネント情報
V$SGA_DYNAMIC_FREE_MEMORY:動的チューニングに使用可能なメモリ量

Automatic Segment Advisor

Automatic Optimizer Statistics Collection

Oracle10をインストールされた時に自動的にGATHER_STATS_JOBジョブを作成され、統計情報を自動的に収集される。

統計情報をロック

ロックされたオブジェクトに統計情報更新操作が無効になる。
DBMS_STATS.LOCK_TABLE_STATS/UNLOCK_TABLE_STATS
DBMS_STATS.LOCK_SCHEMA_STATS/UNLOCK_SCHEMA_STATS

Automatic Undo Retention Tuning

  • 初期化パラメータUNDO_MANAGEMENT=AUTOの設定によって、ORACLEは自動的にUNDO_RETENTIONを調整してくれる。
  • UNDO表領域作成時、RETENTION GUARANTEE句の指定によって、UNDO_RETENTION時間内のUNDOが上書きされないように保証できる。

Automatic Checkpoint Tuning

FAST_START_MTTR_TARGETに0、NULLを設定すれば、ORACLEは自動的にチェックポイントを調整してくれる。

Automatically Tuned Multiblock Reads(マルチブロック読取り数の自己チューニング)

スキャン操作中にバッファ・キャッシュ内で実行されるブロック・プリフェッチ量を制御するDB_FILE_MULTIBLOCK_READ_COUNTパラメータはオペレーティング・システムの最適なI/Oサイズとバッファ・キャッシュ・サイズに基づいて適切な値が自動的に選択される。

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License