ITPub博客

首页 > 数据库 > Oracle > Troubleshooting High Redo Generation Issues

Troubleshooting High Redo Generation Issues

原创 Oracle 作者:hurp_oracle 时间:2014-11-12 14:01:02 0 删除 编辑
适用于:
该咱方法适合所有的版本,及所有平台。

类型:
通过产生大量redo的情况共有两类,
1.在每天的特定时间内。
2.归档突发性的增加

在这两种情况下,我们首先要做的就是检查数据库级别是否有做过修改操作(如修改参数及一些其它的运维操作)。再者就是对应用级另进行检查(是否增加了应用程序、或修改了代码、及用户的增加等)

要想定位具体原因,我们需要了解日志活动的详细信息。我们可以在问题发生时通过如下语句来收集日志活动情况的信息。
1)了解日志切换的趋势
SQL> alter session set NLS_DATE_FORMAT='DD-MON-YYYY HH24:MI:SS';

Session altered.

SQL> select trunc(first_time, 'HH') , count(*)
  2  from   v$loghist
  3  group by trunc(first_time, 'HH') 
  4  order by trunc(first_time, 'HH');


TRUNC(FIRST_TIME,'HH   COUNT(*)
-------------------- ----------
25-MAY-2008 20:00:00          1
26-MAY-2008 12:00:00          1
26-MAY-2008 13:00:00          1
27-MAY-2008 15:00:00          2
28-MAY-2008 12:00:00          1 <- Indicate 1 log switch from 12PM to 1PM.
28-MAY-2008 18:00:00          1
29-MAY-2008 11:00:00         39
29-MAY-2008 12:00:00        135
29-MAY-2008 13:00:00        126
29-MAY-2008 14:00:00        135 <- Indicate 135 log switches from 2-3 PM.
29-MAY-2008 15:00:00        112
注:我们也可以通过alert日志(通过查'Thread 1 advanced to log sequence' 信息并统计发生的次数)或awr来判断。

a) AWR Report

-- Create an AWR snapshot when you are able to reproduce the issue:
SQL> exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();
  
-- After 30 minutes, create a new snapshot:
SQL> exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT (); 

-- Now run 
$ORACLE_HOME/rdbms/admin/awrrpt.sql

 
b) Statspack Report

SQL> connect perfstat/
SQL> execute statspack.snap;

-- After 30 minutes
SQL> execute statspack.snap;
SQL> @?/rdbms/admin/spreport




来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29446986/viewspace-1329686/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: awk
请登录后发表评论 登录
全部评论

注册时间:2014-01-17

  • 博文量
    152
  • 访问量
    647370