2.Oracle11g体系结构

2.1逻辑存储结构

2.1.1数据块(Data Blocks)

数据块是Oracle逻辑结构中最小的逻辑单位,也是执行数据库输入输出最小的存储单位。通常Oracle数据库是操作系统块的整数倍,如果操作系统块的大小为2048B,并且Oracle数据库的大小为8192B,则表示Oracle数据库由4个操作系统块构成。

数据块中可以存放表数据、索引数据和簇数据等,无论存放哪种类型的数据,结构都是相同的。数据库由块头、表目录、行目录、空余空间和行数据5部分组成。

块头:存放数据块的基本信息,如块的物理地址、块所属段的类型。

表目录:存放表的相关信息。

行目录:如果块中有行数据存在,则这些行的信息将被记录在行目录中。

空余空间:是块中未被使用的区域,用于新行的插入和存在行的更新。

行数据:用于存放表数据和索引数据的地方。

2.1.2数据区(Extent)

数据区(数据扩展区)是由一组连续的Oracle数据块所构成的Oracle存储结构,一个或者多个数据块组成一个数据区,一个或者多个数据区再组成一个段。当一个段中的空间使用完之后,Oracle系统将自动为该段分配一个新的数据区。

使用数据区的目的是用来保存特定数据类型的数据。数据区是表中数据增长的基本单位,在Oracle中,分配存储空间就是以数据区为单位的。

2.1.3段(Segment)

段是一个独立的逻辑存储结构。段是为特定的数据对象分配的一系列数据区。一个Oracle数据库通常有以下4中类型的段:

1)数据段:数据段中保存的是表中的数据记录。

2)索引段:包含了用于提高系统性能的索引。

3)回滚段:也称撤销段,保存回滚的条目,Oracle将修改前的旧值保存在回滚条目中。

4)临时段:当执行创建索引、查询等操作时,Oracle会使用一些临时空间暂时性的保存解析过的查询语句以及在排序过程中产生的临时数据。

2.1.4表空间(TableSpace)

表空间是数据库中存储数据对象的最大逻辑划分区。一个表空间由多个数据文件组成,一个数据文件只属于一个表空间。每个数据库中至少有一个表空间(System表空间),表空间的大小等于所有从属于它的数据文件大小的总和。

Oracle默认创建的主要表空间:

1)System表空间:系统表空间,用于存放Oracle系统内部表和数据字典的数据。

2)Sysaux表空间:Oracle11g新增的表空间,随数据库的创建而创建,充当System的辅助表空间,降低了System表空间的负荷,只要存储数据字典以外的其他数据对象。Sysaux表空间一般不存储用户数据,由Oracle自动维护。

3)Undo表空间:撤销表空间,用户存储撤销信息的表空间。

4)Users表空间:用户表空间,Oracle建议用户使用的表空间,可以在这个表空间上创建各种数据对象。

2.2物理存储结构

2.2.1数据文件

数据文件是用于保存用户应用程序数据和Oracle系统内部数据的文件,Oracle在创建表空间的同时会创建数据文件。Oracle数据库在逻辑上由表空间组成,每个表空间可以包含多个数据文件,但是一个数据文件只能隶属于一个表空间。Oracle中包含3中类型的数据文件:系统数据文件、撤销数据文件、用户数据文件。

1)系统数据文件

2)撤销数据文件

3)用户数据文件

2.2.2控制文件

控制文件是一个二进制文件,记录了数据库的物理结构,其中主要包括数据库名、数据文件与日志文件的名字和位置,数据库建立日期等信息。Oracle实例在启动时必须访问控制文件。只有控制文件正常,实例才能加载并打开数据库。

当Oracle实例在正常启动时,系统首先访问的是初始化参数文件spfile,然后Oracle为系统全局区(SGA)分配内存。这时,Oracle实例处于安装状态,并且控制文件处于打开状态;接下来Oracle会自动读取“控制文件”中的所有数据文件和日志文件的信息,并打开数据库中所有的数据文件和所有的日志文件以供用户访问。

2.2.3日志文件

日志文件的功能主要是记录对数据所做的修改,对数据库所做的修改几乎都记录在日志文件中。Oracle的日志文件包括:重做日志文件(Redo Log File)和归档日志文件(Archive Log File),它们数据库系统的主要文件之一,尤其是重做日志文件,是Oracle数据库系统正常运行所不可或缺的。

2.2.4服务器参数文件

服务器参数文件SPFILE(Server parameter File)是二进制文件,用来记录Oracle数据库的基本参数信息(数据库名、控制文件所在路径、日志缓冲大小等)。

