

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Oracle 진단 지원 스크립트
<a name="CHAP_SupportScripts.Oracle"></a>

다음은 AWS DMS 마이그레이션 구성에서 온프레미스 또는 Amazon RDS for Oracle 데이터베이스를 분석하는 데 사용할 수 있는 진단 지원 스크립트입니다. 이러한 스크립트는 소스 또는 대상 엔드포인트에서 작동합니다. 스크립트는 모두 SQL\$1Plus 명령줄 유틸리티에서 실행하도록 작성되었습니다. 이 유틸리티 사용에 대한 자세한 내용은 Oracle 설명서의 [A Using SQL Command Line](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\$1Plus 지원 스크립트를 다운로드, 검토, 실행하는 방법에 대한 설명이 나와 있습니다. 출력을 검토하고 이를 AWS Support 사례에 업로드하는 방법도 참조할 수 있습니다.

**Topics**
+ [awsdms\$1support\$1collector\$1oracle.sql 스크립트](#CHAP_SupportScripts.Oracle.Awsdms_Support_Collector_Oracle_Script)

## awsdms\$1support\$1collector\$1oracle.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\$1Plus 명령줄을 사용하여 데이터베이스 환경에서 스크립트를 실행합니다.

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

   스크립트에 간단한 설명이 표시되며, 실행을 계속할지 중단할지 묻는 프롬프트가 표시됩니다. [Enter] 키를 눌러 계속 진행합니다.

1. 다음에 나오는 프롬프트에서 마이그레이션할 스키마 중 하나의 이름만 입력합니다.

1. 다음에 나오는 프롬프트에서 데이터베이스에 연결하기 위해 정의한 사용자 이름(*script\$1user*)을 입력합니다.

1. 다음에 나오는 프롬프트에서 검사할 데이터의 일수를 입력하거나, 기본값을 수락합니다. 이렇게 하면 스크립트가 데이터베이스에서 지정된 데이터를 수집합니다.

   스크립트가 완료되면 출력 HTML 파일의 이름(예: `dms_support_oracle-2020-06-22-13-20-39-ORCL.html`)이 표시됩니다. 스크립트는 이 파일을 작업 디렉터리에 저장합니다.

1. 이 HTML 파일을 검토하고, 공유하기에 부적합한 정보는 모두 제거합니다. HTML을 공유할 수 있는 경우 AWS 지원 사례에 파일을 업로드합니다. 이 파일 업로드에 대한 자세한 내용은 [에서 진단 지원 스크립트 작업 AWS DMS](CHAP_SupportScripts.md) 섹션을 참조하세요.