Oracle Database 12cパフォヌマンスのチュヌニング

デヌタベヌス時間



デヌタベヌスのパフォヌマンスの最適化に぀いお話す前に、このパフォヌマンスの枬定方法を説明する必芁がありたす。特に、デヌタベヌスに接続しおいる倚くの人々は䟝然ずしお「応答時間」むンゞケヌタを持っおいるため、倚くの人々はDBMSパフォヌマンスの普遍的な尺床ず考えるこずに慣れおいたす。







いわゆる応答時間の問題は、残念ながら盞察的なこずです。 ゚ンドナヌザヌ、システム管理者、ネットワヌク管理者、およびデヌタベヌス管理者にずっお、それは異なり、玔粋なDBMSの応答時間だけでなく、アプリケヌションサヌバヌ䞊のビゞネスロゞックコヌドのパフォヌマンス、Webむンタヌフェむスのパフォヌマンス、ネットワヌクむンフラストラクチャコンポヌネントの盞互䜜甚、およびファむアりォヌルにも䟝存したす、ロヌドバランサなど。したがっお、デヌタベヌスのパフォヌマンスを適切に衚すには、DBMSが実行に費やした時間を衚すデヌタベヌス時間むンゞケヌタを䜿甚する必芁がありたす。 デヌタベヌスに到着しおから結果の遞択の最埌のフラグメントたで、特定の呌び出し芁求を満たしたす。 デヌタベヌス時間のより厳密な定矩は、アクティブな実行䞭、たたはDBMS呌び出しが完了するたでアクティブな埅機䞭のナヌザヌプロセスが費やした合蚈時間です。







デヌタベヌス時間の抂念は、Enterprise Managerの[トップアクティビティ]ペヌゞ図1で完党に瀺されおいたす。ここでは、アクティブなセッションの数ず、倚色グラフの圢匏で、DBMS時間の分垃、぀たり 実際にはデヌタベヌス時間。



カスタマむズツヌル昚日ず今日



以前は、DBMSチュヌニングプロセスは暗闇の䞭をさたようようなものでした-管理者は、オプティマむザヌの動䜜に圱響を䞎える可胜性のある特定のチュヌニングパラメヌタヌを適甚しようずしお、倀を倉化させ、垞に倉化に気付かない゚ンドナヌザヌからのフィヌドバックに焊点を圓おたした最悪の偎面。



Find-Fix-Validateず呌ばれる最新のパフォヌマンスチュヌニング方法図2により、DBMSパフォヌマンス分析ツヌルを䜿甚しおパフォヌマンスの問題を正確に蚺断し、Tuning Packに含たれる自動チュヌニングツヌルを䜿甚しおそれらを解決し、パッケヌゞReal Application Testingに含たれるテスト。







問題を探しおいたす



もちろん、Oracle Database 12cを含むOracle DBMSの最新バヌゞョンは、文字通り「パフォヌマンスセンサヌにこだわっおいたす」。たた、䞻な䜜業ク゚リの実行、最適化、結果の出力、ナヌザヌアクションの調敎に加えお、圌らが䜕をしおいるかを垞に報告したす。コヌルの埅機むベントず時間特性。 したがっお、DBMSが特定のアクティビティに費やした時間を垞に正確に把握しおいたす。



Oracleはこの機䌚に非垞に優雅にアプロヌチし、蚺断情報にアクセスするための独自の蚀語を発明しなかったが、SQL蚀語ずEnterprise Manager 12cのグラフィカルむンタヌフェむスを䜿甚しおアクセスできる特別なデヌタベヌステヌブルの圢匏で蚭蚈したず蚀わなければなりたせん。 したがっお、Oracle DBMSのナヌザヌのさたざたな問題の根本原因の監芖、蚺断、および怜玢が最倧限に簡玠化されたす。



必芁な情報を含む倚くのテヌブルがありたすが、すでに数癟のテヌブルがあり、それらの統蚈はかなりばらばらで环積的です。 しかし、もちろん、デヌタを比范分析するための特別な蚺断リポゞトリ自動ワヌクロヌドリポゞトリAWRが開発されおいるため、むンゞケヌタを手動で比范する必芁はありたせん。定期的にデフォルトでは1時間ごずにテヌブルから蚺断情報が削陀されたす-さたざたな埅機クラス、メトリック、基本統蚈、 SQLク゚リなどの統蚈。 AWRデヌタはデヌタベヌスに保存され、蚺断レポヌトに䜿甚されたす。 AWR Baselinesテクノロゞヌを䜿甚するず、営業日、レポヌト期間、絊䞎などの営業掻動をAWRむメヌゞの間隔ず比范するこずでベンチマヌク時間間隔を䜜成し、遞択した間隔のパフォヌマンスの比范分析を定期的に実行できたす。 このテクノロゞヌにより、負荷倉動をより迅速に分析でき、デヌタベヌスのパフォヌマンスを蚺断しやすくなりたす。



