查看: 5203|回复: 5

11g v$process中增加了一个有用的字段tracefile!

[复制链接]
论坛徽章:
150
蓝锆石
日期:2011-11-16 22:31:22萤石
日期:2011-11-17 13:05:31祖母绿
日期:2008-06-14 15:23:26海蓝宝石
日期:2011-11-16 22:25:15紫水晶
日期:2011-11-16 22:31:22红宝石
日期:2011-10-09 08:54:30蓝锆石
日期:2009-01-31 15:20:54萤石
日期:2008-12-22 15:22:00祖母绿
日期:2011-11-17 13:13:26海蓝宝石
日期:2008-07-05 14:52:18
跳转到指定楼层
1#
发表于 2008-12-14 22:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
11g,v$process中增加了一个tracefile字段,该字段记录的是进程产生的tracefile,一个看起来不起眼的字段却给我带来了很大的方便,以前我们要确认进程所产生的trace文件需要通过下面方法:
1.首先需要知道当前的sessionid
SQL> select sid from v$mystat where rownum=1;

       SID
----------
       144
2.之后需要知道该session所对应的process address
SQL> select paddr from v$session where sid=144;

PADDR
--------
22695850
3.根据process address进一步需要知道os process(thread) id
SQL> select spid from v$process where addr='22695850';

SPID
------------------------
3960
4.当然还的需要知道trace file的格式:sid_ora_spid.trc,这里指的是服务器进程所产生的trace file,不包括后台进程,后台进程对应的trace file名格式:sid_(pmon,smon,dbwn,lgwr...)_spid.trc
5.简单的测试一下,以下面的命令生成的trace file为例
SQL> alter database backup controlfile to trace noresetlogs;

数据库已更改。
以前我们不仅需要知道session对应的spid,还得需要知道参数user_dump_dest的值
SQL> show parameter user_dump_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
user_dump_dest                       string      c:\app\wch\diag\rdbms\orcl\orc
                                                 l\trace
SQL> host
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\>cd c:\app\wch\diag\rdbms\orcl\orcl\trace
--知道了参数user_dump_dest的值之后就可以在该参数指定的目录下来寻找process(thread):spid所产生的trace file:上面的命令(alter database backup controlfile to trace noresetlogs)产生的trace file的确在user_dump_dest指定的目录下找到了。
C:\app\wch\diag\rdbms\orcl\orcl\trace>dir *3960*
驱动器 C 中的卷是 IBM_PRELOAD
卷的序列号是 5059-B9D7

C:\app\wch\diag\rdbms\orcl\orcl\trace 的目录

2008-12-14  22:05             4,136 orcl_ora_3960.trc
2008-12-14  22:05               122 orcl_ora_3960.trm
               2 个文件          4,258 字节
               0 个目录  3,021,438,976 可用字节

C:\app\wch\diag\rdbms\orcl\orcl\trace>exit

SQL> desc v$process
名称                                      是否为空? 类型
----------------------------------------- -------- ----------------------------

ADDR                                               RAW(4)
PID                                                NUMBER
SPID                                               VARCHAR2(24)
USERNAME                                           VARCHAR2(15)
SERIAL#                                            NUMBER
TERMINAL                                           VARCHAR2(16)
PROGRAM                                            VARCHAR2(64)
TRACEID                                            VARCHAR2(255)
TRACEFILE                                          VARCHAR2(513)
BACKGROUND                                         VARCHAR2(1)
LATCHWAIT                                          VARCHAR2(8)
LATCHSPIN                                          VARCHAR2(8)
PGA_USED_MEM                                       NUMBER
PGA_ALLOC_MEM                                      NUMBER
PGA_FREEABLE_MEM                                   NUMBER
PGA_MAX_MEM                                        NUMBER
--上面的查找是那么的"艰辛",再来看看11g的表现是那么的轻松:
SQL> select sid,paddr from v$session where sid=144;

       SID PADDR
---------- --------
       144 22695850

SQL> select tracefile from v$process where addr='22695850';

TRACEFILE
--------------------------------------------------------------------------------

c:\app\wch\diag\rdbms\orcl\orcl\trace\orcl_ora_3960.trc

SQL>
论坛徽章:
63
19周年集字徽章-19
日期:2020-09-23 02:43:002012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-02-18 11:42:472011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
2#
发表于 2008-12-14 22:54 | 只看该作者

这个特性确实很方便,

不过以前通过oradebug tracefile_name的方式也很方便

使用道具 举报

回复
论坛徽章:
150
蓝锆石
日期:2011-11-16 22:31:22萤石
日期:2011-11-17 13:05:31祖母绿
日期:2008-06-14 15:23:26海蓝宝石
日期:2011-11-16 22:25:15紫水晶
日期:2011-11-16 22:31:22红宝石
日期:2011-10-09 08:54:30蓝锆石
日期:2009-01-31 15:20:54萤石
日期:2008-12-22 15:22:00祖母绿
日期:2011-11-17 13:13:26海蓝宝石
日期:2008-07-05 14:52:18
3#
 楼主| 发表于 2008-12-14 23:03 | 只看该作者
原帖由 cc59 于 2008-12-14 22:54 发表

这个特性确实很方便,

不过以前通过oradebug tracefile_name的方式也很方便


使用道具 举报

回复
论坛徽章:
19
ITPUB十周年纪念徽章
日期:2011-11-01 16:26:292015年新春福章
日期:2015-03-04 14:53:16优秀写手
日期:2014-03-19 06:00:24马上有对象
日期:2014-02-18 16:44:082014年新春福章
日期:2014-02-18 16:44:08比亚迪
日期:2013-10-23 21:35:02ITPUB社区12周年站庆徽章
日期:2013-10-08 14:54:39茶鸡蛋
日期:2013-07-25 19:48:40灰彻蛋
日期:2013-05-24 09:42:412013年新春福章
日期:2013-02-25 14:51:24
4#
发表于 2012-11-6 03:23 | 只看该作者
翻出来

使用道具 举报

回复
论坛徽章:
92
2011新春纪念徽章
日期:2011-01-25 15:42:33咸鸭蛋
日期:2012-03-19 10:46:00版主1段
日期:2012-05-15 15:24:11奥运会纪念徽章:排球
日期:2012-08-29 07:02:50奥运会纪念徽章:跳水
日期:2012-09-26 06:44:27ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:42ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32奥运会纪念徽章:击剑
日期:2012-10-12 07:20:332013年新春福章
日期:2013-02-25 14:51:242012新春纪念徽章
日期:2012-02-13 15:13:20
5#
发表于 2012-11-6 14:25 | 只看该作者
这个特性确实很方便,

不过以前通过oradebug tracefile_name的方式也很方便

使用道具 举报

回复
论坛徽章:
10
授权会员
日期:2005-10-30 17:05:33秀才
日期:2016-03-24 09:10:24秀才
日期:2016-02-18 09:11:33秀才
日期:2016-01-25 14:55:312013年新春福章
日期:2013-02-25 14:51:24ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412011新春纪念徽章
日期:2011-02-18 11:43:34ITPUB元老
日期:2010-11-16 08:41:11ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51秀才
日期:2016-03-24 09:20:52
6#
发表于 2012-11-7 10:08 | 只看该作者
cc59 发表于 2008-12-14 22:54
这个特性确实很方便,

不过以前通过oradebug tracefile_name的方式也很方便

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表