【翻译自mos文章】开启dblink的 oracle net trace/tracing --对dblink进行跟踪的方法


开启dblink的 oracle net trace/tracing --对dblink进行跟踪的方法。

参考原文:
DBLINK: How to Enable Oracle Net Tracing for Database links (Doc ID 746917.1)

适用于:
Oracle Net Services - Version 9.2.0.1.0 to 11.2.0.3 [Release 9.2 to 11.2]
Information in this document applies to any platform.
***Checked for relevance on 24-JAN-2013***

解决方案:

database link 使用 Oracle Net server代码,因此当tracing(跟踪) dblink时, Oracle Net server tracing 需要被开启。在sqlnet.ora文件里添加如下的内容:
TRACE_LEVEL_SERVER     = 16
TRACE_DIRECTORY_SERVER = DIRECTORY #eg /u01/oracle/trace
TRACE_TIMESTAMP_SERVER = ON

DIAG_ADR_ENABLED=OFF # This parameter is required for version 11g onwards

以上内容需要添加在dblink被创建的那个server上。如果跟踪需要两端的dblink,那么Oracle Net server tracing 就需要在两端都开启。
如果dblink 使用的是专有服务器连接模式,跟踪会立即启动(对使用db的所有连接均生效)。对于共享服务器模式,需要将dispatcher 重启才生效。
关于共享服务器模式的信息,请参见Note 1005259.6 Shared Server (MTS) Diagnostics

为了定位dblink 生成的 Oracle Net server trace file, 请搜索dblink名称或者 使用dblink时生成的error code

sqlplus scott/tiger
SQL*Plus: Release 10.2.0.4.0 - Production on Mon Nov 3 12:33:39 2008
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning and Data Mining options

SQL> select sysdate from dual@test;

SYSDATE
---------
03-NOV-08

SQL>

cd to TRACE_DIRECTORY_SERVER  
cd $ORACLE_HOME/network/trace

查找 dblink name,使用的sql,error code等等。

grep date *.trc
svr_3229.trc:[03-NOV-2008 12:33:48:476] nsprecv: 64 61 74 65 20 66 72 6F  |date.fro|

Server 端的trace svr_3229.trc 这个文件是 session 使用dblink 时生成的。这个server 端trace 文件将会显示2个 Connection ID values.
第一个值是到本地库的初始化连接
第二个值是到远程库的连接。

grep Connection ID svr_3229.trc
[03-NOV-2008 12:33:39:915] nas_scn: Connection ID: 00c9c89d59c3
[03-NOV-2008 12:33:49:093] nas_ccn: Connection ID: 00c9d89d59f9d

到远程服务器上,以 第二个值进行搜索:
cd to TRACE_DIRECTORY_SERVER  
cd $ORACLE_HOME/network/trace

Grep the connection ID

grep 00c9d89d59f9d *.trc
svr_3243.trc:[03-NOV-2008 12:33:49:170] nas_scn: Connection ID: 00c9d89d59f9d

因此,该session匹配成功的trace文件为 svr_3229.trc and svr_3243.trc.

【翻译自mos文章】开启dblink的 oracle net trace/tracing --对dblink进行跟踪的方法

上一篇:Oracle VM VirtualBox安裝Windows 2000失败


下一篇:Mysql re-set password, mysql set encode utf8 mysql重置密码,mysql设置存储编码格式