Oracle --- 基础篇 网络连接原理
Oracle --- 基础篇 网络连接原理
wangbinbin0326 发表于3年前
Oracle --- 基础篇 网络连接原理
  • 发表于 3年前
  • 阅读 16
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: Oracle --- 基础篇 网络连接原理

##第一. Oracle Network原理


###1. Oracle Net Services

此处输入图片的描述

>* 使用Oracle Net Services 可建立从客户机或中间层应用程序到Oracle 服务器的网络连接。 >* 建立网络会话之后,Oracle Net 充当客户机应用程序与数据库服务器的数据信使。它负责建立并维护客户机应用程序和数据库服务器之间的连接,并负责在二者之间交换消息。 >* Oracle Net(或模拟Oracle Net 的程序,如Java 数据库连接)位于需要与数据库服务器通信的每台计算机上。

> ------

>* 在客户机计算机上,Oracle Net 是一个用于连接到数据库的后台组件。

>* 在数据库服务器上,Oracle Net 包含一个称为Oracle Net Listener 的活动进程,该进程负责协调数据库与外部应用程序之间的连接。 >* Oracle Net Services最常见的用法是传入数据库连接。通过配置其它网络服务,可允许访问外部代码库(EXTPROC),以及通过Oracle Heterogeneous Services 将Oracle 实例连接到非Oracle 数据源,如Sybase、Informix、DB2 和SQL Server。


###2. Oracle Net Listerner

此处输入图片的描述

> Oracle Net Listener(或简称“监听程序”)是将所有非本地用户连接到Oracle 实例的网关。单个监听程序可用于多个数据库实例以及成千上万个客户机连接。


###3. 建立网络连接

此处输入图片的描述

> 要建立客户机或中间层连接,Oracle Net 要求客户机了解 下列事项:

>* 运行监听程序的主机 >* 监听程序监视的端口 >* 监听程序使用的协议 >* 监听程序处理的服务名


###4. 建立连接

此处输入图片的描述

>* Oracle Net 名称解析运行完毕之后,连接请求将从用户或中间层应用程序(以下称为“用户进程”)传递到监听程序。监听程序会接收一个连接数据包,之后会检查这个连接数据包请求的Oracle Net 服务名是否有效。

>* 如果没有请求服务名(例如tnsping 请求),监听程序会通知连接请求,此外不执行任何其它操作。 >* 如果请求的服务名无效,则监听程序会将错误代码传输给该用户进程。


###4. 用户会话

此处输入图片的描述

> 如果CONNECT 数据包请求了一个有效的服务名,则监听程序将衍生一个新的进程来处理该连接。这个新进程称为“服务器进程”。监听程序会连接到该进程并传递初始化信息,包括用户进程的地址信息。此时,监听程序不再处理连接,所有工作都会传递到服务器进程。

> 服务器进程会检查用户的验证身份证明(通常为口令),如果身份证明有效,就会创建用户会话。

> -------

> 专用服务器进程:建立会话后,服务器进程随即充当服务器上的用户代理。服务器进程负责以下工作:

>* 进行语法分析并运行通过应用程序发出的所有SQL 语句 >* 检查数据块的数据库缓冲区高速缓存,这些数据块是执行SQL语句所必需的 >* 从磁盘上的数据文件中将必要的数据块读入到系统全局区(SGA) 的数据库缓冲区高速缓存部分(如果SGA 中没有这些数据块) >* 管理所有排序活动。排序区是用于处理排序的内存区;它包含在与程序全局区(PGA)关联的那部分内存中 >* 将结果返回到用户进程,以便应用程序可以处理这些信息 >* 读取审计选项并将用户进程报告给审计目标

共有 人打赏支持
粉丝 8
博文 39
码字总数 43554
×
wangbinbin0326
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: