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サイズとバッファ・キャッシュ・サイズに基づいて適切な値が自動的に選択される。