

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Oracle 診断 Support スクリプト
<a name="CHAP_SupportScripts.Oracle"></a>

以下は、オンプレミスまたは Amazon RDS for Oracle データベースの分析に使用できる診断サポートスクリプトです AWS DMS 。これらのスクリプトは、ソース エンドポイントまたはターゲット エンドポイントで使用できます。スクリプトはすべて SQL\*Plus コマンドライン ユーティリティで実行するように記述されています。ユーティリティの詳しい使用方法については、Oracle ドキュメントの「[A SQL コマンドラインの使用](https://docs.oracle.com/cd/B25329_01/doc/appdev.102/b25108/xedev_sqlplus.htm)」をご参照ください。

スクリプトを実行する前に、使用するユーザーアカウントに Oracle データベースへのアクセス許可があるか確認してください。表示される許可設定は、ユーザーが次のように作成されたことを前提としています。

```
CREATE USER {{script_user}} IDENTIFIED BY {{password}};
```

オンプレミス データベースの場合、以下に示す `{{script_user}}` におけるように最小許可を設定します。

```
GRANT CREATE SESSION TO {{script_user}};
GRANT SELECT on V$DATABASE to {{script_user}};
GRANT SELECT on V$VERSION to {{script_user}};
GRANT SELECT on GV$SGA to {{script_user}};
GRANT SELECT on GV$INSTANCE to {{script_user}};
GRANT SELECT on GV$DATAGUARD_CONFIG to {{script_user}};
GRANT SELECT on GV$LOG to {{script_user}};
GRANT SELECT on DBA_TABLESPACES to {{script_user}};
GRANT SELECT on DBA_DATA_FILES to {{script_user}};
GRANT SELECT on DBA_SEGMENTS to {{script_user}};
GRANT SELECT on DBA_LOBS to {{script_user}};
GRANT SELECT on V$ARCHIVED_LOG to {{script_user}};
GRANT SELECT on DBA_TAB_MODIFICATIONS to {{script_user}};
GRANT SELECT on DBA_TABLES to {{script_user}};
GRANT SELECT on DBA_TAB_PARTITIONS to {{script_user}};
GRANT SELECT on DBA_MVIEWS to {{script_user}};
GRANT SELECT on DBA_OBJECTS to {{script_user}};
GRANT SELECT on DBA_TAB_COLUMNS to {{script_user}};
GRANT SELECT on DBA_LOG_GROUPS to {{script_user}};
GRANT SELECT on DBA_LOG_GROUP_COLUMNS to {{script_user}};
GRANT SELECT on V$ARCHIVE_DEST to {{script_user}};
GRANT SELECT on DBA_SYS_PRIVS to {{script_user}};
GRANT SELECT on DBA_TAB_PRIVS to {{script_user}};
GRANT SELECT on DBA_TYPES to {{script_user}};
GRANT SELECT on DBA_CONSTRAINTS to {{script_user}};
GRANT SELECT on V$TRANSACTION to {{script_user}};
GRANT SELECT on GV$ASM_DISK_STAT to {{script_user}};
GRANT SELECT on GV$SESSION to {{script_user}};
GRANT SELECT on GV$SQL to {{script_user}};
GRANT SELECT on DBA_ENCRYPTED_COLUMNS to {{script_user}};
GRANT SELECT on DBA_PDBS to {{script_user}};

GRANT EXECUTE on dbms_utility to {{script_user}};
```

Amazon RDS データベースでは、以下に示すように最小限のアクセス許可を設定します。

```
GRANT CREATE SESSION TO {{script_user}};
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$VERSION','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('GV_$SGA','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('GV_$INSTANCE','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('GV_$DATAGUARD_CONFIG','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('GV_$LOG','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TABLESPACES','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_DATA_FILES','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_SEGMENTS','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_LOBS','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$ARCHIVED_LOG','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TAB_MODIFICATIONS','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TABLES','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TAB_PARTITIONS','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_MVIEWS','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TAB_COLUMNS','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_LOG_GROUPS','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_LOG_GROUP_COLUMNS','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$ARCHIVE_DEST','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_SYS_PRIVS','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TAB_PRIVS','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TYPES','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_CONSTRAINTS','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('V_$TRANSACTION','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('GV_$ASM_DISK_STAT','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('GV_$SESSION','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('GV_$SQL','{{script_user}}','SELECT');
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_ENCRYPTED_COLUMNS','{{script_user}}','SELECT');

exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_PDBS','{{script_user}}','SELECT');

exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_UTILITY','{{script_user}}','EXECUTE');
```

Oracle で使用可能な各 SQL\*Plus サポート スクリプトのダウンロード、確認、および実行方法について説明します。また、 AWS Support ケースでの出力を確認してアップロードする方法も確認できます。

**Topics**
+ [awsdms\_support\_collector\_oracle.sql スクリプト](#CHAP_SupportScripts.Oracle.Awsdms_Support_Collector_Oracle_Script)

## awsdms\_support\_collector\_oracle.sql スクリプト
<a name="CHAP_SupportScripts.Oracle.Awsdms_Support_Collector_Oracle_Script"></a>

[https://d2pwp9zz55emqw.cloudfront.net/scripts/awsdms_support_collector_oracle.sql](https://d2pwp9zz55emqw.cloudfront.net/scripts/awsdms_support_collector_oracle.sql) スクリプトをダウンロードします。

このスクリプトは、Oracle データベース構成に関する情報を収集します。スクリプトのチェックサムを必ず検証し、チェックサムが検証する場合は、スクリプト内の SQL コードを確認して、実行しにくいコードをコメントアウトします。スクリプトの整合性と内容に納得できたら、スクリプトを実行できます。

**スクリプトを実行して結果をサポートケースにアップロードするには**

1. 次の SQL\*Plus コマンドラインを使用して、データベース環境からスクリプトを実行します。

   ```
   SQL> @awsdms_support_collector_oracle.sql
   ```

   スクリプトには、簡単な説明と、実行を続行または中止するプロンプトが表示されます。[Enter] を押して確認します。

1. 次のプロンプトで、移行するスキーマの名前を 1 つだけ入力します。

1. 次のプロンプトで、データベースに接続するように定義したユーザーの名前 ({{script\_user}}) を入力します。

1. 次のプロンプトで、検査するデータの日数を入力するか、デフォルトをそのまま使用します。スクリプトは、指定されたデータをデータベースから収集します。

   スクリプトが完了すると、例えば `dms_support_oracle-2020-06-22-13-20-39-ORCL.html` などの出力 HTML ファイルの名前が表示されます。スクリプトは、このファイルを作業ディレクトリに保存します。

1. この HTML ファイルを確認し、共有が不快な情報をすべて削除します。HTML を共有できる場合は、 AWS サポートケースにファイルをアップロードします。ファイルのアップロードの詳細については、「[での診断サポートスクリプトの使用 AWS DMS](CHAP_SupportScripts.md)」をご参照ください。