ADB HOL #8-1 : 各種設定の確認、レポートの取得

Версия 14

    目次に戻る : チュートリアル : Oracle Cloud Infrastructure を使ってみよう

    >ADBコンテンツ一覧に戻るAutonomous Database ハンズオンラボ

     

     

    Autonomous Databaseは初期化パラメータを初め、多くの設定は変更することはできません。

    (そもそも自律型DBとして、それらを気にする必要はない、というコンセプト)

     

    しかしながら、Oracle Databaseに詳しい方にとっては、これまでのOracle Databaseと何が違うのか?など、より詳細を知りたいと思われるかと思います。

    この章ではそういった方々のために、初期化パラメータの確認やAWRレポート等の取得方法をご確認いただき、普段お使いのOracleデータベースと同様に扱えることを見ていただきます。

     

    尚、Autonomous Databaseにおける制限事項については、ATP、ADWの各マニュアルを参照ください。

     

     

    本章ではアラートログやトレースログの取得方法も扱いますが、ADBを利用するに際して何か問題が生じた場合は、弊社サポートサービスに対してサービスリクエスト(SR)の発行を優先ください。

     

     

     

    作業の流れ

    1. SQL Developer DBAビューを起動しよう
    2. 初期化パラメータを確認しよう
    3. 各種レポートを取得しよう(AWRレポート、アラートログ、トレースログ)

     

    所要時間 : 約30分

     

     

    1. SQL Developer DBAビューを起動しよう

    まずはDBAウィザードの起動方法を見ていきましょう

     

    1. こちらを参考にSQL DeveloperでADBインスタンスに接続します。

     

    2. 表示からDBAをクリックし、画面左下にDBAビューを表示します。

     

     

     

    3. DBAビューに新しい接続を作成するために、左下の緑色のプラスマークをクリックします。

     

     

    4. 既存の接続から atp01_high_admin を選択し、OKをクリックします。

     

    ここでは便宜上、接続サービスにHIGHを利用していますが、DBAビューからの接続は管理用途であるため、本来はLOWが推奨です。

     

     

    5. 接続が作成されると、画面左下のDBAビューに新たにatp01_high_adminが表示されます。プラス(+)をクリックし、詳細情報を表示してください。

     

     

     

     

    2. データベースの構成を確認しよう

     

    以降で記載する各種レポートが上手く表示されないといった場合は、SQL Developerのバージョンを最新にアップグレードしてください。

     

     

    1. データベース構成から初期化パラメータを選択します。

     

     

    ADBに設定されている初期化パラメータが一覧で確認できます。

    基本的にデフォルトのままでお使いいただくことになりますが、一部NLS_XXといったパラメータは変更可能です。

    詳しくは本ページの冒頭に記載の各制限事項へのリンクを参照ください。

     

     

    尚、直接SQLを実行しても上記は確認可能です。

    SQL> SELECT name, value FROM v$parameter;

     

     

    2. その他、DBAビューでは様々な情報を確認可能です。適宜ご参照ください。

     

     

     

     

    3. 各種レポートを取得しよう

    次にOracle Databaseを運用する際によく利用するAWRレポートやアラートログ、トレースログの取得方法を順次確認していきます。

     

    2020年6月のサービスアップデートにより、Performance Hubの画面からもAWRレポートを取得できるようになりました!

     

    1. SQL Developer DBAビューよりAWRレポートを取得しましょう

     

    1-1. パフォーマンスからAWRを選択します。Diagnostic Packのライセンス保有に関する確認がありますので、はいをクリックします。

     

    Autonomous DatabaseではOracle Database の多くのオプション機能がサブスクリプションに含まれています。

        • RAC、Partition、Database In Memory、Advanced Compression、Advanced Security、diagnostics pack、等々。
        • 利用できないオプション機能については本ページの冒頭に記載の各制限事項へのリンクを参照ください。

     

     

     

    1-2. AWR Report Viewerを選択します。参照からスナップショットを選択し、緑色の取得ボタンをクリックください。(取得には多少時間がかかります。)

    ADBではデフォルトで1時間に1回、スナップショットが作成されますが、データベースを作成した直後の場合、スナップショットが存在しない場合があります。しばらく時間を空けて実施ください。

     

     

    1-3. AWRレポートが表示されますので、保存ボタンをクリックしてAWRレポートを保存してください。

     

     

    * SQL Developer DBAビューでは、AWRのスナップショットを取得することも可能です。

     

     

    2. 次にコマンドでAWRレポートを取得してみましょう

     

    2-1. Tera Termを起動し、仮想マシンにログインします。

     

    2-2. oracleユーザに切り替えます。

    $ sudo su - oracle

     

    2-3. SQL*Plusでログインします。

    $ export TNS_ADMIN=/home/oracle/labs/wallets

    $ sqlplus admin/Welcome12345#@atp01_low

     

    2-4. DBID、 instance_number、Snapshot IDを取得するため、以下を実行します。

     

    set lines 1000

    set pages 5000

    col BEGIN_INTERVAL_TIME for a30

    col END_INTERVAL_TIME   for a30

     

    select

       a.DBID, i.INSTANCE_NUMBER SID, a.SNAP_ID, a.BEGIN_INTERVAL_TIME, a.END_INTERVAL_TIME

    from AWR_PDB_SNAPSHOT a, gv$instance i

    where a.INSTANCE_NUMBER = i.INSTANCE_NUMBER

    and to_char(END_INTERVAL_TIME,'yyyy/mm/dd') =to_char(sysdate,'yyyy/mm/dd')

    order by SNAP_ID;

     

    2-5. 上記2-4の出力結果を利用してAWRを取得します。以下ではsample_awr.htmlというファイルにAWRレポートを出力しています。

     

    set lines 1000

    set pages 5000

    set long 1000000

    set longchunksize 1000000

     

    spool sample_awr.html

    SELECT OUTPUT FROM TABLE(DBMS_WORKLOAD_REPOSITORY.awr_report_html (&DBID, &SID, &snap_id_start, &snap_id_finish));

    spool off

     

    2-6. 補足

     

    【スナップショット間隔の変更方法】

    10分に変更する例。(デフォルトは60分)

    SQL> exec dbms_workload_repository.modify_snapshot_settings (interval=>10);

     

     

    【スナップショットの手動取得方法】

    SQL> exec dbms_workload_repository.create_snapshot();

     

     

    3. 次にアラートログ、トレースログを取得してみましょう。

    通常、アラートログ、トレースログはOracle Databaseが稼働するOSのファイルシステム上にありますが、ADBはOS領域にアクセスすることができないため、SQLを介して取得します。

     

    3-1. SQL*Plusでログインします。

    $ export TNS_ADMIN=/home/oracle/labs/wallets

    $ sqlplus admin/Welcome12345#@atp01_low

     

    3-2. アラートログを確認するために、以下のSQLを実行します。(以下では直近2週間分のアラートログを表示しています。)

    -- 出力設定

    set lines 200

    set pages 9999

    set trims on

    col ORIGINATING_TIMESTAMP for a40

    col MESSAGE_TEXT for a120

    col PROCESS_ID for a20

     

    -- アラートログの確認

    select ORIGINATING_TIMESTAMP, PROCESS_ID, message_text

    from V$DIAG_ALERT_EXT

    where ORIGINATING_TIMESTAMP > sysdate - 14;

     

     

    3-3. トレースログを確認するために、以下のSQLを実行します。

         トレースファイルは複数存在するため、ファイルの一覧を確認した上で、必要なファイルを表示するという流れです。

     

    -- 出力設定

    col TRACE_FILENAME for a30

    col FILE_NAME for a30

    col PAYLOAD for a300

    set lines 200

    set pages 9999

     

    -- ファイル名を取得

    select TRACE_FILENAME, CHANGE_TIME

    from V$DIAG_TRACE_FILE

    where  TRACE_FILENAME like '%ora%'

    order by CHANGE_TIME

    ;

     

    -- トレースファイルを確認

    select PAYLOAD

    from V$DIAG_TRACE_FILE_CONTENTS

    where TRACE_FILENAME='esj1pod2_ora_270475.trc'

    order by line_number

    ;

     

     

    以上で、この章の作業は終了です。

     

    >ADBコンテンツ一覧に戻るAutonomous Database ハンズオンラボ