* 数据冲突。 * 逻辑冲突。 * 系统挂起。 * 性能问题。 * 系统崩溃。 * 临界功能非法。 * 内存冲突。1. 数据冲突 数据冲突包括所有块格式冲突、非法索引入口和媒介数据冲突(例如数据字典)。典型例子 是选择一个表时用户得到有关系统数据文件的O R A - 6 0 0 [ 3 3 3 9 ]错误。引起数据冲突的原因多种多样,比如,某硬件厂商的磁盘簇会引起操作系统的问题等。诊断这些问题的标准或典型的诊断操作包括:* 如果冲突是一个内部错误,收集跟踪文件(并在应用时格式化)。 * 根据冲突时间转储重做日志文件。如果无法确信究竟有多少日志文件要转储,请保存所 有的重做日志文件并咨询O S S。 * 如果有理由怀疑是操作系统问题,则要求系统管理员执行全面的硬件诊断。 * 决定问题是否常见或在指定端口。 2. 逻辑冲突 逻辑冲突是指数据出错(包括存储数据或是查询返回的数据)。尽管错误并不必需由外部返 回,将一列更新为空后还想操作表中的行,或使用不同的类型优化器时一条查询返回不同的 结果等都是逻辑冲突的例子。因为很难检测出,所以逻辑冲突的危害性非常大,数据库管理 员采取的标准诊断操作有: * 创建可再现检测的案例。 * 如果冲突是一个内部错误(如,O R A - 6 0 0 [ 1 3 0 0 4 ]错误),收集跟踪文件(并在应用时格式 化)。 * 决定问题的类属或确定端口。 3. 系统挂起 系统挂起是指用户无法注册到数据库或执行操作,也可能是指介质恢复或崩溃恢复后在 数据库一直打开时数据库挂起。比如,一个进程具有某数据结构的l a t c h,微调可能引起系统 挂起。系统挂起时的标准诊断操作如下: * 在数据库打开的情况下挂起时,设置事件并诊断是在哪一恢复阶段引起了数据库阻塞, 同时转储诊断信息(如,进行事务恢复期间u n d o段段头的微调)。如果是一个系统挂起的 情况,使用诸如O R A D B X的工具或者A LTER SESSION命令在适当的间隔对系统状态转 储。还要监测C P U和后台、前台进程的I / O活动。 * 决定问题的类属或指定端口。 * 创建可再现检测的案例。 * 如果问题仅在某个用户处经常出现,可通过调制解调器网络拨号方式与O S S联系寻求帮 助。 4. 性能问题 性能问题能分成两类。一类是在响应时间或批处理时间性能的恶化,另一种是并发处理 活动的增加引起的性能降低。这些问题解决起来通常很费时,需要耐心。响应时间慢有时可 能是由于等待库高速缓存芯片。标准诊断操作包括: * 以专门指定的形式报告性能降低,如响应时间、批处理时间、支持的并发注册数量,以 及共享池管理的有效性等。 * 如果可能,提供可再现检测案例,或提供导致性能变差的环境和因素的细节内容。如, 注册数量、内存的平均使用、典型的功能、I / O操作,以及对O R A C L E操作的动态统计 等。 * 如果问题仅在某个用户处经常出现,可通过调制解调器网络拨号方式与O S S联系寻求帮 助。 * 决定问题的类属或确定端口。 5. 系统崩溃 系统崩溃包括由于一后台进程死掉而引起的数据库崩溃。这类问题不常见,但如果是数 据库崩溃, D B A应采取以下诊断操作: * 检查警告日志文件,查看是否有O R A - 6 0 0错误出现,如果是,需要的话获取跟踪文件并 将其格式化。 * 找到用户在出现问题时正在执行的操作以及正在执行的应用程序。如果可以找出该程序, 则试着在实验机上运行,以发现问题。 * 决定问题的类属或确定端口。 6. 临界功能非法 临界功能非法是指,数据库所有功能或依赖一个大应用程序的重要特征失效。最典型的 是由数据库软件中的一个b u g,或运行于O r a c l e顶层的任何第三方软件引起的。符合此类情况 的一些例子有O r a c l e实用工具内核出错或应用程序的出错。在某种情况下,一个功能不可用, 可能会间接影响数据库的可用性。如,一个数据库正用一个完全数据库导出文件进行恢复, 并且是从几个工作不正常的磁带上导入,这就使数据库无法从产品库上重建。标准诊断操作 有: * 收集跟踪文件,依赖错误类转储相关的重做日志文件(在O S S指导下),并报告产生错误 的环境。 * 试着创建一个可再现检测的案例。 * 提供具体内容,如使用的应用工具、存取的存储结构、实施的D D L / D M L和在错误发生 期间运行的包或过程,尤其是在无法提供一个可再现检测案例时,这些信息尤其重要。 * 决定问题的类属或确定端口。 7. 内存冲突 内存冲突包括标记内存泄漏的内部错误、内存数据结构冲突和高速缓存冲突。诊断操作 包括: * 收集产生的跟踪文件。 * 如果可能提供一个可再现测试案例,或报告可能引起错误的环境,如下所述: * OCI 细节或O r a c l e工具/实用程序,以及应用程序使用的预编译器。 * 操作系统工具或用于连接应用的第三方工具。 * 应用程序触发的触发器。 * 执行的包或过程。
* 逻辑冲突。
* 系统挂起。
* 性能问题。
* 系统崩溃。
* 临界功能非法。
* 内存冲突。1. 数据冲突
数据冲突包括所有块格式冲突、非法索引入口和媒介数据冲突(例如数据字典)。典型例子
是选择一个表时用户得到有关系统数据文件的O R A - 6 0 0 [ 3 3 3 9 ]错误。引起数据冲突的原因多种多样,比如,某硬件厂商的磁盘簇会引起操作系统的问题等。诊断这些问题的标准或典型的诊断操作包括:* 如果冲突是一个内部错误,收集跟踪文件(并在应用时格式化)。
* 根据冲突时间转储重做日志文件。如果无法确信究竟有多少日志文件要转储,请保存所
有的重做日志文件并咨询O S S。
* 如果有理由怀疑是操作系统问题,则要求系统管理员执行全面的硬件诊断。
* 决定问题是否常见或在指定端口。
2. 逻辑冲突
逻辑冲突是指数据出错(包括存储数据或是查询返回的数据)。尽管错误并不必需由外部返
回,将一列更新为空后还想操作表中的行,或使用不同的类型优化器时一条查询返回不同的
结果等都是逻辑冲突的例子。因为很难检测出,所以逻辑冲突的危害性非常大,数据库管理
员采取的标准诊断操作有:
* 创建可再现检测的案例。
* 如果冲突是一个内部错误(如,O R A - 6 0 0 [ 1 3 0 0 4 ]错误),收集跟踪文件(并在应用时格式
化)。
* 决定问题的类属或确定端口。
3. 系统挂起
系统挂起是指用户无法注册到数据库或执行操作,也可能是指介质恢复或崩溃恢复后在
数据库一直打开时数据库挂起。比如,一个进程具有某数据结构的l a t c h,微调可能引起系统
挂起。系统挂起时的标准诊断操作如下:
* 在数据库打开的情况下挂起时,设置事件并诊断是在哪一恢复阶段引起了数据库阻塞,
同时转储诊断信息(如,进行事务恢复期间u n d o段段头的微调)。如果是一个系统挂起的
情况,使用诸如O R A D B X的工具或者A LTER SESSION命令在适当的间隔对系统状态转
储。还要监测C P U和后台、前台进程的I / O活动。
* 决定问题的类属或指定端口。
* 创建可再现检测的案例。
* 如果问题仅在某个用户处经常出现,可通过调制解调器网络拨号方式与O S S联系寻求帮
助。
4. 性能问题
性能问题能分成两类。一类是在响应时间或批处理时间性能的恶化,另一种是并发处理
活动的增加引起的性能降低。这些问题解决起来通常很费时,需要耐心。响应时间慢有时可
能是由于等待库高速缓存芯片。标准诊断操作包括:
* 以专门指定的形式报告性能降低,如响应时间、批处理时间、支持的并发注册数量,以
及共享池管理的有效性等。
* 如果可能,提供可再现检测案例,或提供导致性能变差的环境和因素的细节内容。如,
注册数量、内存的平均使用、典型的功能、I / O操作,以及对O R A C L E操作的动态统计
等。
* 如果问题仅在某个用户处经常出现,可通过调制解调器网络拨号方式与O S S联系寻求帮
助。
* 决定问题的类属或确定端口。
5. 系统崩溃
系统崩溃包括由于一后台进程死掉而引起的数据库崩溃。这类问题不常见,但如果是数
据库崩溃, D B A应采取以下诊断操作:
* 检查警告日志文件,查看是否有O R A - 6 0 0错误出现,如果是,需要的话获取跟踪文件并
将其格式化。
* 找到用户在出现问题时正在执行的操作以及正在执行的应用程序。如果可以找出该程序,
则试着在实验机上运行,以发现问题。
* 决定问题的类属或确定端口。
6. 临界功能非法
临界功能非法是指,数据库所有功能或依赖一个大应用程序的重要特征失效。最典型的
是由数据库软件中的一个b u g,或运行于O r a c l e顶层的任何第三方软件引起的。符合此类情况
的一些例子有O r a c l e实用工具内核出错或应用程序的出错。在某种情况下,一个功能不可用,
可能会间接影响数据库的可用性。如,一个数据库正用一个完全数据库导出文件进行恢复,
并且是从几个工作不正常的磁带上导入,这就使数据库无法从产品库上重建。标准诊断操作
有:
* 收集跟踪文件,依赖错误类转储相关的重做日志文件(在O S S指导下),并报告产生错误
的环境。
* 试着创建一个可再现检测的案例。
* 提供具体内容,如使用的应用工具、存取的存储结构、实施的D D L / D M L和在错误发生
期间运行的包或过程,尤其是在无法提供一个可再现检测案例时,这些信息尤其重要。
* 决定问题的类属或确定端口。
7. 内存冲突
内存冲突包括标记内存泄漏的内部错误、内存数据结构冲突和高速缓存冲突。诊断操作
包括:
* 收集产生的跟踪文件。
* 如果可能提供一个可再现测试案例,或报告可能引起错误的环境,如下所述:
* OCI 细节或O r a c l e工具/实用程序,以及应用程序使用的预编译器。
* 操作系统工具或用于连接应用的第三方工具。
* 应用程序触发的触发器。
* 执行的包或过程。