Oracle的tnsnames.ora 监听配置文件详解

监听配置文件
   为了使得外部进程 如 CAMS后台程序 能够访问 Oracle 数据库 必须配
   置 Oracle 网络服务器环境 配置 Oracle 网络服务器环境是通过配置
   listener.ora sqlnet.ora 和 tnsnames.ora 共三个文件来进行的 listener.ora
   即监听配置文件 在本小节说明 另两个文件分别在随后的两个小节说明
   监听配置文件 listener.ora 的存放路径为 $ORACLE_HOME/network/admin
   以下是一个示例
   LISTENER = #监听器名称
   (DESCRIPTION_LIST =
   (DESCRIPTION =
   (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
   )
   (ADDRESS_LIST =
   (ADDRESS =
   (PROTOCOL = TCP)
   (HOST = localhost.localdomain)
   (PORT = 1521))
   )
   )
   (DESCRIPTION =
   (PROTOCOL_STACK =
   (divSENTATION = GIOP)
   (SESSION = RAW)
   )
   (ADDRESS =
   (PROTOCOL = TCP)
   (HOST = localhost.localdomain)
   (PORT = 2481))
  
   )
   )
   
  SID_LIST_LISTENER = #命名规则 SID_LIST_+上面定义的监听器名称
  (SID_LIST =
   (SID_DESC =
   (SID_NAME = PLSExtProc1)
   (ORACLE_HOME = /u01/app/oracle/product/8.1.7)
   (PROGRAM = extproc)
   )
   (SID_DESC =
   (GLOBAL_DBNAME = cams)
   (ORACLE_HOME = /u01/app/oracle/product/8.1.7)
   (SID_NAME = cams)
   )
   (SID_DESC =
   (GLOBAL_DBNAME = oid)
   (ORACLE_HOME = /u01/app/oracle/product/8.1.7)
   (SID_NAME = oid)
   )
  )
  
  
  & 说明
  1 listener.ora 文件中定义一个监听器 其缺省的名称为 LISTENER
  这个监听器缺省以tcp/ip为协议地址且端口号为1521运行 在CAMS应用中
  监听文件定义的监听器就使用这个缺省名字 并且使用缺省的协议 tcp/ip
  和缺省的端口号 1521 待配置好监听文件以及随后说明的 sqlnet.ora 和
  tnsnames.ora 文件之后 就可以用以下命令将监听文件中定义的监听器启动
  起来
   $ lsnrctl start
  停止监听器的命令为
   $ lsnrctl stop
  监测监听器当前状态的命令为
   $ lsnrctl status
  当 lsnrctl status 命令有如下输出结果
   STATUS of the LISTENER
   ------------------------
   Alias LISTENER
   Version TNSLSNR for Linux: Version 8.1.7.4.0 - Production
   Start Date 17-JAN-2004 19:00:08
   Uptime 31 days 15 hr. 27 min. 59 sec
  就说明监听器正在运行 否则说明监听器已经停止了 CAMS 系统的后台程
  序的正常运行不仅依赖于数据库实例的运行 还依赖于这个数据库监听器的
  运行 假如监听器没有启动 即使数据库已经启动 CAMS 后台程序仍然不
  能正常工作
  2 如(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))所示的一个
  IPC 协议地址的监听 是为了外部进程调用用的 在数据库安装时自动设定
  不需要改动
  
  3 在监听文件后部还有一个 SID_LIST_LISTENER 段 该段用于定义监听
  器的服务 即为哪些数据库实例提供监听服务 以 cams 实例为例 其对应的
  服务信息为
   (SID_DESC =
   (GLOBAL_DBNAME = cams) #数据库名
   (ORACLE_HOME = /u01/app/oracle/product/8.1.7)
   (SID_NAME = cams) #数据库实例名
  )
  
  
  1.2.5 sqlnet.ora 文件
   sqlnet.ora 文件的存放路径为 $ORACLE_HOME/network/admin 以下是一
   个示例
  
  NAMES.DEFAULT_DOMAIN = localdomain
  NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
  & 说明
  NAMES.DEFAULT_DOMAIN 指定网络域名 NAMES.DIRECTORY_PATH
  指定当解析客户端连接标识符时命名方法 naming metthods 采用的优先顺
  序 从左至右递减 在 CAMS 应用中 这两个参数采用上述所示的系统缺
  省值
  
  
  1.2.6 tnsnames.ora 文件
  tnsnames.ora 文件的存放路径为 $ORACLE_HOME/network/admin 以下
  是一个示例
  OID.LOCALDOMAIN =
  (DESCRIPTION =
   (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =
  1521))
   )
   (CONNECT_DATA =
   (SERVICE_NAME = oid)
   )
  )
  CAMS.LOCALDOMAIN =
  (DESCRIPTION =
   (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =
  1521))
   )
   (CONNECT_DATA =
   (SERVICE_NAME = cams)
   )
  )
  INST1_HTTP.LOCALDOMAIN =
  (DESCRIPTION =
   (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =
  
  1521))
   )
   (CONNECT_DATA =
   (SERVER = SHARED)
   (SERVICE_NAME = MODOSE)
   (divSENTATION = http://admin)
   )
   )
  EXTPROC_CONNECTION_DATA.LOCALDOMAIN =
   (DESCRIPTION =
   (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
   )
   (CONNECT_DATA =
   (SID = PLSExtProc1)
   (divSENTATION = RO)
   )
   )
   
  
  & 说明
  tnsnames.ora 文件中定义一个或多个网络服务 net service cams 实例对
  应的网络服务为
  CAMS.LOCALDOMAIN =
  (DESCRIPTION =
   (ADDRESS_LIST =
   (ADDRESS =
   (PROTOCOL = TCP)
   (HOST = localhost.localdomain)
   (PORT = 1521))
   )
   (CONNECT_DATA =
   (SERVICE_NAME = cams)
   )
  )
  注意 这里 ADDRESS项包含三个子参数
  
  PROTOCOL :默认协议TCP
  
  HOST :ip地址
  
  PORT:端口,默认1521
  
  CAMS.LOCALDOMAIN为数据名
  
  要确保在监听文件中也有对应的一个 ADDRESS 项也包含同样的三个子参
  数 并且子参数的值对应都相等 另外 这里 SERVICE_NAME 的值必需确
  保与监听文件中某 SID_DESC项下的 SID_NAME参数的值相等 

 

来源:http://blog.tianya.cn/blogger/post_show.asp?BlogID=1845394&PostID=15628909

posted @ 2017-01-19 17:34  王鸿云  阅读(53505)  评论(0编辑  收藏  举报