sga_max_size设置过大导致ORALCE无法启动ORA-27100解决办法
2011-08-26 09:25
447 查看
服务器环境:32位WINDOWS SERVER 2003旗舰版、16G内存、ORACLE10.1.0.2
由于系统内存16G,于是将ORACLE的SGA_MAX_SIZE设置为2G,结果重启数据库时报错:ORA-27100shared memory realm already exists原来是32位操作系统对SGA_MAX_SIZE大小有1.7G限制,超过限制就会报错。
解决办法:
1、>create pfile from spfile;
通过当前spfile创建pfile.
注意:pfile:文本文件,可以编辑,可以通过spfile创建;
spfile:二进制文件,只有通过create spfile from pfile方式创建,无法编辑。
NT平台下,默认的spfile位于$ORACLE_HOME\database,名称通常为SPFILE+$ORACLE_SID.ORA;
pfile默认生成路径同上,名称通常为INIT+$ORACLE_SID.ORA;
2、手工修改创建的pfile文件,将sga_max_size修改为较小的值,不要超过1.7G(注:pfile中是字节);
3、>startup pfile='pfile的绝对路径' 强制oracle从指定的pfile文件启动。
因为windows平台下,oracle服务强制跟随系统服务启动,这种情况下即使shutdown,oracle并没有完全关闭。而如果服务不开启,则无法通过sqlplus /nolog ;conn /as sysdba启动。
所以启动数据库依然提示ORA-27100: shared memory realm already exists
ORA- 27100往往是你在不正确的更改了ORACLE实例参数后,并将其永久保存到SPFILE后,重启ORACLE服务时,ORACLE会以这个不正确的 SPFILE来启动实例,虽然可能不会成功装载和打开数据库,但启动WINDOWS的服务:OracleServiceSID肯定会启动ORACLE实例,也就是说会分配SHAREMEMORY REALM(尽管ORACLE数据库没有启动),这时,你连接ORACLE,肯定是不成功的。当你试图用SQLPLUS登进去,发布STARUP
时,ORA-27100就出来了。而当你发布SHUTDOWN时,因为ORACLE没有正确的启动,所以也不能成功关闭。
解决办法:关闭ORACLE服务,删除数据库的spfile文件,用新的正确的pfile启动后,再生成新的spfile;
4、startup pfile=''
createspfile from pfile='' (数据库启动默认SPFILE启动)
shutdownimmediate;
startup;(此处调用SPFILE)数据库OPEN 成功!
由于系统内存16G,于是将ORACLE的SGA_MAX_SIZE设置为2G,结果重启数据库时报错:ORA-27100shared memory realm already exists原来是32位操作系统对SGA_MAX_SIZE大小有1.7G限制,超过限制就会报错。
解决办法:
1、>create pfile from spfile;
通过当前spfile创建pfile.
注意:pfile:文本文件,可以编辑,可以通过spfile创建;
spfile:二进制文件,只有通过create spfile from pfile方式创建,无法编辑。
NT平台下,默认的spfile位于$ORACLE_HOME\database,名称通常为SPFILE+$ORACLE_SID.ORA;
pfile默认生成路径同上,名称通常为INIT+$ORACLE_SID.ORA;
2、手工修改创建的pfile文件,将sga_max_size修改为较小的值,不要超过1.7G(注:pfile中是字节);
3、>startup pfile='pfile的绝对路径' 强制oracle从指定的pfile文件启动。
因为windows平台下,oracle服务强制跟随系统服务启动,这种情况下即使shutdown,oracle并没有完全关闭。而如果服务不开启,则无法通过sqlplus /nolog ;conn /as sysdba启动。
所以启动数据库依然提示ORA-27100: shared memory realm already exists
ORA- 27100往往是你在不正确的更改了ORACLE实例参数后,并将其永久保存到SPFILE后,重启ORACLE服务时,ORACLE会以这个不正确的 SPFILE来启动实例,虽然可能不会成功装载和打开数据库,但启动WINDOWS的服务:OracleServiceSID肯定会启动ORACLE实例,也就是说会分配SHAREMEMORY REALM(尽管ORACLE数据库没有启动),这时,你连接ORACLE,肯定是不成功的。当你试图用SQLPLUS登进去,发布STARUP
时,ORA-27100就出来了。而当你发布SHUTDOWN时,因为ORACLE没有正确的启动,所以也不能成功关闭。
解决办法:关闭ORACLE服务,删除数据库的spfile文件,用新的正确的pfile启动后,再生成新的spfile;
4、startup pfile=''
createspfile from pfile='' (数据库启动默认SPFILE启动)
shutdownimmediate;
startup;(此处调用SPFILE)数据库OPEN 成功!
相关文章推荐
- 解决内存设置过大导致实例无法启动ORA-27100
- 一次误修改sga_max_size值过大后导致数据库无法启动的解决方法
- sga_target或shared_pool_size非正常值导致ORA-00093解决办法
- 调整SGA_MAX_SIZE无法启动实例的问题的解决
- memory_target 设置太小,导致无法启动实例的解决办法
- SGA_MAX_SIZE超过MEMORY_TARGET 导致无法启动
- ora-00844和ora-00851错误,大致是指SGA_MAX_SIZE设置过大
- ora-00844和ora-00851错误,大致是指SGA_MAX_SIZE设置过大
- IP改变导致Oralce 10g Enterprise Manager 无法启动----解决办法
- ora_00257 归档日志过大导致无法存储的解决办法
- 由于启动用户实例的进程时出错,导致无法生成 SQL Server 的用户实例 解决办法
- ora-12154 tns 无法处理服务名(执行的程序途径不一致导致,枚举网络数种方法,大家还有其他解决办法?)
- 重装虚拟机导致虚拟系统中的Oracle监听服务无法启动解决办法
- 解决虚拟内存设置错误导致的系统蓝屏无法启动问题
- 由于文件夹目录结构导致MyEclipse无法启动问题解决办法
- VMWARE虚拟机非正常关机导致无法启动的解决办法
- JSP与Servlet之间设置Cookie可能导致Cookie无法读取的解决办法 cookie.setPath()
- 虚拟机内存调的过大导致无法恢复也无法关闭解决办法
- 姚博文 删除eclipse的configuration目录导致eclipse无法启动的解决办法