溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle無法收集AWR報錯ORA-13516

發布時間:2020-07-22 19:07:32 來源:網絡 閱讀:1326 作者:hbxztc 欄目:關系型數據庫

今天在看一條應用反應說執行不出來的SQL時,發現數據庫中的AWR報告沒有自動收集,最近的還停留在9月26日的,查看當前的時間是10月20日,現在有意思了,怎么會這樣的,默認的AWR是1個小時收集一次,保留8天(此數據庫版本為11.2.0.4)。

下面來檢查一下AWR的設置情況:

SQL> show parameter statistics_level

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
statistics_level                     string      TYPICAL

SQL> select * from dba_hist_wr_control;

      DBID SNAP_INTERVAL                     RETENTION                  TOPNSQL
---------- -------------------------------- --------------------------- ----------
2574787718 +00000 01:00:00.0                +00008 00:00:00.0           DEFAULT

statistics_level設置為TYPICAL:收集數據庫自動管理的所有數據。

收集間隔snap_interval為1小時,保留時間retention為8天。

這些設置都正常。

又想到AWR收集后存放在SYSAUX表空間中,是不是表空間滿了么?

TABLESPACE_NAME                SIZE_G          FREE_G          USED_PCT
------------------------------ --------------- --------------- ----------
SYSAUX                                   2.78            0.51    81.50%

可以看到有雖然SYSAUX表空間不大但也還有空間,看來也不是SYSAUX表空間的問題。

再去看最近后臺的alert日志也都是正常的日志切換內容沒有任何的報錯的信息。

既然沒有報錯,那我手動收集一下AWR總是可以的吧,于是執行下面的語句

SQL> exec dbms_workload_repository.modify_snapshot_settings(retention=>21600);
BEGIN dbms_workload_repository.modify_snapshot_settings(retention=>21600); END;

*
ERROR at line 1:
ORA-13516: AWR Operation failed: only a subset of SQL can be issued
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 174
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 222
ORA-06512: at line 1

從上面可以看到,手動收集AWR報錯,那既然有報錯信息就可以根據報錯進行處理。

先來看看這個報錯是什么意思

SQL> !oerr ora 13516
13516, 00000, "AWR Operation failed: %s"
// *Cause:  The operation failed because AWR is not available. The
//          possible causes are: AWR schema not yet created; AWR
//          not enabled; AWR schema not initialized; or database
//          not open or is running in READONLY or STANDBY mode.
// *Action: check the above conditions and retry the operation.

后面開始在MOS和百度進行搜索,MOS找到一篇文檔與這里的報錯很相似,但對應的版本10.1到10.2,與我當前的版本不一致。后來看到一篇博客介紹說到AWR是由后臺進程MMON執行的收集的,于是查看服務器上的MMON進程

SQL> !ps -ef |grep mmon
  oracle 15484  2406  1 13:24:07 pts/5     0:00 grep mmon

居然沒有!

看來MMON進程是被DOWN掉了,那又是什么時候DOWN掉的呢,又想到AWR停留在9月26日,于是去看那天的alert日志,結果有重大發現:

Oracle無法收集AWR報錯ORA-13516

看到26號那天晚上對數據庫做了shutdown操作,但很快shutdown又被取消了,這過程中MMON和MMNL進程被down了,后來數據庫一直沒有重啟過,所以MMON進程就一直也沒有啟動,于是今天的問題就被發現了。

現在找到了原因,那如何解決呢?怎么把MMON進程能夠啟起來呢?

上網查了很多,沒有找到相關的解決方法。最終的方法就是把數據庫重啟。

如果有大神知道如何在不重啟實例的情況把MMON進程啟動,希望賜教。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女