中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > 数据库综合
由于回滚段参数设置存在问题导致数据库无法启动
作者:未知 时间:2004-09-24 12:12 出处:Blog 责编:chinaitpower
              摘要:暂无
操作系统: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到主机系统上。千万不要telnet到主机上用拷屏的方法将初始化参数拷贝到本地再做修改,因为rollback_segments这个参数很长,直接拷贝屏幕会将这个参数分行。
2.双机的系统中初始化参数一定要同步。
3.如果将rollback_segments参数注释掉,系统只会将public的回滚段online,所以如果系统中所创建的public回滚段很少的话,oracle启动起来之后系统内将只有很少的回滚段。这会严重的影响系统的性能。因此如果要将rollback_segments参数注释掉,建议将所有的回滚段全部按照public的方式来来重新创建。
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有