甲骨文重做过度诊断是怎么回事?很多新手对此不是很清楚。为了帮助大家解决这个问题,下面小编就详细讲解一下。需要的人可以从中学习,希望你能有所收获。
一、重做的过度诊断
要查找生成大量重做的会话,可以使用以下任何方法。两种方法都检查生成的撤消量。
当事务生成撤销时,它将自动生成重做。
当您需要检查大量生成的程序时,请使用第一个查询。当这些程序激活多个事务时重做。
后一个查询可用于找出哪些特定事务正在生成重做。
1)方法1(特定程序的累积重做生成)
查询V$SESS_IO,此视图包含指示的列BLOCK_CHANGES。
会话更改了多少个块?较高的值表示会话会生成大量重做。
选择s.sid,s.serial#,s.username,s.program,
i.block_changes
来自v $会话s,v $会话I
其中s.sid=i.sid
5 desc订购,1,2,3,4;
样本号序列号用户名程序块_更改
- - - - -
331 393 SYS sqlplus@orastb.bonc.com.cn(TNS V1-V3)210481
241 1 oracle@orastb.bonc.com.cn(SMON)65308
2)方法2(运行事务的重做生成量)
查询V$TRANSACTION。此视图包含撤消块和有关事务信息的撤消记录。(在USED_UBLK和USED_UREC)
选择s.sid,s.serial#,s.username,s.program,
t.used_ublk,t.used_urec
从v $会话s,v $事务t
其中s.taddr=t.addr
订单由5 desc,6 desc,1,2,3,4;
SID序列号用户名程序已使用_UBLK已使用_UREC
- - - - - -
1 227 ANDY sqlplus@orastb.bonc.com.cn(TNS V1-V3)37 2044
二、如何诊断重做生成过多。
高重做通常分为两类:
1。在一天中的特定时间。
2。档案数量的突然增加。
在这两种情况下,首先要检查的是数据库级别的任何修改(修改任何参数、执行任何维护操作,)和应用程序级别(部署新应用程序、修改代码、添加用户,).
要知道高重做的确切原因,我们需要关于重做活动和负载的详细信息。在生成高重做期间,需要收集以下信息。
1]要了解日志切换的趋势,可以使用以下查询。
SQL alter session set NLS _ DATE _ FORMAT=' DD-MON-YYYY hh 243360 mi:S ';
SQLselect trunc(first_time,' HH '),count(*)
来自v$loghist
按中继分组(第一次,‘HH’)
按trunc排序(第一次,‘HH’);
TRUNC(第一次,‘HH计数(*)
- -
2008年5月29日
2008年5月29日14:00:00 135 -从下午2-3点指示135次日志切换。
2008年5月29日
-运行以下查询,找出在任何给定时间哪些会话会生成高重做。
a10的col程序
a10的col用户名
选择to_char(sysdate,' hh34:mi ')、用户名、程序、a.sid、a.serial#、b.name、c.value
来自v $会话a,v$statname b,v$sesstat c
其中b . STATISTIC #=c . STATISTIC #
和c.sid=a.sid和b.name,如“重做大小%”
按价值排序;
阅读以上内容对你有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/84797.html