首批通过分布式安全可靠测评,为关键业务系统打造
手动触发转储
更新时间:2024-03-21 16:26:18
系统租户可以通过 ALTER SYSTEM MINOR FREEZE 命令手动触发转储。手动转储支持租户级别、Zone 级别、Server 级别、日志流级别和 Tablet 级别。
操作步骤
使用
root用户登录集群的sys租户。根据业务需求,选择合适的转储操作。
租户级别的转储
可以对所有租户、指定的一个或多个租户进行转储,SQL 语句如下。
obclient> ALTER SYSTEM MINOR FREEZE TENANT [=] ALL | tenant_name [, tenant_name ...];示例:
obclient> ALTER SYSTEM MINOR FREEZE TENANT =ALL; Query OK, 0 rows affected obclient> ALTER SYSTEM MINOR FREEZE tenant = tenant1; Query OK, 0 rows affected obclient> ALTER SYSTEM MINOR FREEZE TENANT =tenant1,tenant2; Query OK, 0 rows affected说明
如果不指定租户,执行
ALTER SYSTEM MINOR FREEZE语句,则表示对sys租户本身进行转储。Zone 级别的转储
可以对指定的一个或多个 Zone 进行转储,SQL 语句如下。
obclient> ALTER SYSTEM MINOR FREEZE ZONE [=] zone_name [, zone_name ...];示例:
obclient> ALTER SYSTEM MINOR FREEZE ZONE = zone1; Query OK, 0 rows affectedServer 级别的转储
可以对指定的一个或多个 OBServer 节点进行转储,SQL 语句如下。
obclient> ALTER SYSTEM MINOR FREEZE SERVER = ('ip:port' [, 'ip:port'...]);示例:
obclient> ALTER SYSTEM MINOR FREEZE SERVER = ('xx.xx.xx.xx:2882'); Query OK, 0 rows affected日志流级别的转储
可以对指定租户的指定日志流进行转储,SQL 语句如下。
ALTER SYSTEM MINOR FREEZE TENANT [=] tenant_name LS [=] ls_id;其中,
tenant_name为指定租户的租户名;ls_id为指定租户的日志流 ID;租户的日志流 ID 可以通过查询oceanbase.CDB_OB_TABLE_LOCATIONS视图获取。示例:
obclient> ALTER SYSTEM MINOR FREEZE TENANT = t1 LS = 1001; Query OK, 0 rows affected语句执行后,系统会对指定租户的指定日志流的所有 Tablet 进行转储。
Tablet 级别的转储
可以对指定租户的指定 Tablet 进行转储,SQL 语句如下。
ALTER SYSTEM MINOR FREEZE TENANT [=] tenant_name TABLET_ID = tid;或者,也可以对指定租户指定日志流中的指定 Tablet 进行转储,SQL 语句如下。
ALTER SYSTEM MINOR FREEZE TENANT [=] tenant_name LS [=] ls_id TABLET_ID = tid;其中,
tenant_name为指定租户的租户名;ls_id为指定租户的日志流 ID;tid为指定日志流中的 Tablet ID,租户的日志流 ID 和 Tablet ID 可以通过查询oceanbase.CDB_OB_TABLE_LOCATIONS视图获取。示例:
obclient> ALTER SYSTEM MINOR FREEZE TENANT = t1 tablet_id = 200001; Query OK, 0 rows affected obclient> ALTER SYSTEM MINOR FREEZE TENANT = t1 LS = 1001 tablet_id = 200001; Query OK, 0 rows affected
后续操作
发起转储后,您可以查看转储情况,具体操作请参见 查看转储进度。