您的位置:首页 > 数据库 > Oracle

如何重建或安装ORACLE 10g/11g的AWR

2012-03-20 13:25 381 查看
如果在日常工作中遇见了AWR数据量太大,可以通过如下方式做以清除:

SQL> select distinct dbid,db_name,instance_name from wrm$_database_instance;

DBID DB_NAME INSTANCE_NAME

---------- --------- ----------------

2691876695 MYDB mydb

运行如下脚本,清除AWR数据:

SQL> @?\rdbms\admin\catnoawr.sql

(略)

不重启的话,清空共享池

alter system flush shared_pool;

运行重建AWR脚本:

SQL> @?\rdbms\admin\catawrtb.sql

(略)

会话已更改

SQL> @?\rdbms\admin\utlrp.sql

(略)

ORACLE 11g需要需要运行如下脚本:

SQL> @?\rdbms\admin\execsvrm.sql

SQL> exec dbms_workload_repository.create_snapshot;

PL/SQL 过程已成功完成。

如果不对存储过程进行重新编译,执行快照过程会提示如下问题:

SQL> exec dbms_workload_repository.create_snapshot;

BEGIN dbms_workload_repository.create_snapshot; END;

*

第 1 行出现错误:

ORA-13516: AWR 操作失败: AWR Schema not initialized

ORA-06512: 在 "SYS.DBMS_WORKLOAD_REPOSITORY", line 99

ORA-06512: 在 "SYS.DBMS_WORKLOAD_REPOSITORY", line 122

ORA-06512: 在 line 1

在重新编译了存储过程后,存储过程运行正常

隔5分钟后,再次运行:

SQL> exec dbms_workload_repository.create_snapshot;

PL/SQL 过程已成功完成。

SQL> @?/rdbms/admin/awrrpt.sql

注意在RAC环境下的话,需要取消集群参数后,待执行完成后再次修改过来:

alter system set cluster_database = false scope = spfile;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: