C#程序在通过ODP.NET和Oracle交互后,会在应用程序目录下生成trc文件,
文件名字诸如 ORAMTSCP3356.trc,文件内容如下:OCI Connection Pool Trace: Date - 7/14/2010 Time - 17:57:11:546
[07/14/2010-17:57:11:546][000017e4] kpntdisp::init() - entering.
[07/14/2010-17:57:11:546][000017e4] kpntdisp::init() - exiting.
[07/14/2010-17:57:50:640][000017e4] kpntsvcdeinit() - entering
[07/14/2010-17:57:50:640][000017e4] kpntsvcdeinit() - exiting
请问这个trc文件是怎么生成的?如何不让它生成此文件?

解决方案 »

  1.   

    由于你开启oracle的SQL Trace或者10046事件功能。所以产生trc文件。你可以关闭掉跟踪,就不能产生trc文件。但是不知道你用的什么跟踪手段。一、SQL Trace
    SQL_TRACE通过跟踪范围开启方式有3种:
    1. 在全局启用 
        在参数文件(pfile/spfile)中指定: SQL_TRACE = FALSE
    2. 在当前session级设置
        sqlplus用户登陆:
        alter session set SQL_TRACE=true; 
    3.跟踪其它用户进程 
         exec dbms_system.set_SQL_TRACE_in_session(9,437/*session*/,true)二、10046事件通过跟踪范围开启方式有3种:
    1. 在全局设置 
       在参数文件中增加: EVENT="10046 trace name context forever,level 12"
    2. 在当前session级设置
        sqlplus用户登陆:
        alter session set events '10046 trace name context off'; 
    3.跟踪其它用户进程 
          exec dbms_system.set_ev(9,437,10046,0,'mahanso');   你查看一下,你是那种方式开启的TRACE,采取想用的措施关闭掉。
      

  2.   


    开启oracle的SQL Trace或者10046事件功能, 是把trc文件生成到客户端的应用程序目录里么?
      

  3.   

    sqlplus / as sysdba;show parameter dump查看你的trc生成到哪里目录里面。
      

  4.   

    我这里的现象是trc文件是生成到客户端应用程序的同级目录里,但是我不想要这个文件生成
      

  5.   

    哥们,你看一下user_dump这个参数是不是设置成你现在“客户端应用程序的同级目录里”了?
      

  6.   

    连接到你的数据上,操作如下:
    sqlplus / as sysdba;show parameter user_dump测试:
    C:\Documents and Settings\Administrator>sqlplus mahanso/mahansoSQL*Plus: Release 11.1.0.6.0 - Production on 星期五 7月 16 11:04:24 2010Copyright (c) 1982, 2007, Oracle.  All rights reserved.
    连接到:
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
    With the Partitioning, Real Application Clusters, OLAP, Data Mining
    and Real Application Testing optionsSQL> set linesize 1000
    SQL> show parameter user_dumpNAME                                 TYPE                             VALUE
    ------------------------------------ -------------------------------- ------------------------------
    user_dump_dest                       string                           /opt/oracle/diag/rdbms/orcl/orcl1/trace
      

  7.   

    user_dump_dest    string   D:\ORACLE\PRODUCT\10.2.0\ADMIN\THEISDB\UDUMP这是我运行的结果,貌似这是服务器的路径吧
      

  8.   

    哥们,你看看你的数据库,是否是用spfile方式启动。sqlplus / as sysdba;show parameter spfile如果是指定文件启动方式,看一下你文件中的SQL_TRACE = FALSE(是否为false)
      

  9.   


    文件里没有 SQL_TRACE  这个参数