[Oracle工程师手记]归档日志产生量太大时的简易分析手段

返回 Oracle 索引页

有些时候,Oracle 数据库产生了大量的归档日志(archive log),用户、DBA 可能都会很困惑,哪些表被写入了?如果没有什么有力的数据来辅助说明,怎么知道是 数据库自身的问题,还是用户的问题?

比较重量级的方法是,使用 logminer,来对 这个时间段产生的 archive log 进行解析。看看到底发生了什么。

其实还有一种比较轻量级的方法。我们可以对这个时间段产生的 archive log 进行dump, 然后借助 awk ,来进行排序,看看哪些 object,被频繁地记录到 archive log 中。

比如,我用这个命令,来对 arch1_77.dbf 进行 dump。

   ALTER SYSTEM DUMP LOGFILE 'u01/oracle/myhome/dbs/arch1_77.dbf';

 
dump 所得到的内容,记录到了这个 session 的 trace 文件了。

如果想要确认 trace 文件的名字,我们可以用如下的方法。

SQL>oradebug setmypid
SQL>oradebug tracefile_name

 
这样就会显示 trace file 名字。然后我们执行类似如下的名字( 假定得到的 trace 文件名字是 orcl12201_ora_3454.trc):

$ grep OBJ: orcl12201_ora_3454.trc |awk -F"OBJ:" '{print $2}'|awk '{print $1}' | sort |uniq -c |sort -n -r

 
我执行的结果如下:

-bash-4.1$ grep OBJ: orcl12201_ora_3454.trc |awk -F"OBJ:" '{print $2}'|awk '{print $1}' | sort |uniq -c |sort -n -r
 329829 73875
 319042 4294967295
     46 73854
      1 73858
      1 73857
      1 73856
      1 73853
      1 73852
      1 73850
      1 100
-bash-4.1$

 
要注意的是,这里列出来的 值,不一定有对应的 object,这一部分(比如下面的 329829 和 319042),可以忽略。就算一个数据库根本不忙,作出 dump ,也会产生同样的 这一两行。

通过上面的命令,可以发现,被记录最多的是 WRP$_REPORTS_TIME_BANDS , 接下来就要分析,为何有大量的对 WRP$_REPORTS_TIME_BANDS的写入动作(我这个只是给例子,其实还称不上大量写入),遇到具体问题时,请具体分析。

$ sqlplus / as sysdba

SQL> select object_name from dba_objects where object_id in (329829,319042);

no rows selected

SQL> select object_name from dba_objects where object_id = 73854;

OBJECT_NAME
--------------------------------------------------------------------------------
SYS_LOB0000007379C00009$$

SQL> select object_name from dba_objects where object_id = 73585;

OBJECT_NAME
--------------------------------------------------------------------------------
WRP$_REPORTS_TIME_BANDS

SQL> select object_name from dba_objects where object_id = 4294967295;

no rows selected

SQL> select object_name from dba_objects where object_id = 73875;

OBJECT_NAME
--------------------------------------------------------------------------------
TAB001

SQL>

 

返回 Oracle 索引页

posted @ 2021-04-06 20:40  健哥的数据花园  阅读(1158)  评论(0编辑  收藏  举报