A-A+

RSM0进程引起alert日志暴增的处理过程

2013年04月24日 DG&RAC&OGG, TroubleShooting 暂无评论 阅读 1,870 次

RSM0进程引起alert日志暴增的处理过程
整体架构如下:
rac_dg1
在alert日志中不断重复出现以下修改参数的记录:

<msg time='2013-04-24T10:50:44.736+08:00' org_id='oracle' comp_id='rdbms'
 client_id='' type='UNKNOWN' level='16'
 host_id='XXX21DBRAC1' host_addr='xx.x.x.xx' module=''
 pid='31902'>
 <txt>ALTER SYSTEM SET log_archive_trace=0 SCOPE=BOTH SID=&apos;XXXdb1&apos;;
 </txt>
</msg>
<msg time='2013-04-24T10:50:44.747+08:00' org_id='oracle' comp_id='rdbms'
 client_id='' type='UNKNOWN' level='16'
 host_id='XXX21DBRAC1' host_addr='xx.x.x.xx' module=''
 pid='31902'>
 <txt>ALTER SYSTEM SET log_archive_format=&apos;%t_%s_%r.dbf&apos; SCOPE=SPFILE SID=&apos;XXXdb1&apos;;
 </txt>
</msg>
<msg time='2013-04-24T10:50:44.783+08:00' org_id='oracle' comp_id='rdbms'
 client_id='' type='UNKNOWN' level='16'
 host_id='XXX21DBRAC1' host_addr='xx.x.x.xx' module=''
 pid='31902'>
 <txt>ALTER SYSTEM SET standby_file_management=&apos;MANUAL&apos; SCOPE=BOTH SID=&apos;*&apos;;
 </txt>
</msg>
<msg time='2013-04-24T10:50:44.816+08:00' org_id='oracle' comp_id='rdbms'
 client_id='' type='UNKNOWN' level='16'
 host_id='XXX21DBRAC1' host_addr='xx.x.x.xx' module=''
 pid='31902'>
 <txt>ALTER SYSTEM SET archive_lag_target=0 SCOPE=BOTH SID=&apos;*&apos;;
 </txt>
</msg>
<msg time='2013-04-24T10:50:44.849+08:00' org_id='oracle' comp_id='rdbms'
 client_id='' type='UNKNOWN' level='16'
 host_id='XXX21DBRAC1' host_addr='xx.x.x.xx' module=''
 pid='31902'>
 <txt>ALTER SYSTEM SET log_archive_max_processes=4 SCOPE=BOTH SID=&apos;*&apos;;
 </txt>
</msg>
<msg time='2013-04-24T10:50:44.883+08:00' org_id='oracle' comp_id='rdbms'
 client_id='' type='UNKNOWN' level='16'
 host_id='XXX21DBRAC1' host_addr='xx.x.x.xx' module=''
 pid='31902'>
 <txt>ALTER SYSTEM SET log_archive_min_succeed_dest=1 SCOPE=BOTH SID=&apos;*&apos;;
 </txt>
</msg>

注意:发现都是从xx.x.x.xx自身发出的命令

根据日志文件中的pid查看进程

[oracle@XXX21DBRAC1 ~]$ ps -ef | grep 31902
oracle   18995 18966  0 12:14 pts/1    00:00:00 grep 31902
oracle   31902     1  1 Mar01 ?        18:04:30 ora_rsm0_XXXdb1

注释:
RSM0 Data Guard Broker Resource Guard Process 0 是 broker的进程
rsm(broker resource manager)负责处理broker使用的、需要在配置中的一个数据库上执行任何sql命令。
通过dgmgrl修改了配置,可能是数据库在启动过程中由broker执行的配置命令。

