ORA-12154:TNS:could not resolve the connect identifier specified

来源:互联网 发布:淘宝店铺怎么起名字 编辑:程序博客网 时间:2024/05/19 00:14

---------------------------------------前景介绍,可直接跳至正文-----------------------------

我是第一天学oracle的新手,今天一直重装oracle11g,不是因为之前用过oracle所以重装,而是因为一遍装不好,所以才叫作重装。

我的环境是win7,64位。在本机使用oracle主要就是自己连自己。。

首先是安装到最后Oracle Net Configuration Assistant 失败,经网上查证说不要紧,直接点击确认,完成。安装好之后,只有两个服务,还好可以启动。然后就不知道要做什么了。。

然后,从网上查到说要先启动监听服务。可是我那两个服务里面根本就没有监听器。。然后查到说要添加监听器,又查到说要创建数据库,经过一番查证应该是先添加监听器,再创建数据库。添加监听器呢,可以通过开始》所有程序》Oracle - OraDb11g_home1》配置和移植工具》Net Manager,创建数据库可以通过Database Configuration Assistant。添加监听器就是点击添加,然后在右侧配置监听位置和数据库服务,接着创建服务命名,参数对应刚才配置的监听器。这里的主机名我开始使用的是localhost,可是始终打不开listener服务,上网搜了一下,我把主机名也改成了localhost,还重启了,仍然不行。然后就改成了自己的ip地址。监听服务才终于能启动了。数据库的创建我是参照了一个教程一步一步点下去的,没什么特别可说的。事实是点到需要启动监听器的时候,才去配置监听器的。奇怪的是,创建好数据库之后,Database Configuration Assistant就打不开了。。

这样,已经可以连接数据库了。

sqlplus /nolog

conn /as sysdba;

然后就想用用传说中的plsql,结果又打不开。据网友说, 因为我安装的jre7是64位,所以oracle自带的plsql打不开,要下载一个plsql。并且plsql目前还不支持64位客户端,所以又去下载了32位的客户端,还好,比较小。然后先打开plsql,取消登陆框,plsql会自动打开,打开菜单tools》preference,更改OCI Library为32位客户端的oci.dll的路径。

--------------------------------正文----------------------

这样再次打开plsql,使用sysdba登录,终于也就到了如题的错误处了。

ORA-12154:TNS:could not resolve the connect identifier specified

网友说到了oracle根目录下/NETWORK/ADMIN,下面的几个文件。listener.ora,tnsnames.ora。有网友提醒多余空格的问题,被我消灭后,重启服务发现还是不行。然后就走向了死胡同。搜索到的结果基本也都看不懂。

---------------------------正文的正文-------------------------

终于通过对比那个目录下的sample文件夹里面的listener.ora,发现listener.ora这个文件里面有一行不对头。

LISTENER =
  (DESCRIPTION=
    (ADDRESS=...)
  )

而sample里面明明写的是ADDRESS_LIST。把这里修改之后,重启服务,成功登录plsql,搞定!

----------------------------------后续-------------------------

那么到底是怎么回事呢,为什么这个自动生成的文件会是错误的呢。

通过测试我发现,使用Net Manager修改监听器之后,listener.ora这里的ADDRESS_LIST又自动变成了DESCRIPTION。

所以罪魁祸首是Net Manager!?这个问题我还没有找到答案,期待将来能得到高手的解答。。

0 0
原创粉丝点击