解决 ORA-27102: out of memory

记一次故障处理总结;

操作系统:windows server 2008 R2
数据库版本:11.2.0.2

故障描述:
外部应用连接数据库,提示连接不正常;

排错过程:
1.首先 检查数据库监听服务状态是否正常
lsnrctl status
监听状态正常!!!

继续!!!

sqlplus / as sysdba;

连接数据库之后,查看数据库启动状态:
select name,open_mode from v$database;
select instance_name,status from v$instance;
上述两条命令都提示报错:
ORA-01034: ORACLE not available
进程 ID: 0
会话 ID: 0 序列号: 0

提示数据库不可用,初步确定原因,数据库启动状态确实不正常!!!可能是死机了,因为windows服务管理界面里边的实例服务状态是正常的。


接着尝试启动数据库:
startup;
ORA-27102: out of memory

startup force;
ORA-27102: out of memory

shutdown immediate;
ORA-27102: out of memory

命令行启动、关闭数据库都不行,报相同的错误:ORA-27102: out of memory

网上查阅资料:


小结:
这里发现一个有趣的地方,windows系统 和 Linux系统遇到这种问题 还有所区别;
当windows环境下的时候,除了sqlplus 命令行操作以外,还可以通过服务图形界面去启动关闭监听和数据库实例,
而当Linux环境下的时候,如果spfile文件有备份成pfile的话,可以根据该pfile去启动数据库,如果没有备份的话,只能从其他相同版本的服务器上去拷贝一份pfile文件,
然后手动修改配置信息,来启动数据库(注意是相同版本的数据库)。

其他:
oracle告警日志的路径:http://blog.csdn.net/haiross/article/details/12749929
windows环境下cmd无法运行:sqlplus / as sysdba; lsnrctl status
查看当前数据库是以pfile启动的还是spfile: http://blog.csdn.net/tianlesoftware/article/details/5804902

create pfile from spfile;
11g默认创建的pfile路径,在$ORACLE_BASE/admin/yourdbname/pfile下,
也可以指定pfile生成的路径:
create pfile='E:appproduct11.2dbhome_1dbsinitpfile.ora' from spfile;

原文地址:https://www.cnblogs.com/hellojesson/p/6961387.html