ITPub博客

首页 > 数据库 > 国内数据库 > 【手摸手玩转 OceanBase 153】准备工作

【手摸手玩转 OceanBase 153】准备工作

原创 国内数据库 作者:13579NB232 时间:2023-01-19 16:45:59 0 删除 编辑

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

配置归档目的端

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

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

    说明

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

  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 作为归档目的端介质时,除了设置归档路径、  host、 access_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';

注意事项及说明

配置项  LOG_ARCHIVE_DEST 设置成功后,默认系统会在配置的目的端所在的目录下创建一个  format 文件,用于校验备份目的端的有效性信息,确保目的端内数据的完整性。故,在配置日志归档的目的端时,需要注意以下事项:

  • 如果  format 文件不存在,则要求配置的目的端所在的目录为空,配置项才能设置成功。否则,系统会报  -9080 的错误,提示 format 文件不存在。

  • 如果  format 文件已存在,则要求  format 文件的内容检验通过,配置项才能设置成功。否则,系统会报  -9080 的错误,提示 format 文件不匹配, format 文件的内容校验主要是检查集群、租户与备份目的端类型等与当前操作的集群、租户及备份目的端类型是否匹配。

  • 在执行备份任务时,如果  format 文件不存在或  format 文件校验不通过,任务会发起失败。

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

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

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

相关阅读

查看归档参数


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70026124/viewspace-2932867/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2023-01-18

  • 博文量
    184
  • 访问量
    93196