1)查看服务器参数

通过视图查看:

Col name for a30;

Col value for a30;

Select name,value,ismodified from v$parameter;

通过show parameter查看。

2)修改服务器参数

通过企业管理器(OEM)或者alter system命令实现。

2.2.5密码文件、警告文件和跟踪文件

2.3Oracle11g服务器结构

Oracle服务器主要由实例、数据库、程序全局区和前台进程组成。实例可以进一步划分为系统全局区(SGA)和后台进程两部分,其中SGA使用操作系统的内存资源,而后台进程需要使用CPU和内存资源。程序全局区(PGA)是一个非共享的内存区域,用于管理用户进程的私有资源。

2.3.1系统全局区(SGA)

系统全局区(System Global Area)是所有用户进程共享的一块内存区域,也就是说,SGA中的数据资源可以被多个用户进程共同使用。SGA随数据库实例的启动而加载到内存中,当数据库实例关闭时,SGA也就消失了。SGA主要由高速数据缓冲区、共享池、重做日志缓冲区、Java池和大型池等内存结构组成。

1)高速数据缓冲区

2)重做日志缓冲区

3)共享池:SGA保留的内存区域,用于缓存SQL语句、PL/SQL语句、数据字典、资源锁、字符集以及其他控制结构等,共享池包含库高速缓冲区和字典高速缓冲区。

4)大型池:不是必须的内存结构,某些特殊情况下,实例需要大型池来减轻共享池的访问压力。

5)Java池:用来提供内存空间给Java虚拟机使用。

6)流池:用于在数据库与数据库之间进行信息共享。

2.3.2程序全局区(PGA)

用户进程全局区,PGA是一个全局区,但是一个服务进程只能访问属于自己的那部分PGA资源区,各个服务进程的PGA区的总和就是实例PGA区的大小,通常PGA区由私有SQL区和会话区组成。

1)私有SQL区

2)会话区:存放用户会话信息(如登录信息),如果数据库处于共享服务器连接模式下,则会话区将位于SGA区域,而不是PGA。

2.3.3前台进程

1)用户进程:能产生或执行SQL语句的应用程序。

2)服务器进程:处理用户会话过程中向数据库实例发出的SQL语句或SQL*Plus命令,可以分为专用服务器模式和共享服务器模式。

2.3.4后台进程

Oracle后台进程是一组运行于Oracle服务器端的后台程序,是Oracle实例的重要组成部分。默认情况下Oracle11g会启动200多个后台进程。

1)数据写入进程(DBWR):主要任务是负责将内存中的脏数据写会到数据文件中。基本上三种情况下,DBWR会将脏数据块写入数据文件中。

2)检查点进程(CKPT):检查点进程可以看做一个事件,当检查点事件发生时,CKPT会要求DBWR将某些“脏”数据回写到数据文件。发生日志切换时也会启动检查点进程。

3)日志写入进程(LGWR)日志写入进程用户将重做日志缓冲区中的数据写入重做日志文件。Oracle系统首先将用户做出的修改日志信息写入日志文件,然后再将修改结果写入数据文件。

4)归档进程(ARCH):归档模式是一个可选择的进程,只有当Oracle处于归档模式时,该进程才能起到作用。

5)系统监控进程(SMOM):在数据库系统启动时执行恢复工作的强制性进程。

6)进程监控进程(PMON):进程监控进程用于监控其他进程的状态,当有进程启动失败时,PMON会清除失败的用户进程,释放用户进程所用的资源。

7)锁定进程(LCKN):可选进程,并行服务器模式下可以出现多个锁定进程以利于数据库通信。

8)恢复进程(RECO):分布式数据库模式下的可选进程,用于数据不一致时进行恢复工作。

9)调度进程(DNNN):可选进程,共享服务器模式下,可启动多个调度进程。

10)快照进程(SNPN):用于处理数据库快照的自动刷新,并通过DBMS_JOB包运行预定的数据库存储过程。

2.4数据字典

2.4.1Oracle数据字典概述

数据字典是Oracle存放关于数据库内部信息的地方,其用途是用来描述数据库内部的运行和管理情况。

Oracle数据字典的名称由前缀和后缀组成,使用“_”连接,代表含义如下:

1)dba_:包含数据库实例的所有对象信息。

2)v$_:当前实例的动态视图,包含系统管理和系统优化等的所有视图。

3)user_:记录用户的对象信息。

4)gv_:分布式环境下所有实例的动态视图,包含系统管理和系统优化等的所有视图。

5)all_:记录用户的对象信息已被授权访问的对象信息。

