物理结构

物理结构

数据结构在计算机中的表示(映像)称为数据的物理(存储)结构。它包括数据元素的表示和关係的表示。 物理结构,即oracle资料库使用的作业系统档案结构。对于资料库物理结构档案,不同的oracle版本,不同的作业系统平台上有不同的存储目录结构。

    • 中文名:物理结构
    • 又称:物理存储结构
    • 含义:数据元素的表示和关係的表示

释义

数据结构在计算机中的表示(映像)

分类

资料库的物理结构档案按其作用可以分为三类:

数据档案

日誌档案

控制档案

重做日誌档案

重做日誌档案记录对资料库的所有修改信息。它是三类档案中最複杂的一类档案,也是保证资料库安全与资料库备份与恢复有直接关係的档案。

日誌档案组与日誌成员

在每一个oracle资料库中,至少有两个重做日誌档案组。每组有一个个或多个重做日誌档案,即日誌成员。同一组中的成员是镜像关係,它们存储的内容是一模一样的。oracle在写日誌时,以一个日誌组为逻辑单位写入,只在将日誌都写入日誌组中的每个成员档案中后,写日誌才完成。

日誌工作原理

oracle有多个日誌档案组,当一个日誌档案组中所有的成员所有的成员同时被写满数据时,系统自动转换到下一个日誌档案组,这个转换过程称为日誌切换。

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

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

使用以下语句查询日誌档案信息:

sql>select * from v$log

相关栏位说明如下:

GROUP#:日誌档案组号

THREAD#:日誌档案执行绪号,一般为1,双机容时为2

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:\ORA\ARCHIVE

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/.../control01.ctl,home/app/.../control02.ctl)

参数中各个档案是镜像关係,也就是说,几个档案中只要有一个档案完好,资料库就可以正常运行。

以下语句查询控制档案的信息:

sql>select * from v$controlfile

如果控制档案损坏或丢失,资料库将终止并且无法启动,所以,要对控制档案进行镜象,手工镜像步骤如下:

a.关闭资料库

b.複製控制档案

c.修改参数档案,加入新增的控制档案位置描述

d.重新启动资料库

另外注意,控制档案中还包含几个伺服器参数的设定,如果修改这些参数的值,刚需要重新创建控制档案,这些参数是:

MAXLOGFILES:最大日誌档案个数

MAXLOGMEMBERS:最大日誌成员个数

MAXLOGHISTORY:最大历史日誌个数

MAXDATAFILES:最大数据档案个数

MAXINSTANCES:最大实例档案个数

所有修改资料库结构的命令都会引起控制档案的改变。同时出会记录在oracle跟蹤档案中,跟蹤档案的名称为alter_SID.log,路径如下:

d:\oracle\product\10.1.0\admin\DB_NAME\bdump\SIDALRT.log(unix是alter_SID.ora)

也可以在参数档案中指定跟蹤档案的存储路径,后台进程跟蹤档案目录由参数background_dump_dest指定,用户跟蹤档案位置由参数user_bdump_dest指定,如:

background_bdump_dest=/u01/app/oracle/oralog/bdump

user_bdump_dest=/u01/app//oralog/udump

数据档案

数据档案用来存储资料库的数据,如表、索引等。读取数据时,系统首先从资料库档案中读取数据,并存储到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:\...\df1.dbf resize 800m

资料库档案的自动扩展特性

请看下面的例子:

sql>alter tablespace tbs1 add datafile d:\...\df2.dbf size 500m autoextend on next 50m maxsize 1000m

sql>alter database mydb1 datafile d:\...\df2.dbf,d:\...\df3.dbf autoexetend off

sql>alter database mydb1 datafile d:\...\df2.dbf,d:\...\df3.dbf autoexetend on next 30m maxsize unlimited

相关词条

相关搜索

其它词条