>  기사  >  데이터 베이스  >  ash停止不动无法产生报告问题解决

ash停止不动无法产生报告问题解决

WBOY
WBOY원래의
2016-06-07 15:59:151282검색

1、数据库版本 oracle 11.2.0.3.0 2、问题现象 使用ashrpt.sql生成ash报告时,在输入完成起始时间、指定报告文件存放路径与文件名称后,静止无反应。 SQL @?/rdbms/admin/ashrpt.sql ...... Using the report name /home/oracle/ashrpt_1_0802_1932.html Sum

1、数据库版本

oracle 11.2.0.3.0

2、问题现象

使用ashrpt.sql生成ash报告时,在输入完成起始时间、指定报告文件存放路径与文件名称后,静止无反应。

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

......

Using the report name

/home/oracle/ashrpt_1_0802_1932.html

Summary of All User Input

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

Format : HTML

DB Id : 2024181297

Inst num : 1

Begin time : 02-Aug-14 19:22:34

End time : 02-Aug-14 19:32:34

Slot width : Default

Report targets : 0

Report name : /home/oracle/ashrpt_1_0802_1932.html

停在这里不动了......

3、问题分析

3.1、查看ashrpt会话在等待什么

SQL> select sid,program,event from v$session where sid=1590;

SID PROGRAM EVENT

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

1590 sqlplus@nosql1 (TNS V1-V3) control file sequential read

待待事件持续为“control filesequential read”

3.2、查看optimizer_mode参数设置值

SQL> show parameter optimizer_mode

NAME TYPE VALUE

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

optimizer_mode string FIRST_ROWS_10

发现optimizer_mode并非为默认值all_rows,而是被修改成了first_rows_10

3.3 分析初步小结

根据上面等待事件的不正常性,以及optimizer_mode被修改的值相结合,怀疑很有可能是ORACLE的BUG。

4、分析结果验证

在metalink上,查到文章13794366.8 ,确认为ORACLE 11.2.0.2、11.2.0.3上因为设置参数OPTIMIZER_MODE=FIRST_ROWS_N的BUG ,在11.2.0.4上解决。

Description

ASH reports can take a really long to complete if the optimizer_mode parameter 
is set to FIRST_ROWS_N
<strong><u>Rediscovery Notes</u></strong>
 ASH reports will take a long time to complete when optimizer_mode parameter is
 set to FIRST_ROWS_N
<strong><u>Workaround</u></strong>
 None

5、解决方法

为了不因为修改optimizer_mode参数对系统其它方面造成影响,所以选择在创建ash报告的session级别修改参数值为"all_rows"的方式,达到能成功生成ash报告的目的

SQL> alter session set optimizer_mode='all_rows';

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

......

End of Report

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.