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

分布式数据库学习Note118:OceanBase社区版中,如何准备日志归档?

在打开日志归档功能前,您需要使用 ALTER SYSTEM 命令配置 LOG_ARCHIVE_DEST 参数。sys 租户无需设置 LOG_ARCHIVE_DEST 参数。

配置归档目的端

配置归档目的端的操作主要是设置 LOCATIONPIECE_SWITCH_INRERVAL 和 BINDING 属性。

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

    说明

    MySQL 模式的管理员用户为 root 用户。

  2. 设置归档目的端参数。

    语句如下:

    obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=xxx [PIECE_SWITCH_INRERVAL=xxx] [BINDING=xxx]';
    
    • 配置 LOCATION (必选)

      LOCATION 属性用于指定归档目的端,目前 OceanBase 数据库支持的归档目的端介质为 NFS 和阿里云 OSS。

      • NFS

        注意

        使用 NFS 作为归档目的端时,需要注意以下事项:

        • LOCATION 的值不支持设置为带有问号(?)的字符串。

        • LOCATION 的值必须设置为绝对路径,保证 OBServer 对 LOCATION 具有读写权限 。

          必须保证所有 OBServer 都挂载了同一个服务器的 NFS。同时,为保证归档顺利进行,务必使用本文档中建议的参数挂载 NFS。挂载 NFS 的具体操作,请参见 部署 NFS 客户端

        当归档目的端的介质为 NFS 时,设置归档目的端的示例如下:

        obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///data/nfs/backup/archive';
        

        本示例中,file:// 表示使用 NFS 作为归档目的端的介质类型,归档路径为 /data/nfs/backup/archive

      • 阿里云 OSS

        使用 OSS 作为归档目的端介质时,除了设置归档路径、 hostaccess_key 和 access_id,您还可以通过 delete_mode 参数来配置归档文件的清理模式。

        delete_mode 参数当前支持 delete 和 tagging 两种归档文件的清理模式,如果不配置,则默认为 delete 清理模式。

        • delete :表示清理模式为直接删除满足清理要求的归档文件。

          配置为该模式后,当您通过自动方式清理归档文件时,对于满足清理要求的归档文件,系统会直接将其删除。

          注意

          该模式为默认的清理模式,如果不配置 delete_mode 参数,则默认使用 delete 清理模式。

        • tagging:表示清理模式为对满足清理要求的归档文件设置 Tag,归档文件将仍然保留。

          配置为该模式后,当您通过自动方式清理归档文件时,对于满足清理要求的归档文件,系统会给这些文件设置标签,标签的 key 为 "delete_mode", value 为 "tagging",以便后续您可以通过设置的标签在 OSS 上对这些文件的生命周期进行管理。

        设置 delete 模式或 tagging 模式后,自动清理归档数据的相关操作请参见 自动清理归档的数据

        当归档目的端的介质为 OSS 时,设置归档目的端,并配置 tagging 清理模式的示例如下:

        obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=oss://oceanbase-test-bucket/backup/archive?host=xxx.aliyun-inc.com&access_id=xxx&access_key=xxx&delete_mode=tagging';
        

        本示例中,oss:// 表示使用 OSS 作为归档目的端介质类型,存储桶名 oceanbase-test-bucket ,在存储桶中的路径是 /backup/archive,同时使用 ? 来分隔路径的其他参数,host 用于设置存储桶的主机地址, access_id 和 access_key 用于设置 OSS 的访问密钥, 清理模式设置为 tagging

    • 配置 BINDING 属性(可选)

      BINDING 属性用于设置归档和业务的优先模式。目前支持 Optional 模式和 Mandatory 模式。如果不配置,默认为 Optional 模式。

      • Optional 模式表示以用户业务优先。在该模式下,当归档(日志归档)速度跟上不日志生成的速度时,日志有可能来不及归档就被回收了,然后发生断流。

      • Mandatory 模式表示以归档优先。在该模式下如果归档跟不上用户数据的写入,可能会导致用户无法写入。

      示例如下:

      obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///data/nfs/backup/archive BINDING=Optional';
      
      obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///data/nfs/backup/archive BINDING=Mandatory';
      
    • 配置 PIECE_SWITCH_INTERVAL 属性 (可选)

      PIECE_SWITCH_INTERVAL 属性用于配置 piece 的切换周期,取值范围为 [1d, 7d]。如果不设置,默认为 1d

      例如,配置归档路径且每隔一天切分一个日志 piece 的示例如下:

      obclient> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///data/nfs/backup/archive BINDING=Optional PIECE_SWITCH_INTERVAL=1d';
      

注意事项

归档目的端配置成功后,不支持增量配置。

例如,假设 NFS 下归档路径 /data/nfs/backup/archive 配置的 BINGDING 属性为 Mandatory ,PIECE_SWITCH_INTERVAL 属性为 1d。若需要更新 PIECE_SWITCH_INTERVAL 为 2d ,但保留 BINGDING 属性的配置 Mandatory ,您仍然需要在命令中指定其他属性的值,否则未指定的属性将使用默认值。

您需要重新执行以下语句进行修改。

ALTER SYSTEM SET LOG_ARCHIVE_DEST = 'LOCATION=file:///data/nfs/backup/archive BINDING=Mandatory PIECE_SWITCH_INTERVAL=2d';

相关阅读

查看归档参数

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

评论