Oracle常见错误诊断

日期: 2008-06-14 来源:TechTarget中国

  Oracle的这类错误在ORALCE的文档中有具体说明,但原因及措施说明不具体,本文当着重说明如何解决这类错误。
 
  1、ORA-12571、ORA-03113、ORA-03114、ORA-01041


  特征:客户端(代理或应用服务器)有时报这类断连错误


  原因:假如偶然出现一次,则可能为网络原因或用户异常中止,假如经常出现则为客户端与服务端的字符集不一致。


  措施:假如偶然出现,可在服务端的协议配置文件PROTOCOL.ORA中增加一行
 
  TCP.NODELAY=YES;


  假如经常出现,则为客户端与服务端字符集不一致或网络原因。


  客户端的字符集在注册表里定义:    HKEY__LOCAL__MACHINE/SOFTWARE/ORACLE/NLS__LANG


  在客户端注册表中的TCP参数项中设置   TCPMAXDATARETRANSMITIONS=20。
 
  2、ORA-01000


  特征:达到会话答应的最大游标数


  原因:达到会话答应的最大游标数


  措施:有两种解决方法:


  (1)在初始化文件INIT.ORA文件中增加OPEN_CURSORS的数量,一般要求大于200。
 
  (2)在应用级,与开发工具有关,例如设置MAXOPEN_CURSORS等。
 
  3、ORA-01545


  特征:某个回滚段不可用


  原因:(1)当使回滚段ONLINE时,但回滚段不可用,例如回滚段所在表空间OFFLINE;


  (2) 当使回滚段ONLINE时,但回滚段已ONLINE,例如回滚段被使用两次,典型的案例如OPS方式时,回滚段不能公有;


  (3)删除回滚段时,回滚段中有活动的事务;
 
  措施:(1)确保回滚段可
 
  (2)从初始化文件INIT.ORA的参数ROLLBACK)SEGMENTS中删除指定的回滚段。


  (3)可以将回滚段所在表空间删除,取消UNDO事务


  4、ORA-0165x


  特征:表空间没有足够的空间供分配


  原因:表空间已满;存储参数不合理,NEXT太小;没有连续的区间


  措施:假如表空间已满,则需为表空间增加文件;假如存储参数不合理,则需增加INITIAL和NEXT;假如没有连续的区间,需要合并空闲的表空间。
 
  查看空间碎片用DBA_FREE_SPACE


  5、ORA-01555


  特征:当前会话无法读到以前版本的数据


  原因:原因很多,主要原因有下列:回滚段太小、太少;回滚段冲突;交叉提交(FETCH_ACROSS)


  措施:增加回滚段数量;
 
  6、ORA-04031


  特征:共享池内存区内存不够,或产生内存碎片
 
  原因:当试图装载一个大包时或执行一个较大的存储过程时,而共享池没有连续的内存空间。
 
  措施:假如是内存不够,则增加SHARE)POOL_SIZE;


  假如是内存碎片,执行alter system flush share_pool


  7、ORA-04091


  特征:触发器工作不正常


  原因:一个行触发读取或修改变化的表(正在修改、插入)时,产生这种错误。
 
  措施:检查触发器脚本,保证引用完整性


  8、ORA-01242、ORA-01113


  特征:介质故障导致数据库宕机


  原因:介质故障。


  措施:检查硬件故障;修改dbshut脚本,将其中的STARTUP命令修改为:


  Startup open recover


  alter database open

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