プライマリ・コンテンツに移動
Oracle® Databaseパフォーマンス・チューニング・ガイド
12
c
リリース1 (12.1)
B71276-05
索引
次
目次
タイトルおよび著作権情報
はじめに
対象読者
ドキュメントのアクセシビリティについて
関連ドキュメント
表記規則
このリリースの『Oracle Databaseパフォーマンス・チューニング・ガイド』の変更内容
Oracle Database 12cリリース1 (12.1.0.2)の変更内容
新機能
Oracle Database 12
c
リリース1 (12.1.0.1)での変更点
新機能
その他の変更
第I部 データベース・パフォーマンスの基本
1
パフォーマンス・チューニングの概要
パフォーマンス・チューニングの概要
パフォーマンス計画
インスタンスのチューニング
パフォーマンスの原理
ベースライン
症状および問題点
チューニングの時期
プロアクティブな監視
ボトルネックの解消
SQLチューニング
問合せオプティマイザおよび実行計画
パフォーマンス・チューニング機能およびツールの概要
自動パフォーマンス・チューニング機能
その他のOracle Databaseツール
V$パフォーマンス・ビュー
2
パフォーマンスを考慮した設計と開発
オラクル社の新しい方法論
投資の選択肢について
スケーラビリティについて
スケーラビリティとは
システムのスケーラビリティ
スケーラビリティを妨げる要因
システム・アーキテクチャ
ハードウェア・コンポーネントとソフトウェア・コンポーネント
ハードウェア・コンポーネント
ソフトウェア・コンポーネント
要件に合った正しいシステム・アーキテクチャの構成
アプリケーション設計の原則
アプリケーション設計の簡潔さ
データのモデル化
表および索引の設計
索引への列の追加または索引構成表の使用
異なる索引タイプの使用
索引のコストの算出
索引内のシリアライズ
索引内の列の順序付け
ビューの使用
SQLの実行効率
アプリケーションの実装
アプリケーション開発の傾向
ワークロードのテスト、モデル化および実装
データのサイズ設定
ワークロードの見積り
アプリケーションのモデル化
設計のテスト、デバッグおよび検証
新規アプリケーションのデプロイ
ロールアウトの方法
パフォーマンス・チェックリスト
3
パフォーマンス改善方法
Oracleのパフォーマンス改善方法
Oracleのパフォーマンス改善方法の手順
パフォーマンスを概念的にモデル化する際の意思決定プロセスの例
Oracleシステムにおける誤りの上位10項目
パフォーマンスの緊急の問題に対処する方法
パフォーマンスの緊急の問題に対処する方法の手順
4
パフォーマンスを考慮したデータベースの構成
初期インスタンス構成のパフォーマンスの考慮事項
初期化パラメータ
UNDO領域
REDOログ・ファイル
表領域
最適なパフォーマンスを得る表の作成とメンテナンス
表の圧縮
未使用領域の解放
データの索引付け
共有サーバーのパフォーマンスの考慮事項
ディスパッチャ固有のビューを使用する競合の識別および低減
共有サーバーの競合の識別
第II部 データベース・パフォーマンスの診断およびチューニング
5
データベース・パフォーマンスの計測
データベース統計について
時間モデル統計
アクティブ・セッション履歴の統計
待機イベント統計
セッションおよびシステム統計
データベース統計の解釈
ヒット率の使用
時間統計のある待機イベントの使用
時間統計のない待機イベントの使用
アイドル待機イベントの使用
データベース統計とその他の要因の比較
計算済統計の使用
6
データベース統計の収集
データベース統計の収集について
自動ワークロード・リポジトリ
スナップショット
ベースライン
固定ベースライン
変動ウィンドウ・ベースライン
ベースライン・テンプレート
単一ベースライン・テンプレート
繰返しベースライン・テンプレート
領域使用量
適応しきい値
最大パーセントのしきい値
重大レベルのしきい値
自動ワークロード・リポジトリの管理
自動ワークロード・リポジトリの有効化
スナップショットの管理
スナップショットを管理するためのユーザー・インタフェース
スナップショットの作成
スナップショットの削除
スナップショット設定の変更
ベースラインの管理
ベースラインを管理するためのユーザー・インタフェース
ベースラインの作成
ベースラインの削除
ベースラインの名前変更
ベースライン・メトリックの表示
デフォルトの変動ウィンドウ・ベースラインのサイズの変更
ベースライン・テンプレートの管理
ベースライン・テンプレートを管理するためのユーザー・インタフェース
単一ベースライン・テンプレートの作成
繰返しベースライン・テンプレートの作成
ベースライン・テンプレートの削除
自動ワークロード・リポジトリ・データの転送
AWRデータの抽出
AWRデータのロード
自動ワークロード・リポジトリ・ビューの使用
自動ワークロード・リポジトリ・レポートの生成
AWRレポートを生成するためのユーザー・インタフェース
コマンドライン・インタフェースを使用したAWRレポートの生成
ローカル・データベースのAWRレポートの生成
特定データベースのAWRレポートの生成
ローカル・データベースのOracle RAC AWRレポートの生成
特定データベースのOracle RAC AWRレポートの生成
ローカル・データベースにおけるSQL文のAWRレポートの生成
特定データベースにおけるSQL文のAWRレポートの生成
パフォーマンス・ハブ・アクティブ・レポートの生成
パフォーマンス・ハブ・アクティブ・レポートの概要
パフォーマンス・ハブ・アクティブ・レポートのタブについて
パフォーマンス・ハブ・アクティブ・レポートのタイプについて
パフォーマンス・ハブ・アクティブ・レポートを生成するためのコマンドライン・ユーザー・インタフェース
SQLスクリプトを使用したパフォーマンス・ハブ・アクティブ・レポートの生成
7
自動パフォーマンス診断
自動データベース診断モニターの概要
ADDM分析
Oracle Real Application ClustersでのADDMの使用方法
リアルタイムADDM分析
リアルタイムADDM接続モード
リアルタイムADDMのトリガー
リアルタイムADDMのトリガー・コントロール
ADDMの分析結果
ADDMの分析結果の確認: 例
ADDMの設定
ADDMを使用したデータベース・パフォーマンスの問題の診断
データベース・モードでのADDMの実行
インスタンス・モードでのADDMの実行
部分モードでのADDMの実行
ADDMレポートの表示
ADDM情報を表示するビュー
8
一定期間にわたるデータベース・パフォーマンスの比較
自動ワークロード・リポジトリの期間比較レポートについて
自動ワークロード・リポジトリ期間比較レポートの生成
AWRの期間比較レポートを生成するためのユーザー・インタフェース
コマンドライン・インタフェースを使用したAWRの期間比較レポートの生成
ローカル・データベースのAWRの期間比較レポートの生成
特定データベースのAWRの期間比較レポートの生成
ローカル・データベースのOracle RAC AWRの期間比較レポートの生成
特定データベースのOracle RAC AWRの期間比較レポートの生成
自動ワークロード・リポジトリの期間比較レポートの解釈
AWR期間の比較レポートのサマリー
スナップショット・セット
ホスト構成の比較
システム構成の比較
ロード・プロファイル
上位5位の時間消費イベント
AWR期間の比較レポートの詳細
時間モデル統計
オペレーティング・システム統計
待機イベント
サービス統計
SQLの統計
上位10 SQLの実行時間ごとの比較
上位10 SQLのCPU時間ごとの比較
上位10 SQLのバッファ読取りごとの比較
上位10 SQLの物理読取りごとの比較
上位10 SQLの実行ごとの比較
上位10 SQLの解析コールごとの比較
SQLテキストの完全なリスト(Complete List of SQL Text)
インスタンス・アクティビティ統計
主要なインスタンス・アクティビティの統計
他のインスタンス・アクティビティの統計
I/O統計
表領域I/O統計
上位10ファイルのI/Oごとの比較
上位10ファイルの読取り時間ごとの比較
上位10ファイルのバッファ待機ごとの比較
アドバイザの統計
PGA集計のサマリー
PGA集計ターゲットの統計
待機統計
バッファ待機統計
エンキュー・アクティビティ
UNDOセグメントのサマリー
ラッチ統計
セグメント統計
上位5セグメントの論理読取りごとの比較
インメモリー・セグメント統計
ディクショナリ・キャッシュ統計
ライブラリ・キャッシュ統計
メモリー統計
プロセス・メモリーのサマリー
SGAメモリー・サマリー
SGAブレークダウン差異
ストリームの統計
AWR期間の比較レポートの補足情報
init.oraパラメータ
SQLテキストの完全なリスト(Complete List of SQL Text)
9
サンプル・データの分析
アクティブ・セッション履歴について
アクティブ・セッション履歴レポートの生成
ASHレポートを生成するためのユーザー・インタフェース
コマンドライン・インタフェースを使用したASHレポートの生成
ローカル・データベース・インスタンスのASHレポートの生成
特定のデータベース・インスタンスのASHレポートの生成
Oracle RAC ASHレポートの生成
アクティブ・セッション履歴レポートの結果の解釈
上位イベント(Top Events)
上位ユーザー・イベント(Top User Events)
上位バックグラウンド・イベント(Top Background Events)
上位イベントP1/P2/P3(Top Event P1/P2/P3)
ロード・プロファイル
上位サービス/モジュール(Top Service/Modules)
上位クライアントID(Top Client IDs)
上位SQLコマンド・タイプ(Top SQL Command Types)
上位実行フェーズ(Top Phases of Execution)
上位SQL(Top SQL)
上位SQLと上位イベント(Top SQL with Top Events)
上位SQLと上位行ソース(Top SQL with Top Row Sources)
リテラルを使用する上位SQL(Top SQL Using Literals)
上位解析モジュール/アクション(Top Parsing Module/Action)
SQLテキストの完全なリスト(Complete List of SQL Text)
上位PL/SQL(Top PL/SQL)
上位Java(Top Java)
上位セッション(Top Sessions)
上位セッション(Top Sessions)
上位のブロック・セッション(Top Blocking Sessions)
PQを実行している上位セッション(Top Sessions Running PQs)
上位オブジェクト/ファイル/ラッチ(Top Objects/Files/Latches)
上位DBオブジェクト(Top DB Objects)
上位DBファイル(Top DB Files)
上位ラッチ(Top Latches)
アクティビティの経過(Activity Over Time)
10
パフォーマンス・ビューを使用したインスタンスのチューニング
インスタンスのチューニング手順
問題の定義
ホスト・システムの検査
CPU使用率
Oracle以外のプロセス
Oracleプロセス
Oracle Database CPU統計
CPU統計の解釈
I/Oの問題の識別
V$ビューを使用したI/Oの問題の識別
オペレーティング・システムのモニタリング・ツールを使用したI/Oの問題の識別
ネットワークの問題の識別
Oracle Database統計の調査
統計収集のレベルの設定
待機イベント
待機イベント統計を含む動的パフォーマンス・ビュー
システム統計
セグメント・レベルの統計
変更の実装および測定
Oracle Database統計の解釈
負荷の検査
待機イベント統計を使用したボトルネックへのドリルダウン
待機イベントおよび潜在的な原因の表
追加された統計情報
待機イベント統計
過去のリリースからの待機イベント統計の変更
buffer busy waits
db file scattered read
db file sequential read
direct path readおよびdirect path read temp
direct path writeおよびdirect path write temp
enqueue(enq:)待機
Other待機クラスのイベント
free buffer waits
アイドル待機イベント
ラッチ・イベント
log file parallel write
library cache pin
library cache lock
log buffer space
log file switch
log file sync
rdbms ipc reply
SQL*Netイベント
インスタンス・リカバリのパフォーマンスのチューニング: ファスト・スタート・フォルト・リカバリ
インスタンス・リカバリについて
キャッシュ・リカバリ(ロールフォワード)
トランザクション・リカバリ(ロールバック)
チェックポイントとキャッシュ・リカバリ
キャッシュ・リカバリ時間の構成: FAST_START_MTTR_TARGET
FAST_START_MTTR_TARGETの現実的な値
ランタイム・パフォーマンスを最適化するためのチェックポイント頻度の低減
V$INSTANCE_RECOVERYによるキャッシュ・リカバリの監視
FAST_START_MTTR_TARGETのチューニングとMTTRアドバイザの使用
FAST_START_MTTR_TARGETの測定
FAST_START_MTTR_TARGETの現実的な範囲の決定
FAST_START_MTTR_TARGETの下限の決定: シナリオ
FAST_START_MTTR_TARGETの上限の決定
FAST_START_MTTR_TARGETの初期値の選択
MTTRアドバイザによる様々な目標値の評価
MTTRアドバイザの有効化
MTTRアドバイザの使用
MTTRアドバイザの結果の表示: V$MTTR_TARGET_ADVICE
最適なREDOログ・サイズの決定
第III部 データベース・メモリーのチューニング
11
データベース・メモリーの割当て
データベース・メモリー・キャッシュと他のメモリー構造について
データベース・メモリーの管理方法
自動メモリー管理
自動共有メモリー管理
手動共有メモリー管理
自動PGAメモリー管理
手動PGAメモリー管理
自動メモリー管理の使用
メモリー管理の監視
12
システム・グローバル領域のチューニング
自動共有メモリー管理の使用
SGA_TARGETパラメータを設定するためのユーザー・インタフェース
Oracle Enterprise ManagerでのSGA_TARGETパラメータの設定
コマンドライン・インタフェースでのSGA_TARGETパラメータの設定
SGA_TARGETパラメータの設定
自動共有メモリー管理を使用可能にする方法
自動共有メモリー管理の無効化
手動によるSGAコンポーネントのサイズ設定
SGAのサイズ設定単位
SGAの最大サイズ
アプリケーションの考慮事項
オペレーティング・システムのメモリー使用量
ページングの削減
メイン・メモリーへのSGAの格納
SGAメモリー割当ての表示
物理メモリーへのSGAのロック
個々のユーザーへの十分なメモリーの割当て
構成の繰返し
共有メモリー管理の監視
インメモリー列ストアの構成
インメモリー列ストアについて
インメモリー列ストアの使用によるパフォーマンスの成果
必要なインメモリー列ストアのサイズの見積もり
インメモリー列ストアのサイズ設定
13
データベース・バッファ・キャッシュのチューニング
データベース・バッファ・キャッシュについて
データベース・バッファ・キャッシュの構成
V$DB_CACHE_ADVICEビューの使用
バッファ・キャッシュ・ヒット率の計算
バッファ・キャッシュ・ヒット率の解釈
データベース・バッファ・キャッシュに割り当てられたメモリーの増加
データベース・バッファ・キャッシュに割り当てられたメモリーの削減
複数バッファ・プールの構成
複数バッファ・プールを使用する際の考慮事項
大きいセグメントへのランダム・アクセス
Oracle Real Application Clustersのインスタンス
複数バッファ・プールの使用方法
個別のバッファ・プールへのV$DB_CACHE_ADVICEビューの使用
個別のバッファ・プールへのバッファ・プール・ヒット率の計算
バッファ・キャッシュ使用パターンの調査
すべてのセグメントのバッファ・キャッシュ使用パターンの調査
特定セグメントのバッファ・キャッシュ使用パターンの調査
KEEPプールの構成
RECYCLEプールの構成
REDOログ・バッファの構成
REDOログ・バッファのサイズ設定
REDOログ・バッファ統計の使用
データベース・キャッシュ・モードの構成
デフォルト・データベース・キャッシュ・モード
強制全データベース・キャッシュ・モード
強制全データベース・キャッシュ・モードの使用時の判断
データベース・キャッシュ・モードの検証
14
共有プールおよびラージ・プールのチューニング
共有プールについて
共有プールを使用する利点
共有プールの概念
ライブラリ・キャッシュの概念
データ・ディクショナリ・キャッシュの概念
SQL共有基準
共有プールの使用
共有カーソルの使用
シングル・ユーザー・ログオンおよび修飾表の参照の使用
PL/SQLの使用
DDL操作の実行の回避
キャッシュ順序番号
カーソル・アクセスの制御
OCIを使用したカーソル・アクセスの制御
Oracleプリコンパイラを使用したカーソル・アクセスの制御
SQLJを使用したカーソル・アクセスの制御
JDBCを使用したカーソル・アクセスの制御
Oracle Formsを使用したカーソル・アクセスの制御
永続的な接続の維持
共有プールの構成
共有プールのサイズ設定
ライブラリ・キャッシュ統計の使用
V$LIBRARYCACHEビューの使用
ライブラリ・キャッシュ・ヒット率の計算
共有プールの空きメモリー量の表示
共有プールのアドバイザ統計の使用
V$SHARED_POOL_ADVICEビューについて
V$LIBRARY_CACHE_MEMORYビューについて
V$JAVA_POOL_ADVICEおよびV$JAVA_LIBRARY_CACHE_MEMORYについて
ディクショナリ・キャッシュ統計の使用
共有プールに割り当てられたメモリーの増加
共有プールに割り当てられたメモリーの低減
カーソルの割当て解除
セッション・カーソルのキャッシュ
セッション・カーソル・キャッシュについて
セッション・カーソル・キャッシュの有効化
セッション・カーソル・キャッシュのサイズ設定
カーソルの共有
カーソル共有について
カーソル共有の強制
除去防止のためのラージ・オブジェクトの保存
予約プールの構成
予約プールのサイズ設定
予約プールに割り当てられたメモリーの増加
予約プールに割り当てられたメモリーの低減
ラージ・プールの構成
共有サーバー・アーキテクチャでのラージ・プールの構成
パラレル問合せ用のラージ・プールの構成
ラージ・プールのサイズ設定
ユーザー・セッションへのメモリー使用の制限
3層の接続を使用したメモリー使用の低減
15
結果キャッシュのチューニング
結果キャッシュについて
サーバー結果キャッシュの概念
サーバー結果キャッシュを使用する利点
サーバー結果キャッシュの機能について
問合せで結果が取得される仕組み
ビューで結果が取得される仕組み
クライアント結果キャッシュの概念
クライアント結果キャッシュを使用する利点
クライアント結果キャッシュの機能について
結果キャッシュの構成
サーバー結果キャッシュの構成
初期化パラメータを使用したサーバー結果キャッシュのサイズ設定
DBMS_RESULT_CACHEを使用したサーバー結果キャッシュの管理
サーバー結果キャッシュのメモリー使用統計の表示
サーバー結果キャッシュのフラッシュ
クライアント結果キャッシュの構成
結果キャッシュのモードの設定
結果キャッシュの要件
読取り一貫性の要件
問合せパラメータの要件
結果キャッシュの制限
結果をキャッシュする問合せの指定
SQLの結果キャッシュ・ヒントの使用
RESULT_CACHEヒントの使用
NO_RESULT_CACHEヒントの使用
ビューでのRESULT_CACHEヒントの使用
結果キャッシュの表注釈の使用
DEFAULT表注釈の使用
FORCE表注釈の使用
結果キャッシュの監視
16
プログラム・グローバル領域のチューニング
プログラム・グローバル領域について
作業領域のサイズ
プログラム・グローバル領域のサイズ設定
自動PGAメモリー管理の構成
PGA_AGGREGATE_TARGETの初期値の設定
自動PGAメモリー管理の監視
V$PGASTATビューの使用
V$PROCESSビューの使用
V$PROCESS_MEMORYビューの使用
V$SQL_WORKAREA_HISTOGRAMビューの使用
V$WORKAREA_ACTIVEビューの使用
V$SQL_WORKAREAビューの使用
PGA_AGGREGATE_TARGETのチューニング
PGAパフォーマンス・アドバイザ・ビューの自動生成の有効化
V$PGA_TARGET_ADVICEビューの使用
V$PGA_TARGET_ADVICE_HISTOGRAMビューの使用
V$SYSSTATおよびV$SESSTATビューの使用
チュートリアル: PGA_AGGREGATE_TARGETのチューニング方法
プログラム・グローバル領域のサイズ制限
PGA_AGGREGATE_LIMITについて
PGA_AGGREGATE_LIMITの設定
第IV部 システム・リソースの管理
17
I/O構成および設計
I/Oについて
I/O構成
オペレーティング・システムまたはハードウェアのストライプ化を使用したファイルのレイアウト
リクエストされたI/Oサイズ
I/Oリクエストの同時実行性
物理ストライプ境界とブロック・サイズ境界との位置合せ
提案されたシステムの管理性
手動によるI/Oの分散
ファイルを分割する場合
表、索引およびTEMP表領域
REDOログ・ファイル
アーカイブREDOログ
3つの構成サンプル
すべてのディスクにまたがったすべての内容のストライプ化
異なるディスクへのアーカイブ・ログの移動
個別のディスクへのREDOログの移動
Oracle Managed Files
データ・ブロック・サイズの選択
読取り
書込み
ブロック・サイズの長所と短所
データベース内部のI/O測定
I/O測定の前提条件
I/O測定の実行
Oracle Orion測定ツールによるI/O測定
Oracle Orion測定ツールの概要
Orionテストのターゲット
Oracle管理者のためのOrion
Orionの開始
Orionの入力ファイル
Orionのパラメータ
Orionに必要なパラメータ
Orionのオプション・パラメータ
Orionのコマンドライン例
Orionの出力ファイル
Orionの出力ファイル例
Orionのトラブルシューティング
18
オペレーティング・システム・リソースの管理
オペレーティング・システムのパフォーマンスの問題について
オペレーティング・システムのキャッシュの使用
非同期I/O
FILESYSTEMIO_OPTIONS初期化パラメータ
NFSサーバー環境における非同期I/Oの制限
メモリー使用量
バッファ・キャッシュの制限
メモリー使用量に影響を与えるパラメータ
オペレーティング・システムのリソース・マネージャの使用
オペレーティング・システムの問題の解決
UNIXベースのシステムのパフォーマンスに関するヒント
Windowsシステムのパフォーマンスに関するヒント
HP OpenVMSシステムのパフォーマンスに関するヒント
CPUについて
CPUの問題の解決
CPU使用率の確認およびチューニング
メモリー管理のチェック
ページングとスワッピング
大きすぎるページ表
I/O管理のチェック
ネットワーク管理のチェック
プロセス管理のチェック
スケジューリングとスイッチング
コンテキストのスイッチング
オペレーティング・システムの新規プロセスの開始
Oracle Database Resource Managerを使用したCPUリソースの管理
インスタンス・ケージングを使用したCPUリソースの管理
索引