Oracle数据库的系统结构

 更新时间:2023年07月03日 11:55:30   作者:还好我头发多  
这篇文章主要介绍了Oracle数据库的系统结构,Oracle数据库的存储结构(Storage Structure)分为物理存储结构和逻辑存储结构两种,分别描述了在操作系统中和数据库系统内部数据的组织管理方式,需要的朋友可以参考下

1.Oracle数据库系统结构概述

Oracle数据库由存放在磁盘上的数据库(DB)和对磁盘上的数据库进行管理的数据库管理系统(DBMS)两部分构成,分别对应着数据库的存储结构和软件结构。

Oracle数据库的存储结构(StorageStructure)分为物理存储结构和逻辑存储结构两种,分别描述了在操作系统中和数据库系统内部数据的组织管理方式。其中,物理存储结构表现为操作系统中一系列文件)逻辑存储结构是对物理存储结构的逻辑组织与管理。

Oracle数据库的软件结构,即Oracle实例(Instance),包括内存结构与后台进程结构两部分。

具体关系如下图所示:

用户的所有操作都是通过实例完成的,首先在内存结构中进行,在一定条件下由数据库的后台进程结构写入数据库的物理存储结构做永久保存。

2.Oracle数据库存储结构

oracle 数据库的存储结构分为物理存储结构逻辑存储结构两种。物理存储结构主要用于描述oracle 数据库外部数据的存储,即在操作系统层面中如何组织和管理数据,与具体的操作系统有关。逻辑存储结构主要描述oracle 数据库内部数据的组织和管理方式,即在数据库管理系统的层面中如何组织和管理数据,与操作系统没有关系。

物理存储结构具体表现为一系列的操作系统文件,是可见的;而逻辑存储结构时候物理存储结构的抽象体现,是不可见的,可以通过查询数据库数据字典了解逻辑结构信息。

物理存储结构主要指的是存储在磁盘上的数据文件、控制文件、重做日志文件、归档文件等。 逻辑存储结构包括表空间、段、区和块4种。

oracle 数据库的物理存储结构与逻辑存储结构既相互独立又相互联系,如下图:

从物理角度上看,数据库由数据文件构成,数据存储在数据文件中,从逻辑角度上看,数据库是由表空间构成的,数据存储在表空间中。一个表空间包含一个或者多个数据文件,但一个数据文件只能属于一个表空间。

物理存储结构

控制文件

(1)控制文件是ORALCE数据库中最重要的物理文件,用于描述整个数据库的结构信息。

控制文件是一个二进制文件,由ORACLE进程读/写,在数据库运行于维护阶段,数据文件及重做日志文件的结构变化信息都记录在控制文件中。

Oracle建议最少有两个控制文件,通过多路镜像技术,将其分散到不同的物理磁盘中。

(2)一个控制文件包括:

DB名称和标识

DB创建的时间

表空间名称

数据文件和重做日志文件的名称和位置

当前重做日志文件的序号

检查点的信息

回退段的开始和结束

重做日志的归档信息

备份信息

(3)V$CONTROLFILE:

列出了与实例有关的所有控制文件的名称和状态

SHOW PARAMETERS CONTROL_FILES: 列出控制文件的名称、状态和位置

数据文件

(1)数据文件用于存储数据库中的所有数据,一个数据库由多个数据文件构成。

(2) 与数据文件相关的数据字典主要有:

v$datafile

dba_data_files

(3). 数据文件默认情况下都是以.dbf结尾的文件,默认情况下与控制文件同一个目录.

重做日志文件

(1)重做日志文件用于记录对数据库的变更操作,在用户对数据库的操作出现故障时,可使用该文件进行恢复,以保证数据库系统的安全.

(2)重做日志文件是成组使用的,即日志文件组,每个数据库应至少有两个重做日志文件组,采用循环写的方式工作。每个组可以有一个或多个日志文件,同一组日志文件可进行镜像,且镜像的日志文件应存储在不同的物理磁盘中.

(3)查看重做日志文件信息

V$log:查询重做日志文件组的基本信息。

V$logfile:查询重做日志文件的信息。

归档日志文件

1、数据库运行模式

(1) 非归档模式noarchivelog

(2) 归档模式archivelog

Oracle数据库逻辑结

Oracle的逻辑结构是一种层次结构。主要由:表空间、段、区和数据块等概念组成。逻辑结构是面向用户的,用户使用Oracle开发应用程序使用的就是逻辑结构。数据库存储层次结构及其构成关系,结构对象也从数据块到表空间形成了不同层次的粒度关系。

一个或多个连续的oracle 数据块构成区,一个或多个区构成段,一个或多个段构成表空间,所有表空间构成数据库。

数据块(Data Block)

数据库块大小是在Oracle创建数据库或表空间时设定的,数据块的大小在创建后是不可以修改的。

数据块是Oracle读写数据的基本单位,也是输入/输出操作的最小单位.

数据块的大小必须是服务器操作系统块大小的整数倍。

(盘)区(Extent)

1.概念

也称为数据区,是物理上一组连续的数据块构成的逻辑存储单元。

盘区是段中数据增长的基本单位,即是ORACLE存储空间分配与回收的最小单位。

