Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 10g/11g重建AWR

如果在日常工作中遇见了AWR数据量太大,可以通过如下方式做以清除:
SQL> select distinct dbid,db_name,instance_name from wrm$_database_instance;
DBID DB_NAME   INSTANCE_NAME                                          
---------- --------- ----------------                                
2691876695 MYDB      mydb      运行如下脚本,清除AWR数据:
SQL> @? dbmsadmincatnoawr.sql
 (略)不重启的话,清空共享池
alter system flush shared_pool;运行重建AWR脚本:
SQL> @? dbmsadmincatawrtb.sql
 (略)会话已更改SQL> @? dbmsadminutlrp.sql(略) 
Oracle 11g需要需要运行如下脚本:
SQL> @? dbmsadminexecsvrm.sqlSQL> 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 <schema name>.<package_name> compile;                              
alter package <schema name>.<package_name> compile body;                         
alter view <schema name>.<view_name> compile;                                    
alter trigger <schema).<trigger_name> compile;        连接MySQL数据库出现错误解决一例如何解决DB2数据迁移中的外键约束问题相关资讯      Oracle入门教程 
  • 使用SQLT来构建Oracle测试用例  (08/28/2014 06:17:41)
  • Oracle AUTOTRACE 统计信息  (02/18/2013 08:25:40)
  • Linux Oracle服务启动&停止脚本与  (12/16/2012 14:42:37)
  • Oracle入门教程:把表和索引放在不  (07/13/2013 11:21:40)
  • Oracle直接路径加载--append的深度  (02/07/2013 08:26:36)
  • Oracle Connect By用法  (12/16/2012 13:36:10)
本文评论 查看全部评论 (0)
表情: 姓名: 字数