首批通过分布式安全可靠测评,为关键业务系统打造
开启归档模式
更新时间:2026-03-28 19:32:55
归档模式用于控制某个租户的日志归档功能,只有在归档模式下,才可以进行日志归档任务。若租户在开启归档模式之前,已经配置了归档目的端,并且该目的端处于 ENABLE 状态,开启归档模式后,系统将会自动发起日志归档任务。
背景信息
假设当前集群中有 3 个租户,分别是 sys、mysql_tenant 和 oracle_tenant,且租户 mysql_tenant 和 oracle_tenant 均未开启归档模式,您可以通过以下 3 种方式为租户开启归档模式。
系统租户为其他租户开启归档模式
sys 租户可以为集群中的所有租户或指定租户开启归档模式。
使用
root用户登录集群的sys租户。执行以下语句,开启归档模式。
开启集群中所有租户的归档模式
该方式会将当前集群中的所有租户开启归档模式。
注意
该操作仅对当前集群中的所有租户生效,对于该操作之后所创建的租户,系统不会自动开启归档模式。
obclient [(none)]> ALTER SYSTEM ARCHIVELOG [TENANT = ALL];命令执行成功后,在本示例中,
mysql_tenant和oracle_tenant都会开启归档模式。可以在sys租户下的oceanbase.DBA_OB_TENANTS视图中查看集群中所有租户的归档模式。示例如下:
obclient [(none)]> 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租户的日志归档的示例如下:obclient [(none)]> ALTER SYSTEM ARCHIVELOG TENANT = mysql_tenant;说明
同时指定多个租户时,租户名之间使用英文逗号 (`,`) 分隔。
命令执行成功后,在本示例中,仅
mysql_tenant租户会进入归档模式。可以在sys租户下的oceanbase.DBA_OB_TENANTS视图中查看集群中所有租户的归档模式。obclient [(none)]> 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
用户租户为本租户开启归档模式
用户租户也可以直接为本租户开启归档模式,不会影响其他租户。
租户管理员登录到数据库。
本示例中,您可以使用
root用户登录mysql_tenant租户;或者也可以使用SYS用户登录oracle_tenant租户。执行以下语句,开启本租户的归档模式。归档服务开启后,本用户租户的数据字典也会被归档。
obclient [xxx]> ALTER SYSTEM ARCHIVELOG;命令执行成功后,可以直接通过该租户下的
DBA_OB_TENANTS视图查看该租户所处的归档模式。obclient [SYS]> SELECT TENANT_NAME, LOG_MODE FROM DBA_OB_TENANTS\G *************************** 1. row *************************** TENANT_NAME: oracle_tenant LOG_MODE: ARCHIVELOG 1 rows in set