一个或多个盘区组成一个段,当一个段的空间被使用完后,系统将自动为该段分配一个新的盘区。

一个盘区不能跨越多个文件,因为它必须包含连续的数据块

数据段中,盘区的个数受盘区控制参数控制

2.区的管理

(1)区的分配

表空间的本地管理(LOCAL)方式下,区分配方式:

统一大小:UNIFORM,指定段的初始区和后续区具有统一的大小。

自动分配:AUTOALLOCATE,由Oracle系统决定后续区的大小,用户不能干预分配。

表空间的字典管理(DICTIONARY)方式下,区的分配方式: 使用STORAGE子句设置存储参数。

(2)区的回收

通常不论区中的数据块是否被使用,分配给段的区会一直保留在段中,只有当段所属的对象被删除时,段中所有的区才会被回收。

段(Segment)

段是由一个或多个连续或不连续的盘区构成的逻辑存储单元,用来保存特定对象,如表、索引、回滚数据、临时数据等。段是表空间的组织单位。

(1)段内包含的数据区可以不连续,并且可以跨越多个文件。

(2)段类型

数据段:用来存储表或簇的数据,普通表数据段、分区表数据段、簇数据段

索引段:存放索引数据(ROWID、索引键值)

临时段:存储临时数据

回滚(退)段:存储数据库的回滚信息

表空间(Tablespace)

(1)表空间概念

表空间是ORACLE数据库最大的逻辑存储单元,一个表空间包含一个或多个数据文件,一个数据文件只能从属于一个表空间,数据库对象就是存储在表空间对应的一个或多个数据文件中。

(2)表空间类型

在Oracle11g中有以下几种比较特殊的表空间:

⑴SYSTEM表空间(System Tablespace):系统表空间

⑵SYSAUX表空间(SYSAUX Tablespace):系统辅助表空间

⑶TEMP表空间(Temp Tablespace):临时表空间

⑷撤消UNDOBS1表空间(Undo Tablespace):撤消表空间

(5)USERS表空间:普通用户表空间

(6)示例EXAMPLE 表空间:示例表空间

(3)表空间的存储管理方式

本地管理方式

本地管理(Local)的表空间:

创建本地管理方式的表空间时,可指定区的分配方式:

自动方式:AUTOALLOCATE (默认方式)

统一方式:UNIFORM

字典管理方式

(4)查看表空间信息

V$tablespace:查询数据库下表空间信息。

Dba_tablespaces:查询数据库下表空间信息。

到此这篇关于Oracle数据库的系统结构的文章就介绍到这了,更多相关Oracle系统结构内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Oracle 用户密码有效期的sql语句

    Oracle 用户密码有效期的sql语句

    这篇文章主要介绍了Oracle 用户密码有效期的sql语句的相关资料,需要的朋友可以参考下
    2016-01-01
  • Oracle中几种常见的数据库错误类型及处理方法

    Oracle中几种常见的数据库错误类型及处理方法

    处理常见的数据库错误是数据库管理的重要组成部分,以下是几种常见的数据库错误类型及其处理方法,结合具体代码示例,以帮助你更好地解决这些问题,感兴趣的小伙伴跟着小编一起来看看吧
    2024-09-09
  • oracle使用sql语句增加字段示例(sql删除字段语句)

    oracle使用sql语句增加字段示例(sql删除字段语句)

    oracle使用sql语句增加修改删除字段示例
    2013-12-12
  • Oracle 中检查临时表空间的方法

    Oracle 中检查临时表空间的方法

    这篇文章主要介绍了Oracle 中检查临时表空间的方法,这是一个非常重要的表空间,如果管理不当,可能会出现问题,让我们看看临时表空间管理的各种查询,本文给大家详细讲解,需要的朋友可以参考下
    2022-10-10
  • Oracle获取执行计划的六种方法总结

    Oracle获取执行计划的六种方法总结

    执行计划(explain plan)是指一条查询语句在数据库中的执行过程或访问路径的描述,下面这篇文章主要给大家总结介绍了关于Oracle获取执行计划的六种方法,需要的朋友可以参考下
    2024-01-01
  • oracle 优化的一点体会

    oracle 优化的一点体会

    oracle 优化的一点体会大家可以参考下,提升运行效率。
    2009-10-10
  • 全面解析Oracle Procedure 基本语法

    全面解析Oracle Procedure 基本语法

    这篇文章主要介绍了Oracle Procedure 知识,包括oracle的存储过程注意事项方面的内容,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • OL7.6上RPM方式安装Oracle 19c的教程

    OL7.6上RPM方式安装Oracle 19c的教程

    这篇文章主要介绍了OL7.6上RPM方式安装Oracle 19c的教程详解,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Oracle数据库表名支持的最大长度是多少

    Oracle数据库表名支持的最大长度是多少

    这篇文章主要介绍了Oracle数据库表名支持的最大长度,本文通过Oracle标识符确认了表名的最大支持字符串为30个字符,需要的朋友可以参考下
    2014-08-08
  • oracle定义常用函数的过程

    oracle定义常用函数的过程

    这篇文章主要介绍了oracle定义常用函数的过程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08

最新评论