6.OB的归档模式

OB的归档模式

目录

日志归档概述

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

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

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

日志归档模式

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

归档状态

日志归档使用一个有限状态集合来描述归档目的端的归档状态,sys 租户可以通过 oceanbase.CDB_OB_ARCHIVELOG 视图的 STATUS 字段来查看;MySQL 模式下的用户租户可以通过 oceanbase.DBA_OB_ARCHIVELOG 视图的 STATUS 字段来查看,Oracle 模式下的用户租户可以通过 sys.DBA_OB_ARCHIVELOG 视图的 STATUS 字段来查看。
各归档状态及说明如下表所示。
image

归档日志组织

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 中最大的 SCN,因此是 '2022-06-02 06:00:01',但归属于下一个 Piece。

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

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

日志归档前准备

(可选)配置归档并发度

开启归档模式前,您可以通过配置日志归档的并发度来提高租户的日志归档速度。

1. sys 租户或用户租户的租户管理员登录到数据库。

2. 选择合适的语句,设置配置项 log_archive_concurrency。
租户级配置项 log_archive_concurrency 用于配置日志归档总的工作线程数量。该配置项为动态生效,不需要重启 OBServer 节点。该配置项的取值范围为 [0, 100],默认值为 0,表示使用 OceanBase 数据库自适应的日志归档并行度。建议使用默认值。

注意:对于小规模租户(CPU 小于或等于 4C 的租户),建议使用默认值,不要调整该配置项的值。

设置方法如下:

sys 租户调整指定租户的日志归档并发度

ALTER SYSTEM SET log_archive_concurrency = 10 TENANT = mysql_tenant;

sys 租户调整所有租户的日志归档并发度

ALTER SYSTEM SET log_archive_concurrency = 10 TENANT = all_user;

或者

ALTER SYSTEM SET log_archive_concurrency = 10 TENANT = all;

说明
OceanBase 数据库从 V4.2.1 版本开始,TENANT = all_user 与 TENANT = all语义相同,在需要生效范围为所有用户租户时,推荐使用 TENANT = all_user,后续 TENANT = all 将废弃不再使用。

用户租户调整本租户的日志归档并发度

ALTER SYSTEM SET log_archive_concurrency = 10;

配置归档目的端

在开始日志归档任务前,您需要使用 ALTER SYSTEM 命令配置 LOG_ARCHIVE_DEST 参数。由于系统租户不包含用户数据,是集群管理用的租户,不支持备份恢复,故 sys 租户无需配置归档目的端。

配置归档目的端的操作主要是设置 LOCATION、BINDING 和 PIECE_SWITCH_INTERVAL 属性。

注意事项

配置归档目的端时,要求每个租户的归档路径需要配置为独立的空目录,不同租户不能配置相同的归档路径。

操作步骤

1.sys 租户或用户租户的租户管理员登录到数据库。

MySQL 模式的管理员用户为 root 用户,Oracle 模式的管理员用户为 SYS 用户。

2.配置归档目的端。
系统租户为指定租户配置归档目的端

ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=archive_path [BINDING=archive_mode] [PIECE_SWITCH_INTERVAL=piece_switch_interval]' TENANT = tenant_name;

用户租户配置本租户的归档目的端

ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=archive_path [BINDING=archive_mode] [PIECE_SWITCH_INTERVAL=piece_switch_interval]';

eg:
alter system set log_archive_dest='LOCATION=file:///data/1';
alter system archivelog;
详细配置说明如下。

配置 LOCATION (必选)

