Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

64

积分

0

好友

0

主题
1#
发表于 2012-7-4 21:13:39 | 查看: 12213| 回复: 6
生产环境RAC数据库,通过检查v$log_history,从7月2日归档日志开始异常增长,7月3日更是达到惊人200多G。分析AWR、动态性能视图和trace,主要是SMON导致。在AWR和trace可看到大量delete系统底层表的语句,每小时执行基本有16万次之多,用10046对实例2的SMON进行跟踪,里面也有大量该语句。且latchholder里redo copy等待严重。AWR里Redo size:(Per Second)=2,511,971.90,正常情况一般就几十万字节。
       7月3日晚上情况是实例1的latch:redo copy等待严重,分别对两个实例进行重启,重启后实例2 SMON的latch:redo copy严重,自然该实例redo产生极快,检查清理obj$语句,虽然在AWR里执行较慢,但单独执行时未发现异常,执行计划都较正常。
      通过logmnr挖掘归档日志,有大量如下语句出现,一个日志里有200多万个该语句。
         select * from "SYS"."OBJ$" where ROWID = 'AAAAASAACAAAZQdAA+' for update
      7月4日将实例2停掉,观察两小时看redo产生情况,之后再重启实例2观察。通过检查v$log_history,目前情况基本正常。

     附件为实例2的警告日志,v$Log_history的查询记录,以及smon trace文件等。

      问题的情况大致就是这样,烦请高手赐教此问题产生的原因,为何redo log中会产生大量的类似select * from "SYS"."OBJ$" where ROWID = 'AAAAASAACAAAZQdAA+' for update 的redo sql,不胜感激!

警告日志等.rar

1.16 MB, 下载次数: 969

2#
发表于 2012-7-4 21:19:28
系统中是否有大量的 使用 临时对象 、如临时表 使用完之后就删除?

请上传你提到的AWR

回复 只看该作者 道具 举报

3#
发表于 2012-7-4 21:24:29
QQ20120704-1.png

就上图来看 在快照时间内应当有大量的PL/SQL对象被删除,是否能确认是何种程序会定期删除大量的PL/SQL 对象。

回复 只看该作者 道具 举报

4#
发表于 2012-7-4 21:54:54
系统中有一个存储过程RUN_STICK_JOB,作为job每分钟运行一次去删除系统中已经存在了一定时间的临时表(程序运行过程中生成的且不再需要了)。

今天上午11点把该job停止后,redo log还在疯狂的生成,所以推测可能不是大量删除临时表导致问题的产生。

我们的系统自己应该没有编写过删除大量PL/SQL对象的代码。

回复 只看该作者 道具 举报

5#
发表于 2012-7-4 22:01:58
delete procedure$、setting$ 这种基表 比较明显是在删除 PL/SQL对象,

建议你保留obj$等数据字典表的副本, 若之后仍发生上述现象 通过对比可以体现是否删除了对象

回复 只看该作者 道具 举报

6#
发表于 2012-7-4 23:18:13
刚才用10046事件跟踪了alter、drop procedure语句的执行,发现都会生成delete from settings$、delete from procedure$一类的语句。但是两种情况通过logmnr查看redo log的信息,其中都不会生成类似select * from "SYS"."OBJ$" where ROWID = 'AAAAASAACAAAZQdAA+' for update的语句

当时大量删除了PL/SQL对象的话,能否请大侠通过现象梳理一下该问题?为何分别重启了实例1、2后,实例2上redo log的产生依然极快,
而之后单独停掉了实例2,单实例运行两小时后再重启,问题消失了呢?select * from "SYS"."OBJ$" where ROWID = 'AAAAASAACAAAZQdAA+' for update这样的redo sql又是为何产生的呢?

回复 只看该作者 道具 举报

7#
发表于 2012-7-5 10:49:35
你的实例中存在  大量删除PL/SQL对象的情况 =》 这将在obj$表中产生大量的废弃记录 =》 SMON会定期清理Obj$表上的废弃记录

       
了解你所不知道的SMON功能(三):清理obj$基表

http://www.oracledatabase12g.com ... n-up-obj-table.html

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-11-15 21:58 , Processed in 0.061568 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569