我正在使用 Oracle 数据库 10g。两台服务器都是 Windows 2003。
我在一台服务器上设置了一个 Orcale 数据库。
这是来自带有数据库的服务器的 TNSNames.ora。
# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL.VIRTUALHOLD.COM =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = databaseServer)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
服务器上的环境变量是
ORACLE_HOME = C:\oracle\product\10.2.0\db_1
ORACLE_SID = orcl
我正在尝试从另一个安装了 Oracle 客户端的盒子连接到它。
这是安装在其他客户端服务器上的 tnsnames.ora。
# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = databaseServer)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
ORACLE_HOME = C:\oracle\product\10.2.0\client_1
ORACLE_SID = orcl
在本地数据库服务器上,我可以通过 sqlplus 毫无问题地连接。
在客户端机器上,我不断收到错误:
ORA-12560: TNS:protocol adapter error
我错过了什么?客户端 TNSNames.ora 是否需要不同?
您是否检查过机器实际上可以找到彼此?也就是说,是 DNS 或机器主机文件中的“databaseServer”,并且对它的查找是正确的。
检查两台服务器之间是否没有防火墙,您可以从客户端运行 tnsping 以查看它是否可以看到服务器。