oracle客户端无法连接数据库,网络配置助手测试是通的

时间:2022-09-12 21:57:05
我在一个虚拟机里安装了一个ORACLE,并且能够正常使用,使用SQLPLUS也能登录,于是我在本机安装上了一个ORACLE的客户端,可是就用SQLPLUS连接不上。虚机和本机是一台机器。
我从本机TELNET 虚机的 1521端口也是通的

tnsping test01  提示TNS-03505: 无法解析名称

使用sqlplus / as sysdba  提示   ERROR: ORA-12560: TNS: 协议适配器错误

使用图形的SQLPLUS登陆提示  ORA-12560 TNS:协议适配器错误

首先监听程序是启动的。
============================================================================================
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 17-11月-2010 17:2
3:26

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期                  17-11月-2010 17:12:07
正常运行时间              0 天 0 小时 11 分 19 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          C:\oracle\product\10.2.0\db_2\network\admin\listener.o
ra
监听程序日志文件          C:\oracle\product\10.2.0\db_2\network\log\listener.log

监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.88.54.67)(PORT=1521)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
  例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "test01" 包含 1 个例程。
  例程 "test01", 状态 READY, 包含此服务的 1 个处理程序...
服务 "test01XDB" 包含 1 个例程。
  例程 "test01", 状态 READY, 包含此服务的 1 个处理程序...
服务 "test01_XPT" 包含 1 个例程。
  例程 "test01", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功
======================================================================================================

listener.ora 其中IP地址为SERVER的IP地址
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\oracle\product\10.2.0\db_2)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.88.54.67)(PORT = 1521))
    )
  )

===================================================================================
tnsname.org

 tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\db_2\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

TEST01 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.88.54.67)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = test01)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

============================================================================================

客户端的 tnsname.org

# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.88.54.67)(PORT = 1521))
    )
    (CONNECT_DATA =
(SERVER = DEDICATED)
      (SERVICE_NAME = test01)
    )
  )

=================================================================================================

 

4 个解决方案

#1


虚拟机和本机必须配置局域网,可以google下

#2


引用 1 楼 xuhuanchao 的回复:
虚拟机和本机必须配置局域网,可以google下


我的虚拟机的连接方式是桥接。而且都 在一个网段,主机和虚机用的一个DHCP。除了这些还有要设置的吗

#3


一定是虚拟机的配置问题

#4


先ping下主机和虚拟机是否正常通讯,然后查看虚拟机IP,尽量使用固定IP,避免自动获取。

#1


虚拟机和本机必须配置局域网,可以google下

#2


引用 1 楼 xuhuanchao 的回复:
虚拟机和本机必须配置局域网,可以google下


我的虚拟机的连接方式是桥接。而且都 在一个网段,主机和虚机用的一个DHCP。除了这些还有要设置的吗

#3


一定是虚拟机的配置问题

#4


先ping下主机和虚拟机是否正常通讯,然后查看虚拟机IP,尽量使用固定IP,避免自动获取。