暂无图片
ora-21779:duration not active
我来答
分享
dnxqw2019
2021-08-09
ora-21779:duration not active

Oracle 10g不定期alert提示错误信息,2节点rac,两个节点不定期报这个错误。微信图片_20210809103353.png微信图片_20210809103411.png

不打补丁有什么处理措施吗?

我来答
添加附件
收藏
分享
问题补充
9条回答
默认
最新
Quanwen Zhao

那这样的话,还是建议升级吧!毕竟10g的版本太老了。

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
朱贺

trace文件中记录是什么呢?

暂无图片 评论
暂无图片 有用 0
打赏 0
Quanwen Zhao

飞总的这篇博客文章 https://www.xifenfei.com/2020/05/ora-21779.html 应该对你有用。

暂无图片 评论
暂无图片 有用 0
打赏 0
柚子身上依

参考:
SMON: Following Errors Trapped And Ignored ORA-21779 (Doc ID 988663.1)
Receiving ORA-21780 Continuously in the Alert Log and SMON Trace Reports “Drop transient type”. (Doc ID 1081950.1)

暂无图片 评论
暂无图片 有用 0
打赏 0
dnxqw2019

2楼、3楼 说的是这个问题,我想知道除了
1)通过设置alter system set events ’22834 trace name context forever, level 1′禁止smon清理transient types,从而来规避该错误,但是可能会引起transient types对象越来越多,当然你可以通过以下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;
然后删除掉相关记录DROP TYPE “SYSTPf/r2wN4keX7gQKjA3AFMSw==” FORCE;【这个删除不是必须的】
2) flush shared_pool也可以临时规避这个问题
3) 重启数据库,可以暂时规避

这4种方法,还有打补丁外,引起这个错误的原因transient types到底是什么?
有没有彻底规避这个问题的办法?

暂无图片 评论
暂无图片 有用 0
打赏 0
Quanwen Zhao

[oracle@testserver ~]$ oerr ora 21779
21779, 00000, “duration not active”
// *Cause: User is trying to use a duration that has been terminated.
// *Action: User should avoid performing such operation.
[oracle@testserver ~]$
[oracle@testserver ~]$ oerr ora 21780
21780, 00000, “Maximum number of object durations exceeded.”
// *Cause: This typically happens if there is infinite recursion in the PL/SQL
// function that is being executed.
// *Action: User should alter the recursion condition in order to prevent
// infinite recursion.

暂无图片 评论
暂无图片 有用 0
打赏 0
dnxqw2019

有办法追踪是plsql种哪些操作引发的这个ora 21779吗

暂无图片 评论
暂无图片 有用 0
打赏 0
Quanwen Zhao

你还是按MoS的那两篇文章操作吧,文章里说那几种方法可以规避!

暂无图片 评论
暂无图片 有用 0
打赏 0
dnxqw2019

按照这几个方法处理过,过段时间又出现了。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
请问各位大佬,在oracle在oracle Release 11.2.0.1.0版本中。 用varchar 类型建表,为什么显示的是varchar2类型?
回答 1
已采纳
以前的VARCHAR类型早放弃,改用第二代,VARCHAR2
分区表的选择
回答 2
可以考虑使用组合分区,主分区按照addtime进行时间分区,子分区按照作业taskid进行list分区。
怎样理解Oracle的单块读与多块读?
回答 1
已采纳
单块读与多块读这两个概念对于掌握SQL优化非常重要,更准确地说是单块读的物理I/O次数和多块读的物理I/O次数对于掌握SQL优化非常重要。从磁盘1次读1个块到buffercache就叫做单块读,从磁盘
请问各位老大,在线重定义,有什么限制?那些场景不能使用? 查了查有的说物化视图不能使用。有没有一个官方的文档,说明在线重定义存在不能使用的情况。
回答 1
已采纳
之前有人问过这个问题,只可惜问答帖子不能收藏,不好找到那个帖子了,不过答案就在官方文档上,11g的官方文档为https://docs.oracle.com/cd/E1188201/server.112
1. 数据库切换日志的时候,为什么一定要发生检查点?这个检查点有什么意义?
回答 7
已采纳
触发dbwr的执行,dbwr会把和这个日志相关的所有脏队列写到数据文件里,缩短实例恢复所需要的时间。
oracle 12c ADG库注册catalog报错
回答 2
在主库连接到备库(adg):rmancatalogrman/rman@laaRMAN>createcatalog;成功exit主库上:rmantarget/catalogrman/rman@la
Oracle set unused 命令
回答 3
已采纳
这不就是为了减少从大表中删除列时可能出现的数据库高负载情况发生么。业务高峰时段切断生产中对列的访问而没有I/O延迟,将列标记为未使用,然后在以后非高峰时段进行物理删除。
Docker内安装Oracle19c 创建用户带#
回答 2
已采纳
C这种类型么?那是因为你创建的是容器数据库,而你是在CDB中创建用户,在CDB中创建用户必须要加C不想这样操作的话,可以创建个pdb,然后连接pdb,在pdb中创建用户,就类似在11g操作一样也可以重
Oracle应该优化哪些查询?
回答 2
已采纳
V$SQLAREA和V$SQL是很有用的视图,可以使用它们来查找性能糟糕的需要优化的SQL语句。diskreads列的值显示了系统中执行的磁盘读的次数。将这个值除以执行次数(diskreads/exe
Oracle系统块损坏,怎么格式化?
回答 1
看看这个能否帮助到你https://cloud.tencent.com/developer/news/15551