做oracle的优化,使用Console中打开数据库的配置,发现如图 由于里面有的值为零,于是我按照它的建议修改了对应的值。结果重启后oracle启动不起来了。
使用Console连接提示: 无法解析连接描述符中指定的SID。
使用pl/sql连接提示:ORA-12505:TNS:监听程序当前无法识别连接描述符中所给出的SID
1、 若数据库机器上没有装Console或者没有使用Console配置网络服务名.
则可以通过命令sqlplus sys/sys as sysdba 登录到服务器空闲进程。接着执行步骤4。
2、如果配置了网络服务名,则
在路径D:/oracle/product/10.2.0/db_1/network/admin/listener.o
ra下 找到listener.ora。
原来listener.ora内容:
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:/oracle/product/ 10.2 . 0 /db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0 . 0.1 )(PORT = 1521 ))
)
)
改成(红色部分为增加部分):
# 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 ))
)
)
修改完 listener.ora后
使用console连接提示“数据库已关闭”。
使用pl/sql连接提示
ORA-27101 Shared memory realm does not exist
ORA-01034 ORACLE not available
查看db1文件夹下的alert_XXX(网络服务名).log。
里面记录 :Cannot set sga_target with db_block_buffers set
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系统本身也有一些内存参数限制
修改 SGA 文件:
SGA_MAX_SIZE是调优oracle9i非常重要的参数,但也是并不是调的越大越好。相反,oracle9i对SGA_MAX_SIZE的最大值有一个限制:1.7G,超过该值就会造成实例无法启动,系统报以下信息:
已连接到空闲例程。
SQL> create pfile='d:/zgznew.ora' from spfile;
ORACLE 例程已经启动。
Fixed Size 454116 bytes
Variable Size 503316480 bytes
Database Buffers 25165824 bytes
Redo Buffers 143360 bytes
数据库装载完毕。
数据库已经打开。