oracle bucket.trc是什么trace文件

作者&投稿:邸晓 (若有异议请与网页底部的电邮联系)
oracle 11g trace 文件夹下的文件都是什么作用?谢谢~

oracle 的trace文件主要是追踪后台进程和用户进程所做的事情。先跟你说一下前台用户进程,比如你发出一个sql语句:“select * from a",如果你开启10053事件,则就会在后面生成一个trace文件,里面详细记录了你发出这条语句之后 oracle都做了些什么事情,包括采用什么连接方法等等细节,通俗地说就是把一个sql的详细的流程以trace的方式展现给你。
在说后台进程,你上面的那些trace文件都是后台进程锁生成的,不同的进程生成的trace文件就不一样,如果你弄明白了每个后台进程是干什么的,那么自然就知道他们有什么不同了。
比如那个lgwr,管理联机日志写的。smon负责实例恢复和资源整理的。等等,所以你要先明白上面每个进程都是做什么的。

trc文件是oracle的系统跟踪文件(trace), 当系统启动或运行过程中出现错误时,系统会自动记录跟踪文件到指定的目录, 以便检查问题原因。
备注:trace文件有后台进程或者服务在发生错误时产生的,每个进程或者服务会产生单独的一个trace文件,如果没用的话,可以直接删除就可以了。

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

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]
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
可以看到这些文件的路径信息。
根据显式的信息我找到我的文件位置:
目录结构如下:

下面说一下如何才能记录信息到这些日志文件,需要一些开关,如果不开,记录的只是
一点点信息而已:
两种方式 能够让用户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]
SQL> conn /as sysdba
已连接。
SQL> alter session set sql_trace = true;

会话已更改。

执行过后:查看
orcl_ora_7188.trc文件信息 PS:如果不知道哪个文件就把这个目录下的全部删除,再执行sql就会看到生成的文件:
查看这个文件信息如下:
很详细的执行信息:
比如一个语句为:select * from dual
这个文件中会生成如下信息:
[plain]
*** 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

是对这个sql的执行的详细解读分析

下面贴上今天的部分执行的信息:
[plain]
*** 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

*** 2013-06-13 23:15:15.474
=====================
PARSING IN CURSOR #1 len=289 dep=0 uid=0 oct=3 lid=0 tim=10199053291 hv=2462394820 ad='232017e0' sqlid='7cfz5wy9caaf4'
SELECT NAME
NAME_COL_PLUS_SHOW_PARAM,DECODE(TYPE,1,'boolean',2,'string',3,'integer',4,'file',5,'number',
6,'big integer', 'unknown') TYPE,DISPLAY_VALUE
VALUE_COL_PLUS_SHOW_PARAM FROM V$PARAMETER WHERE UPPER(NAME) LIKE
UPPER(:NMBIND_SHOW_OBJ) ORDER BY NAME_COL_PLUS_SHOW_PARAM,ROWNUM
END OF STMT
PARSE #1:c=0,e=438,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,tim=10199053285
=====================
PARSING IN CURSOR #2 len=210 dep=1 uid=0 oct=3 lid=0 tim=10199056088 hv=864012087 ad='29162590' sqlid='96g93hntrzjtr'
select /*+ rule */ bucket_cnt, row_cnt, cache_cnt, null_cnt,
timestamp#, sample_size, minimum, maximum, distcnt, lowval, hival,
density, col#, spare1, spare2, avgcln from hist_head$ where obj#=:1 and
intcol#=:2
END OF STMT
PARSE #2:c=0,e=568,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=3,tim=10199056084
EXEC #2:c=0,e=1024,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=3,tim=10199057412
FETCH #2:c=0,e=30,p=0,cr=2,cu=0,mis=0,r=0,dep=1,og=3,tim=10199057533
STAT #2 id=1 cnt=0 pid=0 pos=1 obj=411 op='TABLE ACCESS BY INDEX ROWID HIST_HEAD$ (cr=2 pr=0 pw=0 time=0 us)'
STAT #2 id=2 cnt=0 pid=1 pos=1 obj=413 op='INDEX RANGE SCAN I_HH_OBJ#_INTCOL# (cr=2 pr=0 pw=0 time=0 us)'
=====================
PARSING IN CURSOR #2 len=210 dep=1 uid=0 oct=3 lid=0 tim=10199057848 hv=864012087 ad='29162590' sqlid='96g93hntrzjtr'
select /*+ rule */ bucket_cnt, row_cnt, cache_cnt, null_cnt,
timestamp#, sample_size, minimum, maximum, distcnt, lowval, hival,
density, col#, spare1, spare2, avgcln from hist_head$ where obj#=:1 and
intcol#=:2
END OF STMT
EXEC #2:c=0,e=25,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=3,tim=10199057844
FETCH #2:c=0,e=13,p=0,cr=2,cu=0,mis=0,r=0,dep=1,og=3,tim=10199058128
EXEC #1:c=0,e=7034,p=0,cr=4,cu=0,mis=1,r=0,dep=0,og=1,tim=10199060756
FETCH #1:c=15600,e=13882,p=0,cr=0,cu=0,mis=0,r=1,dep=0,og=1,tim=10199075783
FETCH #1:c=0,e=21,p=0,cr=0,cu=0,mis=0,r=5,dep=0,og=1,tim=10199076326
STAT #1 id=1 cnt=6 pid=0 pos=1 obj=0 op='SORT ORDER BY (cr=0 pr=0 pw=0 time=0 us cost=2 size=2115 card=1)'
STAT #1 id=2 cnt=6 pid=1 pos=1 obj=0 op='COUNT (cr=0 pr=0 pw=0 time=8 us)'
STAT #1 id=3 cnt=6 pid=2 pos=1 obj=0 op='HASH JOIN (cr=0 pr=0 pw=0 time=6 us cost=1 size=2115 card=1)'
STAT #1 id=4 cnt=35 pid=3 pos=1 obj=0 op='FIXED TABLE FULL X$KSPPI (cr=0 pr=0 pw=0 time=70 us cost=0 size=81 card=1)'
STAT #1 id=5 cnt=1915 pid=3 pos=2 obj=0 op='FIXED TABLE FULL X$KSPPCV (cr=0 pr=0 pw=0 time=19 us cost=0 size=203400 card=100)'