AWRレポヌトは、デフォルトでHTML圢匏で保存されたす図3巊。 新しいタむプのレポヌトがありたす-これはパフォヌマンスハブず呌ばれたす-デヌタベヌスの統蚈を䟿利で芖芚的なグラフィック圢匏で衚瀺したす図3右。







Oracle Database 12.1.0.2では、AWRレポヌトのもう1぀の非垞に䟿利な圢匏であるActive-HTMLレポヌトが導入されおいたす。 Enterprise Managerのナビゲヌション機胜ずドリルダりン機胜を組み合わせおオフラむン分析を行い、他のアクティブレポヌトず同様に保存およびメヌル送信できたす。EnterpriseManagerで衚瀺する必芁はありたせん。



AWR Warehouseは、AWRデヌタの長期保存甚の䞭倮リポゞトリです。 別の専甚デヌタベヌスに保存されたす-このように、AWR画像の保存期間を少なくずも無期限に延長しお履歎を分析し、1幎前、2幎前などを確認できたす。AWRWarehouseはすべおの゚ンタヌプラむズデヌタベヌスパフォヌマンス画面に統合されおいたすマネヌゞャであり、任意の期間の比范レポヌトを取埗できたす。



Active Session HistoryASH機胜は、Oracle Database 10gで導入された監芖ツヌルです。 ASHは、アクティブなセッションのステヌタスのスナップショットを毎秒取埗し、特別なメモリ構造に曞き蟌みたす衚1を参照。 実際には、これはリアルタむムの監芖です。 Enterprise Manager 12cは、ASH Analyticsず呌ばれる非垞にナヌザヌフレンドリヌなグラフィカルセッションをActive Session Historyに導入したす。







デヌタベヌスに組み蟌たれおいる自動デヌタベヌス蚺断モニタヌADDMadvisorは、蚺断を解釈し、パフォヌマンス䜎䞋の根本原因を芋぀けるのに圹立ちたす。 AWRレポヌト自䜓は、簡単に混同されるかなり膚倧なドキュメントです。 ADDMは、ワヌクロヌドリポゞトリに栌玍されおいる統蚈を解釈し、問題の根本原因を芋぀けるのに圹立ちたす。 ADDMは、デヌタベヌス時間の消費を分析し、それをセッションアクティビティず盞関させ、特定の掚奚事項を含むレポヌトを生成したす。 ADDMがデヌタベヌスのパフォヌマンスの問題を通知するだけでなく、問題の原因を特定し、圱響の皋床に応じおランク付けするこずが重芁です。



最埌に、Oracle Database 12では、Real-Time ADDMの改良バヌゞョンが導入されたした。これは、いく぀かのパラメヌタのしきい倀を超えるず自動的に起動したす。たずえば、セッション数、過剰なCPU時間の消費、競合およびデヌタベヌスのパフォヌマンスを䜎䞋させるその他のむベントです。 新しいReal-Time ADDMは、リアルタむムでの問題の自動怜出ず分析、深刻なパフォヌマンス問題の自動蚺断を特長ずしおいたす。



ADDMレポヌトは、履歎分析のためにAWRリポゞトリに栌玍されたす。 Real-Time ADDMは緊急監芖ツヌルでもあり、デヌタベヌスに正垞に接続できない堎合「デッドロック」の堎合、特別な蚺断接続を実行し、DBMSメモリから盎接蚺断を削陀できたす。 デヌタベヌスに組み蟌たれたアドバむザヌは、問題の蚺断ず原因の特定に圹立ちたす。 最初のパフォヌマンス分析に䟿利な圢匏でAWRおよびASHからの情報が含たれおいるため、ADDMレポヌトを䜿甚しお分析を開始するこずをお勧めしたす。



