• 【Oracle 客户端连接数据库过程解析】


    一、开篇

    Oracle数据库以其卓越的性能和稳定性赢得了众多企业的信赖。作为开发者或数据库管理员,理解Oracle客户端如何与数据库建立连接,是确保系统正常运行的关键。

    二、Oracle客户端简介

    首先,我们要了解什么是Oracle客户端。简单来说,它是用户与Oracle数据库交互的接口,提供了一系列工具和库,使用户能够轻松地连接到数据库,并执行各种操作。

    重客户端模式:PLSQL、DEVELOPER、TOAD、以及非服务器本地的SQLPLUS。
    轻客户端模式:JDBC、ODBC这种连接驱动去连接数据库。
    本地客户端(服务端的本地客户端): SQLPLUS

    三、连接过程解析

    在这里插入图片描述

    在 Oracle 数据库中,LREG(Listener Registration)进程是一个后台进程,负责向监听器注册数据库实例信息。当数据库实例启动时,它会通过LREG 进程将自己的信息注入(或者注册)到监听器中,以使客户端能够连接到它。

    下面是大致的注入过程:

    • 数据库实例启动: 数据库实例启动后会创建 LREG 进程,该进程负责与监听器进行通信。

    • LREG 进程与监听器建立连接:LREG 进程通过网络连接与监听器建立通信渠道。

    • 注册数据库实例信息:LREG 进程将数据库实例的相关信息(如服务名、主机名、端口号等)发送给监听器。

    • 监听器接收实例信息:监听器接收到 LREG 进程发送的数据库实例信息。

    • 监听器更新信息:监听器将接收到的数据库实例信息更新到自己的注册表中,以便将来的连接请求能够正确路由到相应的数据库实例。

    Oracle客户端连接数据库过程:
    1.客户端输入ORACLE的连接串,产生连接请求
    客户端将提供的连接串进行解析并提取连接信息,包括主机名、端口号、服务名等。

    2.监听器将收到的客户端请求发送给会话区监听器内部会将客户端发送的请求传递到会话区

    3.会话区验证请求是否合法
    验证客户端连接请求的合法性,包括检查客户端的IP地址、端口号,并进行连接权限的验证。

    4.建立连接(SERVERPROCESS)
    会话区验证请求成功,将与前台进程(SERVERPROCESS)建立通信。

    5.SERVERPROCESS将验证结果传递给监听器

    6.监听器返回验证结果给客户端

    7.客户端与SERVERPROCESS生成会话信息
    SERVERPROCESS前台进程与客户端之间建立会话。

    扩展:
    1.ORACLE产生会话用的是什么连接协议:IPC协议(TCP/IP协议精简后的协议)
    2.栈区:程序生成区或变量操作区。

    SELECT * FROM TAB WHERE COL1=&a;
    
    • 1

    &a代表绑定变量。所有的变量都在这个区中进行赋值或更改。
    3.会话区(会话全局区)
    会话信息缓存区(会话记录区):这里记录当前连接会话的信息

    4.私有 SQL 区
    私有 SQL 区是指每个会话(Session)在内存中分配的用于执行 SQL 语句的空间

    5.运行区: 持久区产生的执行计划将在这个区域中进行运行

  • 相关阅读:
    北斗卫星导航系统:引领现代林业发展的先锋
    @Mock @MockBean @InjectMocks之间的关系
    【Leetcode】148.排序链表
    33.2.4 配置Mycat负载均衡
    六要素一体微型气象站介绍
    智能工厂评估模型研究
    计算机毕业设计Java花卉网站(源码+系统+mysql数据库+lw文档)
    软考考试多少分算通过?
    (云HIS)云医院管理系统源码 SaaS模式 B/S架构 基于云计算技术
    27. Python 列表的索引取值
  • 原文地址:https://blog.csdn.net/m0_49929446/article/details/134420763