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

来源:互联网 发布:windows打开网络发现 编辑:程序博客网 时间:2024/05/21 01:42

前序:


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


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  说明日志文件有问题。


0 0
原创粉丝点击