zoukankan      html  css  js  c++  java
  • Oracle数据库体系结构(1)整体概述

    oracle数据库的存储结构:

     逻辑存储结构:oracle内部的组织和管理数据的方式

     物理存储结构:oracle外部(操作系统)组织和管理数据的方式

    oracle对逻辑存储结构和物理存储结构的管理是分别进行的。

    oracle数据库物理存储结构与逻辑存储结构的基本关系:

    1.一个表数据库在物理上包含多个数据文件,在逻辑上包含多个表空间

    2.一个表空间包括一个或多个数据文件,一个数据文件只从属于某一个表空间。

    3.数据库的逻辑块由一个或多个操作系统块构成

    4.一个逻辑区只能从属于某一个数据文件,而一个数据文件可包含一个或多个逻辑区。

    oralce数据库的物理存储结构

    oracle数据库的物理存储结构有一系列操作文件组成,存放于物理磁盘上,是数据库的实际存储单元。这些文件有很多,数据文件,日志文件,控制文件,归档文件,口令文件等。

    数据文件:是数据库中所有数据的实际存储位置,所有数据文件的大小的和构成了数据库的大小。数据文件又分为永久性数据文件和临时性数据文件。oracle11g数据库在创建的时候,会默认创建

                  5个永久性的和一个临时性的文件。

    控制文件:是记录数据库结构信息的重要的二进制文件,由oracle系统进行读写操作,DBA不能直接操作文件。里面信息包括数据库名称、数据文件位置等。

                   oracle11g数据库在创建的,默认创建两个控制文件。

    重做日志文件:是以重做记录的形式记录、保存用户对数据库锁进行的变更操作,是数据库中最重要的物理文件。是数据库实例恢复的基础。

                        oracle11g数据库在创建时,会默认创建3个重做日志文件组。

    归档重做日志文件:是历史联机重做日志文件的集合,是联机重做日志文件被覆盖之前备份的副本。

                             oracle11g数据库在创建的时候 ,默认采用的是非归档模式,即不复制重做日志文件。可以使用archive log list;命令来启用。

    初始化参数文件:是数据库启动过程中锁必需的文件,记录了数据显示参数的设置。

    口令文件:是用于保存数据中具有SYSDBA或SYSOPER系统权限的用户名及SYS用户口令的二进制文件。

    跟踪文件:是数据中重要的诊断文件,是获取数据库信息的重要工具,对管理数据库实例骑着至关重要的作用。它里面包含了数据库系统运行过程中锁遇到的重大事件的有关信息,可以为

                   数据库运行故障的解决提供重要信息。

    报警文件:也是数据库中重要的诊断文件,记录数据库在启动、关闭、运行期间后台进程的活动情况。

    oracle数据库逻辑存储结构

    oracle数据库的逻辑存储结构是从逻辑的角度来分析数据库的构成,也就是数据库创建后利用逻辑概念来描述Oracle数据库内部数据的组织和管理形式。

    数据库的逻辑存储结构概念存储在数据库的数据字典中。

    oracle数据库的逻辑存储结构分为 数据块-区-段-和表空间4种。

    其中oracle数据块是数据库中最小的I/O单元,又若干个数据块组成的区是oracle最小的存储分配单元。由若干个区形成的段是数据对象的存储分配区域,由若干个段形成的表空间是最大逻辑存储单元,所有的表空间构成数据库。

    表空间:

    表空间是oracle数据最大的逻辑存储结构单元,所有表空间大小的和就是数据库库的大小。在oracle数据库中,存储结构管理主要就是对表空间的管理来实现的。下图是表空间,数据文件盒数据库对象之间的关系。

    表空间根据存储数据不同,分为系统表空间和非系统表空间两类。系统表空间主要存放数据的系统信息,如数据字典信息、数据库对象定义信息、数据库组件信息等。

    非系统表空间有撤销表空间、临时表空间、用户表空间。

    oracle11g自动创建的6个表空间

    system   系统表空间      存放数据字典、数据库对象定义、PL/SQL程序源代码等系统信息。

    sysaux   系统表空间      辅助系统表空间,存储数据库组件等信息

    temp      临时表孔家      存放临时数据,用于排序等操作

    undotbs1 撤销表空间    存储、管理回退信息

    users      用户表空间      存放用户业务数据信息

    example  实例表空间      存放实例的数据库方案对象信息

    oracle数据块

    oracle数据块是数据最小的逻辑单元,也是数据库执行输入、输出操作的最小单位,有一个或多个操作系统块构成

    在一个数据库中使用多种数据块时应该注意,一个分区表或者分区索引的各个分区必须要采用相同大小的数据块;所有的临时表空间即系统默认的永久性表空间 必须采用标准块

    通过 show parameter cache_size;

    支持多种不同大小数据块这一特性对不同oracle数据库之间的数据传输非常有用,如将联机事务处理(OLTP)数据的数据传输到数据仓库中的数据库。

    数据块的结构如图

    由块头部和存储区两部分组成。块头部包括了标题、表目录、行目录3部分

    标题包含的一般属性信息,如块的物理地址等;表目录包括了快中保存表的信息;行目录包含数据块中行地址等信息;

    而存储区包括数据区和空闲区

    行数据区是已经使用的空间,而空闲区是尚未使用的存储空间。

    数据块的管理

    数据块的管理主要是对快中的可用存储空间的管理。

    当想表中插入数据时,如果行的长度大于了块的大小,即行的信息无法存放在一个快中,就需要使用多个块存放信息,这个称为行链接。

    数据块的管理分为手动和自动管理两种。如果建立表空间时使用本地管理方式,并且将段的管理方式设置为auto,则采用自动方式管理数据块。否则将DBA手动管理,

    可以通过设置PCTFREE和PCTUSED两个参数来设置数据块中空闲空间的使用。

         PCTFREE参数指定块中必须保留的最小空间空间的比例,即当数据块中空闲空间比例低于这个参数时,此数据块会被标记成used,不能进行插入操作,只能更行。

        PCTUSED参数指定可以向块中插入数据时块已使用的最大空间比例。该参数默认为10

    除了这两个参数,还有两个参数在管理数据块的时候有用:

         INITRANS:可以同时对数据块进行DML操作的事务的初始个数,用于保证数据块的最低的并行操作水平。

        MAXTRANS:可以同时对此数据块进行DML的事务的最多个数。

    区是若干个数据块组成的区是oracle最小的存储分配单元。当创建数据库对象是,ORACLE为对象分配若干个去,以构成一个段来为对象提供初始的存储空间。在oracle数据库中引入区的目的是为了提高系统存储空间分配的效率,以区为单位的存储空间分配大大

    减少了磁盘分配次数。、

    只有当段被删除时,段中的区才会被回收。

    段:是由一个或多个连续或不连续的区组成的逻辑存储单元,是表空间的组成单位。但在表空间中创建表、索引等数据库对象是,系统自动为该对象分配段。

    段可以分为:表段,索引段,临时段,回退段;

  • 相关阅读:
    更新glibc,删除libc库后,命令行都不能使用了
    进程和线程、协程的区别
    PMP项目管理--资源管理
    清除缓存 echo 1/2/3 > /proc/sys/vm/drop_caches
    gdb malloc方法
    随时更新---能力集
    输出gdb调试信息到文件中
    主动生成core文件 gcore +pid
    PMP项目管理--风险管理
    linux后台程序
  • 原文地址:https://www.cnblogs.com/evencao/p/3156879.html
Copyright © 2011-2022 走看看