发现一个好贴,顺便粘这:数据库常见问题解决方法
http://blog.csdn.net/hdhai9451/archive/2009/03/04/3957094.aspx
现象描述:服务-》启动OracleOraDb10g_home1TNSListener,如下图操作:
启动后,立即自动停止。
注意:不要右键直接点“启动”,否则,看不到效果,原因:你启动后,虽然程序又自行停止了,但其状态栏里还是显示“已启动”,容易生成混淆。
到“D:\oracle\product\10.2.0\db_1\NETWORK\log”的listener.log里看日志,有如下内容:
系统参数文件为D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
写入D:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
写入D:\oracle\product\10.2.0\db_1\network\trace\listener.trc的跟踪信息
跟踪级别当前为0
以 pid=5832 开始
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
监听该对象时出错: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ibm-dabcd6d6269)(PORT=1521)))
TNS-12545: 因目标主机或对象不存在, 连接失败
TNS-12560: TNS: 协议适配器错误
TNS-00515: 因目标主机或对象不存在, 连接失败
32-bit Windows Error: 1001: Unknown error
不再监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
HOST=ibm-dabcd6d6269,再查看“D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN”下的tnsname.ora,内容如下:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ibm-dabcd6d6269)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
再看“C:\WINDOWS\system32\drivers\etc”下的hosts文件,内容如下:
127.0.0.1 localhost
改成 127.0.0.1 ibm-dabcd6d6269
服务可以启动,但TOAD连接仍然报错:
TNS-12545: 因目标主机或对象不存在, 连接失败
还有个疑问就是,在哪个地方能随意的改这个HOST名称,因为我在调错过程中,发现,我把tnsnames.ora里的HOST名称与HOSTS里的名称改一致,但不是ibm-dabcd6d6269,就怎么样也不成功,就是说还是会启动不了。我就想,应该有个地方可以把这个名字彻底改了吧?
还有个情况,就是我的电脑为了加域改过名称,在网上搜说,这个会影响到TOAD连接,我后来想起来,刚安装库的时候(也就是没加域之前)是没有这个错误的,所以,这个论断应该是正确的。
服务启动不了的问题解决成功了,但是TOAD连接还是不成功,正在解决中。。。。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
激动ing,对于昨天自己的“在哪个地方能随意的改这个HOST名称”今天终于找到了,
这里可以随意改,不过,当你添加一个新地址的时候,会默认带出你当前主机名称,我想,这个名称可能还是要和主机的名称保持一致吧???还没得到证实,待确认。
不过,现在TOAD仍然无法连接,错误一如昨天。晕菜ING。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
又搞了一会,按着“数据库常见问题”中的一,当服务器损坏处理解决,搞完后发现登录TOAD的错误改变了,ORA-01017:invalid username/password; logon denied
所以,证明了我的的确是因为Listener坏掉了。