控制文件

控制文件是数据库很重要的一个组成部分(数据库由控制文件、数据文件、日志文件组成),记录了当前实例连接的数据库的结构和行为并维护数据库的一致性


大家都知道,数据库启动分为shutdown、nomount、mount、open几个状态

SHUTDOWN-->NOMOUNT-->MOUNT-->OPEN

SHUTDOWN-->NOMOUNT:Instance started   启动相关的进程

NOMOUNT-->MOUNT:Control file opened for this instance  为启动的这个实例打开控制文件

MOUNT-->OPEN:ALL files opened as described by this control file for this instance  通过控制文件打开其它的文件(数据文件、日志文件)

控制文件规则:

1.一个数据库至少有一个控制文件,最多八个。参数control_file所列出的第一个,Oracle Server所读取的唯一个文件。当数据库的所有改变改会记录到所有的控制文件中。

2.二进制文件

3.它被记录在参数文件中

4.记录了数据库启动的SCN和关闭时的SCN号,并在数据库打开时验证其是否一致来维护数据库的一致性。

5.在Mount状态之后就一直在使用。

6.控制文件只能属于一个数据库

7.必不可缺。


控制文件的内容:

1.数据文件、联机日志文件的位置和名字

2.表空间的名字和大小位置

3.检查点信息

4.回滚段的信息

5.当前联机重做日志文件()的sequence号

6.联机重做日志文件的归档信息

7.备份信息


如何查看控制文件的信息?位置、个数

1.show parameter control_file

2.select name,value from v$parameter where name='control_files';

3.select name,status from v$controlfile;

4.select type,record_size from v$controlfile_record_section;   //可查看控制文件中记录的信息。



实现多路控制文件:

修改初始化参数control_files-->关闭数据库-->用操作系统的拷贝手段当前控制文件中的任一个到其他位置(参数中指定的位置)-->启动数据库就实现了多路。

疑问如何管理控制文件?备份和恢复

生气如何备份数据库控制文件?

1.其中一种,如果多路控制其中一个坏了,只要复一个己有的新的控制文件到相应的位置就可以,因为控制文件的内容都是一致的。

   前提是要先关闭数据库,为了保证复制过程中原有的控制文件没有改变。

a.alter database backup controlfile to trace as '/db/aa.txt'; //如果是trace就到uump路径下去找--归档模式下做的。

b.show parameter udump;

c.按时间排序ls -lrt,一般以sid_ora_<数字>.trc格式的文件,找出创建控制文件的命令,拷贝出来运行即可。

控制文件损坏的恢复就可以用上面的方法。



微笑2.RMAN备份










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值