Oracle数据库的物理
- 格式:docx
- 大小:115.05 KB
- 文档页数:20
ORACLE数据库基础知识总结1、RMAN全备备份⽂件的顺序备份归档⽇志、所有的数据⽂件、控制⽂件、spfile、再次备份归档⽇志2、redo⽇志丢失恢复redo⽇志的三种状态是current、active、inactiveinactive,可以重建 clear logactive、current不能变成inactive,只能通过不完全恢复进⾏恢复,然后重建⽇志⽂件3、⼝令⽂件丢失恢复丢失可重建 orapwd file= password= enfries=重建完成之后ORACLE正常使⽤4、控制⽂件丢失恢复a> rman 可以备份控制⽂件b> 控制⽂件可以cp⼀份备⽤c> 控制⽂件可以重建⼿写5、体系结构物理:ORACLE数据库包括instance、database两部分。
instance包括SGA(系统全局区)跟⼀些后台进程组成的。
SGA包括:share pool、db buffer cache、redo log buffer、流池、⼤型池、JAVA POOL、share pool(共享池) :库缓存:缓存最近执⾏的代码,同样的sql多次执⾏不需要频繁读取数据字典中得数据数据字典缓存:存储oracle中得对象定义PL/SQL区:缓存存储过程、函数触发器等数据库对象。
db buffer cache(数据库缓存区)redo log buffercache(⽇志缓存区)常见的后台进程:DBWn:⽤于数据库缓存写⼊磁盘LGWn:⽤于log⽇志写⼊磁盘CKPT:检查点进程SMON:实例维护进程,系统监视器MMON:AWR主要进程PMON:维护⽤户进程,进程监视器ARCN:归档进程database包括数据⽂件、控制⽂件、⽇志⽂件等。
逻辑:oracle数据块-区-段-表空间-数据库-⽅案多个oracle数据块组成⼀个区,多个区组成⼀个段,多个段组成⼀个表空间,多个表空间组成⼀个数据库表空间和数据⽂件的关系:表空间是由⼀个或多个数据⽂件组成的,⼀个数据⽂件只属于⼀个表空间,表空间的⼤⼩是所有数据⽂件⼤⼩的总和。
oracle explain time单位在Oracle数据库中,执行计划(Explain Plan)是一种用于分析和优化查询性能的工具。
在执行计划中,时间单位通常以逻辑读数目(Logical I/Os)和物理读数目(Physical I/Os)来表示,而不是使用标准的时间单位(如毫秒或秒)。
1. 逻辑读(Logical I/O):
•表示从内存中读取数据的次数。
逻辑读通常是从数据库缓存中读取数据的次数。
逻辑读越少,性能越好,因为这意味着大部分数据已经在内存中,而不需要从磁盘读取。
2. 物理读(Physical I/O):
•表示从磁盘中读取数据的次数。
物理读通常是从磁盘读取数据到内存中的次数。
物理读的次数越少,性能越好,因为磁盘读取通常比内存读取慢得多。
在执行计划中,可以查看逻辑读和物理读的数量,以评估查询的性能。
通常,你希望尽可能减少逻辑读和物理读的次数,以提高查询性能。
要查看查询的执行计划,可以使用EXPLAIN PLAN 语句或者在SQL*Plus 或SQL Developer 等工具中执行查询并查看执行计划。
执行计划将显示逻辑读和物理读的估计值,而不是实际的执行时间。
如果你对查询的实际执行时间感兴趣,可能需要考虑其他性能监控工具或数据库性能分析方法。
1/ 1。
oracle数据库体系架构详解在学习oracle中,体系结构是重中之重,⼀开始从宏观上掌握它的物理组成、⽂件组成和各种⽂件组成。
掌握的越深⼊越好。
在实际⼯作遇到疑难问题,其实都可以归结到体系结构中来解释。
体系结构是对⼀个系统的框架描述。
是设计⼀个系统的宏观⼯作。
这好⽐建⼀栋⼤楼。
你⾸先应该以图纸的⽅式把整个⼤楼的体系架构描述出来。
然后⼀点点的往⾥⾯填充东西。
下⾯我们先以⼀个图解的⽅式对oracle体系结构有⼀个基本了解根据⽰图,便于我们记忆,⽰图分三部分组成,左侧User Process、Server Process、PGA可以看做成Clinet端,上⾯的实例(Instance)和下⾯的数据库(Database)及参数⽂件(parameter file)、密码⽂件(password file)和归档⽇志⽂件(archived logfiles)组成Oracle Server,所以整个⽰图可以理解成⼀个C/S架构。
Oracle Server由两个实体组成:实例(instance)与数据库(database)。
这两个实体是独⽴的,不过连接在⼀起。
在数据库创建过程中,实例⾸先被创建,然后才创建数据库。
在典型的单实例环境中,实例与数据库的关系是⼀对⼀的,⼀个实例连接⼀个数据库,实例与数据库也可以是多对⼀的关系,即不同计算机上的多个实例打开共享磁盘系统上的⼀个公⽤数据库。
这种多对⼀关系被称为实际应⽤群集(Real Application Clusters,RAC)RAC极⼤提⾼了数据库的性能、容错与可伸缩性(可能耗费更多的存储空间)并且是oracle⽹格(grid)概念的必备部分。
下⾯我们来详细看⼀下oracle数据库的体系架构Oracle体系架构主要有两⼤部分组成:数据库实例(Instance)和数据库⽂件(database)数据库实例指数据库服务器的内存及相关处理程序,它是Oracle的⼼脏。
与Oracle性能关系最⼤的是SGA(System Global Area,即系统全局区活共享内存区),SGA包含三个部分:1、数据缓冲区,可避免重复读取常⽤的数据;2、⽇志缓冲区,提升了数据增删改的速度,减少磁盘的读写⽽加快速度;3、共享池,使相同的SQL语句不再编译,提升了SQL的执⾏速度。
Oracle数据库体系结构⼀、oracle数据库体系结构基本组成:Oracle server:⼀般情况下是⼀个instance和⼀个database组成⼀般:1个instance只能对应⼀个数据库。
特殊:1个数据库可以有多个instance(RAC)⼀台服务器上同时可装多套版本的数据库软件,每个数据库软件可建多个数据库,但是每个数据库只对应⼀个instance,也可以理解成每个数据库只有⼀个SID 。
利⽤DBCA建出的每个库都是相对独⽴的,在同⼀服务器上如果创建多库必须将环境变量的参数⽂件做区分,并且在对实例切换时需如下操作:connect ⽤户名/密码@实例的服务名1.1 oracle服务器和实例1.1.1实例由内存区和后台进程组成①内存区:数据库⾼速缓存、重做⽇志缓存、共享池、流池以及其它可选内存区(如Java池),这些池也称为数据库的内存结构②后台进程:包括系统监控进程(SMON)、进程监控(PMON)、数据库写进程(DBWR)、⽇志写进程(LGWR)、检验点进程(CKPT)、其它进程(SMON,如归档进程、RECO进程等)③注:要访问数据库必须先启动实例,实例启动时先分配内存区,然后再启动后台进程,后台进程执⾏库数据的输⼊、输出以及监控其它Oracle进程。
在数据库启动过程中有五个进程是必须启动的,它们是系统监控进程(SMON)、进程监控(PMON)、数据库写进程(DBWR)、⽇志写进程(LGWR)、检验点进程(CKPT),否则实例⽆法创建。
1.1.2服务器Oracle服务器由数据库实例和数据⽂件组成,也就是我们常说的数据库管理系统。
数据库服务器除了维护实例和数据库⽂件之外,还在⽤户建⽴与服务器的连接时启动服务器进程并分配PGA1.2 oracle数据库逻辑结构表空间:据库的基本逻辑结构,是⼀系列数据⽂件的集合;段:不同类型数据在数据库中占⽤的空间,有许多区组合⽽成;区:由连续的块组成,⽬的是为数据⼀次性预留⼀个较⼤的空间,oracle为存储空间进⾏分配回收都是以区为单位的;块:最⼩的存储单位,在创建数据库时指定,不能修改。
第一章oracle数据库10g概述1.1 数据库和信息管理服务器必须在多用户环境中管理大量的数据,使得多个用户能够并行访问数据。
所有这些必须能够在高性能的情况下完成,数据库服务器必须防止未经授权的非法访问,保护敏感数据,同时,为故障恢复提供解决方案。
▪客户用员务器环境▪大型数据库和空间管理▪多个并行数据库用户▪连接性▪高事务处理能力▪控制可用性▪开放的、基于工业标准▪管理安全性▪数据库完整性增强▪兼容性▪分布式系统▪复制环境1.2 Oracle 10g服务器Oracle 10g服务器是对象关系数据库管理系统,提供对信息管理的集成方法,一个Oracle服务器包括一个Oracle数据库和一个Oracle服务器实例。
每当数据库启动的时候,系统全局区(SGA)被分配,并启动了Oracle后台进程。
系统全局区是用于数据库用户共享数据库信息的内存区域。
后台进程和内存缓冲区称为Oracle实例。
Oracle实例包含两种类型的进程:用户进程和Oracle进程。
用户进程执行应用操作的代码。
Oracle 进程是执行用户进程和后台进程,对Oracle进行维护的服务器进程。
为了最大化性能和处理多个用户的请求,多进程Oracle系统使用附加进程,这些附加进程称为后台进程。
后台进程能够自动执行I/0和监视Oracle进程,为获得更好的性能和稳定性提供更好的支持。
数据库的物理结构和存储结构之间的关系由后台进程来维持。
数据库拥有多个后台进程,其数量取决于数据库的配置。
这些进程由数据库管理,它们只需要进行很少的管埋。
每个后台进程创建一个跟踪文件。
Oracle在实例操作期间保存跟踪文件。
后台进程跟踪文件的命名约定和位置随操作系统和数据库版本不同而不同。
一般来说,跟踪文件含有后台进程名或后台进程的操作系统进程ID.可以设置init.ora文件的BACKGROUND_DUMP_DEST参数来规定后台进程跟踪文件的位置。
但是有些版本的Oracle忽略这种设置。
Oracle 体系结构概述完整的Oracle 数据库系统通常由两个部分组成:实例(INSTANCE )和数据库(DATABASE )。
数据库是由一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等);实例则是由一组Oracle 后台进程/线程以及在服务器分配的共享内存区。
实例和数据库有时可以互换使用,不过二者的概念完全不同。
实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。
准确地讲,一个实例在其生存期中最多只能装载和打开一个数据库。
如果要想再打开其他数据库,必须先丢弃这个实例,并创建一个新的实例。
数据库的主要功能是保存数据,实际上可以将数据库看作是存储数据的容器。
数据库的存储结构也就是数据库存储数据的方式,Oracle 数据库的存储结构分为逻辑存储结构和物理存储结构,这两部分是相互独立但又密切相关的。
逻辑存储结构主要用于描述在Oracle 内部的组织和管理数据的方式,而物理存储结构则用于描述在Oracle 外部,即操作系统中组织和管理数据的方式。
Oracle 对逻辑存储结构和物理存储结构的管理是分别进行的,两者之间不直接影响。
因此Oracle 的逻辑存储结构能够适用于不同的操作系统平台和硬件平台,而不需要考虑物理实现方式。
在启动Oracle 数据库服务器时,实际上是在服务器的内存中创建一个Oracle 实例(即在服务器内存中分配共享内存并创建相关的后台进程),然后由这个实例来访问和控制磁盘中的数据文件。
图2-1以最简单的形式展示了Oracle 实例和数据库。
Oracle 有一个很大的内存块,称为系统全局区(SGA )。
文件文件文件文件文件数据库SGA后台进程后台进程后台进程后台进程后台进程后台进程后台进程实例图2-1 Oracle 实例和数据库当用户连接数据库时,实际上是连接到实例中,由实例负责与数据库通信息,然后再将处理结构返回给用户。
和数据类型UROWIDOracle只用一种数据类型去储存database(由datafiles组成)中的每一行的地址。
∙物理rowids:在常规表—没有被分割或被簇化的表(不包括索引表—数据的存储组织方式使用的是索引中的主键B-tree的一种变型,而常规表使用的是无序heap的一种组织方式)、簇表(clustered tables)、表分区和其子分区、索引、索引分区和其子分区中的行的地址,这种地址是由物理rowids来存储的。
∙逻辑rowids:储存索引表中的行的地址。
rowids只有一种数据类型,这种数据类型称为通用rowid(universal rowid)或UROWID;这种数据类型既可以是逻辑rowids,也可以是物理rowids,甚至是外部表的rowids。
例如:通过某种网关(gateway)访问的非Oracle的表。
注意:这种数据类型能存储任何的rowids;不过,初始化参数COMPATIBLE(提供文件格式化的兼容性)的值必须设置为8.1或更高,这样才能使用这种数据类型。
ROWID(列名)和伪列(Pseudocolumn)在一个Oracle database中的每张表都有一个伪列,这个伪列的名字就是ROWID。
使用SQL*Plus,通过执行SELECT * FROM ...语句或DESCRIBE ...语句列出一张表的结构时,你是看不到这个伪列的,而且此伪列也不会占用表的空间。
然而,如果一个SQL查询使用ROWID做为某列的检索词,那么你就能得到每行的地址(rowids的值)。
例如:SELECT ROWID, last_name FROM employees;注意:你不能插入、更新、删除伪列的值,因为Oracle内部需要使用此伪列的值构造索引。
你能像表中的其他列一样引用伪列的值(在SELECT语句中或在WHERE字句中),但这种值并不存储在database中,它们也不是database的数据。
Oracle 备份与恢复概述为了保证数据库的高可用性,Oracle数据库提供了备份与恢复机制,以便在数据库发生故障时完成对数据库的恢复操作,避免损失重要的数据资源。
丢失数据可以分为物理丢失和逻辑丢失。
物理丢失是指操作系统的数据库组件丢失,例如,数据文件、控制文件、重做日志以及归档日志。
引起物理数据丢失的原因可能是磁盘驱动毁损,也可能是有人意外删除了一个数据文件或者修改关键数据库文件所造成的配置变化。
逻辑丢失就是例如表、索引和表记录等数据库组件的丢失。
引起逻辑数据丢失的原因可能是有人意外删除了不该删除的表、应用出错或者在DELETE语句中使用不适当的WHERE 子句。
毫无疑问,Oracle能够实现物理数据备份与逻辑数据备份。
虽然两种备份模式可以互相替代,但是在备份计划内有必要包含两种模式,以避免数据丢失。
物理数据备份主要是针对如下文件备份:●数据文件●控制文件●归档重做日志物理备份通常按照预定的时间间隔运行以防止数据库的物理丢失。
当然,如果想保证能够把系统恢复到最后一次提交时的状态,必须以物理备份为基础,同时还必须有自上次物理备份以来累积的归档日志与重做日志。
备份一个Oracle数据库有3种标准方式:导出、脱机备份和联机备份。
导出方式是数据库的逻辑备份,其他两种备份方式都是物理文件备份。
在Oracle中,EXP和EXPDP工具就是用来完成数据库逻辑备份的,若要恢复需要调用IMP或IMPDP导入先前的逻辑备份文件。
Oracle中的导出工具(EXPDP和EXP)可以读取数据库,并把其中的数据写入到二进制形式的转储文件中。
可以导出整个数据库、指定用户模式或指定表。
在导出期间,可以选择是否导出与表相关的数据字典信息,如权限、索引和与其相关的约束条件。
在对数据库进行导出备份时,可以进行完全导出备份,也可以进行增量导出备份。
增量导出有两种不同类型:Incremental(增量备份)和Cumnlative(累积备份)。
Oracle数据库的物理(存储)结构2008年03月19日星期三上午 00:06数据结构在计算机中的表示(映像)称为数据的物理(存储)结构。
它包括数据元素的表示和关系的表示。
物理结构,即Oracle数据库使用的操作系统文件结构。
对于数据库物理结构文件,不同的oracle版本,不同的操作系统平台上有不同的存储目录结构。
数据库的物理结构文件按其作用可以分为三类:数据文件日志文件控制文件一、数据文件数据文件用来存储数据库的数据,如表、索引等。
读取数据时,系统首先从数据库文件中读取数据,并存储到SGA的数据缓冲区中。
这是为了减少I/O,如果读取数据时,缓冲区中已经有要读取的数据,就不需要再从磁盘中读取了。
存储数据时也是一样,事务提交时改变的数据先存储到内存缓冲区中,再由oracle后台进程DBWR决定如何将其写入到数据文件中。
1.查询数据文件的信息一个数据文件只与一个数据库相联系。
数据文件的大小是可以改变的。
可以通过以下语句查询表空间的空间空闲量sql>select * from dba_free_space2.修改数据文件的大小sql>alter database datafile "d:\...\df1.dbf" resize 800m3.数据库文件的自动扩展特性。
二、重做日志文件重做日志文件记录对数据库的所有修改信息。
它是三类文件中最复杂的一类文件,也是保证数据库安全与数据库备份与恢复有直接关系的文件。
1.日志文件组与日志成员在每一个Oracle数据库中,至少有两个重做日志文件组。
每组有一个个或多个重做日志文件,即日志成员。
同一组中的成员是镜像关系,它们存储的内容是一模一样的。
Oracle在写日志时,以一个日志组为逻辑单位写入,只在将日志都写入日志组中的每个成员文件中后,写日志才完成。
2.日志工作原理Oracle有多个日志文件组,当一个日志文件组中所有的成员所有的成员同时被写满数据时,系统自动转换到下一个日志文件组,这个转换过程称为日志切换。
当日志切换后,会给前一个日志组编一个号,用于归档日志的编号,这个编号称为日志序列号。
此编号由1开始,每切换一次,序列号自动加1,最大值受参数MAXLOGHISTORY限制,该参数的最大值为65534。
当oracle把最后一个日志组写满了以后,自动转向第一个日志组,这时,再向第一个日志组写日志的时候,如果数据库运行在非归档模式下,这个日志组中的原有日志信息就会被覆盖。
使用以下语句查询日志文件信息:sql>select * from v$log相关字段说明如下:GROUP#:日志文件组号THREAD#:日志文件线程号,一般为1,双机容时为2SEQUENCE#:日志序列号BYTES:日志文件大小MEMBERS:该组的日志成员个数ARC:该组日志信息是否已经完成归档STATUS:该组状态(CURRENT:表示当前正在使用的组;NACTIVE:表示非活动组;ACTIVE:表示归档未完成)FIRST_CHANGE#:系统改变号SCN,也叫检查点号FIRST_TIME:系统改变时间DBA可以使用下列命令进行强制日志切换sql>alter system switch logfile3.NOARCHIVELOG/ARCHIVELOGNOARCHIVELOG是非归档模式,如果数据库运行在这种模式下,当日志切换时,新切换到的日志组中的日志信息会被覆盖。
ARCHIVELOG:归档模式,如果数据库运行在这种模式下,日志会被归档存储,产生归档日志,且在未归档之前,日志不允许被覆盖写入。
要确认数据库的归档方式,可以查询数据字典v$database:sql>select log_mode from v$database要了解归档日志的信息,可以查询数据字典v$archived_log。
要将数据库改为归档模式:a.alter database archivelogb.设置初始化参数LOG_ARCHIVE_START=TRUEc.设置归档文件目标存储路径 LOG_ARCHIVE_DEST=C:\ORA\ARCHIVEd.设置归档文件命名格式参数 LOG_ARCHIVE_FORMAT="ORCK%T%S.ARC"。
这个格式中的%S表示日志序列号,自动左边补零;%s表示日志序列号,自动左边不补零;%T表示日志线程号,左边补零;%t表示日志线程号不补零。
e.重新启动数据库4.CKPT进程(检查点进程)CKPT进程保证有修改过的数据库缓冲区中的数据都被写入到数据文件,日志文件、数据文件、数据库头和控制文件中都有写入检查点标记。
数据库在恢复时,只需提供自上一个检查以来所做的修改。
检查点完成时系统将更新数据库数据库头和控制文件。
参数LOG_CHECKPOINT_TIMEOUT决定一个检查点发生的时间间隔。
LOG_CHECKPOINT_INTERVAL决定一个检查需要填充的日志文件块的数量。
检查点号,也称系统改变号(SCN),它标识一个检查点。
可以通过v$log查询日志文件的检查点信息,通过v$datafile查询数据文件的检查点信息,通过v$database查询数据库头的检查点信息。
三个地方的检查点号相同,如果不同,说明发明数据库不同步,此时数据库肯定无法正常启动。
5.增加与删除日志文件组、日志成员(详细语法请参考Oracle文档)6.清除日志文件数据三、控制文件控制文件是一个二进制文件,用来描述数据库的物理结构,一个数据库只需要一个控制文件,控制文件的内容包括:数据库名及数据库唯一标识数据文件和日志文件标识数据库恢复所需的同步信息,即检查点号控制文件由参数control_files指定,格式如下:control_files=("home/app/.../control01.ctl","home/app/.../control02.ctl ")参数中各个文件是镜像关系,也就是说,几个文件中只要有一个文件完好,数据库就可以正常运行。
如果控制文件损坏或丢失,数据库将终止并且无法启动,所以,要对控制文件进行镜象,手工镜像步骤如下: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指定.Oracle数据库的物理存储结构之数据文件2009-11-16 21:43Oracle数据库主要的物理存储结构包含构成数据库的各种物理文件,包括数据文件,控制文件,重演日志文件,归档重演日志文件,参数文件,警告、跟踪日志文件和备份文件等。
启动一个实例时,Oracle从参数文件中读取控制文件的名字和位置,登陆数据库时,Oracle打开控制文件,控制文件把Oracle引导到数据库文件的其余部分,最终打开数据库时,Oracle从控制文件中读取数据库文件和日志文件的列表并打开其中的每一个文件。
数据文件(Datafile)每个Oracle数据库都有一个或多个物理数据文件,数据文件包含了所有的数据库数据,数据库的逻辑结构的数据(如表、索引等)都被物理的存储在分给数据库的数据文件中,数据文件包含下列类型的数据:a.表数据b.索引数据c.数据字典定义d.回滚事务所需的信息e.存储过程、函数和数据包的代码f.用来排序的临时数据一般来说,这些不同类型的数据不混到一起存储,而是同一类型的数据集中到一个或多个文件中存储。
数据文件具有以下特点:a.一个数据文件只能与一个数据库相关联。
b.可以对数据文件设置一些特性,在数据库空间用完的情况下自动进行扩展。
c.一个或多个数据文件够撑了一个数据库存储的逻辑单元---表空间(tablespace)。
当一个数据文件第一次被创建后,分配的控件就进行了格式化,但不含任何用户数据。
Oracle独占的使用数据文件空间来保存数据。
随着一个表空间的数据增长,Oracle使用与这个表空间相关联的数据文件的剩余空间。
一个表控件内的模式对象(schema object)的数据物理上可以存储在构成表空间的一个货这多个数据文件上。
注意:一个模式对象并不一定只对应于一个特定的数据文件,一个数据文件可以存储一个特定表空间内的任何模式对象,而一个模式对象也可以存储在其所在表空间的一个活这数据文件中,所以一个模式对象可以跨越一个或多个数据文件。
在正常的数据库操作过程中,一个数据文件中的数据按照需要被读取,存储在Oracle的内存缓存区中,例如:假定一个用户想访问一个数据库的一个表中的某些数据,如果这个数据库的内存缓冲区没有这些数据,那么数据库就会到相应的数据文件中去读取这些信息,然后存储在内存里。
修改过的数据或者新添加的数据不一定立刻写入一个数据文件,为了减少磁盘访问数量,提高性能,数据汇集在内存里,然后一次性全部写入到适当的数据文件中。
这个过程是由数据库后台数据库书写进程(DBWR)决定的。
在SQL*Plus中查询一个数据库的所有数据文件的列表:SELECT status,bytes,nameFROM V$DATAFILE;Oracle数据库的物理存储结构之控制文件2009-11-23 22:51数据库控制文件(control file)是一个很小的二进制文件,它维护者数据库的全局物理结构,用以支持数据库成功的启动和运行。
创建数据库时,同时就提供了与之对应的控制文件。
在数据库使用过程中,Oracle不断的更新控制文件,所以只要数据库是打开的,控制文件就必须处于可写状态。
如果,犹豫某些原因控制文件不能被访问,那么数据库也就不能正常的工作了。
每一个控制文件只能与一个Oracle数据库相关联。
控制文件包含了数据库实例的启动和正常操作时,访问数据库所需的关于数据库的信息。
控制文件的内容只有Oralce可以修改,数据库管理员和用户都不能对其进行编辑。