Ora-04023与数据库软件磁盘空间

发布时间:2020-08-06 23:51:50 作者:abstractcyj
来源:ITPUB博客 阅读:372

客户3 25 日反馈一个位于HPUX 主机的Oracle 11.2.0.4 版本的备库数据库软件所在的LV 空间使用率增长较快。最开始,我并没有意识到有多大的问题。这个备库有不少的读取业务,客户担心此问题会影响到正常业务,于是到了客户现场调查了一下。

   首先,通过统计文件夹的大小,定位到了磁盘空间占用较高的根源在于数据库的trace 目录。根据时间来排序了一下trace 文件, 发现有很多较大的文件,仅三天产生的trace 文件相比于正常时间段多了很多,达到了近70G 之多。很多trace 文件较大,至少都在10M 以上,多的有40 M ,数量也较多,多达几千个,这足以说明数据库应该存在问题。

   抽查了几个较大的trace 文件头,我注意到这些trace 文件相关的会话的module 都是一个exe (客户是个医院,很多程序是C/S 架构)。使用select sid, serial#, machine, module, terminal from v$session where module =’***.exe’ select s.sid, s.serial#, s.machine, s.module, s.terminal from v$session s, v_process p where s.module =’***.exe’ and s.paddr=p.addr 分别定位到了会话来源的主机与对应的server process 进程, 再根据进程编号找到了最近的trace 发现trace 文件还一直在刷kksfbc: entering reparse diagnosis mode for xsc:******** 之类的信息。Trace 文件末尾还记录了出错的SQL 。复制出SQL 到备库执行,果然出错,错误代码为:ORA-04023: Object could not be validated or authorized 主库执行可以得到正常的结果。这样看来,此问题最有可能是备库的bug

客户登录到刚刚找到的应用所在的主机,在应用的日志文件中发现了大量的ORA-04023 错误,最早是从3 17 日开始。根据错误搜索Oracle Support ,发现了一个相关的bug Bug 16713938 : SELECT ON VIEW FAILS WITH ORA-04023 ON ADG FROM VIEW OWNER SCHEMA 。这个bug 没有给出patch 来修复,work around 是:alter system flush shared_pool, 刷新数据库实例的共享池。这个问题,有可能是由于主库端的视图在发生了状态变更之后, 备库的shared pool 中的library cache, 没有更新以反应主库端状态的变化所导致的。

执行alter system flush shared_pool 之后,执行SQL 不再出错,再检查应用的日志,也再未看到有类似的错误。数据库的trace 文件大小也恢复了正常。

由这个诊断过程可以看出,Oracle active data guard 支持read only, 也不是一件简单的事情。备库在应用redo 的时候,怎么去刷新共享池,保证对象的状态与主库端一致,是个比较麻烦的问题。

另外, 客户应用运维也存在较大的问题。事后得知,这个应用现在没什么人用,所以即使应用端出错,没有数据也没有人关心此事。直到最终数据库出现了问题,才最终发现了应用出错的问题。

推荐阅读:
  1. mysql磁盘空间暴增
  2. Odoo与ERP传统软件有什么不同?

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ora-04023 数据库 磁盘

上一篇:Windows下的IIS7证书备份

下一篇:安装到部署 火绒安全企业新品究竟有多"简"?

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》