このチュートリアルでは、Oracle SQL Developer 3.0のSQLチューニング・アドバイザ機能を使用する方法について説明します。
約20分
SQLチューニング・アドバイザは、大量のSQL文を分析して、チューニングの推奨事項を提示します。 1つ以上のSQL文を入力として受け取り、Automatic Tuning Optimizerを起動して、その文に対するSQLチューニングを実行します。 任意のSQL文に対して実行できます。 SQLチューニング・アドバイザは、SQL文のチューニングのためのアドバイスを明確なSQLアクションという形式で提示し、同時に、期待されるパフォーマンス上の利点も示します。 提示される推奨事項やアドバイスは、オブジェクトの統計情報の収集、新規索引の作成、SQL文の再構築、SQL Profileの作成などと関連しています。 この推奨事項を受け入れることを選択すると、SQL文のチューニングを完了できます。
Oracle DatabaseでSQLチューニング・アドバイザを使用すると、問題のあるSQL文を特定し、チューニング推奨事項を実際に導入してSQL文を自動的にチューニングできます。 また、問題があると特定されたSQL文を1つまたはセットで選択して、SQLチューニング・アドバイザを実行することもできます。
このチュートリアルでは、SQLチューニング・アドバイザの推奨事項を実行し、確認する方法について学習します。
注: チューニング・アドバイザはOracle Tuning Packに含まれます。これは、Oracle Management Packの1つであり、Enterprise Editionのご購入により使用できます。 詳しくは、Oracle Technology Networkまたはオンライン・ドキュメント を参照してください。
ソフトウェア要件は、以下のとおりです。
このチュートリアルを始める前に以下のことを確認してください。
|
. |
Oracle SQL Developer 3.0をOTNサイトからインストールしていること。 こちらの指示に従ってインストールしてください。 |
|---|---|
|
. |
Oracle Database 11gとサンプル・スキーマがインストールされていること。 |
Oracle SQL Developer 3.0を使用してデータベース・オブジェクトを管理するための最初の手順は、データベース接続を作成することです。
以下の手順に従って、データベース接続を作成します。
注: SCOTTおよびSYSTEM用のデータベース接続を作成済みの場合は、この手順を実行する必要はありません。 scottユーザーへの権限付与のトピックに進んでください。
|
. |
Oracle SQL Developerアイコンがデスクトップ上にインストールされている場合は、アイコンをクリックしてOracle SQL Developerを起動し、手順4に進みます。デスクトップにアイコンがない場合は、以下の手順に従って、デスクトップからOracle SQL Developer 3.0を起動するためのショートカットを作成します。 Oracle SQL Developer 3.0のインストール・ディレクトリを開き、「sqldeveloper.exe」(Windows)または「sqldeveloper.sh」(Linux)を右クリックして、「送る」→「デスクトップ(ショートカットを作成)」を選択します。
|
|---|---|
|
. |
デスクトップに、sqldeveloper.exeへのショートカットというアイコンが現れます。 そのアイコンをダブルクリックして、Oracle SQL Developer 3.0を開きます。 注: アイコンの名前を変更するには、アイコンを選択し、[F2]キーを押して、新しい名前を入力します。
|
|
. |
Oracle SQL Developerが開きます。
|
|
. |
Connectionsナビゲータで「Connections」を右クリックし、「New Connection」を選択します。
|
|
. |
New / Select Database Connectionダイアログが開きます。 接続に関する以下の詳細情報を入力し、「Test」をクリックします。 Connection Name: system
|
|
. |
左下(Helpボタンの上)に表示される接続ステータスを確認します。 Successと表示されている必要があります。 「Save」をクリックして、次に「Connect」をクリックします。
|
|
. |
ConnectionsナビゲータでSCOTTスキーマへの新しい接続を作成するには、「Connections」を右クリックし、「New Connection」を選択します。
|
|
. |
New / Select Database Connectionダイアログが開きます。 接続に関する以下の詳細情報を入力し、「Test」をクリックします。 Connection Name: scott
|
|
. |
左下(Helpボタンの上)に表示される接続ステータスを確認します。 Successと表示されている必要があります。 「Save」をクリックして、次に「Connect」をクリックします。
|
|
. |
接続が保存され、Connectionsリストで新しく作成した2つの接続について確認できます。
|
ユーザーがSQLチューニング・アドバイザを実行するには、特定の権限が必要になります。 また、SCOTTスキーマに対する統計を収集し管理するには、既存の統計を削除する必要があります。 以下に、scottユーザーにSQLチューニング・アドバイザの権限を付与し、scottユーザーの既存の統計を削除する手順を示します。
|
. |
SQL Worksheet「
|
|---|---|
|
. |
scottユーザーにSQLチューニング・アドバイザの実行権限を付与するには、以下のコードを入力し、 Run Statement「 grant advisor to scott; grant administer sql tuning set to scott;
|
|
. |
文の出力結果が表示されます。
|
|
. |
Oracleデータベースでは、パフォーマンスを改善するためにさまざまな種類の統計を収集できます。 SQLチューニング・アドバイザの機能の一部を紹介するために、SCOTTスキーマから既存の統計を削除します。 スキーマ統計を削除するには、以下のコードを入力します。 exec DBMS_STATS.DELETE_SCHEMA_STATS ('scott'); 文を選択し、Run Statement「 」をクリックします。
DBMS_STATSパッケージでは、データベース・オブジェクトに対して収集されたオプティマイザ統計の確認と編集を行うことができます。このDELETE_SCHEMA_STATSプロシージャを使用すると、スキーマ全体の統計が削除されます。
|
|
. |
文の出力結果が表示されます。
|
このトピックでは、SQL文に対してSQLチューニング・アドバイザを実行します。 SQLチューニング・アドバイザは、SQL文に対して4種類の分析を実行します。
すべての推奨事項がOverviewで表示されます。 また、それぞれの推奨事項を個別に参照することもできます。
. |
SQL Worksheet「
|
|---|---|
. |
ワークシート内に以下のSQL文を入力します。 select sum(e.sal), avg(e.sal), count(1), e.deptno from dept d, emp e group by e.deptno order by e.deptno;
このSQL文では、"dept"表に対する参照は使用されていないことに注意してください。
|
. |
SQL文を選択し、SQL Tuning Advisor「
|
. |
SQLチューニング・アドバイザの出力結果が表示されます。
|
. |
左側のナビゲータで、「Statistics」をクリックします。 この分析では、統計データが古くなったオブジェクトまたは欠落しているオブジェクトが特定され、問題を解決するための適切な推奨事項が提示されます。
|
. |
左側のナビゲータで、「SQL Profile」をクリックします。 このSQLチューニング・アドバイザでは、SQL Profileを生成して実行計画を改善するように勧められています。
|
. |
「Detail」タブ・ページをクリックし、SQL Profile Findingを確認します。
|
. |
左側のナビゲータで、「Indexes」をクリックします。 ここで、索引を使用するとSQL文が改善されるかどうかに関する推奨事項が表示されます。 必要な場合は、問合せパフォーマンスを大幅に改善できる新しい索引が特定され、推奨事項として提示されます。
|
. |
「Overview」タブ・ページをクリックします。 この例では、索引に関する推奨事項はありません。
|
. |
左側のナビゲータで、「Restructure SQL」をクリックします。 この分析では、選択したSQL文を再構成してパフォーマンスを改善するための推奨事項が提示されます。
|
SQLチューニング・アドバイザの推奨事項は、実際に導入することができます。 これにより、SCOTTスキーマでの統計を更新できます。 以下の手順を実行して、SQLチューニング・アドバイザの推奨事項を実際に導入します。
. |
Connectionsナビゲータで「scott」を右クリックし、「Gather Schema Statistics...」を選択します。
|
|---|---|
. |
Gather Schema Statisticsで、Estimate Percentのドロップダウン・リストから「100」を選択します。これで、各表のすべての行が読取られます。 このため、統計が可能な限り正確になります。
|
. |
「Apply」をクリックします。
|
. |
確認メッセージが表示されます。 「OK」をクリックします。
|
. |
再度SQL文に対してSQLチューニング・アドバイザを実行するには、SQL文を選択し、SQL Tuning Advisor「
|
. |
SQLチューニング・アドバイザの出力結果が表示されます。 統計を収集したことで、StatisticsとSQL Profileのアドバイスが削除されています。
|
. |
左側のナビゲータで、SQLチューニング・アドバイザのそれぞれのImplement Typeをクリックし、すべての推奨事項が導入されたかどうかを確認します。
以前にレポートされた問題が残っているかどうかを確認します。
以前にレポートされた問題が残っているかどうかを確認します。
注:未使用の表を削除するというRestructure SQLの推奨事項が残っています。
|
. |
SQL文で"dept"表を削除し、SQL Advisor「
|
. |
出力結果が表示されます。 すべてのアドバイスと推奨事項が削除されています。
|
このチュートリアルで学習した内容は、以下のとおりです。
![]()
|
会社情報 |オラクルとサン | |