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 t328d 儲存電話號碼失敗時出現:“Dialer已意外停止你想發送錯誤報表給HTC?這將協助我們改進我們
我的是HTC T328W。在購機第二天的時候,發現不能建立連絡人了,手機出現”dialer已意外停止。請將此問題告知HTC“的提示,當時感覺可能是操作問題,就把手機恢復出廠預設值了,問題解決。沒有在意,在第四天的時候,問題又出現了,上萬能的百度,發現此問題也有機友發現,但是解決的方法還是恢復出廠預設值,這樣手機裡的資料就全沒有了,很麻煩。我和HTC的客服聯絡,問他中止的dialer程式能不能重新啟動,客服表示這是撥號程式的問題,建議我備份好連絡人資料後在手機主介面-全部-設定-應用程式-所有應用程式-撥號器,選中清除撥號器資料嘗試。結果沒有成功,但是在我查看撥號器程式的時候突然發現下面有一個連絡人的程式,而這個程式是停止的,我把他啟用之後,問題解決。
自己的發現,如果有碰到這樣問題的朋友,也是操作撥號器,連絡人的時候提示dialer已意外停止。可以從以下幾個程式入手:手機主介面-全部-設定-應用程式-所有應用程式下面1.撥號器2.撥號器儲存3儲存連絡人資訊4電話5連絡人。看看這5項程式有沒有意外中止,如果有的話請啟用。
吳田田[權威專家]