Oracle 诊断支持脚本 - Amazon Database Migration Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Oracle 诊断支持脚本

以下是可用于分析本地数据库或 Amazon RDS for Oracle 数据库的诊断支持脚本Amazon DMS迁移配置。这些脚本适用于源端点或目标端点。这些脚本都是为在 SQL*Plus 命令行实用程序中运行而编写的。有关使用此实用程序的更多信息,请参见A 使用 SQL 命令行在甲骨文文档中。

在运行脚本之前,请确保您使用的用户帐户具有访问 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 支持脚本的说明。您还可以找到如何查看输出并将输出上传到您的Amazon支持案例。

awsdms_support_collector_oracle.sql 脚本

下载这个awsdms_support_collector_oracle.sql脚本。

此脚本收集有关您的 Oracle 数据库配置的信息。记得在脚本上验证校验和,如果校验和得到验证,请查看脚本中的 SQL 代码,注释掉任何你运行起来不舒服的代码。在您对脚本的完整性和内容感到满意后,就可以运行脚本了。

运行脚本并将结果上传到您的支持案例
  1. 使用以下 SQL*Plus 命令行在数据库环境中运行脚本。

    SQL> @awsdms_support_collector_oracle.sql
  2. 在以下提示符下,仅输入要迁移的一个架构的名称。

  3. 在以下提示符处,输入用户名 (script_user) 是您为连接到数据库而定义的。

  4. 在以下提示处,输入要检查的数据天数,或接受默认值。然后,该脚本从您的数据库收集指定数据。

  5. 查看此 HTML 文件并删除您不愿意分享的所有信息。当 HTML 可供您共享时,将文件上传到您的Amazon支持案例。有关上传此文件的更多信息,请参阅在中使用诊断支持脚本Amazon DMS