程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 【翻譯自mos文章】開啟dblink的oraclenettrace/tracing--對dblink進行跟蹤的方法

【翻譯自mos文章】開啟dblink的oraclenettrace/tracing--對dblink進行跟蹤的方法

編輯:Oracle教程

【翻譯自mos文章】開啟dblink的oraclenettrace/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.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved