如何创建 Oracle 自动工作负载信息库 (AWR) 报告?
3 回答
要生成 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
sqlplus 以 DBA 用户身份进入 Oracle。运行报表sql。回答报告提示的问题以缩小时间段
sqlplus / as sysdba
@$ORACLE_HOME/rdbms/admin/awrrpt.sql
该脚本将询问您一些问题,以便您获得您感兴趣的时间段的报告。
您可以使用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