淘先锋技术网

首页 1 2 3 4 5 6 7

Oracle AWR(Automatic Workload Repository)是Oracle数据库提供的一个自我诊断和优化工具,可以帮助数据库管理员和开发人员更好地了解数据库的性能瓶颈。

开启AWR非常简单,只需要执行以下步骤:

SQL>ALTER SYSTEM SET CONTROL_MANAGEMENT_PACK_ACCESS=DIAGNOSTIC+TUNING;
SQL>ALTER SYSTEM SET STATISTICS_LEVEL=ALL;

这两个命令是启用AWR报告所必需的。第一个命令授权您使用AWR,第二个命令将启用详细的性能分析报告。

一旦开启AWR,您可以随时生成分析报告:

SQL>SELECT * FROM TABLE(DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML(1, 132, Top_N =>15));

该命令将生成包含最近132个快照的AWR报告。此外,它还将显示数据库中最好的15个SQL语句和等待事件。

默认情况下,AWR报告在每个小时的00分,20分,40分时生成一个快照。您也可以通过以下命令更改这些设置:

SQL>BEGIN
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
retention_in_days =>7,
interval =>30,
topnsql =>50,
dbid =>123456
);
END;

该命令将更改快照保留设置为7天,将快照生成间隔更改为30分钟,并将TopN SQL变量设置为50。

除了默认生成的AWR报告外,您可以通过以下命令在特定时间生成自定义AWR报告:

SQL>EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_AWR(sqldate =>'2021-11-01 00:00:00', duration =>30, format =>'HTML');

该命令将创建一个将在2021年11月1日0点到0点30分的时间段内生成的30分钟AWR报告,格式为HTML。

总之,AWR是Oracle强大的自我优化工具,可以帮助您发现数据库性能瓶颈,调整数据库配置和SQL语句,提高数据库的性能。