---
title: "日志归档概述 - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: 日志归档概述 本节主要介绍日志归档的相关概念及内部逻辑。 日志归档架构 日志归档就是将数据库产生的重做日志存储到其他介质（例如 NFS 、 OSS ）等，从而可以更长时间地保存数据库的所有重做历史操作记录。OceanBase 数据库是一个多租户数据库，每个租户可以独立决定是否开启日志归档功能，各租户之间的日志归档相互…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.5 LTS

# 日志归档概述

更新时间：2026-04-07 20:57:20

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/zh-CN/600.manage/600.backup-and-recovery/300.log-archive/100.overview-of-log-archive.md)  

本节主要介绍日志归档的相关概念及内部逻辑。

## 日志归档架构

日志归档就是将数据库产生的重做日志存储到其他介质（例如 `NFS` 、`OSS`）等，从而可以更长时间地保存数据库的所有重做历史操作记录。OceanBase 数据库是一个多租户数据库，每个租户可以独立决定是否开启日志归档功能，各租户之间的日志归档相互不影响。

同时，OceanBase 数据库也是一个原生分布式数据库，租户内各日志流之间的归档也相互独立。从单个日志流来看，归档日志由日志流 Leader 负责，每个日志仅归档一份。归档过程中，由 `RS Leader` 负责根据每个日志流的归档进度，计算出当前租户的归档进度。

日志归档架构如下图所示。

![日志归档架构图](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/observer-enterprise/V4.2.1/manage/log-archivelog-architeture.jpg)

## 日志归档模式

日志归档模式分为归档（ `ARCHIVELOG` ）和非归档（ `NOARCHIVELOG` ）2 种模式，它是日志归档功能的开关，只有租户处于归档模式下才允许该租户进行日志归档任务。

### 归档状态

日志归档使用一个有限状态集合来描述归档目的端的归档状态，`sys` 租户可以通过 `oceanbase.CDB_OB_ARCHIVELOG` 视图的 `STATUS` 字段来查看；MySQL 模式下的用户租户可以通过 `oceanbase.DBA_OB_ARCHIVELOG` 视图的 `STATUS` 字段来查看，Oracle 模式下的用户租户可以通过 `sys.DBA_OB_ARCHIVELOG` 视图的 `STATUS` 字段来查看。

各归档状态及说明如下表所示。

| 状态 | 描述 |
| --- | --- |
| PREPARE | 开启日志归档的初始状态。 |
| BEGINNING | 开始启动日志归档。该状态下，将会通知每个日志流开始归档。 |
| DOING | 正在进行日志归档。该状态下，会不断推进日志连续位点，即 `checkpoint_scn`。 |
| INTERRUPTED | 归档断流。至少有一个日志流归档发生断流时，就会进入该状态。 |
| SUSPENDING | 正在暂停日志归档。 |
| SUSPEND | 日志归档已暂停。 |
| STOPPING | 正在关闭日志归档。 |
| STOP | 日志归档已停止。 |

## 归档日志组织

### Log Group

在 OceanBase 数据库中，每一条归档日志实际上是一个日志集合，包含若干条 `Log Entry`，该条归档日志称之为 `Log Group`。每个 `Log Entry` 都有一个 `SCN` 与之关联，`Log Group` 也有一个 `SCN`，是所有 `Log Entry` 中最大的 `SCN`。日志归档的工作就是在归档介质上管理组织 `Log Group`。

### Piece

OceanBase 数据库按照 Piece 来组织和管理归档日志数据，一个 Piece 是某个租户连续一段时间内完备日志的集合，是一个左闭右开的区间。这里面隐含着以下两个重要特点：

- 一个 Piece 仅包含一段连续时间内的日志，可以是 `1d`，也可以是其他时间，例如 `2d`，该时间段由 `LOG_ARCHIVE_DEST` 参数中的 `piece_switch_interval` 属性控制。
 - 一个 Piece 内的日志是完备的，意味着该租户在这一段时间内的所有日志流产生的 Log Group 都被组织在该 Piece 内。

