Top Banner
- Oracle Enterprise Manager Hands-on Seminar Workbook - 1 Oracle Enterprise Manager による Oracle Database のパフォーマンス管理 ハンズオン ハンズオン ワークブック Last Update: November 4, 2011 Version: 1.21_d
39

Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

Oct 02, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

1

Oracle Enterprise Manager による

Oracle Database のパフォーマンス管理

ハンズオン

ハンズオン ワークブック

Last Update: November 4, 2011

Version: 1.21_d

Page 2: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

2

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、

情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。

以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)する

ものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に

関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決

定されます。

Oracle と Java は、Oracle Corporation 及びその子会社、関連会社の米国及びその他の

国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合

があります。

Page 3: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

3

Document Control

Author

Hajime Obata (Oracle Corporation Japan)

Change Logs

Date Author Version Change Log

Jul. 06 2011 Hajime Obata 1.0 Released

Jul. 26 2011 Hajime Obata 1.1 Modified

Aug. 12 2011 Hajime Obata 1.2 Modified

Sep. 12 2011 Hajime Obata 1.21 Branched

Nov. 4 2011 Hajime Obata 1.21_d DDD

Reviewers

Name Position

Approvals

<Approver 1>

<Approver 2>

Distribution

Copy No. Name Location

Page 4: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

4

目次

0. はじめに .............................................................................................................................................. 5

ハンズオン環境の概要 ............................................................................................. 5

1. SQL チューニングのハンズオン その 1 ....................................................................................... 6

準備 ........................................................................................................................... 6

メール通知の確認 ..................................................................................................... 7

セッションの分析 ..................................................................................................... 7

アドバイザによる解決策の提示・実装 .................................................................. 10

2. SQL チューニングのハンズオン その 2 ..................................................................................... 15

準備 ......................................................................................................................... 15

セッションの分析とアドバイザによるチューニング ............................................ 15

3. ADDM による分析のハンズオン ................................................................................................ 18

準備 ......................................................................................................................... 18

AWR/ADDM による分析 ....................................................................................... 19

4. リアルタイム SQL 監視のハンズオン .............................................................................................. 23

リアルタイム SQL 監視による分析 ....................................................................... 23

5. 統計情報リフレッシュによる影響の事前測定のハンズオン ............................................................ 27

統計情報の保留の設定と、統計のリフレッシュ ................................................... 27

リフレッシュ前後の SQL 性能の測定と比較レポート .......................................... 27

SQL チューニング後のパフォーマンスの測定と比較 ........................................... 31

6. リカバリアドバイザを使ったリカバリのハンズオン ....................................................................... 35

準備 ......................................................................................................................... 35

リカバリアドバイザを使用したリカバリ .............................................................. 36

Page 5: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

5

0. はじめに

当ドキュメントでは、「Oracle Enterprise Manager ハンズオン実機で体験!データベースの効率的

な管理」のハンズオンにおける実際の手順を解説しています。

ハンズオン環境の概要

Windows 7 をホスト OS とし、Oracle VM VirtualBox を使用してゲスト OS 上に

Oracle Linux 5.7 / Oracle Database 11g Release 2 / Oracle Enterprise Manager Database Control の環境

を構築してあります

Oracle Enterprise Manager へはホスト OS のブラウザから接続します (VirtualBox の「ホストオ

ンリーネットワーク」を使用しています)

コマンドラインでの操作は、ホスト OS の Teraterm から、あるいは VirtualBox 上の Linux デス

クトップで端末を起動して行います

「ホストオンリーネットワーク」を使用し

ホスト OS のブラウザ、Teratem から

ゲスト OS に接続

Page 6: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

6

1. SQL チューニングのハンズオン その 1

データベースに発生した性能問題を Oracle Enterprise Manager が検知・メール通知します。その内

容をうけて原因の分析と解決方法の発見・実装を行います

準備

データベースに負荷をかけるスクリプトを実行します

ホスト OS のデスクトップ上の「H2_EM」フォルダを開き、「ターミナル」ショートカットを

