redo log功能:数据恢复
redo log特征:
- 记录数据库的变化(DML,DDL)
- 用于数据块的recover
- 以组的方式管理redo file,最少两组redo,循环使用
- 和数据文件存放到不同的磁盘上,需读写速度快的磁盘(比如才用RAID10)
restore&recovery
resotre:昨天10点备份,restore后恢复的是昨天10点那一刻数据库的样子
recovery:如果日志全(归档,在线日志),并且前面有备份,还原那点开始往前滚,可以回滚到最后一次commit提交,没提交的部分就被回滚掉了
核心sql
//查看当前日志组的状态,组的编号
select * from v$log;
//查看每个组的物理位置
留意此处的status值为空的,没有值就是好事儿
select group#,member,status from v$logfile;
//添加日志组
alter database add logfile '/opt/oracle/oradata/orcl/redo05.log' size 50m;
//添加日志组的成员(镜像)
alter database add logfile member
'/u01/disk2/timran/redo01b.log' to group 1,
'/u01/disk2/timran/redo02b.log' to group 2;
//查看新建的日志组镜像同步与否
select group#,member,status from v$logfile;
新建日志组成员status显示为invalid,代表你新建的内容未同步
//手动切换日志即可解决上述同步问题
alter system switch logfile;
//切换后的日志归档到哪儿去了?
在开启归档模式的前提下
可用如下命令查看归档文件的位置
select name from v$archived_log;
17:48