• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

由于回滚段参数设置存在问题导致数据库无法启动

发布: 2007-7-02 11:08 | 作者: admin | 来源: | 查看: 8次 | 进入软件测试论坛讨论

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

故障现象:
1.Oracle无法启动。
2.双机的环境一个节点或者所有点上的oracle资源组无法启动,显示为offline。
3.手工启动oracle时报告"ORA-01092: ORACLE instance terminated. Disconnection forced"错误。
4.查看$ORACLE_BASE/admin/ORCL/bdump/alert_ORCL.log,发现有ORA-01534: rollback segment RBSXXX does not exist类似的错误。

故障分析:
这个故障是由于初始化参数文件中的rollback_segments参数设置了一个并不存在的回滚段而引起的。Oracle内部有一个回滚段rollback segment的概念,它对于oracle有着非常重要的作用。回滚段有public和private两种类型,Oracle的初始化文件$ORACLE_BASE/admin/ORCL/pfile/initORCL.ora中有一个静态初始化参数rollback_segments。它包含在oracle启动时候需要online的private的回滚段的列表。如果这个参数设置了一个并不存在的回滚段会导致oracle在启动的时候报ORA-01534和ORA-01092错误,最终导致数据库无法启动,双机中的oracle资源也将无法online。如果rollback_segments在初始化参数中没有指定,那么oracle会将一部分public的回滚段online。具体online的回滚段的个数等于transactions/transactions_per_rollback_segment)。transactions和transactions_per_rollback_segment都是初始化参数文件中的静态初始化参数。在我们oss的系统中transactions=1.1*(1.1*processes+5),
transactions_per_rollback_segment=5。其中processes也是oracle的一个初始化参数,确定oracle的用户连接数,在我们oss的系统中一般为300。所以在我们的系统中如果没有指定rollback_segments,则会将73个public的回滚段online。由于在我们的系统中一般不会创建这么多回滚段,最终导致我们的系统中会将所有的public的回滚段online。

故障处理:
可以将oracle初始化参数中的rollback_segments注释掉,再重新启动数据库。如果是双机则要在两个节点上同时改变rollback_segments这个初始化参数。

日常维护:
1.平时维护初始化参数文件的时候最好用vi命令来维护;或者用ascii方式将初始化文件ftp到本地,用utlraedi修改后在用ascii方式ftp到主机系统上。千万不要te.net到主机上用拷屏的方法将初始化参数拷贝到本地再做修改,因为rollback_segments这个参数很长,直接拷贝屏幕会将这个参数分行。
2.双机的系统中初始化参数一定要同步。
3.如果将rollback_segments参数注释掉,系统只会将public的回滚段online,所以如果系统中所创建的public回滚段很少的话,oracle启动起来之后系统内将只有很少的回滚段。这会严重的影响系统的性能。因此如果要将rollback_segments参数注释掉,建议将所有的回滚段全部按照public的方式来来重新创建。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网