• ORACLE数据库的连接


    0?wx_fmt=gif&wxfrom=5&wx_lazy=1


    作者介绍:姜刚,云和恩墨技术顾问,2016年开始专职从事DBA运维,ORACLE OCP,精通shell及perl编程。


    本文由恩墨大讲堂143期线上分享整理而成。课程回看可点击文末“阅读原文”。 


    监听程序


    数据库启动后,连接数据库有两种方式,分别是:本地连接通过监听程序连接


    >>>>

    本地连接


    通过登录数据库运行的主机后,不通过监听程序访问数据库实例,使用ps –ef|grep ‘LOCAL=YES’可以查看到其进程情况


    >>>>

    通过监听程序连接


    远程客户端程序通过监听器连接到数据库实例,可以通过ps –ef|grep ‘LOCAL=NO’方式查看。


    实例通过两种方式注册到监听程序,分别是:静态注册动态注册两种方式。

         

    静态注册


    静态注册方式是配置$ORACLE_HOME/network/admin/listener.ora文件,当监听程序启动后实例被直接注册到监听程序中,如下是配置信息:


    0?wx_fmt=png


    监听启动后,通过lsnrctl status可查看到服务状态,如果是UNKNOWN状态,表示实例是通过静态注册方式注册成功的


    动态注册

    0?wx_fmt=png


    动态注册是在监听启动后,pmon进程每1分钟向监听注册一次,使用lsnrctl status可查看服务状态是READY,可确定实例是通过动态注册方式注册成功的。


    监听配置及问题排查


    >>>>

    监听配置


    listener.ora配置文件主要有如下几个参数:


    参数名

    参数作用

    LOG_FILE_LISTENER

    监听日志文件名

    LOGGING_LISTENER

    是否写日志(OFF,ON),内网中建议关闭

    DIAG_ADR_ENABLED_LISTENER

    11gADR功能是否开放,建议关闭

    INBOUND_CONNECT_TIMEOUT_LISTENER

    监听连接超时参数,0表示不限制


    sqlnet.ora配置文件主要有如下几个参数:


    参数名

    参数作用

    tcp.validnode_checking

    是否打开IP地址限制功能

    tcp.invited_nodes

    白名单功能

    tcp.excluded_nodes

    黑名单功能

    SQLNET.AUTHENTICATION_SERVICES

    windows机器上设置NTS,windows机器上不要设置NTS


    >>>>

    问题排查


    监听连接不上:


    1. 首先通过 telnet ip地址 端口号 或tnsping ip地址:端口号判断监听是否正常

    2. 再查看核对服务名是否正确


    服务名不对:


    通过Sqlplus或pl/sql连接时要注意服务名和实例名的区别,通过sqlplus或pl/sql连接,需要使用服务名进行连接,如果使用Java瘦客户端需要使用实例名访问。


    TAF 配置


    >>>>

    Client-Side Connect time Failover


    在用户端的tnsnames.ora中配置多个地址,用户发起连接请求时,尝试依次按地址列表进行访问,如果第一个地址无法访问,那么访问第二个地址,直至连接成功或全部IP地址访问完毕。这种连接的特点是一旦连接建立之后,节点出现故障都不会做处理,从客户端的表现就是会话断开了,用户程序必须重新建立连接。

    >>>>

    TAF


    所谓TAF(Transparent ApplicationFailover ),就是连接建立以后,应用系统运行过程中,如果某个实例发生故障,连接到这个实例上的用户会被自动迁移到其他的健康实例上。


    对于应用程序而言,这个迁移过程是透明的,不需要用户的介入.在配置时,需要添加FAILOVER_MODE配置项,此配置项有:METHODTYPEDELAYRETRIES四个子配置项。


    METHOD(basic指感知到故障节点时才创建其他节点的连接;preconnect指事先创建好连接)

    TYPE(session指事务方式回滚,如果是查询则丢弃之前的查询重新获取数据.select指从剩下节点获取剩余数据,之前已获取的数据不再在新节点获取)

    DELAY(重新连接的时间间隔)

    RETRIES(重试次数)


    >>>>

    Server-Side TAF


    在Server端配置TAF,必须配置SERVICE配置项。


    RAC 下SCAN-IP原理和局限


    >>>>

    SCAN-IP注册访问原理



    0?wx_fmt=png


    1. RAC下各VIP注册到SCAN监听器中

    2. 客户端访问SCAN监听

    3. SCAN监听根据负载情况,分配一个VIP给客户端

    4. 客户端收到VIP后,访问对应的VIP地址


    >>>>

    SCAN-IP的局限


    0?wx_fmt=png


    1. RAC下各VIP注册到SCAN监听器中

    2. 客户端访问SCAN监听

    3. SCAN监听根据负载情况,分配一个VIP给客户端

    4. 客户端收到VIP后,访问对应的VIP地址,数据库如果在防火墙内,返回给客户端的是防火墙内的VIP地址,客户端在防火墙外无法直接使用防火墙内的VIP地址,此时会访问失败


    关注本公众号,回复:prelection,你可以找到本文的相关视频文档。


    0?wx_fmt=jpeg


    相关阅读:

    Oracle 12.2 的连接消除特性

    MySQL连接错误的十二“坑”

    应用无法连接数据库问题分析

    故障分析:RAC环境下ORA-12545连接错误

    Oracle 11g R2 RAC 高可用连接特性 – SCAN 详解

    资源下载

    关注公众号:数据和云(OraNews)回复关键字获取

    ‘2017DTC’,2017DTC大会PPT

    ‘DBALIFE’,“DBA的一天”海报

    ‘DBA04’,DBA手记4经典篇章电子书

    ‘INTERNALS’,Oracle RAC PPT

    ‘122ARCH’,Oracle 12.2体系结构图

    ‘2017OOW’,Oracle OpenWorld资料

    ‘PRELECTION’,大讲堂讲师课程资料

    0?wx_fmt=png

    0?wx_fmt=png↓点击阅读原文回看课程视频


  • 相关阅读:
    C语言学习趣事_BT_C_Code_混乱编程代码分析_1
    随想系列_6_终于被我发现Microsoft的一个错误了
    C语言学习趣事_经典面试题系列_2
    C++_系列自学课程_第_2_课_牛刀小试
    PLC_自动化控制系统_1_简说自动化控制系统
    随想系列_5_乱七八糟
    Android Handler使用
    Android Layout 布局属性
    MotionEvent事件在onInterceptTouchEvent()、onTouchEvent()中的传递顺序【转】
    AndroidMenifest 有关SdkVersion 说明
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13312455.html
Copyright © 2020-2023  润新知