ORA-01599错误的解决方法

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

故障现象:

数据库无法启动或者cluster系统无法切换。查看数据库日志文件$Oracle_BASE/admin

ORCL/bdump/alert_ORCL.log有类似于ORA-01599: failed to acquire rollback

segment (49), cache space is full (currently has (48) entries) Error 1599

happened during db open, shutting down database类似的错误信息。

故障分析:

Orale存在一个初始化参数max_rollback_segments它代表了同时能够online的回滚段

的个数。它的缺省值是max(30,TRANSACTIONS/TRANSACTIONS_PER_ROLLBACK_SEGMENT)

。当初始化参数中指定(通过rollback_segments参数)或者缺省online的回滚段个数

超过max_rollback_segments这个参数后数据库就无法启动。这个错误往往是由于用户

在增加了回滚段之后只是修改了rollback_segments参数但没有修改max_rollback_se

gments参数导致的。或者用户增加了public回滚段,同时在初始化参数中注释掉了max

_rollback_segments参数也会导致这个问题。

故障处理:

可以将oracle初始化参数中的max_rollback_segments修改为大于当前所有的回滚段的

总数后再重起数据库即可。假如不知道当前到底有多少回滚段,可以先将这个值设置

为100再重起数据库试试。假如还报告同样的错误就再提高此值直到成功为止。当数据

库启动起来以后可以通过select count(*) from dba_rollback_segs来获得确切的回

滚段个数后再去修改初始化参数。

日常维护:

在增加回滚段的时候请注重max_rollback_segments和rollback_segments这几个参数

之间的相互作用,最好同时在两个节点上都参看一下。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航