关于trace追踪日志的产出及查看

本文介绍了如何在Oracle数据库中生成SQL Trace日志,包括检查sql_trace参数、设置session跟踪、定位trace文件以及使用tkprof工具进行格式化和分析。详细步骤包括使用show parameter sql_trace命令、alter session命令开启跟踪,以及查询v$mystat和v$session等视图来查找文件。最后,通过tkprof工具将trace文件转换为更易读的格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.首先查看当前系统是否会产出trace文件
    show parameter sql_trace;
    若value为false,则不会产出,运行以下命令产出文件
    alter session(system) set sql_trace=true; 
    ①system跟踪整个数据库实例,所有进程都会被跟踪,包括后台进程,会导致数据库下降明显,不推荐使用
    ②session会话级跟踪,sql_trace的通常使用方式是仅跟踪一个会话
2.执行几条sql,然后开始查看文件
    文件位置一般用以下sql查询
    新方法(11g):select p.tracefile from v$mystat m, v$session s, v$process p where m.statistic#=1 and s.sid=m.sid and p.addr=s.paddr
    老方法:(select d.value||'/' || lower(rtrim(i.instance, chr(0)))|| '_ora_' || p.spid || '.trc' trace_file_name
    from (select p.spid from v$mystat m, v$session s, v$process p where m.statistic#=1 and s.sid=m.sid and p.addr=s.paddr) p, 
        ----> 获取当前会话的系统进程id
        (select t.instance from v$thread t, v$parameter v where v.name='thread' and (v.value=0 or t.thread#=to_number(v.vallue))) i, ------>获取实例包
        (select value from v$parameter where name='user_dump_dest') d  ------>获取跟踪文件主路径
    es:/oracle/produce/18.3/rdbms/log/mcam1_ora_19624.trc)
    
    找到文件后 将文件通过tkprof工具格式化
    ①先到oracle的安装目录bin文件夹下查看是否有该工具 es:/oracle/product/18.3/db_1/bin
    ②然后将文件格式化,服务器运行命令 
           tkprof .trc的路径  格式化后文件存储路径及名称 执行计划(用户名/密码) 是否打印SYS用户的操作  是否将所有相同的sql在输入文件中做合并
        es:tkprof mcam1_ora_19624.trc tk_test.prf  explain=oracle/oraclepwd sys=no aggregate=no
    格式化cat查看或者 ftp下载下来查看均可

    可根据sql_id查询相应的sql执行过程,于v$sql/V$sqlarea....取sql_id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值