Oracle监听器起不来, TNS:could not resolve the connect identifier specified

 

  Oracle这个玩样儿,使用很普及,但是也很脆弱,不懂的不可以随意修改安装后的文件,记得之前动了日志文件,监听器居然也挂掉了,D:\oracle\oradata\orcl\REDO03.LOG。这几天,又是安装了个比较冷门的软件,Oralce又被弄坏了,TNS又起不来了~

 

  写在这里,是因为我解决了这个监听器起不来的问题么?恰恰相反,我折腾了半天,也没有解决。网上的一些方法都试了,说实在,都是瞎写或者转载。

  在这里,给看管吃颗定心丸,如果你不是精通Oracle,这东西就呼叫DBA帮忙。如若你是客户端,仅仅是开发测试用,卸了oracle,重装,果断的。我折腾了一上午没有解决,耽误了开发进度,搞得晚上加班到10多点,真他娘的郁闷。

 

  在这里有卸载步骤:http://www.cnblogs.com/MyITHome/archive/2012/08/05/2624123.html,在这里,先别急着卸载Oracle,想想你是不是最近是不是改过计算机的名称。

  如果是改过计算机的名称,那还是可以解决,最简单的是,把计算机之前的名字改回来(当然要是英文的)。也可以这样:这里举例是Oracle装载D盘,路径为:D:\oracle\ora10g\NETWORK\ADMIN\listener.ora(tnsnames.ora),

 

修改listener.ora文件中的LISTENER,修改后为:(当然需要administrator最高权限)

LISTENER = 
  (DESCRIPTION_LIST = 
    (DESCRIPTION = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
      (ADDRESS = (PROTOCOL = TCP)(HOST = 计算机名)(PORT = 1521)) 
    ) 
  )

 

然后再修改tnsnames.ora中的ORCL,修改后为:

ORCL = 
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 计算机名)(PORT = 1521)) 
    (CONNECT_DATA = 
      (SERVER = DEDICATED) 
      (SERVICE_NAME = orcl) 
    ) 
  )

 

  在这里,我再提供一个不成熟,没验证过的想法,就是,如果你确定是因为安装了某个软件,才造成Oracle监听器的罢工,那么,可以尝试下,先卸载那个软件,再在注册表里删掉它的注册文件(注册表怎么看,点击上文的链接),看Oracle是不是能恢复。

   也推荐个比较详细的博文:http://blog.csdn.net/mitedu/article/details/3733028

  总结来说,Oracle监听器起不来,是件麻烦事儿~

 

posted @ 2012-09-01 16:03  平和.  阅读(13713)  评论(0编辑  收藏  举报