解决Oracle启动失败

时间:2014-01-14 21:21:11   收藏:0   阅读:695

今天突然要使用本机安装的oracle,可是toad连接始终报tns解析失败。于是使用sqlplus连接,报错如下:

bubuko.com,布布扣
请输入用户名:  system
输入口令:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
进程 ID: 0
会话 ID: 0 序列号: 0
bubuko.com,布布扣

我很是奇怪,数据库居然还没启动,于是开始上网查找资料。

第一步,使用 sqlplus /nolog进入sqlplus环境,使用conn /as sysdba连接oracle,又报错如下:

SQL> conn /as sysdba
ERROR:
ORA-01031: insufficient privileges

这个问题原来是windows 下用户权限不足造成的,将当前用户添加到ora_dba组中即可。使用conn /as sysdba可以连接进入oracle了。

第二步,使用startup启动数据库,报错如下:

bubuko.com,布布扣
SQL> startup
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name ‘LISTENER_ORCL‘
bubuko.com,布布扣

经过查找资料与反复尝试,原来是我的tnsnames.ora这个文件缺少“LISTENER_ORCL”这个参数,将

LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

添加到tnsnames.ora文件,再尝试使用startup启动数据库,OK。

bubuko.com,布布扣
SQL> startup
ORACLE 例程已经启动。

Total System Global Area 1686925312 bytes
Fixed Size                  2176368 bytes
Variable Size            1023412880 bytes
Database Buffers          654311424 bytes
Redo Buffers                7024640 bytes
数据库装载完毕。
数据库已经打开。
bubuko.com,布布扣

问题解决了,我反思了一下为什么会出现这个问题。

我这台计算机是不久前重装系统,再安装了oracle11.2,tnsnames.ora这个文件是从原来机器上备份后直接复制过来的,安装后,还用toad测试连接,一点问题没有。之后就一直没再用过,这期间由内网连接到外网,修改了IP。网上的资料显示,如果修改了oracle数据库服务器的IP地址,可能会引起oracle启动异常。

想来可能有两方面的原因,第一,也是主要原因,就是我修改了计算机的IP(由内网连接到外网,可是没办法,查资料方便嘛)。

第二,我复制过来的tnsnames.ora这个文件缺少“LISTENER_ORCL”这个参数。

 

不管怎么说,这个问题算是圆满解决了,心情大好。

原文:http://www.cnblogs.com/ljyuma/p/3513072.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!