oracle诊断日志,Oracle数据库诊断文件(日志)查看

Diagnostic File(诊断文件) 1:诊断文件的作用 Diagnostic files : 包含了后台遇见重大事件的信息。 被用于解析问题, 被用于

Diagnostic File(诊断文件)

1:诊断文件的作用

Diagnostic files :

包含了后台遇见重大事件的信息。

被用于解析问题,

被用于日常管理日志文件。

2:诊断文件日志的分类

分为两类:

1: alterSID.log

-----background trace files (后台进程跟踪文件)

2: trace files ---

-----user trace file (用户trace 文件)

1:对于Background trace files文件的命名:

命名方式: SID_processname_PID.trc 对应解释 SID_进程名_进程号.trc

2: 对于user trace files 的文件命名为:

SID_ora_PID.trc 解释: SID_ora_进程号.trc

3:对于 alertSID.log 说明:

这个文件是为了记录:

1:记录一些操作命令

2:记录主要事件的结果

3:以及日常的操作信息

4:被用于诊断数据库错误

每一个entry 都有一个time stamp(时间戳)和它关联

该文件必须被Oracle DBA管理

这个文件的位置在: BACKGROUND_DUMP_DEST

通过 show parameter dump 查看这个文件的位置:

这个文件中也包含数据库的启动信息相当于pfile或者spfile的内容。

用管理员登录:

2:下面是实战操作:

首先用sysdba登录后执行:

SQL> show parameter dump

NAME TYPE VALUE

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

background_core_dump string partial

background_dump_dest string d:\app\topwqp\diag\rdbms\orcl\

orcl\trace

core_dump_dest string d:\app\topwqp\diag\rdbms\orcl\

orcl\cdump

max_dump_file_size string unlimited

shadow_core_dump string none

user_dump_dest string d:\app\topwqp\diag\rdbms\orcl\

orcl\trace

可以看到这些文件的路径信息。

根据显式的信息我找到我的文件位置:

目录结构如下:

b68f6e56adef38eb358239689cc9bc8c.png

下面说一下如何才能记录信息到这些日志文件,需要一些开关,,如果不开,记录的只是

一点点信息而已:

两种方式 能够让用户tracing

1:session 级别的:

使用如下命令:

ALTER SESSSION SET SQL_TRACE = TRUE

第二种是执行如下存储过程:

dbms_system.SET_SQL_TRACE_IN_SESSION

第二个方式是 instance级别的:

设置初始化参数: SQL_TRACE = TRUE

一般采用session级别的。因为设置instance级别的容易造成log文件过大;

可以通过alterSID.log文件中的信息制作pfile 或者spfile文件启动数据库。

下面采用session级别的修改sql_trace为true即可在user_dump_dest中对应文件中看到相应的信息。

SQL> conn /as sysdba

已连接。

SQL> alter session set sql_trace = true;

会话已更改。

执行过后:查看

orcl_ora_7188.trc文件信息 PS:如果不知道哪个文件就把这个目录下的全部删除,再执行sql就会看到生成的文件:

查看这个文件信息如下:

很详细的执行信息:

比如一个语句为:select * from dual

这个文件中会生成如下信息:

*** 2013-06-13 22:58:20.776

=====================

PARSING IN CURSOR #1 len=18 dep=0 uid=0 oct=3 lid=0 tim=9184375464 hv=942515969 ad='232363f8' sqlid='a5ks9fhw2v9s1'

select * from dual

END OF STMT

PARSE #1:c=0,e=32,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=9184375458

EXEC #1:c=0,e=50,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=9184376205

FETCH #1:c=0,e=109,p=0,cr=3,cu=0,mis=0,r=1,dep=0,og=1,tim=9184376423

STAT #1 id=1 cnt=1 pid=0 pos=1 obj=115 op='TABLE ACCESS FULL DUAL (cr=3 pr=0 pw=0 time=0 us cost=2 size=2 card=1)'

FETCH #1:c=0,e=2,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=0,tim=9184376893

logo.gif

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值