暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

分布式数据库学习Note3:OceanBase社区版中,如何手动触发合并?

合并也可以通过手动触发来完成。

通过 SQL 语句手动发起合并

前提条件

执行手动合并前,请确认自动合并开关已关闭,关闭自动合并开关的操作如下:

  1. 使用 root 用户登录到数据库的 sys 租户。

  2. 执行以下语句,关闭自动合并开关。

    obclient> ALTER SYSTEM SET enable_major_freeze='False';
    

    配置项 enable_major_freeze 用于控制是否开启自动合并,默认值为 True ,表示开启自动合并。

    关于配置项 enable_major_freeze 的更多信息,请参见 enable_major_freeze

系统租户手动发起合并

系统租户可以对所有租户或指定租户发起合并操作。

具体操作如下:

  1. 使用 root 用户登录到数据库的 sys 租户。

  2. 执行以下命令,发起合并。

    SQL 语句如下:

    obclient> ALTER SYSTEM MAJOR FREEZE TENANT [=] ALL | tenant_name [, tenant_name ...];
    

    示例如下:

    • 对所有租户发起合并

      obclient> ALTER SYSTEM MAJOR FREEZE TENANT=ALL;
      
    • 对指定租户发起合并

      obclient> ALTER SYSTEM MAJOR FREEZE TENANT=tenant1,tenant2;
      
  3. 执行以下语句,开始合并。

    SQL 语句如下:

    obclient> ALTER SYSTEM START MERGE TENANT= ALL | tenant1,tenant2;
    

    开始所有租户或指定租户的合并,示例如下:

    obclient> ALTER SYSTEM  START MERGE TENANT=ALL;
    
    obclient> ALTER SYSTEM  START MERGE TENANT=tenant1,tenant2;
    

    开始合并后,如果您需要暂停合并,您可以执行以下语句暂停所有租户或指定租户的合并:

    obclient> ALTER SYSTEM SUSPEND MERGE TENANT=ALL;
    
    obclient> ALTER SYSTEM SUSPEND MERGE TENANT=tenant1,tenant2;
    

    暂停合并后,您也可以恢复合并,语句如下:

    obclient> ALTER SYSTEM RESUME MERGE TENANT=ALL;
    
    obclient> ALTER SYSTEM RESUME MERGE TENANT=tenant1,tenant2;
    

普通租户手动发起合并

普通租户可以发起对本租户的合并操作。

操作步骤

  1. 租户管理员登录数据库。

  2. 对本租户发起合并。

    语句如下:

    obclient> ALTER SYSTEM MAJOR FREEZE;
    
  3. 开始本租户的合并。

    obclient> ALTER SYSTEM START MERGE;
    

    开始合并后,如果您需要暂停本租户的合并,可以执行以下语句:

    obclient> ALTER SYSTEM SUSPEND MERGE;
    

    暂停合并后,也可以恢复合并,语句如下:

    obclient> ALTER SYSTEM RESUME MERGE;
    

相关阅读

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论