首批通过分布式安全可靠测评,为关键业务系统打造
SET LOG_ARCHIVE_DEST
更新时间:2026-04-11 14:51:31
描述
ALTER SYSTEM SET LOG_ARCHIVE_DEST 语句用于为用户租户配置归档目的端。归档目的端的配置主要包括 LOCATION、BINDING 以及 PIECE_SWITCH_INTERVAL 等属性。
使用限制及注意事项
系统租户和 Meta 租户不支持备份恢复,不需要配置归档目的端。
目前 OceanBase 数据库支持的备份介质为 NFS、阿里云 OSS、Azure Blob、AWS S3 以及兼容 S3 协议的对象存储,例如:华为 OBS、Google GCS、腾讯云 COS。部分备份介质可能需要满足一些基本要求才能使用,有关各备份介质的具体要求,参见 物理备份与恢复概述 中的 备份介质要求。
配置
LOCATION、BINDING以及PIECE_SWITCH_INTERVAL等属性时,各参数项之间通过空格分隔,同时设置各参数值的等号(=)前后不能有空格。归档目的端配置成功后,不支持增量配置,即需要在每次执行
ALTER SYSTEM SET LOG_ARCHIVE_DEST语句时均指定所有参数的值,否则未指定的参数将使用默认值。
权限要求
需要由 sys 租户的 root 用户(root@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];
参数说明
| 参数 | 描述 |
|---|---|
| archive_path | 指定归档路径。有关该参数的详细说明,参见下方 archive_path。 |
| archive_mode | 配置归档和业务的优先模式,可选。目前支持 Optional 模式和 Mandatory 模式。如果不设置,默认为 Optional 模式。
|
| piece_switch_interval | 配置 Piece 的切换周期,可选,取值范围为 [1d, 7d]。如果不设置,默认为 1d。有关 Piece 的详细介绍,请参见 日志归档概述。 |
| tenant_name | 系统租户指定待配置归档目的端的租户名。
注意仅系统租户在执行此命令时需要通过 |
archive_path
用于指定归档路径及源端配置。下面分别对不同类型的介质的 archive_path 格式进行说明。
NFS
ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file://your-nfs-server-path/your-archive-path[?{zone=zone_name | idc=idc_name | region=region_name}];
相关参数说明如下:
file://your-nfs-server-path/your-archive-path:指定 NFS 服务器路径和归档路径。zone、idc、region:指定归档路径的源端,即指定可以访问该路径的节点范围,可选参数,与归档路径之间使用英文问号(?)分隔。支持选择zone、idc或region三个不同层级的配置,只能同时选择一个层级或者不设置,默认不设置。如果需要设置 Region 层级或 IDC 层级,需要先通过
ALTER SYSTEM MODIFY ZONE zone_name SET REGION=region_name;或ALTER SYSTEM MODIFY ZONE zone_name SET IDC=idc_name;语句设置 Region 信息或 IDC 信息。推荐设置 IDC 层级的源端配置,利用有较多网络带宽资源的 IDC 来执行归档任务的同时,归档任务有更多的可选节点范围,同时用户也不需要关注集群中 IDC 内 Zone 的变化情况。设置时,如果设置的
zone、idc或region不存在,将会报错提示源端信息不存在(错误码-9133)。由于日志归档的所有流量均由 Leader 副本写入,故对日志归档路径来说,没有访问优先级的差异,只是限制访问归档路径的节点范围。如果需要设置多个 Zone、多个 IDC 或多个 Region,多个值之间使用英文逗号(,)或英文分号(;)分隔。例如,
zone=z1,z2;z3表示指定z1、z2、z3作为归档的源端。配置
zone、idc或region时,要求 Leader 副本在指定的zone、idc或region中,否则,归档将会无法推进。
对象存储
# 阿里云 OSS
ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=oss://your-bucket-name/your-archive-path?host=oss-your-region.aliyuncs.com&access_id=your-access-id&access_key=your-access-key[&delete_mode={delete | tagging}][&checksum_type={md5 | no_checksum}][&{zone=zone_name | idc=idc_name | region=region_name}];
# AWS S3
ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=s3://your-bucket-name/your-archive-path?host=s3.your-region.amazonaws.com&access_id=your-access-id&access_key=your-access-key&s3_region=your-s3-region[&delete_mode={delete | tagging}][&checksum_type={md5 | crc32}][&{zone=zone_name | idc=idc_name | region=region_name}];
# 兼容 S3 协议的对象存储
ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=s3://your-bucket-name/your-archive-path?host=your-service.com&access_id=your-access-id&access_key=your-access-key[&addressing_model={virtual_hosted_style | path_style}][&checksum_type=md5][&{zone=zone_name | idc=idc_name | region=region_name}];
# Azure Blob
ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=azblob:////your-bucket-name/your-archive-path?host=your-service.com&access_id=your-access-id&access_key=your-access-key[&delete_mode={delete | tagging}][&checksum_type=md5][&{zone=zone_name | idc=idc_name | region=region_name}]';
相关参数说明如下:
注意
使用对象存储作为归档介质时,对象存储路径的各项参数由 & 符号进行分隔,请确保您输入的参数值中仅包含英文字母大小写、数字、/-_$+= 以及通配符。如果您输入了上述以外的其他字符,可能会导致设置失败。
host:对象存储服务的访问域名。对于 Azure Blob 对象存储,其
host参数对应的值可通过容器属性或存储账户的连接串拼接得到,并且要求host参数的前缀必须指定为http://或https://。同时,由于 Azure Blob 默认开启了安全传输,默认是通过https://来访问,如果需要通过http://来访问,需要关闭 Azure Blob 的安全传输选项。关闭 Azure Blob 安全传输选项的详细操作,参见 Azure Blob 官网文档。access_id:对象存储的访问秘钥 ID。access_key:对象存储的访问密钥。delete_mode:配置归档文件的清理模式,OSS、AWS S3、COS(以 S3 协议访问)、Azure Blob 的可选参数,与其他参数之间通过&符号连接。该参数当前支持以下两种取值:delete:表示清理模式为直接删除满足清理要求的归档文件。配置为该模式后,当您通过自动方式清理归档文件时,对于满足清理要求的归档文件,系统会直接将其删除。
tagging:表示清理模式为对满足清理要求的归档文件设置Tag,归档文件将仍然保留。配置为该模式后,当您通过自动方式清理归档文件时,对于满足清理要求的归档文件,系统会给这些文件设置标签,标签的
key为"delete_mode",value为"tagging",以便后续用户可以通过设置的标签在对象存储上对这些文件的生命周期进行管理。
checksum_type:指定归档文件的校验算法,用于校验归档文件的完整性。如果未显式指定,所有对象存储默认均使用 MD5 校验算法。根据不同的对象存储,该参数支持的取值如下:md5:使用 MD5 算法校验归档文件的完整性。注意
MD5 校验对于
GetObject接口不生效。no_checksum:不校验归档文件的完整性。仅 OSS、Azure Blob 支持该取值。对于通过 S3 协议接入的对象存储,包括 AWS S3、OBS、GCS、COS 等,由于受到 S3 SDK 的限制,不支持该取值。crc32:使用 CRC32 算法校验归档文件的完整性。仅 AWS S3 支持该取值。
enable_worm:可选参数,当归档目的端为阿里云 OSS 且目的端 Bucket 配置了合规保留策略(WORM)时,需将该参数设置为True。OSS 的保留策略具有 WORM(Write Once Read Many)特性,满足用户以不可删除、不可篡改的方式保存和使用数据。当用户为 Bucket 配置保留策略并锁定策略后,在保留策略指定的 Object 的保留时间到期前,仅支持在该 Bucket 中上传和读取 Object。待 Object 的保留时间到期后,才可以修改或删除该 Object。
注意
- 由于 OceanBase 数据库当前不会替代您设置合规保留策略,请在设置备份路径前确保 OSS Bucket 已正确设置保留策略(WORM 策略)并锁定。
- 如果待设置的路径对应的 Bucket 设置并锁定了 WORM 策略,而在配置归档目的端时未指定
enable_worm=true,则语句执行后,系统将会报错,提示需要设置enable_worm=true。 enable_worm参数一旦设置后,后续不支持变更。- 设置归档路径后,如果用户为该路径对应的 Bucket 设置并锁定了 WORM 策略,则归档可能会因无法向目标路径追加写而报
-9140的错误,提示the object is locked by worm。当发现归档任务因 WORM 策略导致执行失败后,需要用户重新配置新的归档路径,并且指定enable_worm=true。 - 使用配置了 WORM 策略的 Bucket 作为归档路径时,推荐归档的清理模式使用
tagging模式。
enable_worm参数支持的取值如下:true:是,表示 OceanBase 数据库会按照 WORM 的规范对该路径执行写入及删除操作。值设置为true时,要求同时显式配置checksum_type=md5。false:否。未显式指定该参数时,其默认值为false。
s3_region:Amazon S3 存储桶所在的区域。归档介质为 AWS S3 时,必须指定的参数。addressing_model:设置访问对象存储的 URL 格式,通过 S3 兼容协议访问的对象存储(OBS、GCS、COS 等)的可选参数,与其他参数之间通过&符号连接。该参数当前支持以下两种取值:virtual_hosted_style:默认值,表示以 Virtual-hosted-style 访问对象存储。path_style:表示以 Path-style 访问对象存储。
例如,用户租户设置本租户使用 OBS 作为归档介质,并以 Virtual-hosted-style 格式访问 OBS,示例语句如下:
ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=s3://oceanbase-test-bucket/backup/archive?host=obs.****.myhuaweicloud.com&access_id=****&access_key=****&addressing_model=virtual_hosted_style';zone、idc、region:指定归档路径的源端,即指定可以访问该路径的节点范围,可选参数,与其他参数之间使用英文符号&分隔。支持选择zone、idc或region三个不同层级的配置,只能同时选择一个层级或者不设置,默认不设置。如果需要设置 Region 层级或 IDC 层级,需要先通过
ALTER SYSTEM MODIFY ZONE zone_name SET REGION=region_name;或ALTER SYSTEM MODIFY ZONE zone_name SET IDC=idc_name;语句设置 Region 信息或 IDC 信息。推荐设置 IDC 层级的源端配置,利用有较多网络带宽资源的 IDC 来执行归档任务的同时,归档任务有更多的可选节点范围,同时用户也不需要关注集群中 IDC 内 Zone 的变化情况。设置时,如果设置的
zone、idc或region不存在,将会报错提示源端信息不存在(错误码-9133)。由于日志归档的所有流量均由 Leader 副本写入,故对日志归档路径来说,没有访问优先级的差异,只是限制访问归档路径的节点范围。如果需要设置多个 Zone、多个 IDC 或多个 Region,多个值之间使用英文逗号(,)或英文分号(;)分隔。例如,
zone=z1,z2;z3表示指定z1、z2、z3作为归档的源端。配置
zone、idc或region时,要求 Leader 副本在指定的zone、idc或region中,否则,归档将会无法推进。
示例
系统租户
系统租户为租户
mysql_tenant配置归档路径,归档介质为 NFS,采用用户业务优先模式,且每隔一天切分一个 Piece。obclient [oceanbase]> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///data/nfs/backup/archive BINDING=Optional PIECE_SWITCH_INTERVAL=1d' TENANT = mysql_tenant;系统租户为租户
mysql_tenant配置归档路径,归档介质为 NFS,可以访问该归档路径的 Zone 为 z1、z2、z3,采用用户业务优先模式,且每隔一天切分一个 Piece。obclient [oceanbase]> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///data/nfs/backup/archive?zone=z1,z2,z3 BINDING=Optional PIECE_SWITCH_INTERVAL=1d' TENANT = mysql_tenant;系统租户为租户
mysql_tenant配置归档路径,归档介质为 OSS,归档文件的清理模式为delete,使用 MD5 算法校验归档文件的完整性。obclient [oceanbase]> 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;系统租户为租户
mysql_tenant配置归档路径,归档介质为 OSS,归档文件的清理模式为delete,不校验归档文件的完整性。obclient [oceanbase]> 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;系统租户为租户
mysql_tenant配置归档路径,归档介质为 OSS,归档文件的清理模式为tagging,并使用 MD5 算法校验归档文件的完整性。该路径配置了enable_worm=true时,系统将按照 WORM 的规范对该路径执行写入和删除操作。注意
OceanBase 数据库当前不会替代您设置合规保留策略,请在设置归档路径前确保 OSS Bucket 已正确设置保留策略(WORM 策略)并锁定。
obclient [oceanbase]> 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;系统租户为租户
mysql_tenant配置归档路径,归档介质为 OSS,归档文件的清理模式为delete,可以访问该归档路径的 Zone 为 z1、z2、z3。obclient [oceanbase]> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=oss://oceanbase-test-bucket/backup/archive?host=***.aliyun-inc.com&access_id=***&access_key=***&delete_mode=delete&zone=z1,z2,z3' TENANT = mysql_tenant;系统租户为租户
mysql_tenant配置归档路径,归档介质为 AWS S3,归档文件的清理模式为delete,采用用户业务优先模式,且每隔一天切分一个 Piece。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 BINDING=Optional PIECE_SWITCH_INTERVAL=1d' TENANT = mysql_tenant;系统租户为租户
mysql_tenant配置归档路径,归档介质为 AWS S3,归档文件的清理模式为tagging,使用 CRC32 算法校验归档文件的完整性。obclient [oceanbase]> 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=tagging&checksum_type=crc32' TENANT = mysql_tenant;系统租户为租户
mysql_tenant配置归档路径,归档介质为 OBS,通过 S3 协议访问。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;系统租户为租户
mysql_tenant配置归档路径,归档介质为 GCS,通过 S3 协议访问。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;系统租户为租户
mysql_tenant配置归档路径,归档介质为 COS,归档文件的清理模式为delete,通过 S3 协议访问。注意
使用 COS 作为归档介质时,需要先设置集群级配置项 ob_storage_s3_url_encode_type,详细操作可参见 日志归档的准备工作。
obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=s3://oceanbase-test/backup/archive?host=cos.ap-***.myqcloud.com&access_id=***&access_key=***&delete_mode=delete' TENANT = mysql_tenant;系统租户为租户
mysql_tenant配置归档路径,归档介质为 Azure Blob,配置清理模式为delete,同时指定校验算法为md5,采用用户业务优先模式,且每隔一天切分一个 Piece。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 BINDING=Optional PIECE_SWITCH_INTERVAL=1d' TENANT = mysql_tenant;
用户租户
租户
mysql_tenant为本租户配置归档路径,归档介质为 NFS,采用用户业务优先模式,且每隔一天切分一个 Piece。obclient [oceanbase]> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///data/nfs/backup/archive BINDING=Optional PIECE_SWITCH_INTERVAL=1d';租户
mysql_tenant为本租户配置归档路径,归档介质为 NFS,可以访问该归档路径的 region 为region1,采用用户业务优先模式,且每隔一天切分一个 Piece。obclient [oceanbase]> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///data/nfs/backup/archive?region=region1 BINDING=Optional PIECE_SWITCH_INTERVAL=1d';租户
mysql_tenant为本租户配置归档路径,归档介质为 OSS,归档文件的清理模式为tagging,使用 MD5 算法校验归档文件的完整性。obclient [oceanbase]> 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';租户
mysql_tenant为本租户配置归档路径,归档介质为 OSS,归档文件的清理模式为tagging,不校验归档文件的完整性。obclient [oceanbase]> 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=no_checksum';租户
mysql_tenant为本租户配置归档路径,归档介质为 OSS,归档文件的清理模式为tagging,使用 MD5 算法校验归档文件的完整性。该路径配置了enable_worm=true时,系统将按照 WORM 的规范对该路径执行写入和删除操作。注意
OceanBase 数据库当前不会替代您设置合规保留策略,请在设置归档路径前确保 OSS Bucket 已正确设置保留策略(WORM 策略)并锁定。
obclient [oceanbase]> 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';租户
mysql_tenant为本租户配置归档路径,归档介质为 OSS,归档文件的清理模式为delete,可以访问该归档路径的 idc 为IDC3。obclient [oceanbase]> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=oss://oceanbase-test-bucket/backup/archive?host=***.aliyun-inc.com&access_id=***&access_key=***&delete_mode=delete&idc=idc3';租户
mysql_tenant为本租户配置归档路径,归档介质为 AWS S3,归档文件的清理模式为delete,采用用户业务优先模式,且每隔一天切分一个 Piece。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 BINDING=Optional PIECE_SWITCH_INTERVAL=1d';租户
mysql_tenant为本租户配置归档路径,归档介质为 AWS S3,归档文件的清理模式为tagging,使用 CRC32 算法校验归档文件的完整性。obclient [oceanbase]> 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=tagging&checksum_type=crc32';租户
mysql_tenant为本租户配置归档路径,归档介质为 OBS,通过 S3 协议访问。obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=s3://oceanbase-test-bucket/backup/archive?host=obs.****.myhuaweicloud.com&access_id=****&access_key=****';租户
mysql_tenant为本租户配置归档路径,归档介质为 GCS,通过 S3 协议访问。obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=s3://oceanbase-test-bucket/backup/archive?host=https://storage.googleapis.com&access_id=****&access_key=****';租户
mysql_tenant为本租户配置归档路径,归档介质为 COS,归档文件的清理模式为delete,通过 S3 协议访问。注意
使用 COS 作为归档介质时,需要先设置集群级配置项 ob_storage_s3_url_encode_type,详细操作可参见 日志归档的准备工作。
obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=s3://oceanbase-test/backup/archive?host=cos.ap-***.myqcloud.com&access_id=***&access_key=***&delete_mode=delete';租户
mysql_tenant为本租户配置归档路径,归档介质为 Azure Blob,配置清理模式为delete,同时指定校验算法为md5,采用用户业务优先模式,且每隔一天切分一个 Piece。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 BINDING=Optional PIECE_SWITCH_INTERVAL=1d';