关闭

这周一个ORACLE问题的解决过程(ORA-12560:TNS:协议适配器错误! )

标签: oracle数据库windows远程登录pathterminal
4938人阅读 评论(0) 收藏 举报
分类:

第一次安装ORACLE没有成功,第二次安装成功了,但是重启后登陆SQLPLUS,报
ORA-12560:TNS:协议适配器错误!

看服务列表里面的ORACLESERVICE[SID]服务是启动状态

上网查了下资料,发现引起这样问题的原因很多,解决办法也很多,试了很多办法都没有用。最后在MS的客户帮助里面找到个办法,自己写了脚本运行后,ORACLESERVICE[SID]服务启动起来了,再次登陆SQLPLUS,这次还是不行,都说可能Terminal Services服务有问题,于是不用windows远程登录了,改用PCANYWHERE登陆,这次运行SQLPLUS,又报错了,但是这次报的错误不一样,报

ORA-01034 oracle not available

应该是数据库实例没有被装载吧,运行几个命令把数据库装载上去,终于可以运行了。

附:

在服务列表里面把ORACLESERVICE[SID]改为手动,重启。

找到以下注册表项: HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0

在注册表编辑器, 右窗格双击 ORA_ < SID > _AUTOSTART

编辑字符串 对话框中, 在 值数据 框中, 键入 FALSE , 然后单击 确定

用名称 StartupOracleORCL.sql 创建以下批处理文件:

注意,这里的INIT.ORA 是数据库实例的init文件,文件名并不一定是INIT.ORA,比如我的数据库实例名字是

NMORA,文件名就是initNMORA.ora

用名称 Orastart.bat 在同一文件夹位置中创建 StartupOracleORCL.sql 批处理文件创建以下 Windows 批处理文件:

@echo off

net start <Oracle Service Name>
set ORACLE_SID=<Oracle SID> 
svrmgrl @<Full path of startupOracleORCL.sql created in Step 3>

exit
第一次运行发现net start命令无效,再一查服务器的环境变量,发现PATH里面竟然没有配置windows根目录,把
%SystemRoot%/system32;%SystemRoot%;配到PATH变量下。再次运行这个BAT文件就可以了。
这个时候数据库还没有装载,在运行里面运行cmd,运行下面几条指令
C:>sqlplus internal/oracle
then under sqlplu prompt
sqlplus>startup

等一下就会报告数据库装载成功了。
这个时候数据库就可以运行了。
感觉第一次安装失败的数据库实例在卸载的时候ORACLE工具没有卸载干净,所以这个数据库实例总是影响
第二次安装的数据库实例,比如抢占1521端口(可以运行netstat -a来查看)。俺的工作对ORACLE不
需要那么熟,里面具体理论我也不太清楚,把解决问题了就OK了,呵呵。

 

connect <username>/<password>
startup PFILE=<Full path of the INIT.ORA file for the instance of Oracle database>

exit
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:59973次
    • 积分:775
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:40篇
    • 译文:0篇
    • 评论:1条
    最新评论