您的位置:首页 > 数据库 > Oracle

oracle redolog file 基本知识

2013-08-19 16:49 267 查看
1 redo.log 是一个比较大的二进制文件。存放了用户执行的数据库操作记录。在数据库异常断电的时候可以使用redolog进行数据恢复,至少需要存在两组。



2 对于redolog的组(group)和成员(member)。对于group属于数据库,每个数据库至少存在两组数据,但是与control
file 不同的是,对于每个group组里面的数据时不一样的,一次只能有一个current
状态的group。相关的操作也只是写入到当前组中。对于member,属于组 group,其中每一同一个组中的每个成员,大小是一样的,存放的数据时相同的。对于联机归档日子,使用member进行多路复用。



3 负责从redol log buffer把数据写入到 redolog file中的进程是LGWR。对于这个进行会在以下情况触发

a 每隔三秒触发一次

b 当 redo logbuffer中的数据量超过三分之一的时候也会触发

c 当数据量超过1M的时候

d 在执行dbwn进程之前先执行lgwr



对于ckpt进程的执行触发情况

每次log switch
的时候 alter system switch logfile

根据参数值 FAST_START_MTTR_TARGET设置的值定期执行

当表空间挂载、卸载的时候

手动执行 ALTER SYSTEM CHECKPOINT





4 给数据库增加组

ALTER DATABASE ADD LOGFILE GROUP4('$ORACLE_BASE/oradata/orcl/log4.rdo')SIZE 50M;



5 给group4
增加组成员member

ALTER DATABASE ADD LOGFILE MEMBER '$ORACLE_BASE/oradata/orcl/log4b.rdo'to group4;



6对组成员进行删除

alter database drop logfile member '$ORACLE_BASE/oradata/orcl/log4b.rdo';

删除组

alter database drop logfile group4;

在删除的时候需要注意,这个删除只是逻辑上的删除,彻底删除的话我们还需要使用操作系统的命令进行删除

对于处于current、active状态的group、member如果不能删除,我们使用命令
ALTER SYSTEM

SWITCH LOGFILE

如果对于一个数据库的组中只有一个member的话,我们不能删除member,只能删除 group



7 常用的视图、命令



select * from v$logfile



select group#,thread#,sequence#,status fromv$log;



ALTER SYSTEM SWITCH LOGFILE

ALTER SYSTEM CHECKPOINT

SHOW PARAMETER FAST_START_MTTR_TARGET

ALTER DATABASE ADD LOGFILE GROUP 6 ('$ORACLE_BASE/oradata/orcl/log4b.rdo') SIZE 50M

ALTER DATABASE ADD LOGFILE MEMBER '$ORACLE_BASE/oradata/orcl/log4b.rdo' TO GROUP 6



alter database rename file

'$ORACLE_BASE/oradata/orcl/log4b.rdo ' to '$ORACLE_BASE/oradata/orcl/log4b2.rdo';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: