Amazon Web Services ブログ
RDS for Db2 でトラブルシューティングに必要な情報を収集する
本記事では、Amazon Relational Database Service (Amazon RDS) for Db2 のトラブルシューティングで必要となる情報の収集方法をご紹介いたします。
Linux、Unix、Windows 上で動作する IBM Db2 で収集していた情報を、Amazon RDS for Db2 ではどのように収集すれば良いか分からないという方もいらっしゃるのではないでしょうか。
あるいは、IBM サポートにお問い合わせいただいた際に「〜の情報を収集してください」と依頼され、どのように情報を収集すれば良いか分からないという方もいらっしゃるかもしれません。
今回は、IBM サポートから情報収集を求められた場合の情報の収集方法について、サンプルクエリ等を交えてご紹介していきます。
Amazon RDS for Db2 におけるサポート体制
はじめに、前提として Amazon RDS for Db2 のサポート体制についてご説明いたします。
Amazon RDS for Db2 では BYOL (Bring Your Own Licnece) モデルを採用しており、お困りの問題に応じて以下のサポートをご利用いただくことが可能です。
- IBM サポート
IBM Db2 LUW の動作に関するお問い合わせ(パフォーマンスの問題や、サービスリクエスト)は、IBM サポートにお問い合わせください。
- AWS Premium Support
AWS Premium Support のアカウントをお持ちの場合、Amazon RDS 固有の問題については、AWS Premium Support にお問い合わせください。
IBM サポートで必要となる情報
IBM サポートでトラブルシューティングを行う場合、主に以下の情報を求められる場合があります。
- db2diag.log
- GET DATABASE CONFIGURATION コマンドの実行結果
- GET DATABASE MANAGER CONFIGURATION コマンドの実行結果
- db2level コマンドの実行結果
- db2licm -l コマンドの実行結果
- db2set -all コマンドの実行結果
- db2support コマンドにより取得されたファイル
- First Occurrence Data Capture(FODC) の情報
- コアダンプファイルとライブラリ情報
Amazon RDS for Db2 はマネージドサービスのため、Linux、Unix、Windows 上で動作する IBM Db2 では実行可能なコマンドや SQL クエリが一部制限されています。
これらの情報はマスターユーザーアカウント権限を使用しても収集することができないため、代用手段を用いて情報を収集する必要があります。
以降、各項目の情報収集方法について説明します。
db2diag.log
Amazon RDS for Db2 では、マネジメントコンソールから db2diag.log をダウンロードいただくことが可能です。
問題の発生状況が確認できるよう、問題が発生した日時の前後の記録を含む db2diag.log をダウンロードしてください。
db2diag.log はローテーションにより一定のサイズを超えると古いログが削除されてしまうため、過去の記録を遡って確認できるよう Amazon CloudWatch Logs へのエクスポートをお勧めします。
Amazon CloudWatch Logs にエクスポートされたログは、CloudWatch Logs Insights により検索条件の指定により必要なログのみを抽出できます。
抽出したログのみをファイルに保存することも可能です。
Amazon CloudWatch Logs、および CloudWatch Logs Insights の詳細については、こちらをご覧ください。
GET DATABASE CONFIGURATION コマンドの実行
GET DATABASE CONFIGURATION コマンドの実行は、以下の SQL クエリの実行で代用することが可能です。
この SQL クエリは、マスターユーザーアカウント権限で実行することが可能です。
$ db2 "select cast(substr(name,1,24) as varchar(24)) as name, case when value_flags = 'NONE' then '' else value_flags end flags, cast(substr(value,1,64) as varchar(64)) as current_value, cast(substr(deferred_value,1,64) as varchar(64)) as deferred_value from table(sysproc.db_get_cfg(null))" > dbcfg.txt
上記の例では、実行結果をテキストファイルに保存しています。
IBM サポートへ情報を共有する場合は、保存されたファイルを送付することで情報を共有することが可能です。
GET DATABASE MANAGER CONFIGURATION コマンドの実行
GET DATABASE MANAGER CONFIGURATION コマンドは、GET DATABASE CONFIGURATION コマンドと同様に SQL クエリの実行で代用が可能です。
この SQL クエリも、マスターユーザーアカウント権限で実行することが可能です。
$ db2 "select cast(substr(name,1,24) as varchar(24)) as name, case when value_flags = 'NONE' then '' else value_flags end flags, cast(substr(value,1,64) as varchar(64)) as current_value, cast(substr(deferred_value,1,64) as varchar(64)) as deferred_value from table(sysproc.dbm_get_cfg(null))" > dbmcfg.txt
上記の例でも、実行結果をテキストファイルに保存しています。
GET DATABASE CONFIGURATION コマンドと同様に、保存されたファイルを IBM サポートへ共有することが可能です。
db2level コマンドの実行
db2level コマンドは、以下の SQL クエリで代用が可能です。
$ db2 "select current timestamp,inst_name, num_dbpartitions, service_level, bld_level, ptf, num_members from sysibmadm.env_inst_info"
db2level コマンドの実行結果が必要な場合は、上記 SQL クエリの実行結果をご利用ください。
db2licm -l コマンドの実行
ライセンス情報は、コマンドの実行や SQL クエリでの代用ができません。
利用しているライセンスの情報については、AWS License Manager のセルフマネージドライセンスから確認可能です。
メモリ、vCPU 数については、利用している DB インスタンスクラスのハードウェア仕様をご覧ください。
db2set -all コマンドの実行
db2set -all コマンドは、以下の SQL クエリで代用が可能です。
$ db2 "select current timestamp as curr_timestamp, member, varchar(reg_var_name,64) as reg_var_name, varchar(reg_var_value,64) as reg_var_value, varchar(reg_var_on_disk_value,64) as reg_var_on_disk_value, level from table(env_get_reg_variables(null))"
db2set -all コマンドの実行結果が必要な場合は、上記 SQL クエリの実行結果をご利用ください。
db2support コマンドにより取得されたファイル
db2support コマンドの実行、および出力ファイルの取得は、現時点ではお客様にて行えない操作となっています。
db2support コマンドにて取得したファイルが必要な場合は、AWS Premium Support までお問い合わせください。
First Occurrence Data Capture(FODC) の情報
db2support 同様、First Occurrence Data Capture(FODC) の情報の収集についても、現時点ではお客様にて行えない操作となっています。
First Occurrence Data Capture(FODC) の情報が必要な場合は、AWS Premium Support までお問い合わせください。
コアダンプファイルとライブラリ情報
コアダンプファイルの取得とライブラリ情報の収集についても、現時点ではお客様にて行えない操作となっています。
コアダンプファイルの取得とライブラリ情報が必要な場合は、AWS Premium Support までお問い合わせください。
AWS Premium Support ご利用時の Tips
- AWS Premium Support での情報収集をご依頼いただく場合のお問い合わせ
IBM サポートへ既にお問い合わせ済みで、該当の情報の取得を依頼されている旨をご説明いただくことで、AWS サポート側でもスムーズなご案内が可能です。
例: ◯◯(発生している事象の概要) という問題が発生しており、原因を調査中です。 現在、IBM サポートへ問い合わせており、調査には ◯◯(db2support 等 )のデータを必要としております。 ◯◯のデータは、ユーザー側で取得ができない情報のため、AWS サポートにて取得、提供いただけますでしょうか。
- 適切な緊急度の選択
情報のご提供には、お時間が掛かってしまう場合があります。お急ぎの場合は、問題の影響度と発生しているビジネス影響を添えて、高い緊急度でのお問い合わせをご検討ください。
サポートケースの緊急度の考え方については、こちらをご覧ください。
- AWS Premium Support ご利用時のガイドライン
AWS サポートの基本的なガイドラインをご一読いただくことで、迅速なサポートが可能となります。
お問い合わせいただく際に、こちらをご一読ください。
トラブルシューティングで必要となる情報、および情報収集の手段についてご紹介いたしました。
ご不明な点等ございましたら、お気軽に AWS Premium Support へお問い合わせください。
クラウドサポートエンジニア 松原 睦美