【转】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系统本身也有一些内存参数限制

posted @ 2013-02-20 14:37  倚楼听雨  阅读(514)  评论(0编辑  收藏  举报