2.4.2Oracle常用数据字典

1)基本数据字典

2)常用动态性能视图

时间: 2024-10-11 20:39:49

2.Oracle11g体系结构的相关文章

Oracle11g 体系结构

Oracle11g 体系结构 一:Oracle11g 体系结构 二:逻辑储存结构 二.1:数据块(data blocks) 1 ----通过 v$parameter数据字典来查询oracle标准数据块的大小. 2 [email protected]> startup 3 ORACLE instance started. 4 5 Total System Global Area 1221992448 bytes 6 Fixed Size 1344596 bytes 7 Variable Size

oracle11g 体系结构详解

1.oracle内存由SGA+PGA所构成 2.oracle数据库体系结构数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. oracle工作原理: 1).在数据库服务器上启动Oracle实例:2).应用程序在客户端的用户进程中运行,启用Oracle网络服务驱动器与服务器建立连接:3).服务器运行Oracle网络服务驱动器,建立专用的服务器进程执行用户进程:4).客户端提交事务:5).服务器进程获取sql语句并检查共享池中是否有相似的sql语句,如果有,服务器

【Oracle11g】08_Oracle的体系结构

目录 1.Oracle体系结构 2.Oracle11g的主要组件 2.1 内存结构 2.1.1 SGA(系统全局区) 共享池 数据缓冲区 日志缓冲区 Large池 Stream池 Java池 2.1.1 PGA(程序全局区) 会话 2.2 后台进程 2.3 9i,10g,11g各版本内存管理 2.4 数据库结构 2.4.1 物理结构 2.4.2 逻辑结构 2.4.2.1 表空间 2.4.2.2 段 2.4.2.2 区 2.4.2.2 数据块 2.4.2.2 模式 1.Oracle体系结构 数据库

Oracle11g视频教程由浅入深,带项目

Oracle11g视频教程培训高清完整版下载(王老师Oracle11g教室\10年经验毫无保留) 课程的具体课程目录如下: 第1部分 Oracle11g简介 1.1 Oracle的发展 1.2 Oracle的主要产品 1.3 为什么要学习Oracle11g 1.4 Oracle11g简介 1.5 Oracle11g的认证 1.6 Oracle11g的安装(for Windows) 1.7 Oracle11g的服务 1.8 Oracle11g的卸载 1.9 访问Oracle11g的工具 1.10

oracle系列(二)oracle体系结构和用户管理

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 在使用oracle之前,我们一定要对oracle的体系结构有深入的理解,与之前我们学习过的sqlserver体系结构是不一样的,所以对于我们来说是一个全新的内容. 一.oralce体系结构 1.概述 Oracle的体系结构是数据库的组成,工作过程,以及数据库中数据的组织与管理机制,要了解oracle数据库的体系结构,就必须要理解oracl

红帽Linux系统安装Oracle11g+udev+ASM详解_Oracle视频培训教程

         1.解讲方法 全程视频演示在Linux操作系统上安装Oracle数据库的全部过程. 2.课程核心全程培训视频教程,高品质的课程.从实践中学习理论,从理论中掌握实践.整个课程以"核心概念+实践动手+胜任实际工作"的方式讲解. 3.课程内容 基础部分: 介绍Oracle数据库相关概念,体系结构,物理结构,逻辑结构,grid组件,ASM存储等. 实战部分: VMware虚拟机的安装.Linux操作系统安装与配置.Linux上udev配置asm磁盘.Grid Infrastr

安装oracle11g 并且开启APEX 安装

1.Windows下Oracle安装图解----oracle-win-64-11g 详细安装步骤 - souvc - 博客园 oracle 11g 下载网址 一. Oracle 下载 官方下地址 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html win 32位操作系统 下载地址: http://download.oracle.com/otn/nt/oracle11g/112010/

ORACLE11g R2【RAC+ASM→单实例FS】

ORACLE11g R2[RAC+ASM→单实例FS] 11g R2 RAC+ASMà单实例FS的DG,建议禁用OMF. 本演示案例所用环境:   primary standby OS Hostname node1,node2 std OS Version RHEL6.5 RHEL6.5 DB Version 11.2.0.4 11.2.0.4 db_name stephen stephen db_unique_name stephen standby service_names stephen

[Nhibernate]Nhibernate系列之体系结构

引言 在项目中也有用到过nhibernate但对nhibernate的认识,也存留在会用的阶段,从没深入的学习过,决定对nhibernate做一个系统的学习. ORM 对象-关系映射(OBJECT/RELATION MAPPING,简称ORM),是随着面向对象的软件开发方法发展而产生的.面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统.对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据