Oracle redo log与SQL Server VLF状态对比

本文对比分析了ORACLE的redolog和SQLServer的VLF日志状态,包括CURRENT、INACTIVE、REUSABLE和UNUSED等状态的含义,并探讨了各自在数据库恢复和日志管理中的角色。理解这些状态对于数据库管理员进行有效的日志管理和故障恢复至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ORACLE ,SQL Server 日志状态查询对比

ORACLE redo log
select * from v$log;

SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS	    FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
	 1	    1	    1435  209715200	     1 YES INACTIVE	       1.1407E+13 20-JUL-21
	 2	    1	    1436  209715200	     1 YES INACTIVE	       1.1407E+13 20-JUL-21
	 3	    1	    1437  209715200	     1 NO  CURRENT	       1.1407E+13 20-JUL-21
	 4	    1	    1432  209715200	     1 YES INACTIVE	       1.1407E+13 19-JUL-21
	 5	    1	    1433  209715200	     1 YES INACTIVE	       1.1407E+13 19-JUL-21
	 6	    1	    1434  209715200	     1 YES INACTIVE	       1.1407E+13 19-JUL-21

SQL Server VLF(virtual log files) --数据保存在.ldf日志文件中

C:\Users\chesterchai>osql -U sa -P kaobuding_01 -d test -S 192.168.1.16
1> DBCC LOGINFO
2> go
 RecoveryUnitId FileId      FileSize             StartOffset          FSeqNo      Status      Parity CreateLSN
 -------------- ----------- -------------------- -------------------- ----------- ----------- ------ ---------------------------
              0           2              2031616                 8192          34           2     64                           0
              0           2              2031616              2039808           0           0      0                           0
              0           2              2031616              4071424           0           0      0                           0
              0           2              2285568              6103040           0           0      0                           0

(4 个数据列受影响)
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
ORACLE ,SQL Server 日志状态含义对比
oracle含义SqlServer含义备注
CURRENT当前正在使用的日志文件组。该联机重做日志组是活动的ACTIVEVLF中存在属于活动事务(未结束的事务)的日志记录
ACTIVE该日志组是活动的,但不是当前组,实例恢复时需要该组日志,日志中的数据没有全部写入数据文件,一旦需要实例恢复,必须借助改组日志中保存的内容RECOVERABLEVLF中不包含活动事务的日志记录,此时DB处于维护一个完整日志序列的状态,但是某些操作(例如数据库镜像、复制、日志备份等)还需要用到这些数据,因此不可以被覆盖。sqlserver的有点类似Oracle归档还没被DG应用不可删除
INACTIVE该联机重做日志处于空闲状态,日志中的数据已全部写入数据文件,实例恢复已不再使该组联机日志。REUSABLEVLF中的数据已经不需要了,可以被覆盖(该状态也称为“可截断”)
UNUSED该联机重做日志文件组对应的文件还从未写如果数据,通常是刚刚创建或重建UNUSEDVLF从未被使用
CLEARING在执行了 ALTER DATABASE CLEAR LOGFILE 后,表示该组重做日志正被重建(重建后该状态会变成UNUSED)无对应
CLEARING_CURRENT表示该组重做日志重建时出现错误,如io错误。无对应
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值