重庆思庄Oracle、Redhat认证学习论坛

标题: 如何处理ORA-21780:Maximum number of object durations exceeded. [打印本页]

作者: 王亮    时间: 2020-7-9 18:13
标题: 如何处理ORA-21780:Maximum number of object durations exceeded.
在11.2.0.4 RAC环境下,oracle两个节点中的alert日志,都反复在提示ORA-21780:Maximum number of object durations exceeded.的提示
如下:
Sun Jun 28 11:20:46 2020
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_smon_9425.trc:
ORA-21780: Maximum number of object durations exceeded.
Sun Jun 28 11:20:56 2020
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_smon_9425.trc:
ORA-21780: Maximum number of object durations exceeded.
Sun Jun 28 11:21:06 2020
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_smon_9425.trc:
ORA-21780: Maximum number of object durations exceeded.
Sun Jun 28 11:21:16 2020
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_smon_9425.trc:
ORA-21780: Maximum number of object durations exceeded.
Sun Jun 28 11:21:26 2020
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_smon_9425.trc:
ORA-21780: Maximum number of object durations exceeded.
Sun Jun 28 11:21:36 2020
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_smon_9425.trc:
ORA-21780: Maximum number of object durations exceeded.
Sun Jun 28 11:21:46 2020
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_smon_9425.trc:
ORA-21780: Maximum number of object durations exceeded.
Sun Jun 28 11:21:57 2020
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_smon_9425.trc:
ORA-21780: Maximum number of object durations exceeded.
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_smon_9425.trc:
ORA-21780: Maximum number of object durations exceeded.


查看对应的orcl1_smon_9425.trc文件,发现SMON信息一直在进行drop transient type,截取的内容如下:

*** 2020-06-28 11:21:16.840
SMON: following errors trapped and ignored:
ORA-21780: Maximum number of object durations exceeded.

*** 2020-06-28 11:21:26.880
         Drop transient type:   SYSTPqGZA3UOVevjgU2TwEKz/Hg==

*** 2020-06-28 11:21:26.880
SMON: following errors trapped and ignored:
ORA-21780: Maximum number of object durations exceeded.

*** 2020-06-28 11:21:36.924
         Drop transient type:   SYSTPqGZA3UOVevjgU2TwEKz/Hg==

*** 2020-06-28 11:21:36.924
SMON: following errors trapped and ignored:
ORA-21780: Maximum number of object durations exceeded.

*** 2020-06-28 11:21:46.965
         Drop transient type:   SYSTPqGZA3UOVevjgU2TwEKz/Hg==

*** 2020-06-28 11:21:46.965
SMON: following errors trapped and ignored:
ORA-21780: Maximum number of object durations exceeded.

*** 2020-06-28 11:21:57.004
         Drop transient type:   SYSTPqGZA3UOVevjgU2TwEKz/Hg==


通过MOS中的查找,这一情况命中Bug 7485772,且只在RAC环境中出现,通过这篇文章,简单地记录类似案例的两种处理方法:


方法一:
可以通过SQL语句:
select o.* from obj$ o, type$ t
where o.oid$ = t.tvoid and
bitand(t.properties,8388608) = 8388608 and (sysdate-o.ctime) > 0.0007; 查询出对应的事物信息,然后可以删除该job
语句如下:
DROP TYPE "SYSTPqGZA3UOVevjgU2TwEKz/Hg==" FORCE;


方法二:
可以通过设置事件22834来阻止SMON清除瞬态类型,如下所示。但是,这可能会导致瞬态类型增加。
操作步骤:
SQL> alter system set events '22834 trace name context forever, level 1';



System altered.


SQL> alter system set events '22834 trace name context off' ;


System altered.








欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2