Oracle登录错误遭遇ORA
作者:网络转载 发布时间:[ 2016/12/13 10:38:35 ] 推荐标签:Oracle 数据库
登录Oracle数据时遇到了 ora-01033 : oracle initialization or shutdown in progress这个问题,公司服务器的数据库是ORACLE8.17i的,用vm登录把服务器上的db和API都重启了登录还是报错,然后在网上查了下ora-01033相关的资料我的解决方法具体如下:
首先,我先确定oracle服务oracle实例和监听服务是否启动,我查看时这两个服务是出于正常启动的状态,所以为了以防万一我把这两个服务重新启动了一次,再次登录还是无法登录成功;
然后,查看注册表里的oracle_sid,在HKEY_LOCAL_MACHINESOFTWAREORACLEHOMEO里没有发现ORACLE_SID,所以在我的电脑-属性-高级-环境变量里面新增了一个系统变量,新增的系统变量:变量名=oracle_sid,变量值是登录sqlplus输入的主机字符串(即tnsnames.ora文件里面配置的名称),创建好改变量后,接着登录发现问题依然存在。
接着在cmd里面使用sqlplus/nolog进行登录,
然后sql>conn sys/sys as sysdba如图:
SQL>startup 启动服务,观察启动时有无数据文件加载报错,并记住出错数据文件如图:
Oracle中出现ORA-01599错误的解决方法:
故障的具体现象现象:
Oracle数据库无法启动或者cluster系统无法切换。查看数据库日志文件$ORACLE_BASE/adminORCL/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来获得确切的回滚段个数后再去修改初始化参数。
修改init.ora,在后添加max_rollback_segments=100
日常维护:
增加回滚段时,大家需要注意max_rollback_segments和rollback_segments这几个参数之间的相互作用,好同时在两个节点上我们都能具体的看一下
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11