oracle修改SGA后无法启动问题分析及解决方法
1、若数据库机器上没有装Console或者没有使用Console配置网络服务名.
则可以通过命令sqlplus sys/sys as sysdba 登录到服务器空闲进程。看第四步.
2、如果配置了网络服务名,则
在路径D:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra下 找到listener.ora。
修改为:
代码如下:
# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = XXX(网络服务名))
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = XXX(网络服务名)))
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1568))
)
)
3、使用dos端登录oracle
sqlplus sys/sys@XXX(网络服务名). as sysdba
能够登陆
提示已经连接到空闲例程
4、找 pfile,在 /.../admin/XXX(服务名)/pfile 下,init.ora.XXXXXXX(数字串)
5、执行命令
SQL> startup pfile='pfile 路径'
通过指定的 pfile 启动数据库实例
6、执行命令
SQL> create spfile from pfile='pfile 路径';(一定要有分号!)
创建成功会提示: 文件已创建。
数据库可以登录了,查看例程/配置/内存 ,恢复了原样。
对于32 BIT的Windows系统,有SGA 1.7G限制
某些OS系统本身也有一些内存参数限制