Oracle 11g AWR报告

发布网友

我来回答

2个回答

懂视网

Enter value for report_name: 
Using the report name awrrpt_1_591_593.html
select output from table(dbms_workload_repository.awr_report_html( :dbid,
*
ERROR at line 1:
ORA-04063: package body "SYS.DBMS_WORKLOAD_REPOSITORY" has errors
Report written to awrrpt_1_591_593.html

查看无效对象:
DBMS_SWRF_REPORT_INTERNAL和DBMS_WORKLOAD_REPOSITORY均无效
尝试编译DBMS_WORKLOAD_REPOSITORY,报错:对象DBMS_SWRF_REPORT_INTERNAL无效
尝试编译DBMS_SWRF_REPORT_INTERNAL报错:
PLS-00753:malformed or corrupted wrapped unit
DBMS_SWRF_REPORT_INTERNAL
使用如下命令,查看错误代码
$ sqlplus / as sysdba 
SQL>set serveroutput on 
SQL> alter package DBMS_SWRF_REPORT_INTERNAL compile; 
SQL>show error 
SQL> alter package DBMS_SWRF_REPORT_INTERNAL compile body; 
SQL>show error 
SQL> alter package DBMS_WORKLOAD_REPOSITORY compile; 
SQL> alter package DBMS_WORKLOAD_REPOSITORY compile body; 
SQL>show error 
查找相关资料,使用如下sql修复包
$sqlplus "/as sysdba" 
SQL> @?/rdbms/admin/catawrtb.sql 
SQL> @?/rdbms/admin/dbmsawr.sql 
SQL> @?/rdbms/admin/prvtawr.plb 
SQL> @?/rdbms/admin/utlrp.sql 
SQL> @?/rdbms/admin/awrrpt.sql 
--If error still exists, please restart the database and try again.... 
SQL> shutdown immediate 
SQL> startup 
SQL> @?/rdbms/admin/awrrpt.sql 

测试环境测试通过
正在正式环境也测试:
Using the report name awrrpt_1_52549_52550.html
select output from table(dbms_workload_repository.awr_report_html( :dbid,
                         *
ERROR at line 1:
ORA-04045: errors during recompilation/revalidation of SYS.DBMS_SWRF_REPORT_INTERNAL
ORA-04030: out of process memory when trying to allocate 4120 bytes (PLS non-lib hp,pdz2M87_Allocate_Permanent)
ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_SWRF_REPORT_INTERNAL"
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 309
ORA-06512: at line 1
Report written to awrrpt_1_52549_52550.html

排查:
根据文档
Diagnosing and Resolving ORA-4030 Errors (文档 ID 233869.1)排查
Oracle建议重建awr库:
How to Recreate The AWR ( AUTOMATIC WORKLOAD ) Repository ? (文档 ID 782974.1)
但是动作太大,无法在产品环境试验    

Oracle10g使用$ORACLE_HOME/rdbms/admin/awrrpt.sql报错

标签:修复   rtb   called   根据   body   please   mpi   动作   pos   

热心网友

AWR是需要在运行Oracle的环境上,获取数据库的相关信息。
通过运行 $ORACLE_HOME/rdbms/admin 目录中的 awrrpt.sql 脚本,AWR 的功能可以立即通过它从采集的统计数据和量度中生成的报表得到最好的说明。这个脚本从外观和感觉上类似于 Statspack,它显示所有的现有 AWR 快照并请求两个特定的快照作为时间间隔边界。它产生两种类型的输出:文本格式(类似于 Statspack 报表的文本格式但来自于 AWR 信息库)和默认的 HTML 格式(拥有到部分和子部分的所有超链接),从而提供了非常用户友好的报表。现在运行该脚本以查看报表,从而对 AWR 的功能有一个了解。

手动生成AWR快照号:
exec dbms_workload_repository.create_snapshot

用CRT软件,使用Oracle登录到服务器上:
sqlplus /nolog
conn system/system
@$ORACLE_HOME/rdbms/admin/awrrpt.sql追问我是这样做的,10g一点问题没有,但是现在换了11g,不管是自动还是手动创建快照,产生的报告指标全是0,但是数据库是投入使用的

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com