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
oracle 11.2.0.3.0
使用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 停在這里不動了...... |
SQL> select sid,program,event from v$session where sid=1590; SID PROGRAM EVENT ----------------------------------------------------------------------------------------------------- 1590 sqlplus@nosql1 (TNS V1-V3) control file sequential read |
SQL> show parameter optimizer_mode NAME TYPE VALUE -------------------------------------------------------------------------------------------------- optimizer_mode string FIRST_ROWS_10 |
發現optimizer_mode并非為默認值all_rows,而是被修改成了first_rows_10
根據上面等待事件的不正常性,以及optimizer_mode被修改的值相結合,懷疑很有可能是ORACLE的BUG。
在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 |
為了不因為修改optimizer_mode參數對系統其它方面造成影響,所以選擇在創建ash報告的session級別修改參數值為"all_rows"的方式,達到能成功生成ash報告的目的
SQL> alter session set optimizer_mode='all_rows'; SQL> @?/rdbms/admin/ashrpt.sql ......
End of Report |