开发者社区> 异步社区> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

《Oracle数据库管理与维护实战》——2.5 Oracle物理结构

简介:
+关注继续查看

本节书摘来自异步社区出版社《Oracle数据库管理与维护实战》一书中的第2章,第2.5节,作者: 何伟娜 , 常建功,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.5 Oracle物理结构

Oracle数据库管理与维护实战
物理结构就是我们熟悉的一些物理文件,这些文件是数据库的载体,数据库中的所有数据,包括系统数据都存放在这些物理文件中,如图2-11所示。

image

2.5.1 数据文件

每一个Oracle数据库都有一个或多个物理的数据文件(Data File)。一个数据库的数据文件包含全部数据库数据。逻辑数据库结构(如表、索引)的数据也需要存储在数据库的数据文件中。数据文件有下列特征。

一个数据文件只与一个数据库联系。

一旦建立,数据文件不能改变大小。

数据文件中的数据在需要时可以读取并存储在Oracle内存中。例如,用户要存取数据库一表的某些数据,如果请求信息不在数据库的内存存储区内,则从相应的数据文件中读取并存储在内存。当修改和插入新数据时,系统不必立刻写入数据文件。为了减少磁盘输出的总数,提高性能,数据存储在内存,然后由Oracle后台进程DBWR决定如何将其写入到相应的数据文件。

2.5.2 控制文件

控制文件(Control File)控制数据库的物理结构。控制文件记录了数据库中所有文件的控制信息,维护数据库内部的一致性,并引导数据库恢复。控制文件是数据库的控制中心,对数据库至关重要,所以在一个Oracle数据中同时联机存储了多个复本。这些文件一般存储在各个不同的磁盘上,这样可以降低因磁盘损坏而引起数据库彻底崩溃的风险。创建数据库时,系统同时会创建与之对应的控制文件。控制文件中主要包含以下信息。

数据库名称

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

数据库建立日期

表空间信息

归档日志信息

当前的日志序列号

检查点信息

数据库控制文件的名称通过初始化参数CONTROL_FILES确定。如果需要给数据库添加一个新的控制文件,用户需关闭实例,把已存在的一个控制文件复制到新的地址,把新的地址添加到CONTROL_FILES参数设置值上,然后重新启动这个实例,使新的控制文件生效。

2.5.3 重做日志文件

Oracle用重做日志文件来保存所有数据库事务的日志。当数据库被破坏时,用重做日志文件恢复数据库。

重做日志文件一般是以组形式存在的,每一个数据库有两个或多个重做日志文件(Redo Log File)组,每一组内都有多个镜像文件。如图2-12所示,一共有3组重做日志文件,每组内都有3个镜像文件。

image

Oracle以循环方式向重做日志文件写入:第一个日志文件被写满后,就向第二个日志文件写入,然后依次类推。当所有联机重做日志文件都被写满时,就再回到第一个日志文件,用新事务的数据重写第一个日志文件。如果数据库正以ARCHIVELOG模式运行,在重写联机重做日志文件前,数据库会先将其内容存入归档重做日志文件中,任何时候都可以用这些归档重做日志文件来恢复数据库。

为防止重做日志文件遭破坏,注意,尽量将重做日志文件镜像到不同磁盘上,当LGWR向日志文件写信息时,会同时将信息也写到镜像文件上。

2.5.4 参数文件

参数文件一般以Ora为扩展名,Ora为Oracle的前三个字母。Oracle 9i版本数据库之后系统有以下几类参数文件。

1.初始化参数文件
在启动一个实例时,Oracle必须读入一个初始化参数文件(Initialization Parameter File)。该参数文件中含有实例配置参数,这些参数值决定着数据库和实例的特性,如共享池、高速缓冲、重做日志缓冲分配、后台进程的自动启动、控制文件的读取、自动联机回滚段等。Oracle9i之前,该参数文件名为Init.ora,该参数文件中主要包含以下几点。

一个实例所启动的数据库名字

在SGA中存储结构配置

数据库控制文件的名字和位置

2.配置参数文件
配置参数文件,一般被命名为config.ora。配置参数文件一般由初始化参数文件调用,在初始化参数文件由ifile参数来指定配置参数文件的位置。

系统中如果一个数据库对应一个实例,则没有配置参数文件;配置参数文件只有在一个数据库对应多个实例时才有。

3.二进制参数文件Spfile
Oracle 9i之前,参数文件是文本文件,Oracle 9i之后采用了和以前版本不同的二进制的参数文件Spfile,同时保留了对原有文本参数文件的支持,所以Oracle 9i之后有两种参数文件:静态文本的Pfile参数文件和Spfile参数文件。后面的章节将会详细介绍这几种参数文件的区别和使用方法。参数文件Spfile不能直接修改,如果直接修改会导致数据库启动失败。

2.5.5 跟踪文件

跟踪文件是由后台进程和用户进程建立的,用于记载进程运行时出现故障的信息。在实例中运行的每一个后台进程都有一个跟踪文件与之相连。跟踪文件记载后台进程遇到的重大事件的信息。

后台进程的追踪文件被命名为PROC.trc,PROC是后台进程的名字。用户进程追踪文件命名为_ORA_XXX.trc,XXX是一连串用来唯一标识的数字。

后台进程追踪文件存在BACKGROUND_DUMP_DEST所指定的位置,用户进程追踪文件存储在由USER_DUMP_ DEST参数设置所指定的目录里。

用户可以在V$PARAMETER视图中获得BACKGROUND_DUMP_DEST和USER_DIMP_ DEST参数的当前设置。

2.5.6 警告日志文件

除了跟踪文件外,Oracle还有一个称作警告日志(alert log)的文件,警告日志文件记录数据库运行中发生的主要事件的命令及结果。例如,表空间的创建、重做日志的转换、操作系统的恢复、数据库的建立等信息都记录在警告日志中。警告日志是数据库每日管理的重要资源,应经常监控警告日志。因为警告日志记录了数据库操作期间遇到的任何问题,其中包括出现的任何内部错误。当调查数据库故障时,用户应首先查看该文件,关键的错误总是记录在这里。

为使警告日志便于使用,用户最好是每天对其重新命名。例如,如果警告日志称作alert_ orcl.log,用户可以重新命名将文件名包括当前日期。下次Oracle要写该警告日志时,找不到具有alert_orcl.log文件名的文件,数据库又会新创建一个。这样,除了有以前的警告日志,用户还有一个当前的警告日志(alert<_SID>.log)。这样有利于今后对数据库历史运行的追踪。

警告日志文件存在由初始化参数BACKGROUND_DUMP_DEST指定的位置。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Oracle新建表时,复制另一张旧表的结构和数据
1、创建一张和已经存在的表一样结构的表,同时复制数据 create table newTableName as select * from oldTableName; //--newTabl...
765 0
Oracle 结构概况
一、数据库体系结构概况 Oracle Server由两个实体组成:实例(instance)与数据库(database)。 1、实例:实例是数据库启动时初始化的一组进程和内存结构 2、数据库:数据库则指的是用户存储数据的一些物理文件 这两个实体是独立的,不过连接在一起。
631 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
EasyDBforOracle— 基于阿里云的Oracle最佳实践
立即下载
Oracle云上最佳实践
立即下载
迁移 ORACLE 最佳实践
立即下载