RDA (Remote Diagnostic Agent)について
*以下は、サポート契約締結中のお客様に2015年1月号として配信しているサポートレターより一部抜粋して掲載しています。
RDA とは
RDA (Remote Diagnostic Agent) は、Oracleのシステム製品環境から、構成/ 設定に関する情報やログ等の情報を収集する Perl スクリプトです。RDA により収集される情報は、構成/ 設定内容の確認、システム全体の状態の把握、障がい解析を実施するうえで大いに役立ちます。
サポートへのお問合せの際に、RDA によって障がい発生時点に収集された情報をお送りいただくことで、サポートから追加資料を依頼する回数が減り、解決時間の短縮が期待できます。また、障がい以外のお問合せであっても、RDA によってお問合せ時点に収集された情報をお送りいただくことで、サポート担当者がお客様のシステム状況を容易に把握できます。さらに、RDA によって収集される情報は html 形式ですので、お客様ご自身で構成/ 設定を管理される際にも有用です。
RDA はシステムに与える影響を最小限にするよう設計されているため、システムの運用中であっても、サポートに有用な情報を収集できます。(※1)
- ※1 本番稼働中に実施される場合は、事前に検証環境等で影響確認を行ってください。選択されたモジュールによっては、システムに負荷をかけるものもあります。
RDA の入手
RDAはOracle製品サポートをご契約いただいているお客様であれば、無料で導入いただけます。
My Oracle Support の下記のナレッジにて公開されています。ご利用のプラットフォームのものをダウンロードしてください。
RDA はバージョンアップに伴い取得可能な情報、対応製品が増えています。また、情報取得対象リソースの検出の仕組みも改善されていますので、最新バージョンのRDA をダウンロードしてご利用になられることをお薦めします。
RDA の構成
RDA は、コアとなる部分と、製品やコンポーネントに固有の情報を収集するためのモジュール群で構成されています。本稿の執筆時点での最新版である RDA 8.06 には、295 モジュール存在し、20 以上の製品に対応しています。
通常、RDA では、情報を収集する前に、どのモジュールの情報を収集するかを考慮したうえで、モジュールを指定しセットアップを行います。このセットアップ方法は、詳細なカスタマイズが可能ですが、モジュールについての知識が必要になります。
そこで、RDA では、製品や用途毎に典型的なモジュールの組み合わせを「プロファイル」として定義しています。プロファイルを利用することで、RDA のモジュールを意識することなく情報収集することが可能です。また、プロファイルを指定したうえで、足りない部分だけモジュールを指定して情報を収集することも可能です。
RDA による情報の収集
RDA を展開したディレクトリ上で、./rda.sh (Microsoft Windows 環境の場合は rda.cmd、HP OpenVMS 環境の場合はrda.com を使用します) をオプション指定して実行します。
./rda.sh [オプション] [モジュール名]...
RDA による情報の収集は下記のステップで行われます。
- 1. モジュールのセットアップ (-S)
- 例えば、Oracle Database の場合、ORACLE_HOME 、ORACLE_SIDや情報を収集するために使用するユーザの情報などを、対話または非対話形式で設定します。収集した時に生成される「output.cfg」ファイル (※2) を残しておくことで、次回以降は再セットアップすることなく、同じ設定内容で情報を収集できます。
- 2. 情報の収集 (-C)
- セットアップされた内容をもとに情報を収集します。情報の収集に使用するユーザー等のパスワードを求められることがあります。収集された情報は、「output」ディレクトリ (※2) に出力されます。
- 3. レポートの生成 (-R)
- html形式のレポートを生成します。レポートは、「output」ディレクトリ (※2) に出力されます。
- 4. パッケージの生成 (-P)
- 生成されたレポートを zip 形式でアーカイブします。アーカイブのファイル名のデフォルトは、「RDA_output_(ホスト名).zip」(※2) です。
- ※2 「output」の部分は -s オプションで変更できます。
各ステップは、個別に実行することも、まとめて実行することも可能です。
$ ./rda.sh -SCRP
オプションの指定例
以下で使用しているモジュール名、プロファイル名、パラメータは RDA 8.x のものです。RDA 4.x には当てはまりませんのでご注意ください。
- 1. Oracle Database 11g の情報を収集
-
$ ./rda.sh -SCRPy -e DB.DB.B_LOCAL=1,DB.DB.B_SYSDBA=1,DB.DB.T_USER=/ -p DB11g
- -y 全ての質問に対してデフォルトを受け入れるようにしています。
-e デフォルトを受け入れたくないパラメータの値を明示的に指定しています。
-p プロファイルを指定しています。Oracle Database 11g の情報を収集するように指定しています。 - 2. Exadata 上のRAC データベースの情報を収集
-
$ ./rda.sh -SCRP -p DB11g,Exadata_RacInstance DB.BR
- -p プロファイルを指定しています。この例のように、複数のプロファイルを指定することも可能です。
BR RMAN の情報を収集するモジュールを指定しています。
レポートの確認
パッケージの場合は、まずアーカイブを展開してください。「RDA__start.htm」ファイルを開くことでレポートを確認することができます。
RDA のTips
以下で紹介している Tips はRDA 4.x には当てはまりませんのでご注意ください。
- モジュール名の一覧を表示
$ ls -1 collect/*/*.cfg
例えば、出力された内容の中に、「collect/DB/DCbr.cfg」があれば、DB.BR というモジュールが存在することをを意味します。.cfg ファイルを確認すると、どのような設定項目があるのかをある程度把握することが可能です。
- プロファイル名の一覧を表示
$ grep '^\[.*\]$' collect/*/profile.cfg
例えば、出力された内容の中に、「[DB11g]」 があれば、DB11g というプロファイルが存在することを意味します。profile.cfg ファイルを確認すると、そのプロファイルを指定することでどのモジュールの情報が収集されるのかを確認することが可能です。
Exadata 上でRDA を使用する上での注意点
Exadata のデータベース・サーバ上で、RDA (4.25 以下) を root ユーザで実行すると、OS が再起動される不具合が報告されています。該当する場合は、RDA 4.26以上をご利用ください。
まとめ
RDA は、Oracleのシステム製品環境から、構成/ 設定に関する情報やログ等を収集するツールです。RDA は多くのプラットフォームやシステム製品に対応し、必要とする情報を漏れなく効率的に収集することが可能です。RDA によって収集される情報は html 形式ですので、サポートへのお問合せの際だけでなく、お客様ご自身で構成/ 設定を管理される際にも有用ですので、ぜひご活用ください。
(オラクル事業部 技術担当サポートセンターG 田中)