ORA-01599错误的解决方法

工作中遇到的数据库故障处理一例:

操作系统:Sun Solaris 8
双机软件: Sun Cluster 3.0
数据库:Oracle 8.1.7.3

故障现象:
数据库无法启动或者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_segments参数导致的。或者用户增加了public回滚段,同时在初始化参数中注释掉了max_rollback_segments参数也会导致这个问题。

故障处理:
可以将oracle初始化参数中的max_rollback_segments修改为大于当前所有的回滚段的总数后再重起数据库即可。如果不知道当前到底有多少回滚段,可以先将这个值设置为100再重起数据库试试。如果还报告同样的错误就再提高此值直到成功为止。当数据库启动起来以后可以通过select count(*) from dba_rollback_segs来获得确切的回滚段个数后再去修改初始化参数。

日常维护:
在增加回滚段的时候请注意max_rollback_segments和rollback_segments这几个参数之间的相互作用,最好同时在两个节点上都参看一下。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值