oracle 网络配置

本文详细介绍了Oracle数据库的网络配置过程,包括服务器设置、客户端连接和Microsoft应用的整合。通过理解网络配置,确保数据库服务的稳定性和高效访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • Oracle默认的网络配置是专用服务器模式(dedicated server)

     

    执行一个SQL语句通常要经过4个步骤:

    1、解析(parse):解析阶段要和shared pool交互,它负责将SQL语句翻译成可以执行的状态;

    2、绑定(bind):在此阶段,所有变量被赋予值

    3、执行(execute):执行阶段需要使用大量的SGA,在此阶段database被使用到;

    4、取回(fetch):服务器进程将结果集送到用户进程,由用户进程显示给用户;

     

     

    Oracle网络主要是在用户进程和服务器进程之间建立起会话,然后在用户进程和服务器进程之前不断交互;

    实例的交互是通过服务器进程

    实例和数据库之间的交互时通过后台进程

     

    Oracle 网络是一个分层的协议;

    从Oracle11g开始,Oracle网络只支持:TCP,TCP with secure sockets, Windows Name Pipes(NMP) and the newer Sockets Direct Protocol (SDP) over Infiniband high-speed network

     

    对应于OSI标准模型,Oracle Net对应其5,6,7层:the session, presentation, application layers

    Oracle Net使用已经建立的第4层协议TCP来建立相关的会话;

     

    The presentation layer functions are handled by the Oracle Net Two Task Common(TTC) layer. TTC is responsible for any conversions necessary when data is transferred between the user process and the server processes, such as character set changes.

     

    The application layer functions are the user and server processes themselves;

     

    如果用户会话要连接本机的Oracle 实例,IPC协议就会被使用,IPC协议是操作系统本身提供的内部协议;使用此协议的时候,连接不需要使用数据库监听

     

    在同一台服务器上可能有多个 oracle实例在运行,此时进入的时候就需要指明需要操作的实例的环境变量

    linux使用 export命令指定环境变量:export ORACLE_SID=ORAFAN11

    windows使用set命令指定环境变量:set ORACLE_SID= ORAFAN11

     

    命名解析:

    命名解析需要从Oracle 连接字符串中解析出来如下4个信息:

    1、连接使用的协议类型(TCP,IPC或其他)

    2、运行着数据库监听程序的服务器的IP地址:可以使主机名,也可以使IP地址

    3、监听程序监听的端口号

    4、Oracle实例的名字;

     

    监听程序

    Oracle 监听程序运行在服务器端的一个或多个网卡上,它使用一种或多种网络协议,监听一个或多个端口上接收到的连接请求;

    你可以在一台机器上启动多个监听服务,

    任何一个监听服务可以接收多个实例的连接请求;

    监听程序判断接收到的连接请求是否是有效的,如果有效,就会启动一个服务器进程去服务这个用户进程;之后用户进程和服务器进程就进行直接的交互,不需要监听程序再次为他们建立连接,此时,监听程序就去服务下一个连接请求:这就是传说中的专用服务器模式;

    如果监听程序没有启动,新的服务器进程不会被启动,但是它不影响原有已经建立的会话进程;

     

    在没有listener.ora文件的情况下你可以启动默认的监听程序,它将监听所有发往你机器的端口号为1521的地址

    Oracle提供了三种配置listener.ora文件的图形工具:EM,The Net Configuration Assistant,  The Net Manager

     

    The Net manager 和The Net Configuration Assistant的区别在于:

    前者可以在一个监听上配置多个监听地址,后者不能;

     

    数据库注册:就是要让运行在服务器上的监听程序知道,在本服务器上有多少个数据库实例是可以使用的;

    数据库注册有两种方法:

    静态的(写在listener.ora文件中)

    动态的(实例在启动的时候自动寻找监听程序并在上面进行注册):初始化参数文件LOCAL_LISTENER将告诉实例的PMON进程如何找到监听程序并在上面完成注册;PMON每一分钟就自动完成一次注册,也可以使用sql> alter system register;手动完成这个过程;

    如果你使用的监听程序不是默认的,使用了其他的端口后,你就需要在初始化参数中指定这个监听程序,并重新注册

    sql>  alter system set local_listener=list2;

    sql>alter system register;

     

    sql>alter system set local_listener='(address=(protocol=tcp)(host=127.0.0.1)(port=1522))';

    监听程序和实例必须运行在同一个物理服务器上,RAC环境除外。在RAC环境中,在同一个集群内的所有物理服务器上的所有监听程序都可以让你连接到运行在任何物理服务器上的任何实例;

     

    Oracle提供了4中命名解析的方法

    1、easy connect:从oracle 10g后开始引入,它非常简单,不需要任何配置,但是它只能被一种协议所使用:TCP;此方法的第二个不足就是它不能使用Oracle Net的多种高级性能,如load balancing or connect-time failover across different newwork routes

    sql> connect  soctt/tiger@10.87.57.176:1522/orafan11

     

    2、local naming  (最常用):使用tnsnames.ora(这个文件驻留在用户客户端的电脑上),使用这种方式要搞清楚the alias, the service, and the instance name三个概念。

     

    3、directory naming  (对大型和复杂的安装最有效):这种方式使用一个LDAP(the Lightweight Directory  Protocol)目录服务器来对别名进行解析。Oracle将它的LDAP服务器(the Oracle Internet Directory)作为Oracle Application Server中的一部分进行发布,Microsoft(Microsoft Active Directory),IBM, Novell等公司都有自己的LDAP服务器

     

    4、external naming:该方法很像directory naming,但是它使用第三方命名方法,如:Sun's Network Information Services(NIS+) or the Cell Directory Service (CDS) that are part of he Distributed Computing Environment (DCE)

     

    lsnrctl> services :提供了比status更为详细的服务信息

    lsnrctl>reload : 让listener重新读取listener.ora文章中的信息;

    lsnrctl>save_config :将在线修改的信息保存到listener.ora文件中

     

    在Oracle网络配置中有3个文件相当关键:

    1、listener.ora:存在于服务器端

    2、tnsnames.ora:存在于客户端

    3、sqlnet.ora:存在于服务器端,或客户端,或者两者都有,它用来对所有连接和监听进行高级选项配置,如各种安全规则,加密方式;

    这三个文件都位于ORACLE_HOME/network/admin文件夹中,可以通过指定环境变量TNS_ADMIN来改变他们的位置;

     

    一个典型的oracle服务器通常有3个ORACLE HOME:

    one for the Enterprise Manager Grid Control Agent

    one for launching database instances

    one for launching Automatic Storage Management (ASM) instances;

     

    客户端也可以有多个ORACLE HOME,每个home放置一个版本的客户端;


     

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值