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监听器起不来,是件麻烦事儿~