cid pid client_pid os id

To generate a trace file of the RFS process we need to implement the following:


1. In the alert log of a primary database, we find the ARC (archiver) process which was most recent to start the archiver's heartbeat. For example:

...
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
...

In this example the heartbeat archiver process is ARC6, as seen in the primary database's alert log above.


2. In the standby database we find the ID of the RFS process which is communicating with the ARC6 process on the primary. Example:

[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

In this example we found that the ARC6 process id is 415. This confirms what we have seen in the primary database's alert log ("id=415").

3. In the standby database we connect to SQLPlus as a user who can query the data dictionary view v$managed_standby. We have to find the RFS process ID corresponding with the archiver process 415. Example:

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.

In this example the PID (process ID) is 10653.


4. We have to attach to that RFS using the 'oradebug' utility and set event 10046 trace name context forever to get the SQL/waits, internal queries and other information:

SQL> oradebug setospid 10653
Oracle pid: 25, Unix process pid: 10653, image: oracle@<host machine.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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值