ダブルクリックします

(あるいは VirtualBox 上の Linux のデスクトップで右クリックし、ターミナルを開きます)

/home/oracle/work へ移動します

[oracle@em1 ~]$ cd work

shopping.sh を実行します

[oracle@em1 work]$ sh ./shopping.sh

Page 7: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

7

メール通知の確認

しばらくすると、Oracle Enterprise Manager が物理読取りの大幅な増加を検知し、アラートが

メールで通知されます

VirtualBox 上の Linux のデスクトップから Thunderbird を起動し、「物理読取り/秒」に関する

アラートがメール通知されていることを確認します

セッションの分析

ホスト OS のデスクトップ上の「H2_EM」フォルダを開き、「Oracle Enterprise Manager」ショ

ートカットをダブルクリックします

Oracle Enterprise Manager のログイン画面が表示されたら、testkit ユーザーとしてログインし

ます

Page 8: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

8

ヒント:証明書の警告が出る場合は、「閲覧の続行」等をクリックして先に進みます

ヒント:Database Control では、管理対象データベースのユーザーと EM ユーザーが

一対一で結び付いています。データベースユーザーを EM 管理者として登録すること

で、データベースのユーザー名/パスワードにより Database Control を使用することがで

きます。使用できる機能は、原則としてそのユーザーに付与されたデータベース権限

に準じます

Grid Control では、EM ユーザーと管理対象データベースのユーザーは分離されてい

ます。EM ユーザーによって EM 上の機能(どのターゲットを見られる/見られない、し

きい値を変更できる/できない等)が制御されます。管理対象データベースの機能を使用

するためには、さらにそのデータベースに対する適切なユーザー名/パスワードの入力

を求められます

「アラート」セクションに出ている、物理読取り/秒 に関するメッセージをクリックし、ス

クリプト実行後から物理読取り量が急激に増加していることを確認します

Page 9: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

9

高負荷の原因を分析するため、Active Session History にアクセスします

EM のホーム画面から「パフォーマンス」サブタブをクリックします

画面中ほどの「トップ・アクティビティ」をクリックします

上記で流している SQL により一定のアクティブセッションが継続して発生していること、待

機イベントクラスごとに色分けされて表示されていることを確認します。

Page 10: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

10

ヒント:グラフ上のグレーのボックスをドラッグすることで任意の 5 分間の上位

SQL、上位セッション等を表示させることができます

アドバイザによる解決策の提示・実装

SQL チューニング・アドバイザ、SQL アクセス・アドバイザを使って SQL の問題点を分析・

解決します

グレーのボックスを負荷の高い部分に合わせ、「上位 SQL」から負荷の原因となっている SQL

の SQL ID をクリックして詳細画面にアクセスします

SQL テキストや実行計画を確認したのち、「SQL チューニング・アドバイザのスケジュール」

ボタンをクリックします

「SQL チューニング・アドバイザのスケジュール」では何もせず「発行」ボタンをクリック

します

Page 11: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

11

索引作成のアドバイスが表示されることを確認します。

ヒント:「実行計画の比較」から、チューニング前後の実行計画を事前に確認するこ

とができます

索引を作成する場合は、SQL アクセス・アドバイザ」を利用して、ほかのワークロードへの

影響を含めた総合分析を行います

画面上部の「アドバイザ・セントラル」から、「SQL アドバイザ」、「SQL アクセス・アドバ

イザ」の順にクリックします

Page 12: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

12

オプションは特に変更せず、「続行」「次へ」を順にクリックし、確認画面で「発行」ボタン

をクリックします

しばらくして、SQL アクセス・アドバイザのステータスが「COMPLETED」になったら、「結

果の表示」ボタンをクリックします

Page 13: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

13

「推奨」セクションにある「推奨」の項の数字をクリックします

PRODUCT 表の LOWER(“NAME”)に対して索引(ファンクション索引)を作成するアドバイス

が出ていることを確認します。またほかに影響を受ける SQL が無いことを確認します

Page 14: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

14

ヒント:索引名は自動的に割り当てられますが、この画面で変更することもできま

「OK」ボタンをクリックして一つ前の画面に戻り、索引作成のアドバイスにチェックを入れ

た状態で「スケジュール実装」ボタンをクリックします

以上で、SQL チューニングのハンズオン その 1 は終了です

Page 15: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

15

2. SQL チューニングのハンズオン その 2

索引検索すべきであるにも関わらず索引が使用されないワークロードを実行し、問題点をアドバイザ

で分析、解決します

準備

ターミナルを開き search.sh を実行します

[oracle@em1 work]$ sh ./search.sh

セッションの分析とアドバイザによるチューニング

EM のホーム画面から「パフォーマンス」サブタブ、画面中ほどの「トップ・アクティビティ」

の順にクリックし、Active Session History にアクセスします

同様に、高負荷の原因となっている SQL の ID をクリックします。「プラン」サブタブを開き、

索引が作成済みであるにもかかわらず、表のフルスキャンが選択されていることを確認します

Page 16: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

16

ヒント:この SQL を SQL*Plus から実行すると、結果が 1 件のみであることがわか

ります。このことから、本来は索引を使用するほうが適切と考えられます

同画面から「SQL チューニング・アドバイザのスケジュール」ボタンをクリックし、「SQL

チューニング・アドバイザのスケジュール」画面で「発行」ボタンをクリックします

SQL プロファイル作成のアドバイスが表示されますので、「実装」ボタンをクリックします

ヒント:「実行計画の比較」を見ると、SQL プロファイルにより見積もりの精度が上

がり、実行計画が改善(索引を使用するように変更)されることが事前にわかります

確認画面で「はい」をクリックします

Page 17: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

17

SQL プロファイルが正常に作成されたことを確認します

再度 search.sh スクリプトを実行し、パフォーマンスが改善されていることを確認します

以上で、SQL チューニングのハンズオン その 2 は終了です

Page 18: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

18

3. ADDM による分析のハンズオン

SQL の多重実行時に発生したボトルネックを、ADDM(自動データベース診断モニター)を使用して分

析します

準備

ターミナルから flush.sh を実行し、バッファキャッシュをクリアします

[oracle@em1 work]$ sh ./flush.sh

order.sh を実行します

[oracle@em1 work]$ sh ./order.sh

EM のホーム画面から「パフォーマンス」サブタブ、画面中ほどの「トップ・アクティビティ」

の順にクリックし、Active Session History にアクセスします

今回は、Active Session History に Top SQL として表示される SQL に対して SQL チューニング・

アドバイザを実行しても、特にアドバイスは得られません。個々の SQL の実行計画には特に問

題がないようです

Page 19: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

19

AWR/ADDM による分析

EM のホーム画面から「サーバー」サブタブをクリックし、「統計管理」セクション内の「自

動ワークロードリポジトリ」をクリックします

「スナップショット」の右側の数字をクリックしてスナップショットの一覧を表示します

「作成」ボタンをクリックし、新しい AWR スナップショットを手動で作成します

Page 20: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

20

性能問題が起こる直前の時間帯のスナップショットのラジオボタンにチェックを入れ、「アク

ション」プルダウンから「レポートの表示」を選択し、「実行」ボタンをクリックします

前の手順で作成した最新のスナップショットを選択し、「OK」ボタンをクリックします

AWR レポートが表示されます。Top5 イベントの最上位に「enq: SQ – contention」が発生して

いることなどを読み取ることができます

同期間の性能分析を ADDM により行います

AWR レポート表示画面の「ADDM 実行の表示」ボタンより、同時間帯の実行済み ADDM 分

析結果にアクセスすることができます

Page 21: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

21

同期間の分析結果が画面下部に表示されます。このうち「順序の使用方法」をクリックしま

ヒント:「データベース・アクティビティ」グラフの下部にあるアイコンは実施済み

