文档章节

Oracle --- 基础篇 网络连接原理

wangbinbin0326
 wangbinbin0326
发布于 2015/05/28 13:44
字数 961
阅读 38
收藏 0

##第一. 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)关联的那部分内存中
  • 将结果返回到用户进程,以便应用程序可以处理这些信息
  • 读取审计选项并将用户进程报告给审计目标

© 著作权归作者所有

共有 人打赏支持
wangbinbin0326
粉丝 7
博文 39
码字总数 43554
作品 0
杭州
数据库管理员
最全java学习路线图 java学习指南

JavaEE学习路线图 准备篇 适用/适合人群:适合基础小白 目标:掌握JavaSE。 ●技术点小节: 1.开发工具的安装配置的介绍 2.JDK安装 3.DOS环境编程 4.Eclipse的安装使用 ●JAVA基础 1.基本的语...

耳东陈_f1e5
01/14
0
0
经典Oracle常用技巧荟萃

height:32.25pt;width:525pt">第一部分 安装优化篇 height:29.25pt;width:525pt">第二部分 基础管理篇 collapse;width:333pt"> collapse;width:333pt"> height:29.25pt;width:525pt">第三部分......

51cto_bbs
2013/04/02
0
0
Oracle 基础篇 --- Oracle Network配置

第二. Oracle Network配置 配置和管理Oracle Network 的工具: * Enterprise Manager 的“Net Services Administration(网络服务管理)”页 1. Oracle Net Manager * 提供一个图形用户界面(...

wangbinbin0326
2015/05/29
0
0
Oracle --- 基础篇 数据库连接命名方法

命名方法 4.1 简便连接 * 不需要进行客户端配置 * 仅支持TCP/IP(无SSL) * 不支持高级连接选项,如:连接时故障转移, 源路由, 负载平衡 * 添加EZCONNECT到sqlnet.ora文件 4.2 本地命名 * 需...

wangbinbin0326
2015/06/01
0
0
深入理解openstack网络架构(1)

原文地址: https://blogs.oracle.com/ronen/entry/divingintoopenstacknetworkarchitecture 前言 openstack网络功能强大同时也相对更复杂。本系列文章通过Oracle OpenStack TechPreview介绍...

halcyonbaby
2014/11/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

django 2 urlpatterns 中正则匹配路由

django 2 urlpatterns 中正则匹配路由: 在项目的urls.py中导入re_path:

MichaelShu
25分钟前
0
0
Spring MVC 到 Spring Boot 的简化之路

背景 从Servlet技术到Spring和Spring MVC,开发Web应用变得越来越简捷。但是Spring和Spring MVC的众多配置有时却让人望而却步,相信有过Spring MVC开发经验的朋友能深刻体会到这一痛苦。因为...

别打我会飞
30分钟前
0
0
python做文本内容指定区域字符串替换

需求: 因为公司项目需要做SEO优化,所以对项目中的各种长连接做优化,比如本文中提到的精简路径;之前已经批量吧文本的路径名字等做过修改,这里不再赘述;这里的问题是外部的路径修改了,文...

坦途abc
56分钟前
4
0
MySQL 关键字模糊匹配,并按照匹配度排序

MySQL 关键字模糊匹配,并按照匹配度排序。 方式一、按照关键字搜索,然后根据关键字所占比例排序 SELECTdrug_name,pinyinFROMtbl_drugWHEREpinyin LIKE '%AM%'ORDER BY...

yh32
今天
3
0
虚拟机学习之一:java内存区域与内存溢出异常

1.运行时数据区域 java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途和创建、销毁时间,有的区域伴随虚拟机进程的启动而存在,有些区...

贾峰uk
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部