相关进程还有:
RSM0 Data Guard Broker Resource Guard Process 0
RSM1 Data Guard Broker Resource Guard Process 1
NSV0 Data Guard Broker NetSlave Process 0
NSV1 Data Guard Broker NetSlave Process 1
NSV2 Data Guard Broker NetSlave Process 2
NSV3 Data Guard Broker NetSlave Process 3
NSV4 Data Guard Broker NetSlave Process 4
NSV5 Data Guard Broker NetSlave Process 5
NSV6 Data Guard Broker NetSlave Process 6
NSV7 Data Guard Broker NetSlave Process 7
NSV8 Data Guard Broker NetSlave Process 8
NSV9 Data Guard Broker NetSlave Process 9
INSV Data Guard Broker INstance SlaVe Process

注意:
一旦开始使用broker就必须一直使用它修改dg的配置。
如果之后使用sql*plus修改配置,broker会将其还原或者导致broker配置和数据库配置之间不一致。
如果卸载broker,将不得不重新配置dg,以返回原始的设置。

参数:dg_broker_start=true 所有节点修改将启用broker

实际查看如下:

[oracle@XXX21DBRAC1 ~]$ ps -ef | grep nsv
oracle   26609 26568  0 13:05 pts/1    00:00:00 grep nsv
oracle   31893     1  0 Mar01 ?        00:03:25 ora_insv_XXXdb1
oracle   31900     1  0 Mar01 ?        00:11:48 ora_nsv1_XXXdb1
[oracle@XXX21DBRAC1 ~]$ cd
[oracle@XXX21DBRAC1 ~]$ 
[oracle@XXX21DBRAC1 ~]$ dgmgrl /
DGMGRL for Linux: Version 11.2.0.3.0 - 64bit Production

Copyright (c) 2000, 2009, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
Connected.
DGMGRL> show configuration

Configuration - dg2012

  Protection Mode: MaxPerformance
  Databases:
    XXXdb_p - Primary database
      Warning: ORA-16532: Data Guard broker configuration does not exist

    XXXdb_s - Physical standby database (disabled)

Fast-Start Failover: DISABLED

Configuration Status:
WARNING

节点2:

[oracle@XXX21DBRAC2 ~]$ dgmgrl /
DGMGRL for Linux: Version 11.2.0.3.0 - 64bit Production

Copyright (c) 2000, 2009, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
Connected.
DGMGRL> show configuration
ORA-16532: Data Guard broker configuration does not exist

Configuration details cannot be determined by DGMGRL

查看各节点参数设置:
节点1:

SQL> show parameter dg_

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
dg_broker_config_file1               string      /u01/app/oracle/product/11.2.0
                                                 /dbhome_1/dbs/dr1XXXDB_P.dat
dg_broker_config_file2               string      /u01/app/oracle/product/11.2.0
                                                 /dbhome_1/dbs/dr2XXXDB_P.dat
dg_broker_start                      boolean     TRUE

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
+DATA/XXXdb/datafile/system.256.788703825
+DATA/XXXdb/datafile/sysaux.257.788703825
+DATA/XXXdb/datafile/undotbs1.258.788703825
+DATA/XXXdb/datafile/users.259.788703825
+DATA/XXXdb/datafile/undotbs2.271.788704025
+DATA/XXXdb/datafile/XXX21_01.dbf
+DATA/XXXdb/datafile/XXX11_01.dbf
+DATA/XXXdb/datafile/sysaux02.dbf
+DATA/XXXdb/datafile/system02.dbf

9 rows selected.

节点2:

SQL> show parameter dg

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
dg_broker_config_file1               string      /u01/app/oracle/product/11.2.0
                                                 /dbhome_1/dbs/dr1XXXDB_P.dat
dg_broker_config_file2               string      /u01/app/oracle/product/11.2.0
                                                 /dbhome_1/dbs/dr2XXXDB_P.dat
dg_broker_start                      boolean     TRUE

说明主库启用了broker但是配置存在问题。

建议将主库所有实例参数dg_broker_start 设置为false。

标签:

给我留言

Copyright © YallonKing 保留所有权利.   Theme  Ality

用户登录

分享到: