Oracle 11g体系结构概述

  • 实例(Instance),是指一组Oracle后台进程以及在服务器中分配的共享内存区域;
  • 数据库(Database),是由基于磁盘的数据文件、控制文件、日志文件、参数文件和归档日志文件等组成的物理集合;
  • 数据库服务器(Database Server),是指管理数据库的各种软件工具(比如:SQLPLUS,OEM等)、实例及数据库3个部分。

1. 逻辑存储结构

1.1 数据块(Data Blocks)

数据块是Oracle逻辑存储结构中的最小的逻辑单位,也是执行数据库输入输出操作的最小存储单位。

通常Oracle数据块是操作系统块的整数倍,如果操作系统快的大小为2048B,并且Oracle数据块的大小为8192B,则表示Oracle数据块由4个操作系统块构成。Oracle数据块有一定的标准大小,其大小被写入到初始化参数DB_BlOCK_SIZE中。

1.2 数据区(Extent)

数据区(也可称作数据扩展区)是由一组连续的Oracle数据块所构成的Oracle存储结构,一个或多个数据块组成一个数据区,一个或多个数据区再组成一个段(Segment)。

当一个段中的所有空间被使用完后,Oracle系统将自动为该段分配一个新的数据区,这也正符合Extent这个单词所具有的“扩展”的含义,可见数据区是Oracle存储分配的最小单位,Oracle就以数据区为单位进行存储控件的扩展。

1.3 段(Segment)

段是由一个或多个数据区组成的,它不是存储空间的分配单位,而是一个独立的逻辑存储结构,用于存储表、索引或簇等占用空间的数据对象。

一个段只属于一个特定的数据对象,段内的数据区可以不连续,并且可以跨越多个文件,使用段的目的是用来保存特定的对象。一个Oracle数据库通常有以下4种类型的段:

数据段、索引段、回滚段、临时段。

1.4 表空间(TableSpace)

Oracle使用表空间将相关的逻辑结构(比如段、数据区等)组合在一起,表空间是数据库的最大逻辑划分区域,通常用来存放数据表、索引、回滚段等数据对象(即Segment),任何数据对象在创建时都必须被指定存储在某个表空间中。一个表空间由一个或多个数据文件组成。

2. 物理存储结构

3. Oracle 11g服务器结构

实例(Instance)可以进一步划分为系统全局区(SGA)和后台进程(PMON、SMON)两部分。SGA使用操作系统内存资源,而后台进程需要使用CPU与内存资源。

3.1 系统全局区(SGA)

SGA是所有用户进程共享的一块内存区域,主要由高速数据缓冲区、共享池、重做日志缓存区、Java池和大型池等内存结构组成。

  • 高速数据缓冲区(Database buffer cache),存放着Oracle系统最近访问过的数据块。
  • 重做日志缓冲区(Redo log buffer cache),用于存放对数据库进行修改操作时产生的日志信息,这些日志信息在写入到重做日志文件之前,首先存放到重做日志缓冲区中,然后在检查点发生或重做日志缓冲区中的信息量达到一定的峰值时,由日志写入进程(LGWR)将此缓冲区的内容写入到重做日志文件。参数名:LOG_BUFFER
  • 共享池(Shared pool),用于缓存SQL语句、PL/SQL语句、数据字典、资源锁、字符集以及其他控制结构等。参数名:SHARED_POOL
  • 大型池(Large pool),在SGA区中不是必需的内存结构,只在某些特殊情况下,实例需要使用大型池来减轻共享池的访问压力,常用情况有:备份和恢复、执行具有大量排序操作的SQL语句、使用并行查询时。参数名:LARGE_POOL_SIZE
  • Java池,用来提供内存空间给Java虚拟机使用,目的是支持在数据库中运行Java程序包。参数名:JAVA_POOL_SIZE

3.2 后台进程

放一张Oracle 11g整体结构图,作为本章的结束,原文参考:

http://blog.csdn.net/tianlesoftware/article/details/5587788

Oracle学习笔记之二,Oracle 11g体系结构的更多相关文章

  1. Oracle学习笔记(二)——临时表

    在针对大数据量的多表级联查询或复杂事务处理的时候,引入Oracle临时表是一种不错的策略.因此,在解决实际需求时经常会遇到需要使用存储过程和临时表相互配合的情况.下面就Oracle如何创建临时表以及注 ...

  2. Oracle学习笔记之五,Oracle 11g的PL/SQL入门

    1. PL/SQL概述 PL/SQL(Procedural Language/SQL)是Oracle的专用语言,是对标准SQL语言的扩展,它允许在其内部嵌套普通的SQL语句,还可以定义变量和常量,允许 ...

  3. Oracle学习笔记(十二)

    十三.存储过程和存储函数1.掌握存储过程(相当于建立一个函数或者方法体,然后通过外部对其调用) 指存储在数据库中供所有程序调用的子程序叫做存储过程或存储函数. 相同点: 完成特定功能的程序 区别: 是 ...

  4. Oracle学习笔记(二)

    2.Oracle用户管理 (1)创建用户:create user 用户名 identified by 密码(需要dba权限); sql>create user yzw identified by ...

  5. Oracle 学习笔记(二)

    1.创建用户,一般是具有dba权限的用户才能使用: create user 用户名 identified by 密码; 2.删除用户: drop user 用户名,注意,如果用户拥有对象,则不能直接删 ...

  6. oracle学习笔记(二)表的查询

    --oracle表的管理 --创建表 )); --删除表 drop table users; --创建表 ),xm ),sex ),birthday date,sal ,)); ),cnmae )); ...

  7. oracle学习笔记(二) 基本数据类型

    常用的数据类型 int number number(4,1) 999.1 四个数字,小数位一位 decimal date 日期 格式如下: 注意:日期类型的字段格式,可以通过以下三种方式: 1. da ...

  8. oracle学习笔记(二十三)——JDBC调用存储过程以及批量操作

    jdbc调用存储过程 使用并获得out模式的参数返回值 //存储过程为sum_sal(deptno department.deptno%type,sum in out number) Callable ...

  9. Oracle学习笔记十二 子程序(存储过程、自定函数)和程序包

    子程序 子程序:命名的 PL/SQL 块,编译并存储在数据库中.   子程序的各个部分: 1.声明部分 2.可执行部分 3.异常处理部分(可选) 子程序的分类: 1.过程 - 执行某些操作 2.函数 ...

随机推荐

  1. php各版本下载

    Index of /php5/ File name File size Date Parent directory/ - - pecl-5.0.0-Win32.zip 954306 13-Jul-20 ...

  2. 今天微信小程序发现wx.request不好使了,调试报错: 小程序要求的 TLS 版本必须大于等于 1.2

    今天微信小程序发现wx.request不好使了,调试报错: 小程序要求的 TLS 版本必须大于等于 1.2 查官方文档 解决方法 在 PowerShell中运行以下内容, 然后重启服务器 # Enab ...

  3. 【CSWS2014 Summer School】大数据下的游戏营销模式革新-邓大付

    大数据下的游戏营销模式革新 邓大付博士腾讯专家工程师 Bio:毕业于华中科技大学,现任腾讯IEG运营部数据中心技术副总监,负责腾讯游戏的数据挖掘相关工作,包括有用户画像,推荐系统,基础算法研究等.主要 ...

  4. Visual Studio使用中的问题

    1.后台断点调试,一到断点的时候就VS已停止 原因:安装插件问题,我的由于安装了" .NET Reflector Visual Studio Extension "插件 解决办法: ...

  5. iOS后台播放音乐

    iOS实现在后台播放音乐 iOS4之后就支持后台播放音频了.只需下面两步就可以实现后台播放音频操作了. 1. 在Info.plist中,添加"Required background mode ...

  6. Linux 驱动之内核定时器

    1.定时器 之前说过两类跟时间相关的内核结构. 1.延时:通过忙等待或者睡眠机制实现延时. 2.tasklet和工作队列,通过某种机制使工作推后运行,但不知道运行的详细时间. 接下来要介绍的定时器,可 ...

  7. vue 开发中的常见问题

    (一)eslint静态检查 在大家用vue-cli创建工程的时候,会有一项,使用使用eslint,如果选择了y,那么工程就会安装并启用eslint. 这里列举一下常见的错误: 1.多余的分号 2.定义 ...

  8. 1个比较简单的使用java反射机制获取前台数据进行数据封装的例子

    //利用反射机制 和 从request获取所有参数的形式来构建查询对象 CustomerChooseSearchParma searchObject = new CustomerChooseSearc ...

  9. webservice系统学习笔记5-手动构建/发送/解析SOAP消息

    手动拼接SOAP消息调用webservice SOAP消息的组成: 1.创建需要发送的SOAP消息的XML(add方法为例子) /** * 创建访问add方法的SOAP消息的xml */ @Test ...

  10. WEB客户端和服务器

    # encoding=utf-8 #python 2.7.10 #xiaodeng #HTTP权威指南 #HTTP协议:超文本传输协议是在万维网上进行通信时所使用的协议方案. #WEB客户端和服务器: ...