LOCATION 属性用于指定归档路径。目前 OceanBase 数据库支持的归档介质为 NFS 、阿里云 OSS、AWS S3 以及兼容 S3 协议的对象存储,例如:华为 OBS、Google GCS、腾讯云 COS。部分备份介质可能需要满足一些基本要求才能使用,有关各备份介质的具体要求,参见 物理备份与恢复概述 (https://www.oceanbase.com/docs/common-oceanbase-database-standalone-1000000002701800)中的 备份介质要求。

阿里云OSS 详情见https://www.oceanbase.com/docs/common-oceanbase-database-standalone-1000000002701927
使用 OSS 作为归档介质时,除了设置归档路径、host、access_key、access_id 等,还可以设置 delete_mode 参数。其中:
delete_mode 参数用于配置归档文件的清理模式。当前支持 delete 和 tagging 两种归档文件的清理模式,如果不配置,则默认为 delete 清理模式。

  • delete :表示清理模式为直接删除满足清理要求的归档文件。
    配置为该模式后,当您通过自动方式清理归档文件时,对于满足清理要求的归档文件,系统会直接将其删除。
  • tagging:表示清理模式为对满足清理要求的归档文件设置 Tag,归档文件将仍然保留。

配置为该模式后,当您通过自动方式清理归档文件时,对于满足清理要求的归档文件,系统会给这些文件设置标签,标签的 key 为 "delete_mode",value 为 "tagging",以便后续您可以通过设置的标签在 OSS 上对这些文件的生命周期进行管理。

设置 delete 模式或 tagging 模式后,自动清理归档数据的相关操作请参见 自动清理归档的数据。

oss:
使用 OSS 作为归档介质时,系统租户为指定租户 mysql_tenant 设置归档路径,并配置 delete 清理模式的示例如下:

ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=oss://oceanbase-test-bucket/backup/archive?host=****.aliyun-inc.com&access_id=****&access_key=****&delete_mode=delete' TENANT = mysql_tenant;

用 OSS 作为归档介质时,用户租户为本租户设置归档路径,并配置 delete 清理模式的示例如下:

ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=oss://oceanbase-test-bucket/backup/archive?host=****.aliyun-inc.com&access_id=****&access_key=****&delete_mode=delete';

示例中,oss:// 表示使用 OSS 作为归档介质,存储桶名 oceanbase-test-bucket,在存储桶中的路径是 /backup/archive,同时使用 ? 来分隔路径的其他参数,host 用于设置存储桶的主机地址,access_id 和 access_key 用于设置 OSS 的访问密钥,清理模式为 delete。

配置 BINDING 属性(可选)

BINDING 属性用于设置归档和业务的优先模式。目前支持 Optional 模式和 Mandatory 模式。如果不配置,默认为 Optional 模式。

  • Optional 模式表示以用户业务优先。在该模式下,当归档(日志归档)速度跟上不日志生成的速度时,日志有可能来不及归档就被回收了,然后发生断流。
  • Mandatory 模式表示以归档优先。在该模式下如果归档跟不上用户数据的写入,可能会导致用户无法写入。

使用 NFS 作为归档介质时,系统租户为指定租户 mysql_tenant 配置归档路径并设置 BINDING 属性的示例如下:

ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///data/nfs/backup/archive BINDING=Optional' TENANT = mysql_tenant;

使用 NFS 作为归档介质时,用户租户为本租户配置归档路径并设置 BINDING 属性的示例如下:

ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///data/nfs/backup/archive BINDING=Optional';

配置 PIECE_SWITCH_INTERVAL 属性 (可选)
PIECE_SWITCH_INTERVAL 属性用于配置 piece 的切换周期,取值范围为 [1d, 7d]。如果不设置,默认为 1d。
使用 NFS 作为归档介质时,系统租户为指定租户 mysql_tenant 配置归档路径并设置每隔一天切分一个日志 piece 的示例如下:

ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///data/nfs/backup/archive BINDING=Optional PIECE_SWITCH_INTERVAL=1d' TENANT = mysql_tenant;

使用 NFS 作为归档介质时,用户租户为本租户配置归档路径并设置每隔一天切分一个日志 piece 的示例如下:

使用 NFS 作为归档介质时,用户租户为本租户配置归档路径并设置每隔一天切分一个日志 piece 的示例如下:

配置成功后,可以通过视图查询详细的参数设置信息。
sys 租户可以通过 CDB_OB_ARCHIVE_DEST 视图来查看,用户租户可通过 DBA_OB_ARCHIVE_DEST 视图来查看。
有关查看归档参数的详细操作,参见 查看归档参数。

配置后的注意事项及说明

参数 LOG_ARCHIVE_DEST 设置成功后,默认系统会在配置的目的端所在的目录下创建一个 format 文件,用于校验备份目的端的有效性信息,确保目的端内数据的完整性。故,在配置日志归档的目的端时,需要注意以下事项:

  • 如果 format 文件不存在,则要求配置的目的端所在的目录为空,配置项才能设置成功。否则,系统会报 -9080 的错误,提示 format 文件不存在。
  • 如果 format 文件已存在,则要求 format 文件的内容检验通过,配置项才能设置成功。否则,系统会报 -9081 的错误,提示 format 文件不匹配,format 文件的内容校验主要是检查集群、租户与备份目的端类型等与当前操作的集群、租户及备份目的端类型是否匹配。
  • 在执行备份任务时,如果 format 文件不存在或 format 文件校验不通过,任务会发起失败。

此外,归档目的端配置成功后,不支持增量配置。例如,假设 NFS 下归档路径 /data/nfs/backup/archive 配置的 BINDING 属性为 Mandatory,PIECE_SWITCH_INTERVAL 属性为 1d。若需要更新 PIECE_SWITCH_INTERVAL 为 2d,但保留 BINDING 属性的配置 Mandatory,您仍然需要在命令中指定其他属性的值,否则未指定的属性将使用默认值。

您需要重新执行以下语句进行修改

  • 系统租户修改指定租户
obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST = 'LOCATION=file:///data/nfs/backup/archive BINDING=Mandatory PIECE_SWITCH_INTERVAL=2d' TENANT = mysql_tenant;
  • 用户租户修改本租户
obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST = 'LOCATION=file:///data/nfs/backup/archive BINDING=Mandatory PIECE_SWITCH_INTERVAL=2d';

(可选)配置归档延迟

OceanBase 数据库使用租户级配置项 archive_lag_target 来控制租户日志归档的延迟时间,该配置项支持以毫秒(ms)、秒(s)、分(m)、小时(h)为单位,默认为 2 分钟,用于指定前后两次归档 IO 的最大间隔时间,确保在线日志能及时地被归档出去,从而减少数据损失的风险。

OceanBase 数据库的归档以日志流为单位,如果当前日志流有日志写入,并且距离该日志流上次归档的时间超过了配置项 archive_lag_target 所指定的时间间隔,该日志流就会触发一次归档动作,将未归档的日志都归档出去。

例如,如果配置项被设置为 archive_lag_target='120s'(即 2 分钟),则每一个日志流会尝试每 2 分钟进行一次归档动作(除非其他条件被满足,例如,日志归档的缓存聚合 Buffer 被写满),让该日志流的本次归档动作距离上次归档时间小于 2 分钟。需要注意的是,当配置项 archive_lag_target 的值设置为 0 时,将会达到一个实时归档的效果。

有关配置项 archive_lag_target 的更多说明,请参见 archive_lag_target。

前提条件

修改配置项 archive_lag_target 的值时,请确认已完成归档目的端的配置。如果未配置归档路径,则在修改配置项 archive_lag_target 的值时,系统会提示 log_archive_dest has not been set, set archive_lag_target is not allowed 的信息。

注意事项

对于归档介质为 OSS/NFS 的场景,配置项 archive_lag_target 的值可以设置为取值范围内的任意值;对于归档介质为 S3 及兼容 S3 协议的其他对象存储的场景,配置项 archive_lag_target 的值不能小于 60s,小于 60s 系统将会报错。

建议将配置项 archive_lag_target 设置为一个合理的值,以免过于频繁的 IO 影响系统性能,特别是使用对象存储的情况下。同时,过高的值也可能无法满足数据恢复的时效性,因此需要根据具体的业务需求和归档介质的性能来权衡 RPO。

配置方法

  1. sys 租户或用户租户的租户管理员登录到数据库。
  2. 根据实际情况,选择合适的语句,配置归档延迟。

配置方法如下:

  • sys 租户为指定租户配置归档延迟时间
obclient> ALTER SYSTEM SET archive_lag_target = '120s' TENANT = mysql_tenant;
  • sys 租户为所有用户租户配置归档延迟时间
obclient> ALTER SYSTEM SET archive_lag_target = '120s' TENANT = all_user;
  • 用户租户为本租户配置归档延迟时间
obclient> ALTER SYSTEM SET archive_lag_target = '120s';

开启归档模式

归档模式用于控制某个租户的日志归档功能,只有在归档模式下,才可以进行日志归档任务。若租户在开启归档模式之前,已经配置了归档目的端,并且该目的端处于 ENABLE 状态,开启归档模式后,系统将会自动发起日志归档任务。

背景信息

假设当前集群中有 3 个租户,分别是 sys、mysql_tenant 和 oracle_tenant,且租户 mysql_tenant 和 oracle_tenant 均未开启归档模式,您可以通过以下 3 种方式为租户开启归档模式。

系统租户为其他租户开启归档模式

sys 租户可以为集群中的所有租户或指定租户开启归档模式。

  • 1、使用 root 用户登录集群的 sys 租户。

  • 2、执行以下语句,开启归档模式。

  • 开启集群中所有租户的归档模式
    该方式会将当前集群中的所有租户开启归档模式。
    注意:该操作仅对当前集群中的所有租户生效,对于该操作之后所创建的租户,系统不会自动开启归档模式

ALTER SYSTEM ARCHIVELOG [TENANT = ALL];

命令执行成功后,在本示例中,mysql_tenant 和 oracle_tenant 都会开启归档模式。可以在 sys 租户下的 oceanbase.DBA_OB_TENANTS 视图中查看集群中所有租户的归档模式。

示例如下:

SELECT TENANT_NAME, LOG_MODE FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_TYPE = 'USER'\G
*************************** 1. row ***************************
TENANT_NAME: mysql_tenant
   LOG_MODE: ARCHIVELOG
*************************** 2. row ***************************
TENANT_NAME: oracle_tenant
   LOG_MODE: ARCHIVELOG
2 rows in set

开启指定租户的归档模式

该方式仅会开启指定租户的归档模式,不会影响集群中的其他租户。
开启 mysql_tenant 租户的日志归档的示例如下:

ALTER SYSTEM ARCHIVELOG TENANT = mysql_tenant;

说明:同时指定多个租户时,租户名之间使用英文逗号 (,) 分隔。

命令执行成功后,在本示例中,仅 mysql_tenant 租户会进入归档模式。可以在 sys 租户下的 oceanbase.DBA_OB_TENANTS 视图中查看集群中所有租户的归档模式。

SELECT TENANT_NAME, LOG_MODE FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_TYPE = 'USER'\G
*************************** 1. row ***************************
TENANT_NAME: mysql_tenant
   LOG_MODE: ARCHIVELOG
*************************** 2. row ***************************
TENANT_NAME: oracle_tenant
   LOG_MODE: NOARCHIVELOG
2 rows in set

用户租户为本租户开启归档模式

用户租户也可以直接为本租户开启归档模式,不会影响其他租户。

  • 1、租户管理员登录到数据库。
    本示例中,您可以使用 root 用户登录 mysql_tenant 租户;或者也可以使用 SYS 用户登录 oracle_tenant 租户。

  • 2、执行以下语句,开启本租户的归档模式。归档服务开启后,本用户租户的数据字典也会被归档。

obclient [xxx]> ALTER SYSTEM ARCHIVELOG;

命令执行成功后,可以直接通过该租户下的 DBA_OB_TENANTS 视图查看该租户所处的归档模式。

命令执行成功后,可以直接通过该租户下的 DBA_OB_TENANTS 视图查看该租户所处的归档模式。

暂停归档

开启归档模式后,您可以通过将目的端的归档状态更改为 DEFER 的方式来暂停归档。

背景信息

目的端的归档状态及说明如下表所示。

状态 描述
ENABLE 目的端的归档处于启用状态。默认情况下,目的端的归档状态处于 ENABLE 状态。
DEFER 目的端的归档处于暂停状态。处于该状态的目的端,如果有归档任务,系统将会暂停归档任务。

操作步骤

sys 租户或用户租户的租户管理员登录到数据库。
说明:MySQL 模式的管理员用户为 root 用户,Oracle 模式的管理员用户为 SYS 用户。

暂停目的端的归档。

  • 系统租户暂停指定租户目的端的归档2
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE='DEFER' TENANT = tenant_name;
  • 用户租户暂停本租户目的端的归档
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE='DEFER';

设置成功后,可通过视图查看目的端的状态信息,具体操作请参见 查看归档参数。

后续处理

暂停归档后,如果需要重新启用归档,可以通过将目的端的归档状态设置为 ENABLE 来继续归档。

关闭归档模式

开启归档模式后,也可以用相同的方式关闭归档模式。若租户在关闭归档模式之前,有正在进行或者暂停的日志归档任务,关闭归档模式后,系统会自动停止这些归档任务。

注意
为防止归档任务状态卡在 STOPPING 状态无法关闭,当归档介质不可用时也能够正常关闭归档任务。相应地,日志消费模块也能够在强关归档的场景下正确消费日志。

系统租户为其他租户关闭归档模式

sys 租户可以关闭集群中所有租户或指定租户的归档模式。

1.使用 root 用户登录集群的 sys 租户。
2.执行以下语句,关闭归档模式。

关闭集群中所有租户的归档模式
该方式会关闭集群中所有租户的归档模式。

ALTER SYSTEM NOARCHIVELOG [TENANT = ALL];

命令执行成功后,在本示例中,mysql_tenant 和 oracle_tenant 都会关闭归档模式。可以通过 sys 租户下的 oceanbase.DBA_OB_TENANTS 视图查看集群中所有租户的归档模式。

SELECT TENANT_NAME, LOG_MODE FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_TYPE='USER'\G
*************************** 1. row ***************************
TENANT_NAME: mysql_tenant
   LOG_MODE: NOARCHIVELOG
*************************** 2. row ***************************
TENANT_NAME: oracle_tenant
   LOG_MODE: NOARCHIVELOG
2 rows in set

关闭集群中指定租户的归档模式
该方式仅会关闭指定租户的归档模式,不会影响集群中的其他租户。

ALTER SYSTEM NOARCHIVELOG TENANT = mysql_tenant;

说明:同时指定多个租户时,租户名之间使用英文逗号 (`,`) 分隔。

命令执行成功后,在本示例中,mysql_tenant 会关闭归档模式。可以通过租户下的 oceanbase.DBA_OB_TENANTS 视图查看集群中所有租户的归档模式。

SELECT TENANT_NAME, LOG_MODE FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_TYPE = 'USER'\G
*************************** 1. row ***************************
TENANT_NAME: mysql_tenant
   LOG_MODE: NOARCHIVELOG
*************************** 2. row ***************************
TENANT_NAME: oracle_tenant
   LOG_MODE: ARCHIVELOG
2 rows in set

用户租户为本租户关闭归档模式

用户租户也可以直接关闭本租户的归档模式,不会影响其他租户。
1.租户管理员登录到数据库。
本示例中,您可以使用 root 用户登录 mysql_tenant 租户;或者也可以使用 SYS 用户登录 oracle_tenant 租户。
2.执行以下语句,关闭归档模式。

obclient [xxx]> ALTER SYSTEM NOARCHIVELOG;

命令执行成功后,可以直接通过该租户下的 DBA_OB_TENANTS 视图查看该租户所处的归档模式。

obclient [SYS]> SELECT TENANT_NAME, LOG_MODE FROM DBA_OB_TENANTS\G
*************************** 1. row ***************************
TENANT_NAME: oracle_tenant
   LOG_MODE: NOARCHIVELOG
1 rows in set

查看 Piece 信息

开启日志归档后,可以通过视图查看 Piece 信息。

背景信息

本节仅介绍日志归档中 Piece 的查看方法,有关 Piece 的更多详细介绍信息,请参见 日志归档概述。( https://www.oceanbase.com/docs/common-oceanbase-database-standalone-1000000002701929

系统租户查看所有租户的所有 Piece 信息

sys 租户可以通过 CDB_OB_ARCHIVELOG_PIECE_FILES 视图查看当前集群中所有租户的所有 Piece 信息。
1.使用 root 用户登录集群的 sys 租户。
2.执行以下语句,查看所有租户的所有 Piece 信息。
示例如下:

SELECT * FROM oceanbase.CDB_OB_ARCHIVELOG_PIECE_FILES\G
*************************** 1. row ***************************
             TENANT_ID: 1002
               DEST_ID: 1002
              ROUND_ID: 1
              PIECE_ID: 1
           INCARNATION: 1
               DEST_NO: 0
                STATUS: FROZEN
             START_SCN: 1654034400000000000
     START_SCN_DISPLAY: 2025-03-27 21:18:50.935532
        CHECKPOINT_SCN: 1654120740000000000
CHECKPOINT_SCN_DISPLAY: 2025-03-27 21:42:51.844963
               MAX_SCN: 1654120770000000000
               END_SCN: 1654120800000000000
       END_SCN_DISPLAY: 2025-03-28 21:00:00.000000
            COMPATIBLE: 1
           INPUT_BYTES: 26843545600
   INPUT_BYTES_DISPLAY: 25.00GB
          OUTPUT_BYTES: 26843545600
  OUTPUT_BYTES_DISPLAY: 25.00GB
     COMPRESSION_RATIO: 1.00
           FILE_STATUS: DELETED
                  PATH: file:///data/nfs/backup/archive
*************************** 2. row ***************************
             TENANT_ID: 1002
               DEST_ID: 1002
              ROUND_ID: 1
              PIECE_ID: 2
           INCARNATION: 1
               DEST_NO: 0
                STATUS: FROZEN
             START_SCN: 1654120800000000000
     START_SCN_DISPLAY: 2025-03-27 21:00:00.000000
        CHECKPOINT_SCN: 1654207080000000000
CHECKPOINT_SCN_DISPLAY: 2025-03-27 21:58:00.000000
               MAX_SCN: 1654207140000000000
               END_SCN: 1654207200000000000
       END_SCN_DISPLAY: 2025-03-28 06:00:00.000000
            COMPATIBLE: 1
           INPUT_BYTES: 48318382080
   INPUT_BYTES_DISPLAY: 45.00GB
          OUTPUT_BYTES: 48318382080
  OUTPUT_BYTES_DISPLAY: 45.00GB
     COMPRESSION_RATIO: 1.00
           FILE_STATUS: AVAILABLE
                  PATH: file:///data/nfs/backup/archive
*************************** 3. row ***************************
             TENANT_ID: 1002
               DEST_ID: 1002
              ROUND_ID: 1
              PIECE_ID: 3
           INCARNATION: 1
               DEST_NO: 0
                STATUS: FROZEN
             START_SCN: 1654207200000000000
     START_SCN_DISPLAY: 2025-03-28 06:00:00.000000
        CHECKPOINT_SCN: 1654228800000000000
CHECKPOINT_SCN_DISPLAY: 2025-03-28 12:00:00.000000
               MAX_SCN: 1654228810000000000
               END_SCN: 1654293600000000000
       END_SCN_DISPLAY: 2025-03-29 06:00:00.000000
            COMPATIBLE: 1
           INPUT_BYTES: 21474836480
   INPUT_BYTES_DISPLAY: 20.00GB
          OUTPUT_BYTES: 21474836480
  OUTPUT_BYTES_DISPLAY: 20.00GB
     COMPRESSION_RATIO: 1.00
           FILE_STATUS: AVAILABLE
                  PATH: file:///data/nfs/backup/archive
*************************** 4. row ***************************
             TENANT_ID: 1002
               DEST_ID: 1002
              ROUND_ID: 2
              PIECE_ID: 4
           INCARNATION: 1
               DEST_NO: 0
                STATUS: ACTIVE
             START_SCN: 1655697600000000000
     START_SCN_DISPLAY: 2025-03-26 12:00:00.000000
        CHECKPOINT_SCN: 1655769600000000000
CHECKPOINT_SCN_DISPLAY: 2025-03-27 08:00:00.000000
               MAX_SCN: 1655769610000000000
               END_SCN: 1655784000000000000
       END_SCN_DISPLAY: 2025-03-27 12:00:00.000000
            COMPATIBLE: 1
           INPUT_BYTES: 16106127360
   INPUT_BYTES_DISPLAY: 15.00GB
          OUTPUT_BYTES: 16106127360
  OUTPUT_BYTES_DISPLAY: 15.00GB
     COMPRESSION_RATIO: 1.00
           FILE_STATUS: AVAILABLE
                  PATH: file:///data/nfs/backup/archive
*************************** 5. row ***************************
             TENANT_ID: 1004
               DEST_ID: 1001
              ROUND_ID: 1
              PIECE_ID: 1
           INCARNATION: 1
               DEST_NO: 0
                STATUS: FROZEN
             START_SCN: 1655658000000000000
     START_SCN_DISPLAY: 2025-03-26 01:00:00.000000
        CHECKPOINT_SCN: 1655744370000000000
CHECKPOINT_SCN_DISPLAY: 2025-03-27 00:59:30.000000
               MAX_SCN: 1655744380000000000
               END_SCN: 1655744400000000000
       END_SCN_DISPLAY: 2025-03-27 01:00:00.000000
            COMPATIBLE: 1
           INPUT_BYTES: 53687091200
   INPUT_BYTES_DISPLAY: 50.00GB
          OUTPUT_BYTES: 53687091200
  OUTPUT_BYTES_DISPLAY: 50.00GB
     COMPRESSION_RATIO: 1.00
           FILE_STATUS: AVAILABLE
                  PATH: oss://oceanbase-test-bucket/backup/archive?host=xxx.aliyun-inc.com
*************************** 6. row ***************************
             TENANT_ID: 1004
               DEST_ID: 1001
              ROUND_ID: 1
              PIECE_ID: 2
           INCARNATION: 1
               DEST_NO: 0
                STATUS: ACTIVE
             START_SCN: 1655744400000000000
     START_SCN_DISPLAY: 2025-03-27 01:00:00.000000
        CHECKPOINT_SCN: 1655769600000000000
CHECKPOINT_SCN_DISPLAY: 2025-03-27 08:00:00.000000
               MAX_SCN: 1655769620000000000
               END_SCN: 1655830800000000000
       END_SCN_DISPLAY: 2025-03-28 01:00:00.000000
            COMPATIBLE: 1
           INPUT_BYTES: 107374182400
   INPUT_BYTES_DISPLAY: 100.00GB
          OUTPUT_BYTES: 107374182400
  OUTPUT_BYTES_DISPLAY: 100.00GB
     COMPRESSION_RATIO: 1.00
           FILE_STATUS: AVAILABLE
                  PATH: oss://oceanbase-test-bucket/backup/archive?host=xxx.aliyun-inc.com
6 rows in set

用户租户查看本租户所有的 Piece 信息

用户租户可以通过 oceanbase.DBA_OB_ARCHIVELOG_PIECE_FILES 视图(MySQL 模式)和 sys.DBA_OB_ARCHIVELOG_PIECE_FILES 视图(Oracle 模式)查看本租户的所有 Piece 信息。

执行以下语句,查看当前租户的所有 Piece。

MySQL 租户查看本租户所有 Piece 的示例如下:

SELECT * FROM oceanbase.DBA_OB_ARCHIVELOG_PIECE_FILES\G
*************************** 1. row ***************************
               DEST_ID: 1002
              ROUND_ID: 1
              PIECE_ID: 1
           INCARNATION: 1
               DEST_NO: 0
                STATUS: FROZEN
             START_SCN: 1654034400000000000
     START_SCN_DISPLAY: 2025-03-27 21:18:50.935532
        CHECKPOINT_SCN: 1654120740000000000
CHECKPOINT_SCN_DISPLAY: 2025-03-27 21:42:51.844963
               MAX_SCN: 1654120770000000000
               END_SCN: 1654120800000000000
       END_SCN_DISPLAY: 2025-03-28 21:18:50.935532
            COMPATIBLE: 1
           INPUT_BYTES: 26843545600
   INPUT_BYTES_DISPLAY: 25.00GB
          OUTPUT_BYTES: 26843545600
  OUTPUT_BYTES_DISPLAY: 25.00GB
     COMPRESSION_RATIO: 1.00
           FILE_STATUS: DELETED
                  PATH: file:///data/nfs/backup/archive
*************************** 2. row ***************************
               DEST_ID: 1002
              ROUND_ID: 1
              PIECE_ID: 2
           INCARNATION: 1
               DEST_NO: 0
                STATUS: FROZEN
             START_SCN: 1654120800000000000
     START_SCN_DISPLAY: 2025-03-27 21:00:00.000000
        CHECKPOINT_SCN: 1654207080000000000
CHECKPOINT_SCN_DISPLAY: 2025-03-27 21:58:00.000000
               MAX_SCN: 1654207140000000000
               END_SCN: 1654207200000000000
       END_SCN_DISPLAY: 2025-03-28 06:00:00.000000
            COMPATIBLE: 1
           INPUT_BYTES: 48318382080
   INPUT_BYTES_DISPLAY: 45.00GB
          OUTPUT_BYTES: 48318382080
  OUTPUT_BYTES_DISPLAY: 45.00GB
     COMPRESSION_RATIO: 1.00
           FILE_STATUS: AVAILABLE
                  PATH: file:///data/nfs/backup/archive
*************************** 3. row ***************************
               DEST_ID: 1002
              ROUND_ID: 1
              PIECE_ID: 3
           INCARNATION: 1
               DEST_NO: 0
                STATUS: FROZEN
             START_SCN: 1654207200000000000
     START_SCN_DISPLAY: 2025-03-28 06:00:00.000000
        CHECKPOINT_SCN: 1654228800000000000
CHECKPOINT_SCN_DISPLAY: 2025-03-28 12:00:00.000000
               MAX_SCN: 1654228810000000000
               END_SCN: 1654293600000000000
       END_SCN_DISPLAY: 2025-03-29 06:00:00.000000
            COMPATIBLE: 1
           INPUT_BYTES: 21474836480
   INPUT_BYTES_DISPLAY: 20.00GB
          OUTPUT_BYTES: 21474836480
  OUTPUT_BYTES_DISPLAY: 20.00GB
     COMPRESSION_RATIO: 1.00
           FILE_STATUS: AVAILABLE
                  PATH: file:///data/nfs/backup/archive
*************************** 4. row ***************************
               DEST_ID: 1002
              ROUND_ID: 2
              PIECE_ID: 4
           INCARNATION: 1
               DEST_NO: 0
                STATUS: ACTIVE
             START_SCN: 1655697600000000000
     START_SCN_DISPLAY: 2025-03-26 12:00:00.000000
        CHECKPOINT_SCN: 1655769600000000000
CHECKPOINT_SCN_DISPLAY: 2025-03-27 08:00:00.000000
               MAX_SCN: 1655769610000000000
               END_SCN: 1655784000000000000
       END_SCN_DISPLAY: 2025-03-27 12:00:00.000000
            COMPATIBLE: 1
           INPUT_BYTES: 16106127360
   INPUT_BYTES_DISPLAY: 15.00GB
          OUTPUT_BYTES: 16106127360
  OUTPUT_BYTES_DISPLAY: 15.00GB
     COMPRESSION_RATIO: 1.00
           FILE_STATUS: AVAILABLE
                  PATH: file:///data/nfs/backup/archive
4 rows in set

查看归档进度

开启归档之后,您可以通过视图查看归档进度。

系统租户查看集群中所有租户的归档进度

sys 租户可以通过 oceanbase.CDB_OB_ARCHIVELOG 视图查看集群中所有租户的归档进度。

  • 1.使用 root 用户登录集群的 sys 租户。
  • 2.执行以下语句,查看日志归档进度。
SELECT * FROM oceanbase.CDB_OB_ARCHIVELOG\G
*************************** 1. row ***************************
                   TENANT_ID: 1002
                     DEST_ID: 1002
                    ROUND_ID: 2
                 INCARNATION: 1
                     DEST_NO: 0
                      STATUS: DOING
                   START_SCN: 1655697600000000000
           START_SCN_DISPLAY: 2025-03-26 12:00:00.000000
              CHECKPOINT_SCN: 1655769600000000000
      CHECKPOINT_SCN_DISPLAY: 2025-03-27 08:00:00.000000
                  COMPATIBLE: 1
               BASE_PIECE_ID: 4
               USED_PIECE_ID: 4
       PIECE_SWITCH_INTERVAL: 1d
                 INPUT_BYTES: 16106127360
         INPUT_BYTES_DISPLAY: 15.00GB
                OUTPUT_BYTES: 16106127360
        OUTPUT_BYTES_DISPLAY: 15.00GB
           COMPRESSION_RATIO: 1.00
         DELETED_INPUT_BYTES: 0
 DELETED_INPUT_BYTES_DISPLAY: 0.00MB
        DELETED_OUTPUT_BYTES: 0
DELETED_OUTPUT_BYTES_DISPLAY: 0.00MB
                     COMMENT:
                        PATH: file:///data/nfs/backup/archive
*************************** 2. row ***************************
                   TENANT_ID: 1004
                     DEST_ID: 1001
                    ROUND_ID: 1
                 INCARNATION: 1
                     DEST_NO: 0
                      STATUS: DOING
                   START_SCN: 1655658000000000000
           START_SCN_DISPLAY: 2025-03-26 01:00:00.000000
              CHECKPOINT_SCN: 1655769600000000000
      CHECKPOINT_SCN_DISPLAY: 2025-03-27 08:00:00.000000
                  COMPATIBLE: 1
               BASE_PIECE_ID: 1
               USED_PIECE_ID: 2
       PIECE_SWITCH_INTERVAL: 1d
                 INPUT_BYTES: 161061273600
         INPUT_BYTES_DISPLAY: 150.00GB
                OUTPUT_BYTES: 161061273600
        OUTPUT_BYTES_DISPLAY: 150.00GB
           COMPRESSION_RATIO: 1.00
         DELETED_INPUT_BYTES: 0
 DELETED_INPUT_BYTES_DISPLAY: 0.00MB
        DELETED_OUTPUT_BYTES: 0
DELETED_OUTPUT_BYTES_DISPLAY: 0.00MB
                     COMMENT:
                        PATH: oss://oceanbase-test-bucket/backup/archive?host=xxx.aliyun-inc.com
2 row in set

上面的示例中,当前集群中有租户 ID 为 1002 和 1004 的 2 个租户正在归档。

1002 租户的 round_id 是 2,表明是第二次开启归档,归档介质的类型是 NFS,路径是 /data/nfs/backup/archive。自开启归档以来共产生了 1 个 Piece,piece id 是4,已归档日志的范围是 '2025-03-26 12:00:00.000000' ~ '2025-03-27 08:00:00.000000'。

1004 租户的 round_id 是 1,表明是首次开启归档,归档介质的类型是 OSS,存储桶是 oceanbase-test-bucket,路径是 /backup/archive。 自开启归档以来共产生了 2 个 Piece,piece id 分别是 1 和 2,已归档日志的范围是 '2025-03-26 01:00:00.000000' ~ '2025-03-27 08:00:00.000000'。

用户租户查看当前租户的归档进度

用户租户可以通过 oceanbase.DBA_OB_ARCHIVELOG 视图(MySQL 模式)和 sys.DBA_OB_ARCHIVELOG 视图(Oracle 模式)查看本租户的归档进度。

SELECT * FROM oceanbase.DBA_OB_ARCHIVELOG\G
*************************** 1. row ***************************
                     DEST_ID: 1002
                    ROUND_ID: 2
                 INCARNATION: 1
                     DEST_NO: 0
                      STATUS: DOING
                   START_SCN: 1655697600000000000
           START_SCN_DISPLAY: 2025-03-26 12:00:00.000000
              CHECKPOINT_SCN: 1655769600000000000
      CHECKPOINT_SCN_DISPLAY: 2025-03-27 08:00:00.000000
                  COMPATIBLE: 1
               BASE_PIECE_ID: 4
               USED_PIECE_ID: 4
       PIECE_SWITCH_INTERVAL: 1d
                 INPUT_BYTES: 16106127360
         INPUT_BYTES_DISPLAY: 15.00GB
                OUTPUT_BYTES: 16106127360
        OUTPUT_BYTES_DISPLAY: 15.00GB
           COMPRESSION_RATIO: 1.00
         DELETED_INPUT_BYTES: 0
 DELETED_INPUT_BYTES_DISPLAY: 0.00MB
        DELETED_OUTPUT_BYTES: 0
DELETED_OUTPUT_BYTES_DISPLAY: 0.00MB
                     COMMENT:
                        PATH: file:///data/nfs/backup/archive
1 row in set

查看归档历史

您可以通过视图查看归档的历史信息,包括当前正在进行的归档信息。

系统租户查看集群中所有租户的归档历史

sys 租户可以通过 oceanbase.CDB_OB_ARCHIVELOG_SUMMARY 视图查看集群中所有租户的归档历史信息。

  • 1.使用 root 用户登录集群的 sys 租户。

  • 2.执行以下语句,查看集群所有租户的归档历史信息。

SELECT * FROM oceanbase.CDB_OB_ARCHIVELOG_SUMMARY\G
*************************** 1. row ***************************
                   TENANT_ID: 1002
                     DEST_ID: 1002
                    ROUND_ID: 2
                 INCARNATION: 1
                     DEST_NO: 0
                      STATUS: DOING
                   START_SCN: 1655697600000000000
           START_SCN_DISPLAY: 2025-03-26 12:00:00.000000
              CHECKPOINT_SCN: 1655769600000000000
      CHECKPOINT_SCN_DISPLAY: 2025-03-27 08:00:00.000000
                  COMPATIBLE: 1
               BASE_PIECE_ID: 4
               USED_PIECE_ID: 4
       PIECE_SWITCH_INTERVAL: 1d
                 INPUT_BYTES: 16106127360
         INPUT_BYTES_DISPLAY: 15.00GB
                OUTPUT_BYTES: 16106127360
        OUTPUT_BYTES_DISPLAY: 15.00GB
           COMPRESSION_RATIO: 1.00
         DELETED_INPUT_BYTES: 0
 DELETED_INPUT_BYTES_DISPLAY: 0.00MB
        DELETED_OUTPUT_BYTES: 0
DELETED_OUTPUT_BYTES_DISPLAY: 0.00MB
                     COMMENT:
                        PATH: file:///data/nfs/backup/archive
*************************** 2. row ***************************
                   TENANT_ID: 1002
                     DEST_ID: 1002
                    ROUND_ID: 1
                 INCARNATION: 1
                     DEST_NO: 0
                      STATUS: STOP
                   START_SCN: 1654034400000000000
           START_SCN_DISPLAY: 2022-06-01 06:00:00.000000
              CHECKPOINT_SCN: 1654228800000000000
      CHECKPOINT_SCN_DISPLAY: 2022-06-03 12:00:00.000000
                  COMPATIBLE: 1
               BASE_PIECE_ID: 1
               USED_PIECE_ID: 3
       PIECE_SWITCH_INTERVAL: 1d
                 INPUT_BYTES: 96636764160
         INPUT_BYTES_DISPLAY: 90.00GB
                OUTPUT_BYTES: 96636764160
        OUTPUT_BYTES_DISPLAY: 90.00GB
           COMPRESSION_RATIO: 1.00
         DELETED_INPUT_BYTES: 26843545600
 DELETED_INPUT_BYTES_DISPLAY: 25.00GB
        DELETED_OUTPUT_BYTES: 26843545600
DELETED_OUTPUT_BYTES_DISPLAY: 25.00GB
                     COMMENT:
                        PATH: file:///data/nfs/backup/archive
*************************** 3. row ***************************
                   TENANT_ID: 1004
                     DEST_ID: 1001
                    ROUND_ID: 1
                 INCARNATION: 1
                     DEST_NO: 0
                      STATUS: DOING
                   START_SCN: 1655658000000000000
           START_SCN_DISPLAY: 2025-03-26 01:00:00.000000
              CHECKPOINT_SCN: 1655769600000000000
      CHECKPOINT_SCN_DISPLAY: 2025-03-27 08:00:00.000000
                  COMPATIBLE: 1
               BASE_PIECE_ID: 1
               USED_PIECE_ID: 2
       PIECE_SWITCH_INTERVAL: 1d
                 INPUT_BYTES: 161061273600
         INPUT_BYTES_DISPLAY: 150.00GB
                OUTPUT_BYTES: 161061273600
        OUTPUT_BYTES_DISPLAY: 150.00GB
           COMPRESSION_RATIO: 1.00
         DELETED_INPUT_BYTES: 0
 DELETED_INPUT_BYTES_DISPLAY: 0.00MB
        DELETED_OUTPUT_BYTES: 0
DELETED_OUTPUT_BYTES_DISPLAY: 0.00MB
                     COMMENT:
                        PATH: oss://oceanbase-test-bucket/backup/archive?host=xxx.aliyun-inc.com
3 row in set

上面的示例中,当前集群中有租户 ID 为 1002 和 1004 的 2 个租户的归档信息。其中,1002 租户是第二次开启归档,有 2 轮归档信息。1004 租户是首次开启归档,只有当前的归档信息。

1002 租户的第一轮归档产生了 3 个 Piece,piece id 分别是1~3,归档日志的范围是 '2022-06-01 06:00:00.000000' ~ '2022-06-03 12:00:00.000000'。而且,有 10GB 的实际归档数据已被清理,该部分被清理的数据压缩前的数据量是 25GB。

1004 租户的 round_id 是 1,表明是首次开启归档,归档介质的类型是 OSS,存储桶是 oceanbase-test-bucket,路径是 /backup/archive。自开启归档以来共产生了 2 个 Piece,piece id 分别是 1 和 2,已归档日志的范围是 '2025-03-26 01:00:00.000000' ~ '2025-03-27 08:00:00.000000'。

更多 CDB_OB_ARCHIVELOG_SUMMARY 视图的说明,请参见 CDB_OB_ARCHIVELOG_SUMMARY。

用户租户查看当前租户的归档历史

用户租户可以通过 oceanbase.DBA_OB_ARCHIVELOG_SUMMARY 视图(MySQL 模式)和 sys.DBA_OB_ARCHIVELOG_SUMMARY 视图(Oracle 模式)查看本租户的归档历史。

SELECT * FROM oceanbase.DBA_OB_ARCHIVELOG_SUMMARY\G
*************************** 1. row ***************************
                     DEST_ID: 1002
                    ROUND_ID: 2
                 INCARNATION: 1
                     DEST_NO: 0
                      STATUS: DOING
                   START_SCN: 1655697600000000000
           START_SCN_DISPLAY: 2025-03-26 12:00:00.000000
              CHECKPOINT_SCN: 1655769600000000000
      CHECKPOINT_SCN_DISPLAY: 2025-03-27 08:00:00.000000
                  COMPATIBLE: 1
               BASE_PIECE_ID: 4
               USED_PIECE_ID: 4
       PIECE_SWITCH_INTERVAL: 1d
                 INPUT_BYTES: 16106127360
         INPUT_BYTES_DISPLAY: 15.00GB
                OUTPUT_BYTES: 16106127360
        OUTPUT_BYTES_DISPLAY: 15.00GB
           COMPRESSION_RATIO: 1.00
         DELETED_INPUT_BYTES: 0
 DELETED_INPUT_BYTES_DISPLAY: 0.00MB
        DELETED_OUTPUT_BYTES: 0
DELETED_OUTPUT_BYTES_DISPLAY: 0.00MB
                     COMMENT:
                        PATH: file:///data/nfs/backup/archive
*************************** 2. row ***************************
                     DEST_ID: 1002
                    ROUND_ID: 1
                 INCARNATION: 1
                     DEST_NO: 0
                      STATUS: STOP
                   START_SCN: 1654034400000000000
           START_SCN_DISPLAY: 2022-06-01 06:00:00.000000
              CHECKPOINT_SCN: 1654228800000000000
      CHECKPOINT_SCN_DISPLAY: 2022-06-03 12:00:00.000000
                  COMPATIBLE: 1
               BASE_PIECE_ID: 1
               USED_PIECE_ID: 3
       PIECE_SWITCH_INTERVAL: 1d
                 INPUT_BYTES: 96636764160
         INPUT_BYTES_DISPLAY: 90.00GB
                OUTPUT_BYTES: 96636764160
        OUTPUT_BYTES_DISPLAY: 90.00GB
           COMPRESSION_RATIO: 1.00
         DELETED_INPUT_BYTES: 32212254720
 DELETED_INPUT_BYTES_DISPLAY: 30.00GB
        DELETED_OUTPUT_BYTES: 32212254720
DELETED_OUTPUT_BYTES_DISPLAY: 30.00GB
                     COMMENT:
                        PATH: file:///data/nfs/backup/archive
2 row in set

查看归档参数

日志归档过程中,您可以查看归档相关的参数配置信息。

系统租户查看租户的归档参数

  • 1.使用 root 用户登录集群的 sys 租户。
  • 2.执行以下语句,查看租户的归档相关参数。
    查看所有租户日志归档的归档参数信息。
    视图 CDB_OB_ARCHIVE_DEST 中记录了所有租户日志归档所配置的归档参数信息。
SELECT * FROM oceanbase.CDB_OB_ARCHIVE_DEST;
+-----------+---------+-----------------------+-------------------------------------------------------------------------------------------------------------------------+
| TENANT_ID | DEST_NO | NAME                  | VALUE                                                                                                                   |
+-----------+---------+-----------------------+-------------------------------------------------------------------------------------------------------------------------+
|      1002 |       0 | binding               | OPTIONAL                                                                                                                |
|      1002 |       0 | dest_id               | 1002                                                                                                                       |
|      1002 |       0 | path                  | file:///data/nfs/backuparchive                                                                               |                
|      1002 |       0 | piece_switch_interval | 1d                                                                                                                      |
|      1002 |       0 | state                 | ENBALE                                                                                                                  |
|      1004 |       0 | binding               | Mandatory                                                                                                               |
|      1004 |       0 | dest_id               | 1001                                                                                                                       |
|      1004 |       0 | path                  | oss://oceanbase-test-bucket/backup/archive?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx&delete_mode=tagging     |
|      1004 |       0 | piece_switch_interval | 1d                                                                                                                      |
|      1004 |       0 | state                 | ENBALE                                                                                                                  |
+-----------+---------+-----------------------+-------------------------------------------------------------------------------------------------------------------------+
10 rows in set

查询示例中,当前集群中有租户 ID 为 1002 和 1004 的 2 个租户配置了归档参数。

租户 ID 为 1002 的租户执行日志归档时的归档路径为 file:///data/nfs/backuparchive;binding 的值为 OPTIONAL,表示归档和业务的优先模式为 Optional 模式,即以用户业务优先;piece_switch_interval 为 1d 表示表示执行日志归档时,每隔一天切分一个日志 Piece;state 为 ENABLE 表示该归档目的端为启用状态。

租户 ID 为 1004 的租户执行日志归档时的归档路径及路径相关参数为 oss://oceanbase-test-bucket/backup/archive?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx&delete_mode=tagging;binding 的值为 Mandatory,表示归档和业务的优先模式为 Mandatory 模式,即以归档优先;piece_switch_interval 为 1d 表示表示执行日志归档时,每隔一天切分一个日志 Piece;state 为 ENABLE 表示该归档目的端为启用状态。

更多 CDB_OB_ARCHIVE_DEST 视图的说明,参见 CDB_OB_ARCHIVE_DEST。

查看所有租户日志归档的归档路径源端配置信息。

视图 CDB_OB_BACKUP_STORAGE_INFO 中记录了所有租户备份或归档路径的源端配置信息。

SELECT * FROM oceanbase.CDB_OB_BACKUP_STORAGE_INFO;
+-----------+-----------------------------------------+----------+---------+-------------+---------------+------------+-----------------------------------------+----------------------------+
| TENANT_ID | PATH                                    | ENDPOINT | DEST_ID | DEST_TYPE   | AUTHORIZATION | EXTENSION  | CHECK_FILE_NAME                         | LAST_CHECK_TIMESTAMP       |
+-----------+-----------------------------------------+----------+---------+-------------+---------------+------------+-----------------------------------------+----------------------------+
|      1002 | file:///data/nfs/backuparchive          |          |    1001 | archive_log |               | zone=zone1 | 1002_connect_file_20250107T133801.obbak |  2025-03-27 13:38:32.290981 |
|      1002 | file:///data/nfs/backup                 |          |    1002 | backup_data |               | zone=zone1 | 1002_connect_file_20250107T133951.obbak |  2025-03-27 13:39:51.033977 |
+-----------+-----------------------------------------+----------+---------+-------------+---------------+------------+-----------------------------------------+----------------------------+
2 rows in set

查询结果中,对于租户 ID 为 1002 的租户,其归档路径为file:///data/nfs/backuparchive,该归档路径对应的源端配置为 zone=zone1。

查看租户的日志归档并行度。

租户的日志归档并行度由租户级配置项 log_archive_concurrency 控制,该配置项的取值范围为 [0, 100],默认值为 0,表示使用 OceanBase 数据库自适应的日志归档并行度。有关配置项 log_archive_concurrency 的详细说明,请参见 log_archive_concurrency。

SHOW PARAMETERS LIKE 'log_archive_concurrency';

+-------+----------+----------------+----------+-------------------------+-----------+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------+--------+---------+-------------------+---------------+-----------+
| zone  | svr_type | svr_ip         | svr_port | name                    | data_type | value | info                                                                                                                                                                                                                                                                                                                               | section    | scope  | source  | edit_level        | default_value | isdefault |
+-------+----------+----------------+----------+-------------------------+-----------+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------+--------+---------+-------------------+---------------+-----------+
| zone1 | observer | 172.xx.xxx.xxx |     2882 | log_archive_concurrency | NULL      | 0     | log archive concurrency, for both archive fetcher and sender. If the value is default 0, the database will automatically calculate the number of archive worker threads based on the tenant specification, which is tenant max_cpu divided by 4; otherwise set the the worker count equals to the value.Range: [0, 100] in integer | LOGSERVICE | TENANT | DEFAULT | DYNAMIC_EFFECTIVE | 0             |         1 |
+-------+----------+----------------+----------+-------------------------+-----------+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------+--------+---------+-------------------+---------------+-----------+
1 row in set

用户租户查看本租户的归档参数

用户租户可以通过视图 oceanbase.DBA_OB_BACKUP_STORAGE_INFO(MySQL 模式)和视图 SYS.DBA_OB_BACKUP_STORAGE_INFO(Oracle 模式)查看本租户日志归档的归档路径源端配置信息。
mysql模式:

obclient [oceanbase]> SELECT * FROM oceanbase.DBA_OB_BACKUP_STORAGE_INFO;

oracle模式:

obclient [SYS]> SELECT * FROM SYS.DBA_OB_BACKUP_STORAGE_INFO;

查看租户的日志归档并行度。

租户的日志归档并行度由租户级配置项 log_archive_concurrency 控制,该配置项的取值范围为 [0, 100],默认值为 0,表示使用 OceanBase 数据库自适应的日志归档并行度。有关配置项 log_archive_concurrency 的详细说明,请参见 log_archive_concurrency。

SHOW PARAMETERS LIKE 'log_archive_concurrency';

更改归档目的端

开启日志归档模式后,您可以根据业务需要更改归档目的端。

注意事项

使用 AWS S3 或兼容 S3 协议的其他对象存储作为归档介质时,要求归档延迟时间(由配置项 archive_lag_target 控制)大于或等于 60s。如果在将归档介质从 OSS/NFS 更改为 S3 或兼容 S3 协议的其他对象存储时,配置项 archive_lag_target 的值小于 60s,则执行更改归档目的端的命令会报错

操作步骤

  • 1.租户管理员登录集群的 sys 租户或用户租户。
  • 2.关闭归档模式,详细操作请参见 关闭归档模式。
  • 3.重新配置归档目的端。
    配置归档目的端时,要求新的归档目的端所在的目录为空。有关配置归档目的端的详细操作,请参见 日志归档前准备 中 配置归档目的端 的内容。
  • 5.完成后,在sys 租户下查询视图 CDB_OB_ARCHIVE_DEST 的 LOG_ARCHIVE_DEST 列,或者在用户租户下查询视图 DBA_OB_ARCHIVE_DEST 的 LOG_ARCHIVE_DEST 列,确认新的归档目的端是否配置成功,详细操作请参见 查看归档参数。

清空归档路径

停止归档后,可以根据需要,清空归档路径。清空归档路径不会删除原归档路径下的任何文件。清空归档路径后,如果后续还需要使用原路径,可以再次通过 SET LOG_ARCHIVE_DEST 命令将归档路径配置为原路径。

注意事项

清空归档路径要求租户当前的归档状态为 STOP 状态。查看归档状态的详细操作,参见 查看归档进度。

操作步骤

  • 1.sys 租户或用户租户的租户管理员登录到数据库。
  • 2.执行以下命令,清空归档路径。
    系统租户清空指定租户的归档路径
ALTER SYSTEM SET LOG_ARCHIVE_DEST='' TENANT = tenant_name;

用户租户清空本租户的归档路径

ALTER SYSTEM SET LOG_ARCHIVE_DEST='';

清理归档日志

根据文档库中的信息,可以按照以下步骤定时清理归档日志:

方案一、设置审计日志的自动清理

OceanBase 数据库提供了配置项 audit_log_max_size 和 audit_log_prune_seconds 来控制审计日志的清理。每次生成新的日志文件时,系统会检查是否需要清理日志。具体说明如下:

audit_log_max_size:当日志总量超过指定的最大值时,优先清理保存时间更久的文件。
audit_log_prune_seconds:可以根据时间间隔清理日志,例如保留最近 N 秒的日志。

配置示例:

ALTER SYSTEM SET audit_log_max_size='1G'; -- 设置单个 OBServer 的日志总量上限为 1GB
ALTER SYSTEM SET audit_log_prune_seconds=86400; -- 设置保留最近 24 小时的日志

依据:片段标题《audit_log_max_size -> 使用说明》和《audit_log_prune_seconds -> 使用说明》。

方案二、关闭归档模式(可选)

如果不再需要归档日志,可以通过关闭归档模式来停止生成新的归档日志。使用以下命令关闭归档模式:

ALTER SYSTEM NOARCHIVELOG;

注意:关闭归档模式后,将无法进行增量备份,请确保已经完成必要的备份操作。
依据:片段标题《NOARCHIVELOG -> 描述》。

方案三、手动清理归档日志(必要时)

如果需要手动清理特定时间点之前的归档日志,可以使用 DBMS_STATS.PURGE_STATS() 方法。虽然该方法主要用于清理统计信息历史,但也可以作为参考用于清理其他类型的日志文件。
示例:

CALL DBMS_STATS.PURGE_STATS('2023-10-01 00:00:00'); -- 清理指定时间之前的历史记录

依据:片段标题《统计信息收集监控诊断 -> 统计信息收集历史信息的清理策略》。

方案四、自动清理过期备份(间接清理归档日志)

如果归档日志是备份的一部分,可以通过设置自动清理过期备份的策略来间接清理归档日志。OceanBase 支持每小时触发一次自动清理任务,清理策略需要在租户级别进行配置。
依据:片段标题《自动清理过期备份》。

总结:通过配置 audit_log_max_size 和 audit_log_prune_seconds 可以实现定时清理归档日志;如果不再需要归档日志,可以关闭归档模式;对于特定需求,可以结合手动清理或自动清理过期备份的方式完成任务。

案例

1.13.1. 更换归档目录:

停下日志归档:alter system noarchivelog tenant=all;
将日志归档的路径清空:ALTER SYSTEM SET LOG_ARCHIVE_DEST='' tenant=obbip;
删除相关的日志归档:rm -rf /data/1/archive
最后重新选择一个 空间足够大的 归档路径

1.13.2. 启动归档模式

打开租户归档日志,可以避免因 clog 日志被清理导致的数据任务中断问题

alter system set log_archive_dest='LOCATION=file:///data/1';  
alter system archivelog;

1.13.3. 关闭归档模式

alter system noarchivelog;
alter system set log_archive_dest='';  
posted @ 2026-05-11 14:42  数据库小白(专注)  阅读(59)  评论(0)    收藏  举报