AWR报告获取

Oracle AWR快照管理

--当前采样快照保留策略和采集频率可以通过下面的语句进行查询,历史数据默认保留7天,并且默认每1小时收集一次.
select * from dba_hist_wr_control;
--修改为15分钟
exec dbms_workload_repository.modify_snapshot_settings(1440*8,15);

1.当前连接实例的AWR报告提取:@?/rdbms/admin/awrrpt.sql
2.RAC的其他实例AWR报告提取:@?/rdbms/admin/awrrpti.sql
3.手工生成一个快照:exec dbms_workload_repository.create_snapshot();
 
生成文件在oracle家目录下。
Oracle11.2新增GLOBAL AWR报告:@?/rdbms/admin/awrgrpt
  
AWR 导出/导入
@?/rdbms/admin/awrextr.sql
@?/rdbms/admin/awrload.sq


每隔一小时,内存监控进程(MMON)自动地采集一次统计信息,并把这些信息存放到负载库中,一次采样就是一个快照。为了节省空间,采集的数据在
7天后自动清除。快照的频率和保留时间可以由用户修改。

--查看快照的频率和保留时间(默认为每1小时采样一次,采样信息保留时间为7天)
 select * from dba_hist_wr_control;
 select DBID, SNAP_INTERVAL, SNAPINT_NUM, RETENTION from wrm$_wr_control;
 
--修改 快照的频率和保留时间(单位用分钟)
exec dbms_workload_repository.modify_snapshot_settings(interval=>60, retention=>7*24*60);

用户也可以使用下面的命令手工采样(手工生成快照):
    BEGIN  
    DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();  
    END; 
手工删除指定范围的快照
  begin
  dbms_workload_repository.drop_snapshot_range(low_snap_id => 3965, high_snap_id => 3966, dbid => 3437504306);
  end;
    
 --查看有多少个快照
 select count(1) from wrh$_active_session_history;
 select count(1) from dba_hist_active_sess_history;
 
通过查询视图DBA_HIST_SNAPSHOT,可以知道系统中产生了哪些快照。
select * from DBA_HIST_SNAPSHOT;


注意:输入报告名后回车出现 ORA-00904:: invalid identified value
解决办法:用sys用户来执行或者对用户进行授权 grant all on dbms_workload_repository to oracle;
 

<think>好的,我现在需要帮用户解决如何生成和分析Oracle AWR报告的问题。首先,我得回忆一下用户提供的引用内容,看看里面有没有相关的步骤。用户提到了引用[2],里面详细描述了生成AWR报告的步骤,包括进入特定目录运行脚本,选择格式等。另外,引用[1]和[4]也提到了AWR报告的生成命令,比如awrrpt.sql和其他相关脚本,比如awrrpti.sql用于RAC实例选择,awrddrpt用于比对报告。这些信息需要整合到回答中。 用户的需求是生成和分析AWR报告,所以我的回答需要分两部分。生成部分需要详细步骤,包括连接到数据库、运行脚本、选择快照时间范围、选择格式等。可能还需要提到不同的脚本用途,比如RAC环境下的处理,这对用户可能有帮助。分析部分则需要指出报告中哪些部分重要,比如负载概况、SQL统计、等待事件等,用户可能需要知道这些部分的作用以便进行性能调优。 还要注意用户提到的系统级指令,比如使用正确的中文回答,生成相关问题,以及引用标识。引用标识需要对应到正确的引用来源,比如生成步骤主要参考引用[2],而分析部分可能引用[3]和[4]。 另外,用户提供的示例中,问题部分需要生成相关问题,我需要根据AWR报告的主题提出相关的问题,比如生成方法、分析指标、常见性能问题、时间范围选择、RAC环境差异等。这些问题要自然相关,帮助用户进一步探索。 需要注意避免使用Markdown格式,但用户给的示例中在相关问题部分用了§§符号,不过根据用户当前的指令,可能已经调整。需要确保回答结构清晰,分步骤说明,并且语言简洁明了。可能还需要提醒用户需要sysdba权限,以及快照的生成时间间隔,这些细节是否在引用中提到?例如引用[2]提到需要以sysdba身份运行脚本,而引用[4]提到AWR自动采集数据,所以可能需要说明快照的生成机制。 最后检查是否符合所有系统级指令:行内公式是否正确(虽然这里可能用不上),独立公式是否正确,LaTeX语法正确,中文回答,生成相关问题,引用标识正确。确保每个引用只在需要的地方标注,比如生成步骤引用[2],分析部分引用[3][4],可能还有比对报告引用[1]。 总结步骤: 1. 生成AWR报告的步骤,详细说明每一步,包括脚本位置、执行方式、选项选择。 2. 分析AWR报告的关键部分,指出每个部分的重点。 3. 生成相关问题,确保覆盖生成方法、分析指标、常见问题、时间选择、RAC差异等。 4. 正确添加引用标识,每个引用只在相关部分标注。</think>### 如何生成Oracle AWR报告 #### **生成步骤** 1. **连接数据库** 使用`sysdba`权限登录数据库: ```bash sqlplus / as sysdba ``` 2. **运行生成脚本** 进入Oracle脚本目录并执行`awrrpt.sql`: ```sql @$ORACLE_HOME/rdbms/admin/awrrpt.sql ``` 根据提示选择: - **报告格式**:HTML(可读性更好)或TXT - **快照时间范围**:输入起始和结束快照ID(可通过查询`DBA_HIST_SNAPSHOT`获取)[^2] 3. **特殊场景处理** - **RAC环境**:使用`awrrpti.sql`选择特定实例[^1] - **比对报告**:使用`awrddrpt.sql`生成不同时段的性能对比报告[^1] #### **如何分析AWR报告** 1. **核心指标解读** - **负载概况**:查看`Load Profile`中的TPS、逻辑读/物理读等指标,判断系统压力[^3] - **Top等待事件**:分析`Top 5 Timed Events`,如`db file sequential read`(索引扫描)或`enq: TX - row lock contention`(锁竞争) - **SQL统计**:关注`SQL ordered by Elapsed Time`,识别高耗时SQL[^4] 2. **性能瓶颈定位** - **资源争用**:检查`Buffer Wait Statistics`和`Enqueue Activity` - **I/O问题**:查看`IO Stats`中各数据文件的读写延迟 - **配置优化**:通过`Instance Efficiency Percentages`判断缓存命中率(如Buffer Hit > 90%)[^4] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值