oracle控制文件
6.1 控制文件介绍
控制文件是一个很小的二进制文件
定义当前数据库的物理状态
保证数据库的完整性
需求的
在数据库启动到mount状态时使用,帮助数据库启动
控制文件在数据库服务器启动过程中必须是可写的。没有控制文件数据库不能mount,并且恢复时也是困难的。
数据库创建的过程中创建控制文件。默认的至少一个控制文件在数据库创建时创建。
6.2 查看控制文件的位置
1.通过spfile
Strings spfileSID.ora
2.通过show parameter spfile
3.selecet * from v$controlfile;
6.3 数据库启动的过程
1.Unmount
启动进程
读取$oracle_home/dbs中的spfile文件
分配sga
启动后台进程
打开alter.log和trace 文件
2.mount
实例和启动的数据库绑定
加载并启动控制文件
读取控制文件中包含的数据库名字和数据文件和联机重做日志的状态
3.open
开启redo文件和数据文件
6.4 controlfile中包含的内容
数据库的名字和dbid
数据库创建的时间
表空间的名字
数据文件和联机重做日志的名称和位置
联机重做日志的顺序号
备份信息
联机重做日志信息
6.5 特点
每个数据库至少有两个控制文件,并且存放在不同的磁盘上。数据库同时给每个控制文件同时写信息,读只读第一个控制文件,如果控制文件中的任何一个损坏的时,实例失败。
6.6 备份控制文件的条件
1.增加,删除,或者重命名数据文件时
2.增加,删除表空间时,或者表空间可读可写状态时
3.增加或者删除重做日志文件或组时。
6.7 控制文件大小的决定因素
主要是受在创建数据库文件时的maxdatafiles ,maxlogfiles,maxlogmembers,maxloghistory,maxinstances参数决定的。
6.8 创建控制文件
6.8.1 创建初始控制文件
初始化参数文件是在创建数据库时创建的,控制文件的名称是由初始化参数文件中的control_files参数决定的。下面是一个control_files的初始化参数的例子
Control_files=(‘/ u01/oracle/prod/control01.ctl’,
‘/ u01/oracle/prod/control02.ctl’,
‘/ u01/oracle/prod/control03.ctl’)
如果在数据库创建时参数文件指定的控制文件的文件名存在则使用controlfile reuse,否则将会报错。如果创建的新的控制文件与旧的控制文件的尺寸不一致时,不能使用controlfile reuse。
6.8.2创建额外的控制文件,重命名和修改控制文件的位置
Alter system set control_file=’’,’’;
Shutdown immediate
Cp controlfile01.log control02.log
相关新闻>>
- 发表评论
-
- 最新评论 更多>>