首批通过分布式安全可靠测评,为关键业务系统打造
日志归档前准备
更新时间:2026-06-11 19:04:35
本节主要介绍日志归档前的准备工作。
配置归档并发度(可选)
开启归档模式前,您可以通过配置日志归档的并发度来提高租户的日志归档速度。
sys租户或用户租户的租户管理员登录到数据库。选择合适的语句,设置配置项
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;
有关配置项
log_archive_concurrency的更多信息,请参见 log_archive_concurrency。
配置归档目的端
在开始日志归档任务前,您需要使用 ALTER SYSTEM 命令配置 LOG_ARCHIVE_DEST 参数。由于系统租户不包含用户数据,是集群管理用的租户,不支持备份恢复,故 sys 租户无需配置归档目的端。
配置归档目的端的操作主要是设置 LOCATION、BINDING 和 PIECE_SWITCH_INTERVAL 属性。
注意事项
配置归档目的端时,要求每个租户的归档路径需要配置为独立的空目录,不同租户不能配置相同的归档路径。
操作步骤
sys租户或用户租户的租户管理员登录到数据库。说明
MySQL 模式的管理员用户为
root用户,Oracle 模式的管理员用户为SYS用户。配置归档目的端。
系统租户为指定租户配置归档目的端
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]';
注意
对于从 OceanBase 数据库 V4.0.x 版本升级到 V4.1.0 版本的场景,版本升级后需要更改归档路径。对于从 OceanBase 数据库 V4.1.x 版本升级到 V4.2.x 版本的场景,版本升级后不需要更改归档路径。此外,从 OceanBase 数据库 V4.1.x 版本升级到 V4.2.x 版本时,支持升级期间进行日志归档。
详细配置说明如下:
配置
LOCATION(必选)LOCATION属性用于指定归档路径,目前 OceanBase 数据库支持的归档介质为 NFS、阿里云 OSS、Azure Blob、AWS S3 以及兼容 S3 协议的对象存储,例如:华为 OBS、Google GCS、腾讯云 COS。部分归档介质可能需要满足一些基本要求才能使用,有关各归档介质的具体要求,参见 物理备份与恢复概述 中的 备份介质要求。阿里云 OSSNFSAWS S3兼容 S3 协议的对象存储Azure Blob使用 OSS 作为归档介质时,除了设置归档路径、
host、access_key和access_id,还支持通过delete_mode参数来配置归档文件的清理模式,delete_mode参数当前支持delete模式和tagging模式。如果不显式配置delete_mode参数,则默认使用delete模式。此外,OSS 还支持通过
checksum_type参数指定校验算法来校验归档文件的完整性,支持的取值为md5和no_checksum。如果不显式配置checksum_type参数,则默认值为md5。同时,OceanBase 数据库还支持使用已配置了合规保留策略的阿里云 OSS Bucket 作为归档路径。在配置归档路径时,可以通过
enable_worm参数来指定 OceanBase 数据库是否按照 Bucket 的保留策略(WORM 策略)对该路径执行写入及删除操作。该参数支持的取值为true和false。如果不显式配置enable_worm参数,则默认为false。设置enable_worm=true时要求同时显式配置checksum_type=md5。该参数一旦设置后,不支持变更。注意
OceanBase 数据库当前不会替代您设置合规保留策略,请在设置归档路径前确保 OSS Bucket 已正确设置保留策略(WORM 策略)并锁定。
有关各参数的详细说明,参见 SET LOG_ARCHIVE_DEST。
注意
使用对象存储作为归档介质时,对象存储路径的各项参数由
&符号进行分隔,请确保您输入的参数值中仅包含英文字母大小写、数字、/-_$+=以及通配符。如果您输入了上述以外的其他字符,可能会导致设置失败。示例如下:
使用 OSS 作为归档介质时,系统租户为指定租户
mysql_tenant设置归档路径,配置清理模式为delete,同时指定校验算法为md5。obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=oss://oceanbase-test-bucket/backup/archive?host=****.aliyun-inc.com&access_id=****&access_key=****&delete_mode=delete&checksum_type=md5' TENANT = mysql_tenant;如果不希望校验归档文件的完整性,可以将
checksum_type参数设置为no_checksum,示例如下:obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=oss://oceanbase-test-bucket/backup/archive?host=****.aliyun-inc.com&access_id=****&access_key=****&delete_mode=delete&checksum_type=no_checksum' TENANT = mysql_tenant;使用 OSS 作为归档介质时,系统租户为指定租户
mysql_tenant设置归档路径,配置清理模式为tagging,指定以 WORM 支持的方式写入和删除 Object,同时指定校验算法为md5。注意
- OceanBase 数据库当前不会替代您设置合规保留策略,请在设置归档路径前确保 OSS Bucket 已正确设置保留策略(WORM 策略)并锁定。
- 使用配置了 WORM 策略的 Bucket 作为归档路径时,推荐清理模式使用
tagging模式。
obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=oss://oceanbase-test-bucket/backup/archive?host=****.aliyun-inc.com&access_id=****&access_key=****&delete_mode=tagging&checksum_type=md5&enable_worm=true' TENANT = mysql_tenant;使用 OSS 作为归档介质时,用户租户为本租户设置归档路径,配置清理模式为
delete,同时指定校验算法为md5。obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=oss://oceanbase-test-bucket/backup/archive?host=****.aliyun-inc.com&access_id=****&access_key=****&delete_mode=delete&checksum_type=md5';
示例中,
oss://表示使用 OSS 作为归档介质类型,存储桶名oceanbase-test-bucket,在存储桶中的路径是/backup/archive,同时使用?来分隔路径与参数,参数之间使用&分隔。host用于设置存储桶的主机地址,access_id和access_key用于设置OSS的访问密钥,清理模式为delete,并使用 MD5 算法校验归档文件的完整性。enable_worm=true表示系统将按照 WORM 的规范执行写入与删除操作。需要注意的是,OceanBase 数据库当前不会替代您设置合规保留策略,请在设置归档路径前确保 OSS Bucket 已正确设置保留策略(WORM 策略)并锁定。注意
使用 NFS 作为归档介质时,需要注意以下事项:
LOCATION的值不支持设置为带有问号(?)的字符串。LOCATION的值必须设置为绝对路径,保证 OBServer 服务器对LOCATION具有读写权限。- 必须保证所有 OBServer 服务器都挂载了同一个服务器的 NFS。同时,为保证归档顺利进行,务必使用本文档中建议的参数挂载 NFS。挂载 NFS 的具体操作,请参见 部署 NFS 客户端。
使用 NFS 作为归档介质时,系统租户为指定租户
mysql_tenant设置归档路径的示例如下:obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///data/nfs/backup/archive' TENANT = mysql_tenant;使用 NFS 作为归档介质时,用户租户为本租户设置归档路径的示例如下:
obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///data/nfs/backup/archive';示例中,
file://表示使用 NFS 作为归档介质类型,归档路径为/data/nfs/backup/archive。与 OSS 一样,AWS S3 也支持通过
delete_mode参数来配置归档文件的清理模式,配置方法与 OSS 一样。同样,AWS S3 也支持通过checksum_type参数指定校验算法来校验归档文件的完整性,支持指定的取值为md5和crc32。如果不显式配置checksum_type参数,则默认值为md5。有关
delete_mode参数和checksum_type参数的详细说明,参见 SET LOG_ARCHIVE_DEST。注意
使用对象存储作为归档介质时,对象存储路径的各项参数由
&符号进行分隔,请确保您输入的参数值中仅包含英文字母大小写、数字、/-_$+=以及通配符。如果您输入了上述以外的其他字符,可能会导致设置失败。使用 S3 作为归档介质的配置示例如下:
使用 S3 作为归档介质时,系统租户为指定租户
mysql_tenant设置归档路径,配置清理模式为delete,指定校验算法为crc32。obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=s3://oceanbase-test-bucket/backup/archive?host=s3.<region>.amazonaws.com&access_id=******&access_key=******&s3_region=******&delete_mode=delete&checksum_type=crc32' TENANT = mysql_tenant;使用 S3 作为归档介质时,用户租户为本租户设置归档路径,配置清理模式为
delete,指定校验算法为crc32。obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=s3://oceanbase-test-bucket/backup/archive?host=s3.<region>.amazonaws.com&access_id=******&access_key=******&s3_region=******&delete_mode=delete&checksum_type=crc32';
上述示例中,
s3://表示使用 AWS S3 作为归档介质类型,存储桶名oceanbase-test-bucket,在存储桶中的路径是/backup/archive,同时使用?来分隔路径与参数,参数之间使用&分隔。host用于设置 Amazon S3 服务的域名,access_id和access_key用于设置 AWS 服务的访问密钥,s3_region在使用 S3 作为归档介质时为必选参数,表示 S3 的存储桶所在的地域,清理模式为delete,使用 CRC32 算法校验归档文件的完整性。有关 AWS S3 路径格式的详细说明,参见 附:AWS S3 路径格式说明。
由于大多数对象存储兼容了 S3 协议,对于兼容 S3 协议并满足 OceanBase 数据库要求(对象存储需要兼容实现了 OceanBase 系统调用的几个 S3 API 的行为)的对象存储均可以作为 OceanBase 数据库的归档介质,并通过访问 S3 的方式来访问兼容的对象存储,例如:OBS、GCS、COS 等都是通过 S3 协议访问。
对于通过 S3 协议接入的 OBS、GCS、COS 等对象存储,也支持通过
checksum_type参数指定校验算法来校验归档文件的完整性,仅支持取值为md5。如果不显式配置checksum_type参数,则默认值为md5。有关checksum_type参数的详细说明,参见 SET LOG_ARCHIVE_DEST。注意
- 使用对象存储作为归档介质时,对象存储路径的各项参数由
&符号进行分隔,请确保您输入的参数值中仅包含英文字母大小写、数字、/-_$+=以及通配符。如果您输入了上述以外的其他字符,可能会导致设置失败。 - 对于部分兼容 S3 协议的对象存储,可能不支持 AWS S3 SDK 默认的 URL 编码方式,在使用
s3://协议访问时,如果出现 9129、9026 等对象存储相关的错误码,建议通过设置集群级配置项 ob_storage_s3_url_encode_type 来指定 AWS S3 发送请求时的 URL 编码方式兼容 Rfc3986 标准。详细设置方法可参考下方 使用 COS 作为归档介质的操作步骤及示例。
使用 OBS 作为归档介质的配置示例如下:
使用 OBS 作为归档介质时,系统租户为指定租户
mysql_tenant设置归档路径。obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=s3://oceanbase-test-bucket/backup/archive?host=obs.****.myhuaweicloud.com&access_id=****&access_key=****' TENANT = mysql_tenant;使用 OBS 作为归档介质时,用户租户为本租户设置归档路径。
obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=s3://oceanbase-test-bucket/backup/archive?host=obs.****.myhuaweicloud.com&access_id=****&access_key=****';
上述示例中,
s3://表示使用 S3 协议访问归档目的端,存储桶名oceanbase-test-bucket,在存储桶中的路径是/backup/archive,同时使用?来分隔路径与参数,参数之间使用&分隔。host用于设置 OBS 服务的域名,access_id和access_key用于设置 OBS 服务的访问密钥。使用 GCS 作为归档介质的配置示例如下:
使用 GCS 作为归档介质时,系统租户为指定租户
mysql_tenant设置归档路径。obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=s3://oceanbase-test-bucket/backup/archive?host=https://storage.googleapis.com&access_id=****&access_key=****' TENANT = mysql_tenant;使用 GCS 作为归档介质时,用户租户为本租户设置归档路径。
obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=s3://oceanbase-test-bucket/backup/archive?host=https://storage.googleapis.com&access_id=****&access_key=****';
上述示例中,
s3://表示使用 S3 协议访问归档目的端,存储桶名oceanbase-test-bucket,在存储桶中的路径是/backup/archive,同时使用?来分隔路径与参数,参数之间使用&分隔。host用于设置 GCS 服务的域名,access_id和access_key用于设置 GCS 服务的访问密钥。使用 COS 作为归档介质的操作步骤及示例如下:
查看集群级配置项
ob_storage_s3_url_encode_type的取值。obclient> SHOW PARAMETERS LIKE '%ob_storage_s3_url_encode_type%';结果如下:
+-------+----------+----------------+----------+-------------------------------+-----------+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+---------+-------------------+ | zone | svr_type | svr_ip | svr_port | name | data_type | value | info | section | scope | source | edit_level | +-------+----------+----------------+----------+-------------------------------+-----------+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+---------+-------------------+ | zone1 | observer | 172.xx.xxx.xxx | 2882 | ob_storage_s3_url_encode_type | NULL | default | Determines the URL encoding method for S3 requests."default": Uses the S3 standard URL encoding method."compliantRfc3986Encoding": Uses URL encoding that adheres to the RFC 3986 standard. | OBSERVER | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | +-------+----------+----------------+----------+-------------------------------+-----------+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+---------+-------------------+ 1 row in set如果取值为
default,则修改为compliantRfc3986Encoding。obclient> ALTER SYSTEM SET ob_storage_s3_url_encode_type='compliantRfc3986Encoding';有关该配置项具体信息,参见 ob_storage_s3_url_encode_type。
设置归档路径并通过
delete_mode参数来配置归档文件的清理模式。使用 COS 作为归档介质时,系统租户为指定租户
mysql_tenant设置归档路径并配置为delete清理模式的示例如下:obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=s3://oceanbase-test/backup/archive?host=cos.ap-xxxx.myqcloud.com&access_id=***&access_key=***&delete_mode=delete' TENANT = mysql_tenant;使用 COS 作为归档介质时,用户租户为本租户设置归档路径并配置为
delete清理模式的示例如下:obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=s3://oceanbase-test/backup/archive?host=cos.ap-xxxx.myqcloud.com&access_id=***&access_key=***&delete_mode=delete';示例中,
s3://表示使用 S3 协议访问归档目的端,存储桶名oceanbase-test,在存储桶中的路径是/backup/archive,同时使用?来分隔路径与参数,参数之间使用&分隔。host用于设置 COS 的主机地址,即 endpoint(不带存储桶名的地址),access_id和access_key用于设置COS的访问密钥,清理模式设置为delete。注意
在归档运行期间,不支持切换归档所使用的访问协议。例如,不支持从 S3 切换到 OSS 或从 OSS 切换到 S3。
与 OSS 一样,Azure Blob 也支持
delete_mode参数和checksum_type参数。其中,delete_mode参数用于配置归档文件的清理模式,如果不显式配置delete_mode参数,则默认使用delete模式。checksum_type参数用于指定校验算法来校验归档文件的完整性,支持的取值为md5和no_checksum。如果不显式配置checksum_type参数,则默认值为md5。更多参数的详细说明,参见 SET LOG_ARCHIVE_DEST。
示例如下:
注意
- 使用对象存储作为归档介质时,对象存储路径的各项参数由
&符号进行分隔,请确保您输入的参数值中仅包含英文字母大小写、数字、/-_$+=以及通配符。如果您输入了上述以外的其他字符,可能会导致设置失败。 - 在使用 Azure Blob 作为归档介质时,要求
host参数的前缀必须指定为http://或https://。同时,由于 Azure Blob 默认开启了安全传输,默认是通过https://来访问,如果需要通过http://来访问,需要关闭 Azure Blob 的安全传输选项。关闭 Azure Blob 安全传输选项的详细操作,参见 Azure Blob 官网文档。
使用 Azure Blob 作为归档介质时,系统租户为指定租户
mysql_tenant设置归档路径,配置清理模式为delete,同时指定校验算法为md5。obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=azblob://oceanbase-test-bucket/backup/archive?host=http://****.blob.core.windows.net&access_id=****&access_key=****&delete_mode=delete&checksum_type=md5' TENANT = mysql_tenant;使用 Azure Blob 作为归档介质时,用户租户为本租户设置归档路径,配置清理模式为
delete,同时指定校验算法为md5。obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=azblob://oceanbase-test-bucket/backup/archive?host=http://****.blob.core.windows.net&access_id=****&access_key=****&delete_mode=delete&checksum_type=md5';
示例中,
azblob://表示使用 Azure Blob 作为归档介质类型,存储桶名oceanbase-test-bucket,在存储桶中的路径是/backup/archive,同时使用?来分隔路径与参数,参数之间使用&分隔。host为存储桶的主机地址,可通过容器属性或存储账户的连接串拼接得到。access_id为存储账户名称,access_key为 Azure Blob 的访问密钥,清理模式为delete,并使用 MD5 算法校验归档文件的完整性。配置
BINDING属性(可选)BINDING属性用于设置归档和业务的优先模式。目前支持Optional模式和Mandatory模式。如果不配置,默认为Optional模式。Optional模式表示以用户业务优先。在该模式下,当归档(日志归档)速度跟不上日志生成的速度时,日志有可能来不及归档就被回收了,然后发生断流。Mandatory模式表示以归档优先。在该模式下如果归档跟不上用户数据的写入,可能会导致用户无法写入。
使用 NFS 作为归档介质时,系统租户为指定租户
mysql_tenant配置归档路径并设置BINDING属性的示例如下:obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///data/nfs/backup/archive BINDING=Optional' TENANT = mysql_tenant;使用 NFS 作为归档介质时,用户租户为本租户配置归档路径并设置
BINDING属性的示例如下:obclient> 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的示例如下:obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///data/nfs/backup/archive BINDING=Optional PIECE_SWITCH_INTERVAL=1d' TENANT = mysql_tenant;使用 NFS 作为归档介质时,用户租户为本租户配置归档路径并设置每隔一天切分一个日志
piece的示例如下:obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///data/nfs/backup/archive BINDING=Optional PIECE_SWITCH_INTERVAL=1d';
配置成功后,您可以通过视图查询详细的参数设置信息。
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';
归档目的端设置成功后,如果用户因安全或其他原因,更改了对象存储的密钥信息,需要为已设置的归档路径更新
access_id和access_key信息,具体操作参见 更新对象存储的密钥信息。
(可选)配置归档延迟
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。
配置方法
sys租户或用户租户的租户管理员登录到数据库。根据实际情况,选择合适的语句,配置归档延迟。
配置方法如下:
sys租户为指定租户配置归档延迟时间obclient> ALTER SYSTEM SET archive_lag_target = '120s' TENANT = mysql_tenant;注意
在配置
archive_lag_target参数时,不支持 sys 租户通过TENANT = all_user来指定所有用户租户。用户租户为本租户配置归档延迟时间
obclient> ALTER SYSTEM SET archive_lag_target = '120s';