数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
ORA-01599错误的解决方法

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

故障现象:
数据库无法启动或者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这几个参数
之间的相互作用,最好同时在两个节点上都参看一下。



相关文章

相关软件