如何创建 Oracle 自动工作负载信息库 (AWR) 报告?
Posted
技术标签:
【中文标题】如何创建 Oracle 自动工作负载信息库 (AWR) 报告?【英文标题】:How do you create an Oracle Automatic Workload Repository (AWR) report? 【发布时间】:2017-06-02 18:09:28 【问题描述】:【问题讨论】:
【参考方案1】:要生成 AWR 报告,请按照以下步骤操作:
开始快照 id
设置服务器输出; 宣布 v_snap_id 编号; 开始 v_snap_id := DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT; dbms_output.put_line(v_snap_id); 结尾; /
运行您的批处理或您要监控的程序。
获取结束快照 ID
设置服务器输出; 宣布 v_snap_id 编号; 开始 v_snap_id := DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT; dbms_output.put_line(v_snap_id); 结尾; /
转到 oracle 目录。例如就我而言
cd C:\oracle\app\oracle\product\11.2.0\server\rdbms\admin
转到 sqlplus 提示
sqlplus dbusername/dbpassword@host:port/dbenv
运行@awrrpt
命令
会询问报告的格式,默认为html。
如果您不记得自己的 snap id,请提供天数
输入开始快照
输入结束快照
提供报告名称并按 Enter 键
您的报告将在“管理员”中生成,例如就我而言
C:\oracle\app\oracle\product\11.2.0\server\rdbms\admin
【讨论】:
【参考方案2】:sqlplus 以 DBA 用户身份进入 Oracle。运行报表sql。回答报告提示的问题以缩小时间段
sqlplus / as sysdba
@$ORACLE_HOME/rdbms/admin/awrrpt.sql
脚本会询问您一些问题,以便您获得您感兴趣的时间段的报告。
【讨论】:
【参考方案3】:您可以使用dbms_workload_repository
包而无需登录服务器本身。
对于文本报告,请使用例如:
select output
from table(dbms_workload_repository.awr_report_text(1557521192, 1, 5390, 5392);
或者要获取 HTML 报告,请改用 awr_report_text()
。
第一个参数是DBID,可以使用:
select dbid from v$database
第二个是实例编号。仅与 RAC 环境相关。
最后两个参数是开始和结束快照的ID。可以使用以下方式获取可用的快照:
select snap_id,
begin_interval_time
end_interval_time
from dba_hist_snapshot
order by begin_interval_time desc;
特别是对于返回 CLOB 的 HTML 返回,您必须配置您的 SQL 客户端以正确显示输出。在 SQL*Plus 中,您将使用 set long
【讨论】:
以上是关于如何创建 Oracle 自动工作负载信息库 (AWR) 报告?的主要内容,如果未能解决你的问题,请参考以下文章