oracle数据库:数据文件_笔记3
3.2跟踪文件
跟踪文件(Trace file)能提供调试信息。服务器遇到问题时,它会生成一个包含大量诊断信息的跟踪文件。如果开发人员执行了DBMS_MONITOR.SESSION_TRACE_ENABLE,服务器就会生成一个包含性能相关信息的跟踪文件。我们之所以可以使用这些跟踪文件,是因为Oracle是一个允许充分测量的软件。“可测量”(instrumented)是指,编写数据库内核的程序员在内核中放入了调试代码,而且调试代码相当多。这些调试代码仍然被程序员有意留在内核中。
许多开发人员都认为调试代码会带来开销,认为系统投入生产阶段之前必须把这些调试代码去掉,希望从代码中“挤出”点滴的性能。当然,随后他们可能又会发现代码中有一个bug,或者“运行得没有应有的那么快”。此时,他们多么希望调试代码还在原处未被删掉。特别是,他们无法再向生产系统中添加调试代码,在生产环境中,新代码必须先经过测试,这可不是说添加就添加那么轻松。
Oracle数据库(以及应用服务器和Oracle应用)都是可以充分测量的。数据库中这种测量性反映在以下几方面:
.V$视图:大多数V$视图都包含“调试”信息。V$WAITSTAT、V$SESSION_EVENT还有其他许多V$视图之所以存在,就是为了让我们知道内核内部到底发生了什么。
.审计命令:利用这个命令,能指定数据库要记录哪些事件以便日后分析。
.资源管理器(DBMS_RESOURCE_MANAGER):这个特性允许对数据库中的资源(CPU、I/O等)实现微管理。正是因为数据库能访问描述资源使用情况的所有运行时统计信息,所以才可能有资源管理器。
.Oracle“事件”:基于Oracle事件,能让Oracle生成所需的跟踪或诊断信息。
.DBMS_TRACE:这是PL/SQL引擎中的一个工具、它会全面地记录存储过程的调用树、所产生的异常,以及遇到的错误。
.数据库事件触发器:这些触发器(如ON SERVERERROR)允许你监控和记录你觉得“意外”或非正常的情况。例如,可以记录发生“临时空间用尽”错误时正在运行的SQL。
.SQL_TRACE/DBMS_MONITOR:这个工具用于查看具体的SQL、等待事件以及通过运行应用生成的其他与性能/行为相关的诊断信息,还可以通过10046 Oracle事件采用一种扩展方式使用。
Oracle Database 10g将内核中的代码测量发展到一个全新的层次,引入了自动工作存储库(Automatic Workload Repository,AWR)和活动会话历史(Active Session History,ASH)特性。Oracle Database 11g则更高级,引入了自动诊断存储库(Automatic Diagnostic Repostory,ADR)和SQL性能分析工具(SQL Perforinane Analyzer,SPA)等选项。
通常有两类跟踪文件,对这两类跟踪文件的处理完全不同。
.你想要的跟踪文件:例如,启用DBMS_MONITOR.SESSION_TRACE_ENABLE选项的结果,其中包含有关会话的诊断信息,有助于你调整应用,优化应用的性能,并诊断出遭遇的瓶颈。
.你不想要的跟踪文件,但是由于出现了以下错误,服务器会自动生成这些跟踪文件。这些错误包括ORA-00600“Internal Error”(内部错误)、ORA-03113“End of file on communication channel”(通信通道上文件结束)或ORA-07445"Exception Encountered"(遇到异常)。这些跟踪文件包含一些诊断信息,它们主要对Oracle Support的分析人员有用。
3.2.1请求的跟踪文件
3.2.2针对内部错误生成的跟踪文件
http://www.52ij.com/jishu/5147.htmloracle数据库:数据文件_笔记2
本文来源 我爱IT技术网 http://www.52ij.com/jishu/5148.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