关于alter_SID.log中的内容如下: 今天的:
注意这个文件中包含Oracle启动的参数信息:可以利用这些信息配置spfile或者pfile文件尝试用这个配置的文件启动数据库也可以的
[plain]
Thu Jun 13 22:13:43 2013
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 2
Using LOG_ARCHIVE_DEST_1 parameter default value as D:\app\topwqp\product\11.1.0\db_1\RDBMS
Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST
Autotune of undo retention is turned on.
IMODE=BR
ILAT =18
LICENSE_MAX_USERS = 0
SYS auditing is disabled
Starting up ORACLE RDBMS Version: 11.1.0.6.0.
Using parameter settings in server-side spfile D:\APP\TOPWQP\PRODUCT\11.1.0\DB_1\DATABASE\SPFILEORCL.ORA
System parameters with non-default values:
processes = 150
memory_target = 412M
control_files = "D:\APP\TOPWQP\ORADATA\ORCL\CONTROL01.CTL"
control_files = "D:\APP\TOPWQP\ORADATA\ORCL\CONTROL02.CTL"
control_files = "D:\APP\TOPWQP\ORADATA\ORCL\CONTROL03.CTL"
db_block_size = 8192
compatible = "11.1.0.0.0"
db_recovery_file_dest = "D:\app\topwqp\flash_recovery_area"
db_recovery_file_dest_size= 2G
fast_start_mttr_target = 0
undo_tablespace = "UNDOTBS1"
remote_login_passwordfile= "EXCLUSIVE"
db_domain = ""
dispatchers = "(PROTOCOL=TCP) (SERVICE=orclXDB)"
audit_file_dest = "D:\APP\TOPWQP\ADMIN\ORCL\ADUMP"
audit_trail = "DB"
db_name = "orcl"
open_cursors = 300
diagnostic_dest = "D:\APP\TOPWQP"
Thu Jun 13 22:13:46 2013
PMON started with pid=2, OS id=1888
Thu Jun 13 22:13:46 2013
VKTM started with pid=3, OS id=4296 at elevated priority
Thu Jun 13 22:13:46 2013
DIAG started with pid=4, OS id=6804
VKTM running at (20)ms precision
Thu Jun 13 22:13:46 2013


