热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

快速找到跟踪其他session产生的trc文件

掌握该技术最根本的是需要搞清楚session跟踪文件存放的路径和生成跟踪文件的命名规则,不然,在已经存在成全上万trc文件的生产环

掌握该技术最根本的是需要搞清楚session跟踪文件存放的路径和生成跟踪文件的命名规则,不然,在已经存在成全上万trc文件的生产环

掌握该技术最根本的是需要搞清楚session跟踪文件存放的路径和生成跟踪文件的命名规则,不然,在已经存在成全上万trc文件的生产环境中,要想快速正确的找到跟踪其他SESSION产生的trc文件就如大海捞针。

跟踪其它session,一般是根据sid+serial#进行跟踪,但trc文件生成的名称跟SID和Serial#无关系,,只是根SPID有关系而已。

所以,搞清楚session跟踪文件存放的路径和生成跟踪文件的命名规则就非常重要了,下面来介绍一下。

1、 SESSION跟踪文件存放的路径

由数据库的user_dump_dest参数所决定,例如:

SQL> show parameter user_dump_dest

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

user_dump_dest string /dba/Oracle/diag/rdbms/litest/litest/trace

2、 SESSION跟踪文件的命名规则

“Instance_name” + “_ora_” + “spid.trc” 例如:

litest_ora_12262.trc

路径名+跟踪文件名示例即为:

/dba/oracle/diag/rdbms/litest/litest/trace/litest_ora_12262.trc

3、10046跟踪其它SID会话,寻找trc文件实例

(1)查询出目标会话的SID或SPID基本信息

A、先根据目标会话的SID查到其spid

SQL> select p.spid,s.sid,s.serial# from v$session s,v$process p where s.paddr=p.addr and s.sid=38;

SPID SID SERIAL#

------------------------ ---------- ----------

16334 38 1499

B、或者,根据目标会话的SPID查到其sid和serial#

SQL> select s.sid,s.serial#,p.spid from v$session s,v$process p where s.paddr=p.addr and p.spid=16334;

SID SERIAL# SPID

---------- ---------- ----------- -------------

38 1499 16334

从上面查询中,已经查出SID 38,Serail# 1499的SPID是16334

(2)10046跟踪目标会话(SID=38,SERIAL#=1499)

SQL> execute dbms_system.set_ev(38,1499,10046,12,'');

PL/SQL procedure successfully completed.

(3)在目标会话有产生活动信息后,根据目标会话的SPID 16334,到udump目示下寻找trc文件

[oracle@oraclelinux trace]$ pwd

/dba/oracle/diag/rdbms/litest/litest/trace

[oracle@oraclelinux trace]$ ls -l |grep 16334

-rw-r-----. 1 oracle oinstall 4703 Aug 15 13:42 litest_ora_16334.trc

-rw-r-----. 1 oracle oinstall 168 Aug 15 13:42 litest_ora_16334.trm

现在udump目录下已经找到10046跟踪SID为38的trc文件litest_ora_16334.trc,

文件的绝对路径+文件名为:/dba/oracle/diag/rdbms/litest/litest/trace/litest_ora_16334.trc

(4)最后别忘记停止对SID 38的跟踪哦

SQL> execute dbms_system.set_ev(38,1499,10046,0,'');

PL/SQL procedure successfully completed.

linux

推荐阅读
  • UMPlatForm.NET 5.1 版本数据字典管理功能解析
    本文介绍了 UMPlatForm.NET 5.1 版本中的数据字典管理模块,探讨了该模块如何支持平台的数据共享与管理,以及如何通过用户和角色权限来增强系统的安全性。 ... [详细]
  • PHP 实现实时汇率查询接口
    本文介绍如何使用PHP构建一个实时汇率查询接口,解决网站因数据源限制而无法获取最新汇率的问题。文章将详细讲解从选择合适的数据源到实现接口的具体步骤。 ... [详细]
  • 成为一名高效的Java架构师不仅需要掌握高级Java编程技巧,还需深入理解JVM的工作原理及其优化方法。此外,对池技术(包括对象池、连接池和线程池)的应用、多线程处理、集合对象的内部机制、以及常用的数据结构和算法的精通也是必不可少的。同时,熟悉Linux操作系统、TCP/IP协议栈、HTTP协议等基础知识,对于构建高效稳定的系统同样重要。 ... [详细]
  • 本文介绍了在Linux系统中如何使用不同的命令和工具来查看和检查端口状态,包括有权限和无权限情况下的操作方法。 ... [详细]
  • 本文介绍如何通过配置Linux服务器作为路由器来实现两个不同网段(192.168.1.0/24 和 192.168.2.0/24)之间的互联互通。 ... [详细]
  • Minetest 0.4.9 开源游戏在 Ubuntu 下通过 PPA 安装指南
    本文介绍了如何在 Ubuntu 系统上安装最新版本的 Minetest 0.4.9,包括添加 PPA、更新软件包列表以及安装过程,适合所有 Ubuntu 及其衍生系统的用户。 ... [详细]
  • 四月个人任务:Linux基础操作与网络管理
    本文介绍了两项主要任务:编写一个脚本来检测192.168.1.0/24子网中当前在线的IP地址,以及如何在Linux系统中挂载Windows网络共享目录。通过具体步骤和代码示例,帮助读者理解和掌握相关技能。 ... [详细]
  • Linux中使用Shell脚本获取网络配置信息
    本文提供了一组Shell命令,用于在Linux系统中提取IP地址、子网掩码、MAC地址及默认网关等关键网络配置信息。 ... [详细]
  • VS Code 中 .vscode 文件夹配置详解
    本文介绍了 VS Code 中 .vscode 文件夹下的配置文件及其作用,包括常用的预定义变量和三个关键配置文件:launch.json、tasks.json 和 c_cpp_properties.json。 ... [详细]
  • 去控件化在线文档处理,推动高效信创办公环境
    探讨在线文档处理去控件化的趋势及其对构建高效信创办公生态的影响。 ... [详细]
  • 本文详细介绍了如何在Ubuntu操作系统中安装和配置Maven,包括必要的环境准备和验证步骤。 ... [详细]
  • Mac环境下Java与Ant自动化构建环境搭建指南
    本文详细介绍了如何在Mac操作系统上为测试工程师搭建Java和Ant开发环境,包括环境变量配置等关键步骤。 ... [详细]
  • 本文详细介绍了Linux系统中的三个主要分区:启动分区、交换分区和根分区的功能与特点,以及常见的文件类型、文件搜索方法和常用符号的使用。此外,还深入解析了mkdir和rm命令的具体应用。 ... [详细]
  • 重新审视Kubernetes的必要性
    近期,我注意到不少人误以为我是Kubernetes的推广者。实际上,我只是分享了一些适合用Kubernetes解决的案例。本文旨在探讨Kubernetes的适用场景,并提供一些替代方案。 ... [详细]
  • 万事起于配置开发环境
    万事起于配置开发环境 ... [详细]
author-avatar
45度向上倾斜的世界取_872
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有