ADDM タスクを表します。そのうち、チェックマークが入ったアイコンは何らかの診

断結果が出力されたタスクを表します

性能問題が発生した時間帯の、チェックマークが入ったアイコンをクリックします

分析結果の詳細が表示されます。ここでは、シーケンスオブジェクトのキャッシュが足りな

いことにより発生した待機が性能問題の一因であること、影響を受けた上位セッションなどの

情報を確認することができます

Page 22: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

22

以上で、ADDM による分析のハンズオンは終了です

Page 23: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

23

4. リアルタイム SQL 監視のハンズオン

リアルタイム SQL 監視機能を使い、長時間かかっている実行中の SQL の状況を分析します

リアルタイム SQL 監視による分析

EM のホーム画面から、「パフォーマンス」サブタブ、画面下方「その他の監視リンク」セク

ション内の「SQL 監視」の順にクリックします

これまでに監視された SQL 実行の履歴が表示されます

ターミナルから、下記のスクリプトを実行します

/home/oracle/work/batch.sh

[oracle@em1 work]$ sh ./batch.sh

Page 24: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

24

「監視された SQL 実行」に新しくエントリが追加されます。「ステータス」列の緑色の円形

マークをクリックし、詳細画面にアクセスします

今回実行した SQL の詳細画面が表示されます。各グラフ等にマウスカーソルをポイントする

ことで、詳細情報がポップアップされることを確認します。たとえば以下の画面では、ハッシ

ュ結合の進捗状況と残り時間の見積もりがポップアップ中に表示されています

下記の例では、一時表領域の使用量が表示されています

Page 25: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

25

下記の例では、SQL ID 左側の i マークをクリックすることで SQL 全文、およびバインド変数

の一覧と今回変数に入力された値の一覧が表示されています

次の例では、「保存」ボタンをクリックすることで本画面を HTML ファイルとして保存してい

ます。保存した HTML ファイルでも Flash が使われ、EM 画面で見るのと同じようにインタラク

ティブに情報を参照することができます

Page 26: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

26

ヒント:リアルタイム SQL 監視の画面は SQL 詳細やセッション詳細の画面(いずれ

も ASH などから参照可能)からもアクセスすることができます

以上で、リアルタイム SQL 監視のハンズオンは終了です

Page 27: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

27

5. 統計情報リフレッシュによる影響の事前測定のハンズオン

Oracle Real Application Testing の機能の一つである SQL Performance Analyzer を使用し、データ

ベースに変更(今回は統計情報のリフレッシュ)を加える前後で多数の SQL の実行計画やパフォーマンス

がどのように変化するか効率的にチェックします

統計情報の保留の設定と、統計のリフレッシュ

ターミナルから SQL*Plus を使用してデータベースに jpetstore ユーザーでログインし、下記の

コマンドを実行します

[oracle@em1 work]$ sqlplus jpetstore/jpetstore

SQL> exec dbms_stats.set_schema_prefs(‘JPETSTORE’,’PUBLISH’,’FALSE’);

SQL> exec dbms_stats.gather_schema_stats(‘JPETSTORE’);

保留を有効化(PUBLISH 属性を FALSE)したため、統計情報のリフレッシュを行ってもユーザ

ーセッションからはまだ新しい統計は使用されません

リフレッシュ前後の SQL 性能の測定と比較レポート

Oracle Enterprise Manager からログアウトし、jpetstore ユーザーとして再ログインします

統計情報のリフレッシュによる影響を事前確認したい約 20 の SQL は、すでに SQL チューニ

ング・セット(STS)に格納されています

EM のホーム画面から「サーバー」サブタブをクリックし、「問い合わせオプティマイザ」セ

クション内の「SQL チューニング・セット」をクリックします

Page 28: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

28

「JPETSTORE_STS」の名前で検索し、STS 名をクリックします

これらが今回の性能測定の対象となる SQL です

このように STS は、カーソルキャッシュや AWR スナップショットなどをデータソースとし

て、SQL 文、実行統計、実行コンテキストなどの情報を柔軟に追加・削除できるオブジェクト

であり、パフォーマンステストやチューニングに必要な SQL 情報を効率的に収集できます

Page 29: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

29

EM のホーム画面に戻り、「ソフトウェアとサポート」サブタブ、「Real Application Testing」セ

クション内の「SQL パフォーマンス・アナライザ」の順にクリックします

「SQL パフォーマンス・アナライザ・ワークフロー」セクション内の「オプティマイザ統計」

をクリックします

「タスク名」に任意の名前を入力後、「SQL チューニング・セット」に “JPETSTORE_STS” を、

「比較メトリック」に「バッファ読み取り」を選択し、「収集された保留中のオプティマイザ統

計」にチェックを入れたうえで、「発行」ボタンをクリックします

Page 30: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

30

現在の統計と保留中の統計を使って STS 内の SQL がそれぞれシリアルに順次実行され、パフ

ォーマンス統計等が収集されます

しばらくするとタスクのステータスが「完了」になりますので、「最新レポートの表示」をク

リックします

統計を公開する前後での SQL の実行計画の変化の有無、バッファ読取りの変化などの統計が

レポートされます

変更後、一部の SQL の実行計画が変化し、その SQL についてはバッファ読取り量が増加し

ていることがわかります

「SQL 文の数」グラフ中の「低下」をクリックすることで、表示される SQL を絞り込むこと

ができます

Page 31: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

31

SQL チューニング後のパフォーマンスの測定と比較

データベース変更後にパフォーマンスが低下する SQL に対して SQL チューニング・アドバ

イザを実施し、変更後の環境に合わせて実行計画を改善します

試行比較レポートのページから「SQL チューニング・アドバイザの実行」ボタンをクリック

します

「チューニング・タスク名」に任意の名前を入力し、「OK」ボタンをクリックします

SQL チューニング・アドバイザが正常に発行されたことを確認し、画面右側のチューニング・

タスク名のリンクをクリックします

Page 32: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

32

SQL チューニング・アドバイザの推奨が表示されます。

ここでも最も効果の大きいアドバイスとして SQL プロファイルが提示されています。SQL プ

ロファイルのアドバイスを選択したうえで、「実装」ボタンをクリックし、SQL プロファイルを

実装します

EM のホーム画面から「ソフトウェアとサポート」、「SQL パフォーマンス・アナライザ」の

順にクリックし、SPA の画面に戻ります

先ほど作成した SPA タスクをクリックします

チューニング後の SQL パフォーマンスを再測定するため、「SQL 試行の作成」ボタンをクリ

ックします

Page 33: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

33

「SQL 試行名」に任意の名前を入力し、「試行環境設定済み」にチェックを入れたうえで、「発

行ボタンをクリックします

SQL 試行の「ステータス」列が「COMPLETED」になったら、リフレッシュ前とチューニン

グ後のパフォーマンスを比較するために、「SQL 試行比較の実行」ボタンをクリックします

「試行 1」に”INITIAL_SQL_TRIAL”、「試行 2」にチューニング後の試行を選択し、「比較メ

トリック」に「バッファ読取り」を選択したうえで、「発行」ボタンをクリックします

Page 34: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

34

生成された比較レポートを表示します

パフォーマンスが低下する SQL が無くなり、実行計画が新しくなった SQL はすべてバッフ

ァ読取り量が減少していることを確認します

以上で、統計情報リフレッシュによる影響の事前測定のハンズオンは終了です

Page 35: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

35

6. リカバリアドバイザを使ったリカバリのハンズオン

データの破損やデータベースの不整合などのクリティカルな障害に対して、リカバリアドバイザを使

用して迅速かつ効率的にリカバリ作業を行います

準備

Oracle Enteprise Manager からいったんログアウトします

ターミナルから下記のスクリプトを実行します(数分かかります)

/home/oracle/work/archive.sh

[oracle@em1 work]$ sh ./archive.sh

Oracle Databaseを再起動後、アーカイブログモードにし、オンラインバックアップを取得しますか?(y/n)

y

オンラインバックアップ取得終了後、SQL*Plus を起動して sample ユーザーとして接続し、下

記のコマンドを実行します

[oracle@em1 work]$ sqlplus sample/sample

SQL> select empno, ename from emp where empno = 7900;

EMPNO ENAME

------- -------

7900 JAMES

SQL> update emp set ename=’TARO’ where empno=7900;

SQL> commit;

SQL> exit

次に、ターミナルから下記のスクリプトを実行して SAMPLE 表領域のデータファイルを削除

し、バッファキャッシュをクリアします

/home/oracle/work/drop_tbs.sh

/home/oracle/work/flush.sh

Page 36: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

36

[oracle@em1 work]$ sh ./drop_tbs.sh

SAMPLE表領域のデータファイルを削除しますか?(y/n)

Y

[oracle@em1 work]$ sh ./flush.sh

再度 SQL*Plus を起動して sample ユーザーとして接続し、エラーが発生することを確認しま

SQL> select empno, ename from emp where empno = 7900;

select empno, ename from emp where empno = 7900

*

ERROR at line 1:

ORA-01116: データベース・ファイル 6のオープンでエラーが発生しました。ORA-01110: データファイル

6:

‘/opt/oracle/oradata/orcl/sample01.dbf’

ORA-27041: ファイルをオープンできません

No such file or directory

Additional information: 3

リカバリアドバイザを使用したリカバリ

Oracle Enterprise Manager のログイン画面で、ユーザー名に “sys” を入力、接続モードに

“SYSDBA” を選択し、ログインします。

「アラート」セクションに「データ障害検出」のアラートが表示されていることを確認しま

Page 37: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

37

画面下部、「関連リンク」セクション内の「アドバイザ・セントラル」をクリックします

「アドバイザ」一覧の中から、「データ・リカバリ・アドバイザ」をクリックします

現在のデータ障害が自動的に表示されます。SAMPLE 表領域のデータファイル障害を検出し

ていることを確認し、「アドバイス」ボタンをクリックします

「アドバイスの続行」ボタンをクリックし、リカバリ・アドバイスを表示します

現在の障害内容に応じた適切なリカバリコマンドがアドバイスされます。「続行」ボタンをク

リックします

Page 38: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

38

「確認」画面で「リカバリ・ジョブの発行」ボタンをクリックします

リカバリ・ジョブの終了後、SQL*Plus を起動して sample ユーザーとしてログインし、正常に

データを参照できることを確認します。

SQL> select empno, ename from emp where empno = 7900;

EMPNO ENAME

------- -------

7900 TARO

ヒント:オンラインバックアップの取得後に加えた変更もリカバリされていること

を確認します

以上で、リカバリアドバイザを使ったリカバリのハンズオンは終了です

Page 39: Oracle Database のパフォーマンス管理 ハンズオン ワーク …...Jul. 06 2011 Hajime Obata 1.0 Released Jul. 26 2011 Hajime Obata 1.1 Modified Aug. 12 2011 Hajime Obata

- Oracle Enterprise Manager Hands-on Seminar Workbook -

39

Copyright© 2011, Oracle. All rights reserved.

このドキュメントは単に情報として提供され、内容は予告なしに変更される場合があります。このドキュメントに誤り

が無いことの保証や、商品性又は特定目的への適合性の黙示的な保証や条件を含め明示的又は黙示的な保証や

条件は一切無いものとします。日本オラクル株式会社は、このドキュメントについていかなる責任も負いません。また、

このドキュメントによって直接又は間接にいかなる契約上の義務も負うものではありません。このドキュメントを形式、

手段(電子的又は機械 的)、目的に関係なく、日本オラクル株式会社の書面による事前の承諾なく、複製又は転載す

ることはできません。

Oracle と Java は、米国オラクル・コーポレーション及びその子会社、関連会社の米国及びその他の国における登

録商標または商標です。