您的位置:首页 > 其它

【翻译自mos文章】在物理dg中对RFS进程进行trace的方法

2015-09-06 22:30 375 查看
在物理dg中对RFS进程进行trace的方法

来源于:

How To Trace The Remote File Server (RFS) Process In Physical Standby Database (文档 ID 1481125.1)

适用于:

Oracle Database - Enterprise Edition - Version 10.1.0.2 to 11.2.0.2.0 [Release 10.1 to 11.2]

Information in this document applies to any platform.

***Checked for relevance on 5-Aug-2014***

目标:

目标是对物理dg中的Remote File Server(RFS)进程进行trace

Remote File Server(RFS)进程写redo data 到standby database中的standby redo log file中。

生成RFS进程的trace可能是有用的,比如为了诊断standby database上的disk io问题(Doc ID 1481124.1)

解决方案:

为了生成RFS中的trace file,我们需要做如下:

1. 在主库的alert日志中,我们需要找到最近启动归档器心跳的归档进程,例如:

...
Using STANDBY_ARCHIVE_DEST parameter default value as USE_DB_RECOVERY_FILE_DEST
...
ARC6 started with pid=42, OS id=415
...
Thu Jun 14 13:08:02 EST 2012
ARC6: Becoming the heartbeat ARCH
...

在本例子中,如上所示,心跳归档器进程是ARC6。

2.在备库上,我们需要找到与主库上ARC6进程通讯的RFS进程的ID,例如:

[yourmachine ~]$ ps -ef | grep arc
oracle 5352 1 0 Jul25 ? 00:00:00 ora_arc0_dg112i1
oracle 5356 1 0 Jul25 ? 00:00:00 ora_arc1_dg112i1
oracle 5358 1 0 Jul25 ? 00:00:08 ora_arc2_dg112i1
oracle 5360 1 0 Jul25 ? 00:00:00 ora_arc3_dg112i1
oracle 5357 1 0 Jul25 ? 00:00:00 ora_arc4_dg112i1
oracle 5359 1 0 Jul25 ? 00:00:08 ora_arc5_dg112i1
oracle 415 1 0 Jul25 ? 00:00:00 ora_arc6_dg112i1

在本例子中,我们会发现arch6进程的操作系统进程ID是415。这也确认了在主库alert日志中我们所看到的(id=415)

3.在备库上,以能查询v$managed_standby数据字典视图的user登陆sqlplus。我们会发现与归档器进程415相匹配的RFS进程id

SQL> select process,pid,client_pid from v$managed_standby;

PROCESS PID CLIENT_PID
--------- ---------- ----------------------------------------
ARCH 10451 10451
ARCH 10453 10453
ARCH 10455 10455
ARCH 10457 10457
RFS 10627 5358
RFS 10597 6201
RFS 10601 23000
RFS 10653 415 <---
RFS 10529 1193
RFS 10603 5360
MRP0 10643 N/A

11 rows selected.


4.使用oradebug命令attach 到RFS中,并设置10046以获得sql/waits,internal queries和其他信息。

SQL> oradebug setospid 10653
Oracle pid: 25, Unix process pid: 10653, image: oracle@yourmachine.com (ARC6)
SQL> oradebug unlimit
Statement processed.
SQL> oradebug event 10046 trace name context forever, level 12;
Statement processed.
SQL> -- Keep tracing for some time while the problem is occurring
SQL> -- as required by Oracle Support.
SQL> -- To stop tracing:
SQL> oradebug event 10046 trace name context off;
Statement processed.
SQL>


5.最后一步是在诊断目录下,找到新生成的trace file。文件名由 database SID组成。举例:MYDBASE_arc6_415.trc

请上传该file给sr。If diagnosing defect defect 9695805 please refer to Doc ID 1481124.1.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: