Oracle无法收集AWR报错ORA-13516

简介:

今天在看一条应用反应说执行不出来的SQL时,发现数据库中的AWR报告没有自动收集,最近的还停留在9月26日的,查看当前的时间是10月20日,现在有意思了,怎么会这样的,默认的AWR是1个小时收集一次,保留8天(此数据库版本为11.2.0.4)。

下面来检查一下AWR的设置情况:

1
2
3
4
5
6
7
8
9
10
11
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表空间中,是不是表空间满了么?

1
2
3
TABLESPACE_NAME                SIZE_G          FREE_G          USED_PCT
------------------------------ --------------- --------------- ----------
SYSAUX                                   2.78            0.51    81.50%

可以看到有虽然SYSAUX表空间不大但也还有空间,看来也不是SYSAUX表空间的问题。

再去看最近后台的alert日志也都是正常的日志切换内容没有任何的报错的信息。

既然没有报错,那我手动收集一下AWR总是可以的吧,于是执行下面的语句

1
2
3
4
5
6
7
8
9
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报错,那既然有报错信息就可以根据报错进行处理。

先来看看这个报错是什么意思

1
2
3
4
5
6
7
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进程

1
2
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日志,结果有重大发现:

8e4f173e7d678f172e660470c07c0d69.png

看到26号那天晚上对数据库做了shutdown操作,但很快shutdown又被取消了,这过程中MMON和MMNL进程被down了,后来数据库一直没有重启过,所以MMON进程就一直也没有启动,于是今天的问题就被发现了。

现在找到了原因,那如何解决呢?怎么把MMON进程能够启起来呢?

上网查了很多,没有找到相关的解决方法。最终的方法就是把数据库重启。

如果有大神知道如何在不重启实例的情况把MMON进程启动,希望赐教。





      本文转自hbxztc 51CTO博客,原文链接:http://blog.51cto.com/hbxztc/1974643,如需转载请自行联系原作者






相关文章
|
7月前
|
Oracle 关系型数据库 Java
实时计算 Flink版操作报错之读取Oracle数据库时遇到找不到驱动,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
实时计算 Flink版操作报错之读取Oracle数据库时遇到找不到驱动,是什么原因
|
7月前
|
Oracle 关系型数据库 Java
实时计算 Flink版操作报错之报错:Caused by: oracle.jdbc.OracleDatabaseException: ORA-01291如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
7月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版操作报错之遇到报错 Oracle 19C,如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
7月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版操作报错之使用oracle-cdc的,遇到错误:ORA-01292: no log file has been specified for the current LogMiner session,该如何处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
7月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版操作报错合集之写Oracle时出现的缺失等号错误如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
73 9
|
7月前
|
消息中间件 Oracle 关系型数据库
实时计算 Flink版操作报错之同步Oracle时出现主题为空的报错该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
6月前
|
资源调度 Oracle 关系型数据库
实时计算 Flink版产品使用问题之同步oracle表时,任务不报错,但是读不到数据,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
7月前
|
存储 NoSQL 关系型数据库
实时计算 Flink版操作报错之抽取Oracle11g时,报错: "Retrieve schema history failed, the schema records for engine ... has been removed",怎么处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
7月前
|
消息中间件 Oracle 关系型数据库
实时计算 Flink版操作报错合集之在连接Oracle 19c时报错如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
124 0
|
7月前
|
Oracle 关系型数据库 数据库
实时计算 Flink版操作报错合集之flink cdc xstream采集oracle报错如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
84 0