ORA-12514: TNS:listener does not currently know of service requested in connect
遇到这个错误,去网上查了,还是没有答案。 数据库的listener.ora
kkk=
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = s2cs5020)(PORT = 1536))
)
)在另外一台机器上用toad直接连,ip、sid、port报ora-12514,因为没有写tnsname.ora的权限,只能直接连。可是tnsname.ora的内容如果为下面,就可以连接成功了
kkk=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.31.9.227)(PORT = 1544))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.31.9.52)(PORT = 1543))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = kkk)
)
)
LISTENER_kkk =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.31.9.227)(PORT = 1544))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.31.9.52)(PORT = 1543))
)
不理解,为什么tnsnames.ora要包括listener的内容。
遇到这个错误,去网上查了,还是没有答案。 数据库的listener.ora
kkk=
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = s2cs5020)(PORT = 1536))
)
)在另外一台机器上用toad直接连,ip、sid、port报ora-12514,因为没有写tnsname.ora的权限,只能直接连。可是tnsname.ora的内容如果为下面,就可以连接成功了
kkk=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.31.9.227)(PORT = 1544))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.31.9.52)(PORT = 1543))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = kkk)
)
)
LISTENER_kkk =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.31.9.227)(PORT = 1544))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.31.9.52)(PORT = 1543))
)
不理解,为什么tnsnames.ora要包括listener的内容。
解决方案 »
- 如何将Date型yyyy-mm-dd hh24:mi:ss字段转换获取yyyy-mm-dd
- 关于物化视图的一个问题
- 如何编写sql语句?
- 在.Net下连接oracle服务器时出现“服务器无法处理请求--->System.Data.OracleClient需要Client客户端软件8.1.7或更高版本”
- 这段代码该如何理解??(表分区的)
- 求教查询连续号段SQL
- 掌握Oracle数据库系统使用经验六则
- 如何查出时间字段中,小时、分、秒都为0的记录?
- pro*C/C++ 怎么预编译C++程序?
- 本人昨天4点不小心将一个表的记录删除了,有2000多条啊,请问怎么恢复啊?
- 如何创建临时表
- 数据库启动不了,急!急!
PROTOCOL:客户端与服务器端通讯的协议,一般为TCP。
HOST:数据库侦听所在的机器的机器名或IP地址,数据库侦听一般与数据库在同一个机器上,所以当我说数据库侦听所在的机器一般也是指数据库所在的机器。在UNIX或WINDOWS下,可以通过在数据库侦听所在的机器的命令提示符下使用hostname命令得到机器名,或通过ipconfig(for WINDOWS) or ifconfig(for UNIX)命令得到IP地址。需要注意的是,不管用机器名或IP地址,在客户端一定要用ping命令ping通数据库侦听所在的机器的机器名,否则需要在 hosts文件中加入数据库侦听所在的机器的机器名的解析。
PORT:数据库侦听正在侦听的端口,可以察看服务器端的listener.ora文件或在数据库侦听所在的机器的命令提示符下通过lnsrctl status [listener name]命令察看。此处Port的值一定要与数据库侦听正在侦听的端口一样。
要使用LISTENER来监听数据库的网络端口,主机名等。而在tnsname.ora是用来保存协议、主机名和端口的,所以要在tnsname.ora中使用监听