导航:首页 > 物理学科 > 数据库的物理结构指什么

数据库的物理结构指什么

发布时间:2023-06-13 03:33:24

‘壹’ 写出数据结构中包含的物理结构和逻辑结构分别有哪些

逻辑结构有:集合结构、线性结构、树形结构和图状结构.
物理结构有:线性存储结构和非线性存储结构,线性存储结构有顺序、链接、索引和散列4种结构;非线性存储结构有树形存储结构、图形存储结构.
呵呵,自己学校的,还认识你呢.~~

‘贰’ 数据库的物理结构设计指的是什么

Log File物理结构

log block结构分为日志头段、日志记录、日志尾部

  • Block Header,占用12字节

  • Data部分

  • Block tailer,占用4字节

  • Block Header

    这个部分是每个Block的头部,主要记录的块的信息

  • Block Number,表示这是第几个block,占用4字节,是通过LSN计算得来的,占用4字节

  • Block data len,表示该block中有多少字节已经被使用了,占用2字节

  • First Rec offet,表示该block中作为第一个新的mtr开始的偏移量,占用2字节

  • Checkpoint number,表示该log block最后被写入时的检查点的值,占用4字节

  • ‘叁’ 数据的物理结构包括哪两种表示

    数据结构在计算机中的表示称为数据的物理结构。它包括数据元素的表示和关系的表示。

    数据库的物理结构文件按其作用可以分为三类:数据文件、日志文件、控制文件。重做日志文件记录对数据库的所有修改信息。它是三类文件中最复杂的一类文件,也是保证数据库安全与数据库备份与恢复有直接关系的文件。

    ‘肆’ Oracle数据库的物理结构有哪些

    Oracle数据库的体系结构包括四个方面:数据库的物理结构、逻辑结构、内存结构及进程。

    1. 物理结构

    物理数据库结构是由构成数据库的操作系统文件所决定,Oracle数据库文件包括:

    数据文件(Data File)
    数据文件用来存储数据库中的全部数据,例如数据库表中的数据和索引数据.通常以为*.dbf格式,例如:userCIMS.dbf 。

    日志文件(Redo Log File)
    日志文件用于记录数据库所做的全部变更(如增加、删除、修改)、以便在系统发生故障时,用它对数据库进行恢复。名字通常为Log*.dbf格式,如:Log1CIMS.dbf,Log2CIMS.dbf 。

    控制文件(Control File)
    每个Oracle数据库都有相应的控制文件,它们是较小的二进制文件,用于记录数据库的物理结构,如:数据库名、数据库的数据文件和日志文件的名字和位置等信息。用于打开、存取数据库。名字通常为Ctrl*ctl 格式,如Ctrl1CIMS.ctl。

    配置文件
    配置文件记录Oracle数据库运行时的一些重要参数,如:数据块的大小,内存结构的配置等。名字通常为init*.ora 格式,如:initCIMS.ora 。

    2 逻辑结构

    Oracle数据库的逻辑结构描述了数据库从逻辑上如何来存储数据库中的数据。逻辑结构包括表空间、段、区、数据块和模式对象。数据库的逻辑结构将支配一个数据库如何使用系统的物理空间.模式对象及其之间的联系则描述了关系数据库之间的设计.

    一个数据库从逻辑上说是由一个或多个表空间所组成,表空间是数据库中物理编组的数据仓库,每一个表空间是由段(segment)组成,一个段是由一组区(extent)所组成,一个区是由一组连续的数据库块(database block)组成,而一个数据库块对应硬盘上的一个或多个物理块。一个表空间存放一个或多个数据库的物理文件(即数据文件).一个数据库中的数据被逻辑地存储在表空间上。

    表空间(tablespace)
    Oracle数据库被划分为一个或多个称为表空间的逻辑结构,它包括两类表空间,System表空间和非System表空间,其中,System表空间是安装数据库时自动建立的,它包含数据库的全部数据字典,存储过程、包、函数和触发器的定义以及系统回滚段。除此之外,还能包含用户数据。。

    一个表空间包含许多段,每个段有一些可以不连续的区组成,每个区由一组连续的数据块组成,数据块是数据库进行操作的最小单位。

    每个表空间对应一个或多个数据文件,每个数据文件只能属于一个表空间。

    数据库块(database block)
    数据库块也称逻辑块或ORACLE块,它对应磁盘上一个或多个物理块,它的大小由初始化参数db-block-size(在文件init.ora中)决定,典型的大小是2k。Pckfree 和pctused 两个参数用来优化数据块空间的使用。

    区(extent)
    区是由一组连续的数据块所组成的数据库存储空间分配的逻辑单位。

    段(segment)
    段是一个或多个不连续的区的集合,它包括一个表空间内特定逻辑结构的所有数据,段不能跨表空间存放。Oracle数据库包括数据段、索引段、临时段、回滚段等。

    模式对象(schema object)
    Oracle数据库的模式对象包括表、视图、序列、同意词、索引、触发器、存储.过程等,关于它们将重点在后面章节介绍。

    3.Oracle Server系统进程与内存结构

    当在计算机服务器上启动Oracle数据库后,称服务器上启动了一个Oracle实例(Instance)。ORACLE 实例(Instance)是存取和控制数据库的软件机制,它包含系统全局区(SGA)和ORACLE进程两部分。SGA是系统为实例分配的一组共享内存缓冲区,用于存放数据库实例和控制信息,以实现对数据库中数据的治理和操作。

    ‘伍’ 轻松掌握什么是数据的物理(存储)结构

    数据结构在计算机中的表示(映像)称为数据的物理(存储)结构 它包括数据元素的表示和关系的表示

    物理结构 即oracle数据库使用的操作系统文件结构 对于数据库物理结构文件 不同的oracle版本 不同的操作系统平台上有不同的存储目录结构

    winnt| d:oracleproct oradataDB_NAME * *(oracle g);d:orantdatabase* *(oracle oracle ) Unix | /home/app/oracle/proct/ /oradata/DB_NAME/* * ( g);/home/app/oradata/db_name/* *( i i)

    数据库的物理结构文件按其作用可以分为三类

    数据文件

    日志文件

    控制文件

    一 数据文件

    数据文件用来存储数据库的数据 如表 索引等 读取数据时 系统首先从数据库文件中读取数据 并存储到SGA的数据缓冲区中 这是为了减少I/O 如果读取数据时 缓冲区中已经有要读取的数据 就不需要再从磁盘中读取了 存储数据时也是一样 事务提交时改变的数据先存储到内存缓冲区中 再由oracle后台进程DBWR决定如何将其写入到数据文件中

    查询数据文件的信息

    sql>select * from dba_data_files或 sql>select * from v$datafile (此数据字典包含文件的动态信息)

    一个数据文件只与一个数据库相联系 数据文件的大小是可以改变的 可以通过以下语句查询表空间的空间空闲量

    sql>select * from dba_free_space

    修改数据文件的大小

    sql>alter database datafile "d: df dbf" resize m

    数据库文件的自动扩展特性 请看下面的例子:

    sql>alter tablespace tbs add datafile "d: df dbf" size m autoextend on next m maxsize m sql>alter database mydb datafile "d: df dbf" "d: df dbf" autoexetend off sql>alter database mydb datafile "d: df dbf" "d: df dbf" autoexetend on next m maxsize unlimited

    二 重做日志文件

    重做日志文件记录对数据库的所有修改信息 它是三类文件中最复杂的一类文件 也是保证数据库安全与数据库备份与恢复有直接关系的文件

    日志文件组与日志成员

    在每一个oracle数据库中 至少有两个重做日志文件组 每组有一个个或多个重做日志文件 即日志成员 同一组中的成员是镜像关系 它们存储的内容是一模一样的 Oracle在写日志时 以一个日志组为逻辑单位写入 只在将日志都写入日志组中的每个成员文件中后 写日志才完成

    日志工作原理

    Oracle有多个日志文件组 当一个日志文件组中所有的成员所有的成员同时被写满数据时 系统自动转换到下一个日志文件组 这个转换过程称为日志切换

    当日志切换后 会给前一个日志组编一个号 用于归档日志的编号 这个编号称为日志序列号 此编号由 开始 每切换一次 序列号自动加 最大值受参数MAXLOGHISTORY限制 该参数的最大值为

    当oracle把最后一个日志组写满了以后 自动转向第一个日志组 这时 再向第一个日志组写日志的时候 如果数据库运行在非归档模式下 这个日志组中的原有日志信息就会被覆盖

    使用以下语句查询日志文件信息

    sql>select * from v$log

    相关字段说明如下

    GROUP#:日志文件组号

    THREAD#:日志文件线程号 一般为 双机容时为

    SEQUENCE#:日志序列号

    BYTES:日志文件大小

    MEMBERS:该组的日志成员个数

    ARC:该组日志信息是否已经完成归档

    STATUS:该组状态(CURRENT:表示当前正在使用的组 NACTIVE:表示非活动组 ACTIVE:表示归档未完成)

    FIRST_CHANGE#:系统改变号SCN 也叫检查点号

    FIRST_TIME:系统改变时间

    DBA可以使用下列命令进行强制日志切换

    sql>alter system switch logfile

    NOARCHIVELOG/ARCHIVELOG

    NOARCHIVELOG是非归档模式 如果数据库运行在这种模式下 当日志切换时 新切换到的日志组中的日志信息会被覆盖 ARCHIVELOG:归档模式 如果数据库运行在这种模式下 日志会被归档存储 产生归档日志 且在未归档之前 日志不允许被覆盖写入

    要确认数据库的归档方式 可以查询数据字典v$database:

    sql>select log_mode from v$database

    要了解归档日志的信息 可以查询数据字典v$archived_log

    要将数据库改为归档模式

    a alter database archivelog

    b 设置初始化参数LOG_ARCHIVE_START=TRUE

    c 设置归档文件目标存储路径 LOG_ARCHIVE_DEST=C:ORAARCHIVE

    d 设置归档文件命名格式参数 LOG_ARCHIVE_FORMAT="ORCK%T%S ARC" 这个格式中的%S表示日志序列号 自动左边补零 %s表示日志序列号 自动左边不补零 %T表示日志线程号 左边补零 %t表示日志线程号不补零

    e 重新启动数据库

    CKPT进程(检查点进程)

    CKPT进程保证有修改过的数据库缓冲区中的数据都被写入到数据文件 日志文件 数据文件 数据库头和控制文件中都有写入检查点标记 数据库在恢复时 只需提供自上一个检查以来所做的修改 检查点完成时系统将更新数据库数据库头和控制文件

    参数LOG_CHECKPOINT_TIMEOUT决定一个检查点发生的时间间隔 LOG_CHECKPOINT_INTERVAL决定一个检查需要填充的日志文件块的数量 检查点号 也称系统改变号(SCN) 它标识一个检查点 可以通过v$log查询日志文件的检查点信息 通过v$datafile查询数据文件的检查点信息 通过v$database查询数据库头的检查点信息 三个地方的检查点号相同 如果不同 说明发明数据库不同步 此时数据库肯定无法正常启动

    增加与删除日志文件组 日志成员(详细语法请参考oracle文档)

    alter database [database] add logfile [group integer] filespec[ [group alter database [database] add logfile ( ) alter database [database] drop logfile [grout integer] alter database[database] add logfile member "filespec" [reuse] to group integer alter database [database] drop logfile member "filename" "filename" alter database [database] rename file "filename" to "filename

    "

    清除日志文件数据

    alter database [database] clear [unarchived] logfile group integer|filespec

    三 控制文件

    控制文件是一个二进制文件 用来描述数据库的物理结构 一个数据库只需要一个控制文件 控制文件的内容包括

    数据库名及数据库唯一标识

    数据文件和日志文件标识

    数据库恢复所需的同步信息 即检查点号

    控制文件由参数control_files指定 格式如下

    control_files=("home/app/ /control ctl" "home/app/ /control ctl")

    参数中各个文件是镜像关系 也就是说 几个文件中只要有一个文件完好 数据库就可以正常运行

    以下语句查询控制文件的信息

    sql>select * from v$controlfile

    如果控制文件损坏或丢失 数据库将终止并且无法启动 所以 要对控制文件进行镜象 手工镜像步骤如下

    a 关闭数据库

    b 复制控制文件

    c 修改参数文件 加入新增的控制文件位置描述

    d 重新启动数据库

    另外注意 控制文件中还包含几个服务器参数的设置 如果修改这些参数的值 刚需要重新创建控制文件 这些参数是

    MAXLOGFILES:最大日志文件个数

    MAXLOGMEMBERS:最大日志成员个数

    MAXLOGHISTORY:最大历史日志个数

    MAXDATAFILES:最大数据文件个数

    MAXINSTANCES:最大实例文件个数

    所有修改数据库结构的命令都会引起控制文件的改变 同时出会记录在oracle跟踪文件中 跟踪文件的名称为alter_SID log 路径如下

    d:oracleproct adminDB_NAMEmpSIDALRT log(unix是alter_SID ora)

    也可以在参数文件中指定跟踪文件的存储路径 后台进程跟踪文件目录由参数background_mp_dest指定 用户跟踪文件位置由参数user_bmp_dest指定 如

    lishixin/Article/program/SQL/201405/30847

    ‘陆’ 请问Oracle的数据库体系的物理结构是怎样的

    物理结构,即Oracle数据库使用的操作系统文件结构。
    对于数据库物理结构文件,不同的oracle版本,不同的操作系统平台上有不同的存储目录结构.
    数据库的物理结构文件按其作用可以分为三类:
    数据文件
    日志文件
    控制文件
    一、数据文件
    数据文件用来存储数据库的数据,如表、索引等。读取数据时,系统首先从数据库文件中读取数据,并存储到SGA的数据缓冲区中。
    二、重做日志文件
    重做日志文件记录对数据库的所有修改信息。它瞎耐是虚神旦三类文件中最复杂的一类文件,也是保证数据库安全与数据库备份与恢复有直接关系的文件。
    三、控制文件
    控制文件是一个二进制文件,用来描述数据库的物理结构,一个数据库只需要一个控制文件,控制文件的内容包括:
    数据库差扰名及数据库唯一标识
    数据文件和日志文件标识
    数据库恢复所需的同步信息,即检查点号
    .
    Oracle数据库的体系结构包括四个方面:数据库的物理结构、逻辑结构、内存结构及进程。

    ‘柒’ 数据库逻辑结构和物理结构的区别

    逻辑结构反应数据库中各数据之间的逻辑关系;物理结构,是数据的存储方式,能不能快速访问、所需数据,与此有关。

    阅读全文

    与数据库的物理结构指什么相关的资料

    热点内容
    word中化学式的数字怎么打出来 浏览:701
    乙酸乙酯化学式怎么算 浏览:1369
    沈阳初中的数学是什么版本的 浏览:1315
    华为手机家人共享如何查看地理位置 浏览:1008
    一氧化碳还原氧化铝化学方程式怎么配平 浏览:845
    数学c什么意思是什么意思是什么 浏览:1366
    中考初中地理如何补 浏览:1257
    360浏览器历史在哪里下载迅雷下载 浏览:668
    数学奥数卡怎么办 浏览:1347
    如何回答地理是什么 浏览:987
    win7如何删除电脑文件浏览历史 浏览:1020
    大学物理实验干什么用的到 浏览:1445
    二年级上册数学框框怎么填 浏览:1657
    西安瑞禧生物科技有限公司怎么样 浏览:821
    武大的分析化学怎么样 浏览:1210
    ige电化学发光偏高怎么办 浏览:1299
    学而思初中英语和语文怎么样 浏览:1603
    下列哪个水飞蓟素化学结构 浏览:1385
    化学理学哪些专业好 浏览:1449
    数学中的棱的意思是什么 浏览:1015