富顺县13290998570: ORACLE数据库TRC文件过大 -
段庄珍德: 当系统启动时或者你的运行程序有问题,才会写出来.trc来,先看看文件的内容,再看看alert.log里有什么信息,或者是不是job任务老有问题.你如果不解决问题就会大量增加.<br>建议不要关TRACE,等问题解决后增长的就不会怎么多了,可以定期维护删除

富顺县13290998570: trc文件是什么样子 -
段庄珍德: 你这个是要问什么? 我这一般见到的以.trc为后缀的文件就是 oracle数据库的后台进程在$ORACLE_BASE/admin/$ORACLE_SID/ 路径下的bdump和udump两个文件夹 第一个文件夹是后台进程的跟踪文件,同时也是存放警告日志所在的文件夹...

富顺县13290998570: oracle目录下产生大量的.trc trm文件怎么办 -
段庄珍德: trace file 主动记录给打开了吧,1、如果是实例层面的,将初始化参数文件里的sql_trace设置为false sql>alter system set sql_trace=false scope=both;修改前可以show parameter先查看一下,保证这个参数是false就行2、吐过是会话层面的 sql>alter session set sql_trace=false;

富顺县13290998570: 怎么设置Oracle数据库中不生成.trc结尾的文件 -
段庄珍德: 建议你看一下你的alert日志,不要单纯的删除.trc文件,你的数据库或者你的运行程序有问题,才会写出来.trc来.

富顺县13290998570: otdr里的trc文件怎么打开 -
段庄珍德: 安装EXFO的仿真软件,一般随机标配的光盘里面会有,如果丢了的话,留下联系方式,我可以给你发一份,建议保存成.SOR,是OTDR曲线的通用格式.

富顺县13290998570: oracle数据库的后台进程有哪些 -
段庄珍德: DBWR进程:该进程执行将缓冲区写入数据文件,是负责缓冲存储区管理的一个ORACLE后台进程.当缓冲区中的一缓冲区被修改,它被标志为“弄脏”,DBWR的主要任务是将“弄脏”的缓冲区写入磁盘,使缓冲区保持“干净”.由于缓冲存...

富顺县13290998570: oracle 数据库服务名怎么查 -
段庄珍德: 1、首先找到Net Manager. 2、打开后会看到左侧有四个按钮图标,中间的Oracle Net配置下有一个服务命名. 3、鼠标点击“服务命名”后,点击左侧的绿色加号,出现如图所示界面,输入“网络服务名”,网络服务名是自己命名的,没有硬性限制. 4、点击“下一步”后,点击TCP/IP协议,如图所示. 5、点击“下一步”,设置“服务名”,连接类型一般是“数据库默认设置”,如图所示. 6、点击“下一步”就会显示“测试”界面,代表设置已经完成,一般Oracle上默认的有sys用户和scott用户,scott用户的密码是:tiger.

富顺县13290998570: oracle服务中需要启动那几项?代表什么意思? -
段庄珍德: 注:SID - 数据库标识 HOME_NAME - Oracle Home名称,如OraHome92、OraHome81 (1)OracleServiceSID 数据库服务,这个服务会自动地启动和停止数据库.如果安装了一个数据库,它的缺省启动类型为自动.服务进程为ORACLE.EXE,...

富顺县13290998570: oracle中常用的函数有哪些?? -
段庄珍德: 常用的看你使用程度了 常用的有日期处理函数(month_between,add_months,next_day,extract...) 转换函数(to_number,to_char,to_date) 字符处理函数(substr,replace,trim,upper,lower,concat,instr...) 数学函数(我基本没用过,所以无法提供 rondom,trunc) 逻辑函数(coalesce,nvl..) 聚集函数(sum,avg,max,min)

富顺县13290998570: 把oracle数据库导出到Access数据库的工具?或方法? -
段庄珍德: 这个问题我回答过很多次了,参照下面的方法吧:How to export Oracle tables to Access1、Install an Oracle ODBC driver 2、Create a datasource based on a machine with an Oracle database 3、Select Get External data from the File menu 4、Choose Import rather than Link 5、Choose ODBC as the file type and select the datasource

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网