- 作者: 三十而立
- 时间:2009年10月04日 5:26:18
- 本文出自 “inthirties(三十而立)”博客,转载请务必注明作者和保留出处http://blog.csdn.net/inthirties/archive/2009/10/04/4632763.aspx
Oracle是个体系庞大的体系,所以错误和bug在所难免,我们在自己的数据库管理和开发的过程中,经常碰到大大小小各种各样的问题。比如经典的3113和00600的错误,这个应该是让大家头痛也是很经典的错误问题了。其实除开类似这样的问题,大部分的问题Oracle还是对错误的提示的处理的相当的严谨和规范的,所以我们完全可以通过错误号和错误的提示信息,通过伟大的google查询出相似的解决方案的,Nike的广告,一切皆有可能,我们需要的是面对错误的勇气和解决问题的决心,耐心和恒心。 其实有很多的优秀的DBA人员,就是在不间断的自我练习和强大的面对错误的信心的下,不断的排查错误,不断的在错误中学习和归纳,最后而成为一代高手,体验是最好的老师,Oracle也固然如此,经常有一些朋友问我,你怎么这么快就找到问题了,而且马上解决叻。我回答他们的总是一句话,我以前遇过这样的错误,当时就是这样解决的。 所以,亲爱的DBA朋友,勇敢的面对错误,相信自己,将故障诊断进行到底。然后备份优先,这是DBA不可不信的信条。
这里我归纳了一些Oracle错误的方式
Oracle的错误分为好几种
数据库本身相关的 ORA-开头
操作系统相关的 OSD-开头
网络相关的的 TNS-开头
具体工具的 IMP-开头的
EXP-开头的
错误号为ORA-00600的,表示是ORACLE的内部错误, 这个错误之所以比一般错误棘手,是因为这个错误是Oracle的预留错误,类似于我们做开发的时候的Unknown Error。是我们不得知的错误,有的错误,可能是Oracle没有做这样的case处理,或者是没有发现这样的错误。所以我们经常有发现00600的错误就马上反应到是Oracle的bug,也是这个道理了。如果是Bug,我们就只有在metalink里查到相关的bug号和fixed version,有的其实不是bug,是Oracle已经测试出来了,不过是没有时间或者是没有充分的测试,已经fix这个bug了,在正式的product release的时候,不得不postpone这个问题。在小的版本里已经解决,或者是有一些隐含的参数可以避过,这样的错误,出现的时候会给出一些诊断信息,我们有时看到的ORA-00600错误后面总是会有一些参数,这些参数就是一些提示信息,就是这样的错误,所以根据这些信息我们可以在metalink或者是提供给ORACLE SUPPORT人员进行问题追踪。
下面也是来自于Oracle的错误有关的文档里的,
OPI Oracle Program Interface
KK Compilation Layer - Parse SQL, compile PL/SQL
KX Execution Layer - Bind and execute SQL and PL/SQL
K2 Distributed Execution Layer - 2PC handling
NPI Network Program Interface
KZ Security Layer - Validate privs
KQ Query Layer
RPI Recursive Program Interface
KA Access Layer
KD Data Layer
KT Transaction Layer
KC Cache Layer
KS Services Layer
KJ Lock Manager Layer
KG Generic Layer
KV Kernel Variables (eg. x$KVIS and X$KVII)
S or ODS Operating System Dependencies
这里的这些东东,看起来,大家也应该可以感觉的出来是Oracle里的一些模块,这是Oracle kernel里的一些系统模块,当我们出现错误的时候,他们可以告诉我们大致错误来自于哪里,对我们的问题排查也有一定的帮助。
当然,Oracle自己的开发人员都不知道有多少Bug,所以我们也不可能解决所以的问题了,要是这样的话Oracle的Serive部门也没有事情干了,如果00600这样的错误,你可以尽量先根据其提示查询相关的升级信息和metalink饿信息。 如果别无他方,也自有求助于我们的Oracle服务人员和Service部门了。不过这时候你也不会有什么遗憾留下叻,毕竟你已经全部努力叻。你已经将你的爱情进行到底叻。
- 三十而立 想流泪,流不出;想说苦,欲说还休
- 专业论坛 http://www.inthirties.com
- 技术博客 http://blog.csdn.net/inthirties
- 个人站点 http://blog.inthirties.com
- 如果没有那句“三十而立”,三十岁的男人正可以轻轻松松
- 专业论坛 http://www.inthirties.com
- 技术博客 http://blog.csdn.net/inthirties
- 个人站点 http://blog.inthirties.com
- Oracle Mysql技术论坛| 打造实用的Oracle Mysql技术交流园地