Enterprise ManagerでのSQLク゚リの実行の詳现な分析のために、リアルタむムSQLモニタリングりィンドりがあり、特定のSQLク゚リの実行方法、実行されるプラン、および実行プランのどのステップでほずんどのリ゜ヌスが消費されるかを監芖できたす。 リアルタむムSQLモニタリングには、実際の行や掚定行など、非垞に興味深い指暙がいく぀かありたす。 リアルタむムSQLモニタリングを䜿甚しお、PL / SQLプロシヌゞャの実行を制埡するこずもできたす。



問題を修正したす



実践では、ほずんどのデヌタベヌスパフォヌマンスの問題は、SQLク゚リが原因で発生するこずが瀺されおいたす。誀っお蚘述されおいるか、さたざたな理由で非効率的に実行されおいたす。 䞍完党な統蚈、オプティマむザの新しいバヌゞョン、䞍正なパラメヌタ、競合-SQLク゚リが正しく実行されない堎合の理由は1000ありたす。 Oracle SQL Tuning Advisorツヌルは、同じコストベヌスオプティマむザヌCBOSQLク゚リオプティマむザヌを䜿甚しお、ただし特別なチュヌニングモヌドで、問題のあるSQLク゚リのパフォヌマンスを改善するための掚奚事項を提䟛したす。 分析では、実際のAWRデヌタず履歎AWRデヌタを䜿甚し、代替ク゚リ実行プランを特定したす。 䞊列SQLプロファむルを䜿甚しおいるずきに、SQLク゚リが2回以䞊加速される堎合、SQL Tuning Advisorはそれを掚奚したす。 たた、SQLチュヌニング・アドバむザは様々な掚奚事項をチェックし、どのSQL問合せが分析され、それを構成するために行われた掚奚事項に関するEnterprise Managerのレポヌトを受け取りたす。



Oracle Database 12cで導入されたSQL Access Advisorツヌルの新しいバヌゞョンは、倧量のSQL負荷の分析時間を倧幅に削枛できたす。 SQL Access Advisorは単䞀のSQLステヌトメントを分析したせんが、䞀定期間のSQLロヌドを分析したす。 珟圚では、生産性が倧幅に向䞊し、デヌタベヌスオブゞェクトの分析が10倍高速になりたした。



SQLアクセス・アドバむザずSQLチュヌニング・アドバむザの䞡方には、Enterprise Managerのグラフィカルなむンタフェヌスがありたす。



結果を確認する



Real Application Testingの䞀郚であるSQLパフォヌマンス・アナラむザSPAツヌルは、Oracle Database 10.2、11gおよび12cでテストを提䟛し、SQLレスポンス時間に察するデヌタベヌス・システムの倉曎の圱響を予枬し、各SQLテスト負荷実行のSQLパフォヌマンス結果を決定し、差異を分析したす特定のSQLク゚リのパフォヌマンス結果を比范したす。 同時に、SQLチュヌニングセットSTSでSQLの負荷をキャプチャする堎合、䜜業システムのパフォヌマンスぞの圱響は最小限です。



新しいSQLパフォヌマンスアナラむザヌ機胜-Enterprise ManagerのSPAクむックチェックを䜿甚するず、ク゚リプランに圱響するオプティマむザヌパラメヌタヌなどの倉曎をすばやくチェックできたす。 たずえば、セットに1,000件のリク゚ストがあり、その結果、そのうち10件のみが蚈画を倉曎する堎合、SPAクむックチェックはたずこれら10件のリク゚ストを識別し、それらの比范テストを実斜したす。



それずは別に、プロアクティブなアプロヌチ、぀たり DBMSの問題を防ぐ方法に぀いお-ク゚リプランの管理に぀いおですが、これはこの蚘事の範囲倖の別のトピックです。



情報源



パフォヌマンスチュヌニングの詳现に぀いおは、たず、この蚘事のフレヌムワヌクで説明したすべおの抂芁を説明するドキュメント「2 Day + Performance Tuning Guide」をはじめ、Oracle Databaseのドキュメントを怜蚎する必芁がありたす。 パフォヌマンスチュヌニングガむドは、デヌタベヌスむンスタンスレベルでのパフォヌマンスのチュヌニングに焊点を圓おおいたす。 SQLク゚リのチュヌニングの詳现に぀いおは、SQLチュヌニングガむドを参照しおください。 別のドキュメントであるテストガむドは、Real Application TestingパッケヌゞずSQL Performance Analyzerのさたざたな䜿甚法に関するガむドです。 たた、Oracle Database 12cPerformance Management and TuningずいうOracle Universityでの5日間のトレヌニングコヌスを受講するこずをお勧めしたす。



All Articles