Amazon Relational Database Service
用户指南 (API Version 2014-10-31)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

Oracle Statspack

Oracle Statspack 选项安装并启用 Oracle Statspack 性能统计数据功能。Oracle Statspack 是收集、存储和显示性能数据的 SQL、PL/SQL 和 SQL*Plus 脚本的集合。有关使用 Oracle Statspack 信息,请参阅 Oracle 文档中的 Oracle Statspack

注意

Oracle 不再支持 Oracle Statspack,并用更高级的 Automatic Workload Repository (AWR) 取而代之。只有已购买 Diagnostics Pack 的 Oracle Enterprise Edition 客户才能使用 AWR。Oracle Statspack 可以在 Amazon RDS 上与任何 Oracle 数据库引擎一起使用。

以下步骤演示如何在 Amazon RDS 上使用 Oracle Statspack:

  1. 将 Statspack 选项添加到选项组,然后将该选项组与数据库实例关联。Amazon RDS 在数据库实例上安装 Statspack 脚本,并设置 PERFSTAT 用户账户 (即,用于运行 Statspack 脚本的账户)。如果您安装了 Statspack,请跳过此步骤。

    如果您具有已创建 PERFSTAT 账户的现有数据库实例,并且您希望与其配合使用 Oracle Statspack,则必须在将 Statspack 选项添加到与该数据库实例关联的选项组之前删除 PERFSTAT 账户。如果您尝试将 Statspack 选项添加到某个选项组,该选项组与已创建 PERFSTAT 账户的数据库实例关联,您将收到错误消息,并且将产生 RDS 事件 RDS-Event-0058。

    通过运行以下命令可以删除 PERFSTAT 账户:

    DROP USER perfstat CASCADE;
  2. Amazon RDS 在数据库实例上安装 Statspack 后,您必须使用您的主用户名和主密码登录该数据库实例。然后,必须重置 PERFSTAT 密码,以替换安装 Statspack 时 Amazon RDS 创建的随机生成值。在重置 PERFSTAT 密码后,您可以使用 PERFSTAT 用户账户登录并运行 Statspack 脚本。

    使用以下命令重置密码:

    ALTER USER perfstat IDENTIFIED BY <new_password> ACCOUNT UNLOCK;
  3. 在使用 PERFSTAT 账户登录后,您可以手动创建 Statspack 快照,也可以创建将在指定时间间隔后生成 Statspack 快照的作业。例如,以下作业每小时创建一个 Statspack 快照:

    variable jn number; execute dbms_job.submit(:jn, 'statspack.snap;',sysdate,'trunc(SYSDATE+1/24,''HH24'')'); commit;
  4. 一旦您创建了至少两个 Statspack 快照,则可以使用以下查询查看它们:

    select snap_id, snap_time from stats$snapshot order by 1;
  5. 要创建 Statspack 报告,请选择两个快照以便分析和运行以下 Amazon RDS 命令:

    exec RDSADMIN.RDS_RUN_SPREPORT(<begin snap>,<end snap>);

    例如,以下 Amazon RDS 命令将基于 Statspack 快照 1 和 7 之间的间隔创建报告:

    exec RDSADMIN.RDS_RUN_SPREPORT(1,7);

生成的 Statspack 报告的文件名包括使用的两个 Statspack 快照的编号。例如,使用 Statspack 快照 1 和 7 创建的报告文件将命名为 ORCL_spreport_1_7.lst。通过在 RDS 控制台的“Log”部分中选择报告并单击 Download 可以下载 Statspack 报告,也可以使用 使用 Oracle 跟踪文件 中介绍的跟踪文件过程。

如果在生成报告时出错,则会使用相同命名约定创建错误文件,但该文件具有扩展名 .err。例如,如果在使用 Statspack 快照 1 和 7 创建报告时出错,报告文件将命名为 ORCL_spreport_1_7.err。通过在 RDS 控制台的“Log”部分中选择报告并单击 Download 可以下载错误报告,也可以使用 使用 Oracle 跟踪文件 中介绍的跟踪文件过程。

Oracle Statspack 会在运行报告前执行一些基本检查,因此,您还可能看到命令提示符下会显示错误消息。例如,如果您尝试基于无效范围生成报告 (例如,起始 Statspack 快照值大于结束 Statspack 快照值),则会在命令提示符下显示一条错误消息,并且不会创建错误文件。

exec RDSADMIN.RDS_RUN_SPREPORT(2,1); * ERROR at line 1: ORA-20000: Invalid snapshot IDs. Find valid ones in perfstat.stats$snapshot.

如果您使用的某个 Statspack 快照的编号无效,还会在命令提示符下显示错误消息。例如,如果您具有 20 个 Statspack 快照,但请求使用 Statspack 快照 1 和 50 运行报告,命令提示符下将显示错误。

exec RDSADMIN.RDS_RUN_SPREPORT(1,50); * ERROR at line 1: ORA-20000: Could not find both snapshot IDs

有关如何使用 Oracle Statspack 的更多信息 (包括通过调整快照级别来调整捕获的数据量的相关信息),请转到 Oracle Statspack 文档页面

要删除 Oracle Statspack 文件,请使用以下命令:

execute statspack.purge(<begin snap>, <end snap>);

相关主题

本页内容: