Oracle 监听配置详解(转载)

使用ORACLE的SQL*Net V.2连接客户机和服务器,需配置每个客户机和服务器。在服务器上需配置的文件有:listener.ora、/etc/services,在客户机上需配置tnsnames.ora文件。

客户端不需要知道数据库名字和实例名字,只需要知道数据库对外提供的服务名(service_name)就可以申请连接到数据库。这个服务名字可以设置成和实例名字一样,也可以根据业务需求设计。在数据库启动过程,oracle会向监听程序注册相应的服务,任意的一个数据库都会有两条信息注册到监听器中:oracle对应的instance_name和service_name。

客户端是通过监听程序连接到数据库服务器的,监听中记录着相应的oracle service,而客户端只需要在tnsnames中提供正确的服务名就可以建立和数据库服务器的连接。

以下为服务器上的listener.ora文件(linux:/oracle/product/10g/network/admin;windows:D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN)内容:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /oracle/product/10g)
      (PROGRAM = extproc)
    )
  )

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

其中,LISTENER是服务器中监听进程的名称;

PROTOCOL  表明所使用的网络协议,若是TCP/IP协议,则该值必须为“TCP”;

HOST  表示服务器的网络地址,为服务器的IP或者网内的机器名;

PORT  指TCP/IP协议在主机中所占用端口号,ORACLE缺省使用1521,是在安装ORACLE数据库时定义的,在安装时可以改变,安装完成后不能改变此值;

SID_NAME  指服务器上运行的ORACLE数据库名称,该值应与.bash_profile文件中的环境变量ORACLE_SID相同(一般情况下此文件为缺省值“PLSExtProc”);

ORACLE_HOME  是指ORACLE数据库的主目录,该值也应与. bash_profile文件中的环境变量ORACLE_HOME相同。

客户机为了和服务器连接,必须先和服务器上的监听进程联络。ORACLE通过tnsnames.ora文件中的连接描述符来说明连接信息。一般tnsnames.ora 是建立在客户机上的。如果是客户机/服务器结构,整个网络上只有一台机器安装了ORACLE数据库服务器,那么只需在每个要访问ORACLE服务器的客户机上定义该文件,在服务器上无需定义。但是,如果网络上有多台机器均安装了ORACLE数据库服务器,并且服务器之间有数据共享的要求,那么在每台服务器上都必须定义该文件。

以下是客户端tnsnames.ora内容:

ORCL_18 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.18)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )

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

其中,ADDRESS_LIST  表示该客户机要经由多种协议与一台或多台服务器连接。在该样式文件中就表示该客户机要用TCP/IP协议来和服务器相连。

PROTOCOL 指明要连接使用的协议。

SERVICE_NAME  “SERVICE_NAME”就是“Global Database Name”,ORACLE8i数据库使用“Global Database Name”来唯一标识自己,通常的格式为“name.domain”,此处的值为“ora817.huawei.com”。

HOST  是TCP/IP协议使用的服务器IP地址或者机器名称。

PORT  是TCP/IP使用的端口地址。

SID  指定要连接的服务器上ORACLE数据库的ORACLE_SID。

SERVER=DEDICATED 表示用专用服务器连接ORACLE数据库,该选项在服务器上的tnsnames.ora文件中会出现。

Lsnrctl命令综述  

  Lsnrctl命令用来管理Oracle监听器,是一个命令行界面。想调用这个命令行工具,在命令行键入lsnrctl即可。可以在LSNRCTL>提示符下键入help来显示这些命令的一份清单。

  Services 列举出服务的一个汇总表及为每个协议服务处理程序所建立和拒绝的连接信息个数

  Start listener 启动指定的监听器

  Status listener显示指定监听器的状态

  Stop listener 关闭指定的监听器

  Trace 打开监听器的跟踪特性

  Version 显示Oracle Net软件与协议适配器的版本

  Change_password 允许用户修改关闭监听器所需要的密码

  Reload 重新读取listener.ora文件,但不关闭监听器。如果该文件发生了变化,重新刷新监听器。

  Save_config 当从lsnrctl工具中对listener.ora文件进行了修改时,复制一个叫做listener.bak的listener.ora文件

  Exit 退出lsnrctl实用工具

  Quit 执行和exit相同的功能

  C:\>lsnrctl services

附录:

RAC某个节点上的listener.ora 和 tnsnames.ora

# listener.ora.dbsv2 Network Configuration File: /oracle/product/10.2/database/network/admin/listener.ora.dbsv2
# Generated by Oracle configuration tools.

SID_LIST_LISTENER_DBSV2 =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /oracle/product/10.2/database)
      (PROGRAM = extproc)
    )
  )

LISTENER_DBSV2 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = dbsv2-vip)(PORT = 1521)(IP = FIRST))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.3)(PORT = 1521)(IP = FIRST))
    )
  )

# tnsnames.ora Network Configuration File: /oracle/product/10.2/database/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dbsv1-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = dbsv2-vip)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

ORCL2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dbsv2-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
      (INSTANCE_NAME = orcl2)
    )
  )

ORCL1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dbsv1-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
      (INSTANCE_NAME = orcl1)
    )
  )

LISTENERS_ORCL =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.3)(PORT = 1521))
  )

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

《转自:http://blog.itpub.net/9399028/viewspace-683834

时间: 2024-10-07 12:15:05

Oracle 监听配置详解(转载)的相关文章

Oracle 静态监听注册详解

网上有很多关于oracle 监听静态注册的文章,但大多都是简单说说,并没有详细的例子,这里,将结合linux as4 下的oracle 10gR2.0.1 举一个具体的例子 1.在 $ORACLE_HOME/network/admin/listener.ora 文件中加入一个静态注册的节点 [[email protected] oracle]$ cd $ORACLE_HOME/network/admin [[email protected] admin]$ vi listener.ora # l

windows 启动关闭Oracle监听和服务 (转载)

经常要用数据库,让他自己启动的话,开机太慢,所以用命令启动方便点.   1.开启:     在运行中输入cmd,进入控制台,lsnrctl start回车,提示启动监听成功后 net start OracleServiceORCL.2 关闭     在运行中输入cmd,进入控制台,lsnrctl stop回车,提示启动监听成功后 net stop OracleServiceORCL.这样还是不太方便.     在桌面右键,新建一个记事本,输入 lsnrctl start net start Or

linux oracle监听配置

1.在oracle用户下输入命令:netca,进入安装界面,选择"Listener configuration",点击"Next"按钮 2.选择"Add",点击"Next"按钮 3.默认监听名称,点击"Next"按钮 4.默认选择"TCP",点击"Next"按钮 5.选择"Use the standard port number of 1521",

oracle监听配置

D:\dev\product\11.2.0\dbhome_1\NETWORK\ADMIN 连接到其他机器: pl首选项配置: OraDb11g_home1 D:\dev\product\11.2.0\dbhome_1\bin\oci.dll pl:192.168.0.153/oanet listener.ora  无需改动 # listener.ora Network Configuration File: D:\dev\product\11.2.0\dbhome_1\network\admin

tomcat中server.xml配置详解(转载)(二)

转载自:https://www.cnblogs.com/starhu/p/5599773.html 一:<Connector>元素 由Connector接口定义.<Connector>元素代表与客户程序实际交互的给件,它负责接收客户请求,以及向客户返回响应结果. <!-- 一个"Connector"(连接器)代表一个请求被接收和应答所需要的端点.每个连接器通过相关的"Container"(容器)处理请求. 默认情况下,一个非SSL的HT

Oracle监听配置、数据库实例配置等

参考:http://jingyan.baidu.com/article/3aed632e7a638b70108091dd.html linux下面搞Orale参考:http://blog.sina.com.cn/s/blog_4b0210750100odkf.html 自己总结: 1.创建一个数据库实例,在系统服务里会增加一个服务,名为:"OracleServer"+所创建的数据库实例的SID,该服务需要启动. 2.两个配置文件:network/admin/listener.ora  

基于php-fpm的配置详解[转载]

php自带php-fpm/usr/local/php/etc/php-fpm.confpid = run/php-fpm.pidpid设置,默认在安装目录中的var/run/php-fpm.pid,建议开启 error_log = log/php-fpm.log错误日志,默认在安装目录中的var/log/php-fpm.log log_level = notice错误级别. 可用级别为: alert(必须立即处理), error(错误情况), warning(警告情况), notice(一般重要

JAVA GUI 事件监听事件 详解 和 案例.

GUI(图形用户界面) Graphical User Interface(图形用户接口) 用图形的 方式, 来显示 计算机操作的 界面, 这样更方便 更直观. CLI Command Line User Interface(命令行用户接口) 就是常见的 Dos 命令行操作. 需要记忆一些常用的命令, 操作不直观. Java 为 GUI 提供的 对象 都存在 java.awt 和 javax.swing 两个包中. Java 图形化界面的 产品: eclipse 这个产品使用 纯Java 语言 编

Oracle中的索引详解(转载)

一. ROWID的概念 存储了row在数据文件中的具体位置:64位 编码的数据,A-Z, a-z, 0-9, +, 和 /, row在数据块中的存储方式 SELECT ROWID, last_name FROM hr.employees WHERE department_id = 20; 比 如:OOOOOOFFFBBBBBBRRR OOOOOO:data object number, 对应dba_objects.data_object_id FFF:file#, 对应v$datafile.fi