oracle基础---数据的可恢复性准备

本文介绍了如何通过多路复用控制文件、联机重做日志文件和归档日志文件来提高数据库的可恢复性。包括控制文件的备份与更新步骤、联机重做日志文件的配置要求及检查日志文件状态的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前序:


要保证数据库的最大可恢复性,,必须多路复用 控制文件、联机重做日志文件、 归档日志文件(以归档日志模式运行数据库)


1 保护控制文件:

①控制文件多路复用,每个副本要放在不同的磁盘上,如果是在一台小型的pc机上面,那也要保证副本放在了不同的目录上。(最少应该保证两个副本,最多是8个副本),

② 在系统添加控制文件副本: 

1 关闭数据库

shutdown  immediate (normal /  transactional );

 2 复制控制文件副本

host copy   control_dir_old   control_dir_old

3 启动实例到未加载的状态

startup  nomount;

4  修改control_files 参数

alter  system set control_files= "control_dir_old,control_dir_new" scope=spfle;

5  重启数据库实例

shutdown immediate;

startup;

或者直接 startup force ; 相当于 shutdow 








2  保护联机重做日志文件

① 数据库运行时至少需要两个联机日志文件组,每个日志文件组至少需要两个成员。

② 不能够丢失当前联机日志文件组的所有备份,因为实例崩溃后   smon进程 会使用当前联机日志文件组中的内容进行前滚恢复,如果一个成员不可用了,,那么就无法恢复实例。

③ 查看一下的当前数据库实例的日志文件状态。

日志文件组状态在v$log 视图中,, 日志文件成员状态存储在v$logfile 视图中,

select   group#, sequence#, members,status  from v$log;

select   group#  ,status, member from  v$logfile;


第一个查询表明,有三个日志文件组,,文件组1 是当前用于归档的日志文件组,, sequence 列最大指13 说明进行了13次日志切换,  第二个查询是显示每个具体的日志文件组,   可以看到每个组只有一个日志文件成员,这是不对的,,应该马上予以修正, 每个日志文件组至少应该有两个成员(可以通过database control  添加) 

正常情况下日志状态应为空,   为 stale   说明日志文件没有被用到,为 invalid  说明日志文件有问题。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值