小弟有个疑问,在WINDOWS XP下安装了ORACLE10G,装好后,在服务里面会有监听器服务,EM控制服务和ORACLE实例服务
这三个服务都是未开启状态。
我在CMD面输入了 lsnrctl start 和 emctl start dbconsole命令,监听服务和EM服务都起来了
然后我登入数据库中
输入 sqlplus /nolog
然后输入 conn / as sysdba
他就返回我ORA-12560 TNS:协议适配器错误
不知道是怎么回事,我就一个数据实例,指定了set oracle_sid=orcl了
就是这个错误,难道一定要手动到服务里面,才能把ORACLE的实例服务起来吗
这三个服务都是未开启状态。
我在CMD面输入了 lsnrctl start 和 emctl start dbconsole命令,监听服务和EM服务都起来了
然后我登入数据库中
输入 sqlplus /nolog
然后输入 conn / as sysdba
他就返回我ORA-12560 TNS:协议适配器错误
不知道是怎么回事,我就一个数据实例,指定了set oracle_sid=orcl了
就是这个错误,难道一定要手动到服务里面,才能把ORACLE的实例服务起来吗
2. 看下alert log 日志.------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
Q Q 群:62697716
返回
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 15-12月-2009 10:29:39Copyright (c) 1997, 2005, Oracle. All rights reserved.已使用的参数文件:
d:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.18)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
OK (30 毫秒)
说明应该是通的
然后输入 connect / as sysdba
继续输入 START UP
后进入
2、cmd后输入sqlpus "/as sysdba"
3、然后在输入startup
为什么oracle实例就不能呢,非要去服务里面启动呢
windows 中的OracleServiceSID运行此时数据库还是关闭状态,并没有进行nomount 、mount和open这一一列过程。
[/Quot]
启动了OracleServiceSID就是启动了全部过程,数据库就处于打开状态了,不是关闭状态
我启动监听器,然后看了监听日志
TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
15-12月-2009 15:53:10 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=Administrator))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=169869568)) * status * 0
15-12月-2009 15:53:13 * (CONNECT_DATA=(SID=orcl)(CID=(PROGRAM=d:\oracle\product\10.2.0\db_1\bin\emagent.exe)(HOST=ZXC)(USER=SYSTEM))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.18)(PORT=3802)) * establish * orcl * 12518
TNS-12518: TNS: 监听程序无法分发客户机连接
TNS-12560: TNS: 协议适配器错误
TNS-00530: 协议适配器错误
32-bit Windows Error: 2: No such file or directory
这里的PORT是3802,为什么不是1521啊和监听配置文件完全不一样
不是的,不信你先关闭数据库(此时可以看到服务还是启动状态),然后在windows中关掉服务器,接着启动,此时,你登陆数据库会提示数据库是不可用的。
当然,操作系统开机时启动服务,我不清楚到底具体运行了什么东西,不过我觉得应该是分步的:
1、启动服务器相当于:
oradim -STARTUP -SID 实例名 -STARTTYPE srvc
2、接着启动数据库
oradim -STARTUP -SID 实例名 -USRPWD 用户名/密码 -STARTTYPE inst
具体请查看oradim的用法。
然后再sqlplus /nolog
再 conn / as sysdba看看行不行?