当前位置:  数据库>oracle

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

    来源: 互联网  发布时间:2017-04-24

    本文导语: 如果在日常工作中遇见了AWR数据量太大,可以通过如下方式做以清除:SQL> select distinct dbid,db_name,instance_name from wrm$_database_instance;DBID DB_NAME   INSTANCE_NAME                                           ---------- --...

如果在日常工作中遇见了AWR数据量太大,可以通过如下方式做以清除:
SQL> select distinct dbid,db_name,instance_name from wrm$_database_instance;
DBID DB_NAME   INSTANCE_NAME                                          
---------- --------- ----------------                                
2691876695 MYDB      mydb     



运行如下脚本,清除AWR数据
SQL> @?rdbmsadmincatnoawr.sql
 (略)

不重启的话,清空共享池
alter system flush shared_pool;

运行重建AWR脚本:
SQL> @?rdbmsadmincatawrtb.sql
 (略)

会话已更改

SQL> @?rdbmsadminutlrp.sql

(略)


Oracle 11g需要需要运行如下脚本:
SQL> @?rdbmsadminexecsvrm.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;

当然在重建后我们需要进一步检查下相关对象是否存在异常,对于存在异常的对象需要重新编译:

pool objects.lst                                                                 
set pagesize500                                                                  
set linesize 100                                                                 
                                                                                 
select substr(comp_name,1,40) comp_name, status, substr(version,1,10) version    
from dba_registry                                                                
order by comp_name;                                                              
                                                                                 
select substr(object_name,1,40) object_name,substr(owner,1,15) owner,object_type 
from dba_objects                                                                 
where status='INVALID' order by owner,object_type;                               
                                                                                 
select owner,object_type,count(*)                                                
from dba_objects                                                                 
where status='INVALID'                                                           
group by owner,object_type order by owner,object_type ;                          
                                                                                 
spool off                                                                        
                                                                                 
alter package . compile;                              
alter package . compile body;                         
alter view . compile;                                    
alter trigger


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何重建/dev/cdrom 这个设备?
  • 软链接不能修改?只能删除,然后重建?
  • Sql Server 删除主键与重建主键的例子
  • make如果没有makefile文件将如何重建?
  • 红旗+winxp,winxp重装,然后红旗重建引导时说我原来的swap分区未格式化,然后就不让我建grub了,怎么弄呢?
  • 修改内核代码问题:如何编译修改的单个文件而不用重建整个内核?
  • SQL SEVER数据库重建索引的方法
  • 如何对SQL Server 重建索引
  • Android开发 旋转屏幕导致Activity重建解决方法
  • 提高SQL Server性能-重建索引
  • MySQ索引操作命令总结(创建、重建、查询和删除索引命令详解)
  • MSSQL自动重建出现碎片的索引的方法分享


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,