ash停止不动无法产生报告问题解决,ash不动
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上解决。
DescriptionASH reports can take a really long to complete if the optimizer_mode parameter is set to FIRST_ROWS_N Rediscovery Notes ASH reports will take a long time to complete when optimizer_mode parameter is set to FIRST_ROWS_N Workaround None |
5、解决方法
为了不因为修改optimizer_mode参数对系统其它方面造成影响,所以选择在创建ash报告的session级别修改参数值为"all_rows"的方式,达到能成功生成ash报告的目的
|
SQL> alter session set optimizer_mode='all_rows'; SQL> @?/rdbms/admin/ashrpt.sql
......
<p /> End of Report </body></html> Report written to /home/oracle/ashrpt_1_0802_1932.html |
Ash报告生成成功。
本文作者:黎俊杰(网名:踩点),从事”系统架构、操作系统、存储设备、数据库、中间件、应用程序“六个层面系统性的性能优化工作
欢迎加入 系统性能优化专业群,共同探讨性能优化技术。群号:258187244
在Windows XP系统的运行过程中,某个程序出现非法操作或错误提示是每个电脑人都会遇到的情况。而此时,Windows XP会启动错误报告机制(Windows Error Reporting,简称WER),询问用户是否发送错误信息到微软公司,同时程序将停止运行。但你真正了解Windows 的错误报告机制吗?你又如何驾驭它呢?其实,只要解决以下2个要点,摸清“错误报告”的来龙去脉也就不是难事了。
一、错误报告 要不要发送
要不要发送?用户犯难了。要解决这个疑难,首先应该知道不同选择的各自结果是什么。
(1)选择不发送,则只要错误还存在,错误报告会再次出现。
(2)选择发送,则系统自动收集相关信息并通过Internet发送给微软公司。在报告发送完成后,如果
前其他人已经报告过类似问题,微软会提供问题的解决方法,只要单击“其他信息”的链接,就会打开相关的网页。用户根据网页上的提示进行操作,即可解决问题。
从上面的结果来看,应该选择发送,但事情并非如此简单,你明确知道在发送错误报告时系统做了些什么吗?这里必须指出,系统发送报告时,会将程序崩溃时用户正在浏览或编译的资料也发送到微软。因为错误报告搜集的数据包括错误类型、用户最近的操作、网络信息、日志文件、配置文件、内存快照及软件配置信息等,所以在不经意间许多用户的隐私信息也随着报告而一同发送到微软公司了。
小提示:目前,很多公司或个人通过Internet搜集商业秘密或个人隐私,而贸然发送错误报告极有可能将公司的秘密或隐私泄露出去。尽管绝大多数情况下泄露的信息并不十分重要,但用户还是应该培养良好的自我保护意识。
二、错误报告 如何关闭
“宁为玉碎,不求瓦全”,为维护自身的权益,宁可不解决错误也不发送报告。豪言壮语易说,但每次运行错误程序时都可能弹出的提示信息着实恼人。其实,用户可以利用技术手段驾驭错误报告的产生,方法有三。
1.选择性关闭法
(1)右击桌面上“我的电脑”,选择“属性”命令,打开“系统属性”对话框,然后单击“高级”选项卡,再单击下面的“错误报告”按钮。
(2)在“错误汇报”对话框中,勾选“禁用错误汇报”和“但在发生严重错误时通知我”复选框。最后单击“确定”按钮。这样对于一些小错误,Windows XP就不会弹出错误提示了。
2.针对性关闭法
(1)如果经常是由于某个程序出错而导致错误报告出现的话,则可以直接将该程序排除在错误报告之外。首先,按上述方法打开“错误汇报”对话框,选中“启用错误报告”。
(2)单击“选择程序”按钮,在弹出的对话框中单击“不为这些程序报告错误”下的“添加”按钮,打开“添加程序”对话框,然后输入程序的完整文件名称,如“WINWORD.EXE” 。
(3)单击“确定”按钮,则以后WORD即使出现程序错误,也不会弹出错误提示了。
3.彻底关闭法
此外,还可以彻底关闭错误报告服务。在“运行”框中输入“services.msc”命令,打开“服务”窗口,双击右侧的“Error Reporting Service”,打开“Error Reporting Service的属性”对话框,将“启动类型”改为“已禁用”(如图3),确定后重新启动系统即可。
小提示:如果读者需要查看最近的错误统计,可以选择“开始→程序→附件→系统工具→系统信息”命令,打开“系统信息”对话框,然后展开“软件环境”中的“Windows错误报告”即可。...余下全文>>
我的是HTC T328W。在购机第二天的时候,发现不能创建联系人了,手机出现”dialer已意外停止。请将此问题告知HTC“的提示,当时感觉可能是操作问题,就把手机恢复出厂设置了,问题解决。没有在意,在第四天的时候,问题又出现了,上万能的百度,发现此问题也有机友发现,但是解决的方法还是恢复出厂设置,这样手机里的资料就全没有了,很麻烦。我和HTC的客服联系,问他中止的dialer程序能不能重新启动,客服表示这是拨号程序的问题,建议我备份好联系人数据后在手机主界面-全部-设置-应用程序-所有应用程序-拨号器,选中清除拨号器数据尝试。结果没有成功,但是在我查看拨号器程序的时候突然发现下面有一个联系人的程序,而这个程序是停止的,我把他启用之后,问题解决。
自己的发现,如果有碰到这样问题的朋友,也是操作拨号器,联系人的时候提示dialer已意外停止。可以从以下几个程序入手:手机主界面-全部-设置-应用程序-所有应用程序下面1.拨号器2.拨号器储存3储存联系人信息4电话5联系人。看看这5项程序有没有意外中止,如果有的话请启用。
吴田田
[权威专家]