两台服务器,其中一台是应用服务器,另一台是数据库服务器,互相可以ping通IP地址或FQDN
应用服务器可以telnet数据库的1521端口
应用服务器上的ora文件内容如下:
listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.1.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 应用服务器FQDN)(PORT = 1521))
)
)tnsname.ora
XXX =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP地址)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = xxx)
)
)XXX_数据库主机名 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP地址)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = xxx)
)
)数据库服务器上的ora文件内容如下:
listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.1.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库FQDN)(PORT = 1521))
)
)tnsname.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.1.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.XXX =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库FQDN)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = xxx)
)
)在应用服务器上尝试使用sqlplus命令访问数据库,出现标题所示的错误信息。
在数据库服务器上使用sqlplus命令无问题已经尝试过修改应用服务器上的ora文件中的HOST为数据库的IP或FQDN,错误依旧
应用服务器可以telnet数据库的1521端口
应用服务器上的ora文件内容如下:
listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.1.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 应用服务器FQDN)(PORT = 1521))
)
)tnsname.ora
XXX =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP地址)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = xxx)
)
)XXX_数据库主机名 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP地址)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = xxx)
)
)数据库服务器上的ora文件内容如下:
listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.1.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库FQDN)(PORT = 1521))
)
)tnsname.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.1.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.XXX =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库FQDN)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = xxx)
)
)在应用服务器上尝试使用sqlplus命令访问数据库,出现标题所示的错误信息。
在数据库服务器上使用sqlplus命令无问题已经尝试过修改应用服务器上的ora文件中的HOST为数据库的IP或FQDN,错误依旧
如果是单实例出现这个问题,可能是主机名不能被识别吧linux主机如果想通过主机名来访问其他机器,是必须配置hosts文件来解析的windows也是一样所以,要么配置hosts文件,要么直接用ip地址,就可以访问了。