一、Online Redo log files have the following characteristics
1、Record all changes made to data 记录所有的数据的变换
2、provide a recovery mechanism 提供了一种恢复机制
3、Can be organized into groups 有组的概念
4、At least two groups required必须有两组
二、Sturctures of Redo Files
至少两组(每组可以有多个文件,同组之间的文件一致),
循环写入,最好在不同的磁盘
三、Online Redo Logo File Groups
1、同一个组中的文件 结构大小完全一致 (这里文件可以放在不同的磁盘,保证安全性)
2、由LGWR负责往组中的文件同时写入,保证数据的一致性
3、至少需要两个组以保证数据库的正常操作
4、把一个组的不同成员均匀分配在不同的磁盘
四、Online Redo Logo File Members
1、在组里面的每一个成员称之为member
2、同一个组的成员有大小相同
3、LSN(log sequence number )
五、Multiplexed Redo log Files
1、oracle建议多路复用 减低性能 提高安全性
2、尽量在不同的磁盘,避免一个磁盘损坏
3、即使没有多个磁盘
六、How Redo Files Work
1、循环写入
2、log switch (切换不同的组)
3、log switch 引发检查点操作
4、information written to the control file (写入控制文件)
七、When will LGWR write redo?
1、When a transaction commits. (commits 并不是把数据写入数据文件中,而是写入联机重做日志文件中)
2、Eveny three seconds.
3、When the Redo Log Buffer becomes one-third full
4、Redo Log Buffer 有超过一M的信息需要写入
5、Before the DBWn writes modified blocks in the Database Buffer Cache to the data files.
(LGWR先写入online redo log file,DBWn 在 写入 data files)
6、checkPoint 把数据写入数据文件
八、LS&LSN
Log switch 切换不同的组
log sequence number
九、Force Log Switches & Check Point
1、desc v$log 查看v$log结构
2、select group#,thread#,sequence#,status from v$log; 查看当前组数量及状态
GROUP# THREAD# SEQUENCE# STATUSinactive 表示组的数据可以被覆盖
---------- ---------- ---------- ----------------
1 1 2 INACTIVE
2 1 3 CURRENT
3 1 1 INACTIVE
3、alter system switch logfile;手工切换日志组(在不同的组之间切换)
4、select group#,thread#,sequence#,status from v$log; 重新查看
GROUP# THREAD# SEQUENCE# STATUS
---------- ---------- ---------- ----------------
1 1 2 INACTIVE
2 1 3 ACTIVE
3 1 4 CURRENT
5、由于LGWR速度比DBWR快的多,所以可能造成redo log file 写满,check point 还没有触发的情况,
这时数据库就停下来了,所以oracle设置每隔多长时间必须执行一次
所以有个时间参数强制执行checkpoint fast_start_mttr_target 单位秒
显示这个参数的值 show parameter fast_start_mttr_target
修改这个参数的值 alter system set fast_start_mttr_targer=600 scope=both;
6、alter system checkpoint ;
九、redo log files manage
1、view Redo log File Groups
①、desc v$logfile;查看v$logfile
②、select * from v$logfile;
2、Adding Redo log Files Groups 新增组
alter database add logfile group 4
('/u01/app/oracle/oradata/oamis/redo04.log') size 50M;
3、add redo log file member
alter database add logfile member
'/u01/app/oracle/oradata/oamis/redo04a.log' to group 4;
十、Dropping redo File Members
1、删除完要保证每组有2个成员,防止单点故障
2、如果组里面只有一个Member,不能删除
3、active or current group 不能删除
4、你删除完redo File Member 只是在control file中去掉,文件实际存在
5、alter database drop logfile Member
'/u01/app/oracle/oradata/oamis/redo04a.log' ;
十一、Dropping Redo Files Groups
1、必须留2个组
2、active or current group 状态不能删除
3、删除组不删除实际文件
4、rm -f 文件名
十二、Relocate & rename
1、Add new members and drop old members
2、Alter Database Rename File command
①、shut down the database-->shutdown immediate
②、copy the online redo log file to the new location-->cp
③、place the database in mount mode--> startup mount
④、Execute the command-->下面命令
⑤、Open database for normal operation-->alter database open;
Alter database rename File
'/u01/app/oralce/oradata/oamis/redo04.log'
to
'/u01/app/oralce/oradata/redo4.rdo'
十三、Clear Redo Files (用于Redo File 文件损坏,可能丢失数据)
1、Alter database clear logfile group 2;清空group 2
2、Alter database clear unarchived logfile group 2; 清空group 2 不归档
十四、Redo File Configuration
1、组内的成员对称
2、组内的成员放到不同的磁盘
3、一个组里面的成员只有有一个可用,则这个实例可以正常使用
4、归档的文件放到另一个磁盘
5、数据文件和redo log file 也放到不同的磁盘
6、不同磁盘做冗余既提高性能,又提高可靠性
7、最好datafile ,redo log file, archived file 放到不同的磁盘,control file 均匀放置
十五、Group & Member Information
1、v$log
2、v$logfile
3、v$log_history
十六、What is Redo Threads?
1、multiple database instance
2、单机情况下永远等于1
3、RAC情况下Thread回大于1
十七、Archived Redo Log Files
1、查看模式
select log_mode from v$database;
select archiver from v$instance;
2、生产环境用archived 模式