ORA-27101: shared memory realm does not exist造成的直接结果是ORA-01034: ORACLE not available。该问题的产生原因有多种,因此首先需要判断产生的原因。
1、使用cmd运行sqlplus
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\wueerfu>sqlplus
SQL*Plus: Release 11.2.0.1.0 Production on 星期三 6月 25 18:10:11 2014
Copyright (c) 1982, 2010, Oracle.
All rights reserved.
2、输入conn /as sysdba进入sqlplus
请输入用户名:
conn /as sysdba
输入口令: (
输入windows系统登录密码
)
已连接到空闲例程。
3、输入startup 启动数据库实例。
SQL> startup
此时我这里出现的详细错误提示是:
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 4194304000 cannot be set to more than MEMORY_TARGET 2533
359616.
说明配置文件spfile中参数 SGA_MAX_SIZE 的值过大,需要修改该参数。具体步骤如下:
4、导出配置文件
SQL> create pfile='d:mypfile.ora' from spfile;
文件已创建。
5、修改导出的文件(mypfile)中SGA_MAX_SIZE的值,使其小于MEMORY_TARGET
6、指引oracle从mypfile启动
SQL> startup pfile='d:mypfile.ora' nomount;
ORACLE 例程已经启动。
Total System Global Area 2037673984 bytes
Fixed Size
2177208 bytes
Variable Size
1040189256 bytes
Database Buffers
989855744 bytes
Redo Buffers
5451776 bytes
7、启动成功,说明配置文件修改成功。备份原配置文件spfile(文件在ORACLE_HOME/database目录中)
8、修改spfile为mypfile
SQL> create spfile from pfile='d:mypfile.ora';
文件已创建。
9、关闭oracle实例并重新启动
SQL> shutdown immediate
ORA-01507: ??????
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 2037673984 bytes
Fixed Size
2177208 bytes
Variable Size
1040189256 bytes
Database Buffers
989855744 bytes
Redo Buffers
5451776 bytes
数据库装载完毕。
数据库已经打开。
SQL>