文档章节

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

wangbinbin0326
 wangbinbin0326
发布于 2015/05/28 13:44
字数 961
阅读 33
收藏 0
点赞 0
评论 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

经典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

Oracle 基础篇 --- Oracle Network配置

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

wangbinbin0326 ⋅ 2015/05/29 ⋅ 0

深入理解openstack网络架构(1)

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

halcyonbaby ⋅ 2014/11/26 ⋅ 0

Oracle --- 基础篇 数据库连接命名方法

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

wangbinbin0326 ⋅ 2015/06/01 ⋅ 0

一个9年运维的经验之路

大家好,很久没有写文章了,今天突然有了写一篇自己这9年运维历程的一篇文章,希望可以帮助到才进入运维这行或者还在初、中级阶段的朋友。 入行篇: 我2008年7月份和几个同学为了学到前沿的知...

wiliiwin ⋅ 2017/11/17 ⋅ 0

Power9问世又怎样,一条SQL就把最牛小型机搞瘫了(有彩蛋)

看惯了各种深入原理、细致入微的分析,今天写一个简单、轻松的话题,但愿不会耽误你的时间。好吧,标题是有点夸张,放心,这不是一个标题党就完事的文章,毕竟我还希望你能持续看我的后续文章...

杨志洪 ⋅ 2016/04/10 ⋅ 0

oracle学习路线图

这是本人收藏的一个大师写的,用来提示自己oracle学习路线 1、sql、pl/sql(网上有很多的视频,可以做一个简单的入手,然后看几本书,多做实验) 作为oracle的基本功,需要大家对sql和plsql...

Monument ⋅ 2014/09/25 ⋅ 2

oracle NET学习(1):NET-8和监听器行为分析

环境: 14:56:24 sys@ORCL (^ω^) select * from v$version where rownum=1; BANNER Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod oracle NET 涉及面面方方,包括服务......

长平狐 ⋅ 2012/09/19 ⋅ 0

网络编程懒人入门(五):快速理解为什么说UDP有时比TCP更有优势

本文观点仅作参考,请根据自已系统的应用场景合理地选择数据传输层协议即可,无需盲目崇拜大牛言论。 1、前言 对于即时通讯开者新手来说,在开始着手编写IM或消息推送系统的代码前,最头疼的...

JackJiang2011 ⋅ 2017/12/19 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JDK1.6和JDK1.7中,Collections.sort的区别,

背景 最近,项目正在集成测试阶段,项目在服务器上运行了一段时间,点击表格的列进行排序的时候,有的列排序正常,有的列在排序的时候,在后台会抛出如下异常,查询到不到数据,而且在另外一...

tsmyk0715 ⋅ 25分钟前 ⋅ 0

spring RESTful

spring RESTful官方文档:http://spring.io/guides/gs/rest-service/ 1. 可以这么去理解RESTful:其实就是web对外提供的一种基于URL、URI的资源供给服务。不是一个原理性知识点。是一个方法论...

BobwithB ⋅ 27分钟前 ⋅ 0

C++ 中命名空间的 5 个常见用法

相信小伙伴们对C++已经非常熟悉,但是对命名空间经常使用到的地方还不是很明白,这篇文章就针对命名空间这一块做了一个叙述。 命名空间在1995年被引入到 c++ 标准中,通常是这样定义的: 命名...

柳猫 ⋅ 30分钟前 ⋅ 0

@Conditional派生注解

@Conditional派生注解(Spring注解版原生的@Conditional作用) 作用:必须是@Conditional指定的条件成立,才给容器中添加组件,配置配里面的所有内容才生效; @Conditional扩展注解 作用(判...

小致dad ⋅ 30分钟前 ⋅ 0

适配器模式

适配器模式 对象适配器 通过私有属性来实现的类适配器 通过继承来实现的接口适配器 通过继承一个默认实现的类实现的

Cobbage ⋅ 34分钟前 ⋅ 0

Java 限流策略

概要 在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统崩溃。此时你需要使用的技术手段之一就是限流,当请求达到一定的并发数或速...

轨迹_ ⋅ 38分钟前 ⋅ 0

GridView和子View之间的间隙

默认的情况下GridView和子View之间会有一个间隙,原因是GridView为了在子View被选中时在子View周围显示一个框。去掉的办法如下: android:listSelector="#0000" 或 setSelector(new ColorDra...

国仔饼 ⋅ 41分钟前 ⋅ 0

idea插件开发

1 刷新页面要使用多线程 2 调试要使用restart bug 不要去关闭调试的idea 否则再次启动会卡住

林伟琨 ⋅ 41分钟前 ⋅ 0

Java 内存模型

物理机并发处理方案 绝大多数计算任务,并不是单纯依赖 cpu 的计算完成,不可避免需要与内存交互,获取数据。内存要拿到数据,需要和硬盘发生 I/O 操作。计算机存储设备与 cpu 之间的处理速度...

长安一梦 ⋅ 48分钟前 ⋅ 0

思路分析 如何通过反射 给 bean entity 对象 的List 集合属性赋值?

其实 这块 大家 去 看 springmvc 源码 肯定可以找到实现办法。 因为 spirngmvc 的方法 是可以 为 对象 参数里面的 list 属性赋值的。 我也没有看 具体的 mvc 源码实现,我这里只是 写一个 简...

之渊 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部