服务器端:

服务端的配置使用用到的命令: lsnrctl (监听器的启动,停止,状态等)

服务器端的配置文件:listener.ora 路径:$oracle_home/network/admin

内容分析:

# listener.ora Network Configuration File: G:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

DEFAULT_SERVICE_LISTENER= (ORCL)

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = orcl)           #网络上的服务名称
      (ORACLE_HOME =G:\oracle\product\10.2.0\db_1) # 这里一定要配置正确
      (PROGRAM = extproc)
    )
  )

LISTENER16 =                     #监听器的名称,一般不管几个实例,一个监听器也就够了
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )                           #协议一定要配置正确 地址 端口号
  )

 

服务器端只要这个文件配置正确,监听可以正常启动就好了。

客户端:

配置文件 tnsnames.ora 路径:$oracle_home/network/admin 下

 

# tnsnames.ora Network Configuration File: G:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
#这段为配置说明
ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_ORCL))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )
#myoracle 叫做连接标识符,用户自定义,方面自己记忆  
myoracle =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST =127.0.0.1)(PORT = 1521))
    )                      #协议 主机的ip地址 实例的端口号
    (CONNECT_DATA =
      (SERVICE_NAME =orcl)         #服务端实例的名称 sid_name 
    )
  )
如果不是通过网络连接自己的机器上的实例,只要配置这个文件就可以了,协议,ip,端口号,还有服务名称要正确。
刚开始的时候不懂,总是把监听都配置了。