检查listenerora和tnsnamesora配置:
示例如下:
listenerora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = F:\oracle\product\1020\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(ORACLE_HOME = F:\oracle\product\1020\db_1)
(SID_NAME = orcl(修改为实例名))
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127001(修改为主机IP地址或主机名))(PORT = 1521))
)
)
tnsnamesora
myORCL=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127001(修改为主机IP地址或主机名))(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl(修改为实例名))
)
)
配置好后tnsping myORCL 看通不通。
登陆格式为 sqlplus username/password@myORCL
myORCL为tnsnamesora中配置的名称,名称可以随便取,不一定要与实例名一样,不是实例名,注意区别。
开启监听服务:lsnrctl start
你没有配置连接数据库,这里显示的都是实例不起作用的看下面这个例子,你自己增加一个就可以了
NMJYFX=
(DESCRIPTION
=
(ADDRESS
=
(PROTOCOL
=
TCP)(HOST
=
13403334
(PORT
=
1521))
(CONNECT_DATA
=
(SERVER
=
DEDICATED)
(SERVICE_NAME
=
nmjyfx)
)
)
NMJYFX是数据库别名可以任意起,nmjyfx是数据库的名字,")(HOST
=
13403334
"
这里把服务器的IP输入,把这3项填好就可以了如果是你自己的机子作为服务器的话,则把IP换为计算机名就可以了
TNS无法解析是Oracle *** 作里经常遇到的问题,原因有二:
(1)Oracle服务器没有装好(一般不建议重装,因为Oracle卸载不完全是没法重装的)
(2)TNS没有配置
现在本文给出解决方案:
现在先测试一下tns是否可以ping,成功的界面大致如下
这里写描述
(1)在oracle安装路径的tns配置文件里添加如下代码
# tnsnamesora Network Configuration File: d:\Oracle\product\1020\client_1\NETWORK\ADMIN\tnsnamesora
# Generated by Oracle configuration tools
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127001)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
其中orcl是我的数据库名称,这个需要根据需要配置
sql plus成功的话 应该就是tnsnamesora配置有问题,如果确定你的tnsnamesora内容没有错误,那在安装目录里面找下\NETWORK\ADMIN目录,把里面的所有文件删了再试下
作为ORACLE数据库的开发人员,很多都碰到过“ORA-12154: TNS: 无法解析指定的连接标识符”的问题。
问题场景描述:
服务器端版本:oracle 102010
客户端版本:oracle 102010
客户端开发工具:PL/SQL Developer
通过客户端来连接服务器,其主要文件就是通过客户端的tnsnamesora来配置,在原文件的基础上增加:
SID别名 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = SERVER_IP)(PORT = 1521))
)
(CONNECT_DATA =
(SID = SID_NAME)
)
)
例:
dev_db =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172168105)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ora10)
)
)
通过PL/SQL Developer连接dev_db时,报“ORA-12154: TNS: 无法解析指定的连接标识符”。(这个问题以前也碰到过,但解决方法不太一样,因具体的问题不太一样。)
我将自己知道的一些解决方法说一下:
1先检查服务器端的监听服务是否打开,如果没有打开请启动其监听
客户端:tnsping <tns_name>
服务器Linux下:
#>lsnrctl status 查看监听状态
#>lsnrctl start 启动监听
2通过Sql Plus连接一下试试,如果Sql Plus连接能成功,那就说明你的tnsnamesora内容有错误
我的问题就在别名dev_db前面有一个空格,这个可以通过文本编辑器(Edit Plus,UE等)来查看是否有空格,只要有空格那就肯定是不行的,而且如果那段内容是出现在文件的中间的话,将导致该文件里所有相应的连接别名都不成功,如果是在最后面就只有其自身连接别名不能成功,其他连接别名还是能连接成功。(注:我的tnsnamesora配置了多个数据库实例的连接,所有才有多个连接别名。)
如:
空格dev_db =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172168105)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ora10)
)
)
3如果确保你的tnsnamesora内容没有错误,那请将%ORACLE_HOME%\product\1020\db_1\NETWORK\ADMIN目录下的所有文件删了,然后重新连接,一般就能解决了。
说明一下:那个目录里的文件是在你建立连接的时候动态生成的,不要怕删了会有问题
4进入PLSQL Developer的主界面,在登录界面选择取消即不登录进入主界面,然后选择菜单Tools(工具)-Preferences(首选项),在设置窗口中,选择Oracle-Connection(连接),对应设置窗口中,找到Oracle Home(Oracle主目录),选择你本地所安装客户端的版本,保存设置,然后重新启动PLSQL Developer,这时就可以正常登录了。
你的oracle监听服务没有启动,启动起来再试试。
补充:
Data Source=orcl;User Id=pa;Password=pa;
修改为:
Data Source=ORCL;User Id=pa;Password=pa;
试试。
---
以上,希望对你有所帮助。
ora-12154 无法处理服务器名错误解决方法如下:
编辑代码:
XIEHENG_1921681620 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 1921681620)(PORT = 1521))
(CONNECT_DATA =
(SID = XIEHENG)
(SERVER = DEDICATED)
GCBORA_19216813 =
(DESCRIPTION =
( ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 19216813)(PORT = 1521))
)
(CONNECT_DATA =
(SID = GCBORA)
(SERVER = DEDICATED)
3ORCL29 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192168629)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = orcl)
4 ORCL32 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 17231632)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = orcl)
以上就是关于ora-12154问题怎么解决全部的内容,包括:ora-12154问题怎么解决、为什么我登陆Oracle 提示ORA-12154: TNS: 无法处理服务名、Oracle.DataAccess.Client.OracleException ORA-12154: TNS: 无法解析指定的连接标识符等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)