重做日志

重做日志用于记载事务操作所引起的数据库变化。执行DML或DDL操作时,oracle会将事务变化信息顺序写入重做日志。每个oracle数据库至少包含两个重做日志组,并且这些重做日志组是循环使用的。

1.重做日志组和重做日志成员。

     日志组由完全相同的日志成员组成,每个日志组至少包含一个重做日志文件。如果每个日志组包含多个重做日志文件,后台进程LGWR会将相同的事务变化写入到同一个日志组的各个重做日志文件中。

2.重做入口

     重做入口也称重做记录,由一组变化向量组成,这些变化向量包括表块变换,UNDO块变化和UNDO事务表的变化。当用户执行事务操作时,服务器进程会将重做记录写入到重做缓冲区,并最终由后台进程LGWR将重做记录写入到重做日志中。

3.SCN

  SCN 是用于表示数据库变化的唯一标识,其数值顺序递增。执行事务操作时,系统会为每个事务变化生成相应的SCN。

4.日志序列号

  日志序列号是重做日志的使用标识号,其数值也是顺序递增的。

5.日志切换

 

  日志切换是指后台进程LGWR停止写一个日志组,并开始写另一个日志组的事件。日志切换包括自动日志切换和手工日志切换两种方式。

     手工切换方式如下:

            ALTER SYSTEM SWITCH LOGFILE;

 

增加重做日志

       ALTER DATABASE ADD LOGFILE 'D:/DEMO/REDO03.LOG' SIZE 10M //增加一个日志组,显示分配组号应加上GROUP 4

增加日志成员

      ALTER DATABASE ADD LOGFILE MEMBER 

                        'D:/DEMO/REDO1B.LOG' TO GROUP 1,

                        'D:/DEMO/REDO0B.LOG' TO GROUP 2;

删除日志成员

     ALTER  DATABASE DROP LOGFILE MEMBER 

                          'D:/DEMO/REDO1B.LOG';

删除日志组

     ALTER DATABASE DROP LOGFILE GROUP 4;

 

改变重做日志的位置或名称

 (1)确定日志组状态

           SELECT a.group#,a.status from v$log a, v$logfile b where a.group#=b.group# and b.member='d:/demo/redo2b.log' ;

 (2)复制或移动日志成员到目标位置

 (3)改变控制文件所记载的重做日志指针

     ALTER DATABASE REBAME FILE 'D:/DEMO/REDO2B.LOG' TO 'F:/DEMO/REDO2B.LOG';

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值