假设 `LOG_ARCHIVE_DEST` 参数中的 `piece_switch_interval` 属性设置为 `1d`，那么 OceanBase 数据库每隔 1 天就会生成一个 Piece，除了每轮归档的最后一个 Piece，其他每个 Piece 内均包含了完整 1 天的日志，所有日志按照规则被归档到这个 Piece 中。例如，`'2022-06-01 06:00:00.000000'` 开启日志归档后，生成的完整的 Piece 包含了当前租户的日志的 SCN 的范围是 `['2022-06-01 06:00:00.000000' , '2022-06-02 06:00:00.000000')`。

### Piece 的几个重要属性

Piece 有 `START_SCN`、`END_SCN`、`CHECKPOINT_SCN`、`STATUS` 和 `FILE_STATUS` 等几个重要属性。

### `START_SCN`

`START_SCN` 字段用于描述 Piece 中连续日志的起点 SCN。

### `END_SCN`

`END_SCN` 字段用于描述 Piece 的结束 SCN，`END_SCN` - `START_SCN` 的值即是 `piece_switch_interval` 的属性值。

例如，`LOG_ARCHIVE_DEST` 参数中的 `piece_switch_interval` 属性设置为 `1d`，开启归档的时间是 `2022-06-01 06:00:00`。那么，该轮归档产生的第 1 个 Piece 的 `START_SCN` 是 `'2022-06-01 06:00:00'`，`END_SCN` 是 `'2022-06-02 06:00:00'`，表示所有大于等于 `'2022-06-01 06:00:00'`，而小于 `'2022-06-02 06:00:00'` 的 Log Group 都要归档在这个 Piece 中。第 2 个 Piece 的 `START_SCN` 是 `'2022-06-02 06:00:00'`，`END_SCN` 是 `'2022-06-03 06:00:00'`。

在同一轮归档周期中，SCN 在 `[START_SCN, END_SCN)` 范围内的 `Log Group` 都归属于同一个 Piece，而 SCN 在 `[START_SCN, END_SCN)` 范围内的 `Log Entry` 则不一定归属于同一个 Piece。

例如，假设 `Piece 1` 的归档区间 `[START_SCN, END_SCN)` 为 `['2022-06-01 06:00:00', '2022-06-02 06:00:00')`，此时有一个 `Log Group` 包含 2 个 `Log Entry`，其 SCN 分别是 `'2022-06-02 05:59:59'`(处于区间内) 和 `'2022-06-02 06:00:01'`（超出区间）, 而该 `Log Group` 的 SCN 取这 2 个 `Log Entry` 中的最大值，即 `'2022-06-02 06:00:01'`，由于该值超出了 `piece 1` 的 `END_SCN`，故该 `Log Group` 中的所有 `Log Entry` 均归属于下一个 Piece。

### `CHECKPOINT_SCN`

`CHECKPOINT_SCN` 字段用于描述 Piece 中连续日志的最大 SCN，是该 Piece 所有 `Log Group` 中的最大 SCN，所有 SCN 在 `[START_SCN, CHECKPOINT_SCN]` 范围内的 `Log Group` 都已经被归档在该 Piece 中。

### `STATUS`

`STATUS` 字段用于描述 Piece 的状态，各状态及说明如下表所示。

| 状态 | 描述 |
| --- | --- |
| ACTIVE | 活动的 Piece，表示系统正在向这个 Piece 内归档日志 |
| FROZEN | 冻结的 Piece，表示该 Piece 内的日志是完整的，不会再向这个 Piece 内归档日志 |

### `FILE_STATUS`

`FILE_STATUS` 用于描述 Piece 的文件状态，各状态及说明如下表所示。

| 字段 | 描述 |
| --- | --- |
| AVAILABLE | Piece 内数据是完备的，并且是完整的，既没有被清理，也没有损坏 |
| INCOMPLETE | Piece 内数据不是完备的，缺少了某些日志流的数据 |
| DELETING | 过期正在被清理的 Piece。 |
| DELETED | Piece 已被清理 |
| BROKEN | Piece 内数据已损坏 |

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
