zoukankan      html  css  js  c++  java
  • oracle体系结构(笔记二) 中庸

       " 学习一东西,一般思路是:框架->细节",某老师曾经这样说,这也符合本人的习惯,废话不多说,进入正题.

       一.oracle体系的组成

          oracle的体系结构主要分为三大部分:

               1.文件 主要包括构成数据库的五大类文件:参数文件,数据文件,临时文件,控制文件和重做日志文件。

               2.内存结构 主要包括系统全局区(System Global Area,SGA),进程全局区(System Global Area,PGA)和

                                用户全局区(User Global Area,UGA).

               3.进程或线程 主要包括3类不同的进程:服务器进程,后台进程和从属进程

         二.常用术语

              实例与数据库

              数据库:物理操作系统文件或磁盘的集合。

        实例:一组oracle后台进程或线程以及一个共享内存区,内存共享区,有同一个计算机上运行的进程或线程所共享, 没

                 有磁盘存储,数据库实例也能存在.

        关系:一个数据库可以由多个实例装载和打开,而实例在其生存期中最多能装载和打开一个数据库.

        本质:实例就是一组操作系统进程(或者一个多线程的进程)以及一些内存,这些进程可以操作数据库.而数据库只

                 是 一个文件的集合(数据文件,临时文件,重做日志文件,控制文件等).一个实例只能有一组相关的文件.

                 (与一个数据库关联)

         典型的应用:oracle的真正应用集群(Real Application Clusters,RAC),允许多个实例同时装载并打开一个数据库

                          (位于一组共享物理磁盘上),因此,我们可以同时从多台不同的计算机上访问这个数据库.

         一个实例能打开多个数据库吗?

         答:可以,一个磁盘上有4个数据库和一个实例,只要有不同的配置文件,就能装载并打开4个数据库中的任意一个.

               在任意时间点上只能访问一个数据库.

    三.连接oracle的模式

         服务器处理请求的两种常见方式:专用服务器连接和共享服务器连接

        专用服务器连接:在登陆时,oracle在服务端总会创建一个新的进程,这个服务进程在会话生存期中会专门为我

            服务,会话与专用服务器之间存在一对一的映射.客户进程会与这个专用服务器直接通信,并有

             这个服务器接收和执行我的sql,并返回结果.

        共享服务器连接:这种方式不会对每个用户的连接创建另外的进程或线程,在共享服务器中,oracle使用一个"共享

                           进程"池为大量用户提供服务.利用共享服务器,不用为1000个数据库会话创建1000个专用服务

                           器(进程或线程),而只需很少的一部分进程或线程,这些进程或线程将由所有会话共享.这样可以

                           让更多的用户与数据库连接.否者很难连接更多用户.

       区别:与数据库连接的用户不会与共享服务器直接通信,因为服务进程是共享的,为共享进程,引入了"调度器"的机制,

              用户与调度机直接通信.而专用服务器,客户进程与专用服务器直接通信。

  • 相关阅读:
    测试小技巧之常用工具
    测试小技巧之浏览器插件
    可变参数列表
    对象属性和数组元素的初始默认值
    静态块(变量)和非静态块(变量)
    类初始化顺序
    基本类型的重载规则
    构造器访问权限控制
    MySQL Server架构图
    递归与非递归实现树的遍历(java)
  • 原文地址:https://www.cnblogs.com/liangjie/p/2095160.html
Copyright © 2011-2022 走看看