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> 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> 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

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


下面贴上今天的部分执行的信息:

*** 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文件尝试用这个配置的文件启动数据库也可以的

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
DBRM started with pid=5, OS id=7360 
Thu Jun 13 22:13:46 2013
PSP0 started with pid=6, OS id=648 
Thu Jun 13 22:13:46 2013
DSKM started with pid=7, OS id=7460 
Thu Jun 13 22:13:46 2013
DIA0 started with pid=8, OS id=1592 
Thu Jun 13 22:13:46 2013
MMAN started with pid=7, OS id=4512 
Thu Jun 13 22:13:46 2013
DBW0 started with pid=9, OS id=6920 
Thu Jun 13 22:13:46 2013
LGWR started with pid=10, OS id=3712 
Thu Jun 13 22:13:46 2013
CKPT started with pid=11, OS id=6512 
Thu Jun 13 22:13:46 2013
SMON started with pid=12, OS id=7992 
Thu Jun 13 22:13:46 2013
RECO started with pid=13, OS id=7056 
Thu Jun 13 22:13:46 2013
MMON started with pid=14, OS id=7844 
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
Thu Jun 13 22:13:46 2013
MMNL started with pid=15, OS id=6284 
starting up 1 shared server(s) ...
ORACLE_BASE from environment = D:\app\topwqp
Thu Jun 13 22:13:46 2013
alter database mount exclusive
Setting recovery target incarnation to 2
Successful mount of redo thread 1, with mount id 1345846942
Database mounted in Exclusive Mode
Lost write protection disabled
Completed: alter database mount exclusive
alter database open
Beginning crash recovery of 1 threads
 parallel recovery started with 3 processes
Started redo scan
Thu Jun 13 22:13:56 2013
Completed redo scan
 4095 redo blocks read, 510 data blocks need recovery
Started redo application at
 Thread 1: logseq 434, block 67636
Recovery of Online Redo Log: Thread 1 Group 2 Seq 434 Reading mem 0
  Mem# 0: D:\APP\TOPWQP\ORADATA\ORCL\REDO02.LOG
Completed redo application
Completed crash recovery at
 Thread 1: logseq 434, block 71731, scn 5101264
 510 data blocks read, 510 data blocks written, 4095 redo blocks read
Thu Jun 13 22:14:00 2013
Thread 1 advanced to log sequence 435
Thread 1 opened at log sequence 435
  Current log# 3 seq# 435 mem# 0: D:\APP\TOPWQP\ORADATA\ORCL\REDO03.LOG
Successful open of redo thread 1
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Thu Jun 13 22:14:01 2013
SMON: enabling cache recovery
Successfully onlined Undo Tablespace 2.
Verifying file header compatibility for 11g tablespace encryption..
Verifying 11g file header compatibility for tablespace encryption completed
SMON: enabling tx recovery
Database Characterset is ZHS16GBK
Opening with internal Resource Manager plan
Starting background process FBDA
Starting background process SMCO
Thu Jun 13 22:14:06 2013
FBDA started with pid=22, OS id=4524 
Thu Jun 13 22:14:06 2013
SMCO started with pid=23, OS id=6344 
Thu Jun 13 22:14:07 2013
replication_dependency_tracking turned off (no async multimaster replication found)
Starting background process QMNC
Thu Jun 13 22:14:09 2013
QMNC started with pid=25, OS id=7168 
Thu Jun 13 22:14:20 2013
db_recovery_file_dest_size of 2048 MB is 0.00% used. This is a
user-specified limit on the amount of space that will be used by this
database for recovery-related files, and does not reflect the amount of
space available in the underlying filesystem or ASM diskgroup.
Thu Jun 13 22:14:30 2013
Completed: alter database open
Thu Jun 13 22:18:50 2013
Starting background process CJQ0
Thu Jun 13 22:18:50 2013
CJQ0 started with pid=28, OS id=5912 
Setting Resource Manager plan SCHEDULER[0x2C0C]:DEFAULT_MAINTENANCE_PLAN via scheduler window
Setting Resource Manager plan DEFAULT_MAINTENANCE_PLAN via parameter
Thu Jun 13 22:19:07 2013
Thu Jun 13 22:19:07 2013
Logminer Bld: Lockdown Complete.  DB_TXN_SCN is   UnwindToSCN (LockdownSCN) is 5102149
Thu Jun 13 22:19:11 2013
Begin automatic SQL Tuning Advisor run for special tuning task  "SYS_AUTO_SQL_TUNING_TASK"
Thu Jun 13 22:20:29 2013
End automatic SQL Tuning Advisor run for special tuning task  "SYS_AUTO_SQL_TUNING_TASK"

oracle的启动参数信息如下:

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"

这些信息可以用于pfile或者spfile内容。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据库运维涉及多个方面,包括性能优化、备份和恢复、安全管理、故障排除等。下面是一些常见的Oracle数据库运维任务和建议: 1. 性能优化: - 监控数据库性能指标,如CPU利用率、内存使用情况、I/O负载等。 - 优化SQL查询,使用索引、调整查询计划等手段提高查询性能。 - 定期收集统计信息,以帮助优化查询计划。 2. 备份和恢复: - 定期进行数据库备份,包括全量备份和增量备份,以确保数据的安全性和可恢复性。 - 进行恢复测试,验证备份的可靠性,并确保可以在需要时快速恢复数据库。 3. 安全管理: - 设置强密码策略,限制访问权限,并定期更改密码。 - 使用数据库防火墙和入侵检测系统来保护数据库免受未经授权的访问和攻击。 - 定期审计数据库活动,检查异常操作和安全漏洞。 4. 故障排除: - 监控数据库错误日志和警告日志,及时发现并解决潜在问题。 - 运行诊断工具,如ADRCI、AWR报告等,以帮助分析和解决故障。 此外,还可以考虑以下一些常用的运维实践: - 定期应用数据库补丁和升级。 - 管理数据库存储空间,包括数据文件日志文件的增加和调整。 - 配置数据库备份策略,包括冷备份、热备份和逻辑备份。 - 监控数据库的容量规划,确保足够的存储空间和资源。 - 保证数据库的高可用性和容错性,如配置数据保护和灾备解决方案。 需要注意的是,Oracle数据库运维是一个广泛而复杂的领域,具体的运维任务和策略可能会因环境和需求而有所不同。建议根据实际情况进行细化和定制化的运维计划。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值