oracle修改SGA后无法启动的解决方法

时间:2022-03-24 08:39:56
  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系统本身也有一些内存参数限制