Oracle监听配置详解

时间:2023-02-15 07:46:08

对于服务端,我们是需要配置监听程序文件listener.ora,对于客户端连接,我们需要配置tnsnames.ora

动态监听配置:

LISTENER =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = tcp)(HOST = hzsoar)(PORT = 1521))
      (ADDRESS = (PROTOCOL = ipc)(KEY = extproc))
    )
  )
SID_LIST_LISTENER=
  (SID_LIST=
    (SID_DESC=
      (SID_NAME=plsextproc)
      (ORACLE_HOME=/home/oracle/app/oracle/product/1102/db)
      (PROGRAM=extproc)
    )
  )


静态监听配置:
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = hzsoar)(PORT = 1521))
    )
  )
SID_LIST_LISTENER=
  (SID_LIST=
    (SID_DESC=
      (GLOBAL_DBNAME=hzsoarte)
      (SID_NAME=hzsoartest)
      (ORACLE_HOME=/home/oracle/app/oracle/product/1102/db)
     )
    (SID_DESC=
      (GLOBAL_DBNAME=gisdb)
      (SID_NAME=GISDB)
      (ORACLE_HOME=/home/oracle/app/oracle/product/1102/db)
     )
  )
ADR_BASE_LISTENER = /home/oracle/app/oracle

注:静态监听的SID_NAME名字需要注意大小写,同样的名字不一样的大小写表示完全不同的数据库实例。一旦静态监听的实例名字与对应的数据库实例不一致时,便会出现使用连接串无法连接数据库的问题。
需修改tns名称,host、port及service_name,若为静态监听,则service_name对应于listener中的global_name,若为动态监听,则service_name为show parameter service参数值。下面配置一个静态prod和一个动态prod_s。