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

分布式数据库学习Note122:OceanBase社区版中,物理备份中 Piece 是什么?

本节主要介绍物理备份中 Piece 的含义及备份过程中 Piece 的查看方法。

Piece 的概念

OceanBase 数据库按照 Piece 来组织和管理归档日志数据,一个 Piece 是某个租户连续一段时间内完备日志的集合。这里面隐含着以下两个重要特点:

  • 一个 Piece 仅包含一段连续时间内的日志,可以是 1d,也可以是其他时间,例如 2d ,该时间段由 LOG_ARCHIVE_DEST 参数中的 piece_switch_interval 属性控制。

  • 一个 Piece 内的日志是完备的,意味着该租户在这一段时间内的所有日志流产生的日志都被组织在该 Piece 内。

假设 LOG_ARCHIVE_DEST 参数中的 piece_switch_interval 属性设置为 1d ,那么 OceanBase 数据库每隔 1 天就会生成一个 Piece,除了每轮归档的最后一个 Piece,其他每个 Piece 内均包含了完整 1 天的日志,所有日志按照规则被归档到这个 Piece 中。例如,'2022-06-01 06:00:00.000000' 开启日志归档后,生成的完整的 Piece 包含了当前租户的日志的 SCN 的范围是 '2022-06-01 06:00:00.000000' ~ '2022-06-02 06:00:00.000000'

Piece 的几个重要属性

Piece 有 START_SCNCHECKPOINT_SCNSTATUS 和 FILE_STATUS 等几个重要属性。

START_SCN

START_SCN 字段用于描述 Piece 中连续日志的起点 SCN。

CHECKPOINT_SCN

CHECKPOINT_SCN 字段用于描述 Piece 中连续日志的终点 SCN。对于每轮归档产生的 Piece 来说,最后一个 Piece 是包含终点 SCN 的日志的,而非最后一个 Piece 则不包含终点 SCN 的日志。

例如, LOG_ARCHIVE_DEST 参数中的 piece_switch_interval 属性设置为 1d,开启归档的时间是 2022-06-01 06:00:00 ,关闭归档的时间是 2022-06-03 04:00:00

那么,该轮归档产生的第 1 个 Piece 的 START_SCN 是 '2022-06-01 06:00:00' , CHECKPOINT_SCN 是 '2022-06-02 06:00:00' ,表示所有大于等于 '2022-06-01 06:00:00',而小于 '2022-06-02 06:00:00' 的日志都包含在这个 Piece 中。 第 2 个 Piece 的 START_SCN 是 '2022-06-02 06:00:00'CHECKPOINT_SCN 是 '2022-06-03 04:00:00',表示所有大于等于'2022-06-02 06:00:00',而小于等于 '2022-06-03 04:00:00' 的日志都包含在这个 Piece 中。

STATUS

STATUS 字段用于描述 Piece 的状态,各状态及说明如下表所示。

状态描述
ACTIVE活动的 Piece,表示系统正在向这个 Piece 内归档日志
FROZEN冻结的 Piece ,表示该 Piece 内的日志是完整的,不会再向这个 Piece 内归档日志

FILE_STATUS

FILE_STATUS 用于描述 Piece 的文件状态,各状态及说明如下表所示。

字段描述
AVAILABLEPiece 内数据是完备的,并且是完整的,既没有被清理,也没有损坏
INCOMPLETEPiece 内数据不是完备的,缺少了某些日志流的数据
DELETING过期正在被清理的 Piece。
DELETEDPiece 已被清理
BROKENPiece 内数据已损坏

查看 Piece 信息

系统租户查看所有租户的所有 Piece 信息

sys 租户可以通过 oceanbase.CDB_OB_ARCHIVELOG_PIECE_FILES 视图查看当前集群中所有租户的所有 Piece 信息。

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

  2. 执行以下语句,查看所有租户的所有 Piece 信息。

    示例如下:

    obclient> SELECT * FROM oceanbase.CDB_OB_ARCHIVELOG_PIECE_FILES\G
    *************************** 1. row ***************************
                 TENANT_ID: 1002
                   DEST_ID: 2
                  ROUND_ID: 1
                  PIECE_ID: 1
               INCARNATION: 1
                   DEST_NO: 0
                    STATUS: FROZEN
                 START_SCN: 1654034400000000000
         START_SCN_DISPLAY: 2022-06-01 06:00:00.000000
            CHECKPOINT_SCN: 1654120800000000000
    CHECKPOINT_SCN_DISPLAY: 2022-06-02 06:00:00.000000
                   MAX_SCN: 1654120800000000000
                   END_SCN: 1654120800000000000
                COMPATIBLE: 1
               INPUT_BYTES: 26843545600
       INPUT_BYTES_DISPLAY: 25.00GB
              OUTPUT_BYTES: 26843545600
      OUTPUT_BYTES_DISPLAY: 25.00GB
         COMPRESSION_RATIO: 1.00
               FILE_STATUS: DELETED
                      PATH: file:///data/nfs/backup/archive
    *************************** 2. row ***************************
                 TENANT_ID: 1002
                   DEST_ID: 2
                  ROUND_ID: 1
                  PIECE_ID: 2
               INCARNATION: 1
                   DEST_NO: 0
                    STATUS: FROZEN
                 START_SCN: 1654120800000000000
         START_SCN_DISPLAY: 2022-06-02 06:00:00.000000
            CHECKPOINT_SCN: 1654207200000000000
    CHECKPOINT_SCN_DISPLAY: 2022-06-03 06:00:00.000000
                   MAX_SCN: 1654207200000000000
                   END_SCN: 1654207200000000000
                COMPATIBLE: 1
               INPUT_BYTES: 48318382080
       INPUT_BYTES_DISPLAY: 45.00GB
              OUTPUT_BYTES: 48318382080
      OUTPUT_BYTES_DISPLAY: 45.00GB
         COMPRESSION_RATIO: 1.00
               FILE_STATUS: AVAILABLE
                      PATH: file:///data/nfs/backup/archive
    *************************** 3. row ***************************
                 TENANT_ID: 1002
                   DEST_ID: 2
                  ROUND_ID: 1
                  PIECE_ID: 3
               INCARNATION: 1
                   DEST_NO: 0
                    STATUS: FROZEN
                 START_SCN: 1654207200000000000
         START_SCN_DISPLAY: 2022-06-03 06:00:00.000000
            CHECKPOINT_SCN: 1654228800000000000
    CHECKPOINT_SCN_DISPLAY: 2022-06-03 12:00:00.000000
                   MAX_SCN: 1654228810000000000
                   END_SCN: 1654293600000000000
                COMPATIBLE: 1
               INPUT_BYTES: 21474836480
       INPUT_BYTES_DISPLAY: 20.00GB
              OUTPUT_BYTES: 21474836480
      OUTPUT_BYTES_DISPLAY: 20.00GB
         COMPRESSION_RATIO: 1.00
               FILE_STATUS: AVAILABLE
                      PATH: file:///data/nfs/backup/archive
    *************************** 4. row ***************************
                 TENANT_ID: 1002
                   DEST_ID: 2
                  ROUND_ID: 2
                  PIECE_ID: 4
               INCARNATION: 1
                   DEST_NO: 0
                    STATUS: ACTIVE
                 START_SCN: 1655697600000000000
         START_SCN_DISPLAY: 2022-06-20 12:00:00.000000
            CHECKPOINT_SCN: 1655769600000000000
    CHECKPOINT_SCN_DISPLAY: 2022-06-21 08:00:00.000000
                   MAX_SCN: 1655769610000000000
                   END_SCN: 1655784000000000000
                COMPATIBLE: 1
               INPUT_BYTES: 16106127360
       INPUT_BYTES_DISPLAY: 15.00GB
              OUTPUT_BYTES: 16106127360
      OUTPUT_BYTES_DISPLAY: 15.00GB
         COMPRESSION_RATIO: 1.00
               FILE_STATUS: AVAILABLE
                      PATH: file:///data/nfs/backup/archive
    *************************** 5. row ***************************
                 TENANT_ID: 1004
                   DEST_ID: 1
                  ROUND_ID: 1
                  PIECE_ID: 1
               INCARNATION: 1
                   DEST_NO: 0
                    STATUS: FROZEN
                 START_SCN: 1655658000000000000
         START_SCN_DISPLAY: 2022-06-20 01:00:00.000000
            CHECKPOINT_SCN: 1655744400000000000
    CHECKPOINT_SCN_DISPLAY: 2022-06-21 01:00:00.000000
                   MAX_SCN: 1655744400000000000
                   END_SCN: 1655744400000000000
                COMPATIBLE: 1
               INPUT_BYTES: 53687091200
       INPUT_BYTES_DISPLAY: 50.00GB
              OUTPUT_BYTES: 53687091200
      OUTPUT_BYTES_DISPLAY: 50.00GB
         COMPRESSION_RATIO: 1.00
               FILE_STATUS: AVAILABLE
                      PATH: oss://oceanbase-test-bucket/backup/archive?host=xxx.aliyun-inc.com
    *************************** 6. row ***************************
                 TENANT_ID: 1004
                   DEST_ID: 1
                  ROUND_ID: 1
                  PIECE_ID: 2
               INCARNATION: 1
                   DEST_NO: 0
                    STATUS: ACTIVE
                 START_SCN: 1655744400000000000
         START_SCN_DISPLAY: 2022-06-21 01:00:00.000000
            CHECKPOINT_SCN: 1655769600000000000
    CHECKPOINT_SCN_DISPLAY: 2022-06-21 08:00:00.000000
                   MAX_SCN: 1655769620000000000
                   END_SCN: 1655830800000000000
                COMPATIBLE: 1
               INPUT_BYTES: 107374182400
       INPUT_BYTES_DISPLAY: 100.00GB
              OUTPUT_BYTES: 107374182400
      OUTPUT_BYTES_DISPLAY: 100.00GB
         COMPRESSION_RATIO: 1.00
               FILE_STATUS: AVAILABLE
                      PATH: oss://oceanbase-test-bucket/backup/archive?host=xxx.aliyun-inc.com
    6 rows in set
    

    上面的示例中,租户 ID 为 1002 的租户有 4 个 Piece 信息,租户 ID 为 1004 的租户有 2 个 Piece 信息。

    1002 租户的 4 个 Piece 中:

    • piece_id 分别是 1~3 的 3 个 Piece 的 round_id 都是 1,说明这 3 个 Piece 都是在第 1 轮归档中生成,piece 4 是在第 2 轮归档中生成的。 piece 1 的日志连续范围是 '2022-06-01 06:00:00.000000' ~ '2022-06-02 06:00:00.000000' ,原始的日志数据量是 25GB ,归档的实际数据量是 25GB ,数据压缩比是 1.00 。并且,piece 1 的 FILE_STATUS 字段的值为 DELETED ,表明这个 Piece 的数据由于过期已经被清理了。STATUS 字段的值为 FROZEN ,表明该 Piece 的数据已经完整,不会再向其中归档日志。

    • piece id 是 2~4 的 3 个 Piece 的 FILE_STATUS字段的值为 AVAILABLE,表明这 3 个 Piece 的数据都还可以被访问到,即没有被删除。 piece 3 的 CHECKPOINT_SCN 没有到 '2022-06-04 06:00:00.000000' 就变成 FROZEN 的原因是由于用户关闭归档,所以不会再向 piece 3 中归档数据。当前,1002 租户正在进行第 2 轮归档,piece 4 是在该轮归档中产生的第 1 个 Piece ,若继续归档,piece 4 的 CHECKPOINT_SCN 会直到 '2022-06-21 12:00:00.000000' 才会结束,因此,piece 4的 STATUS 是 ACTIVE

    1004 租户也正在归档,并且是该租户的第 1 轮归档。已经生成了 2 个 Piece,piece id 分别是 1 和 2piece 1 已经完成,状态是 FROZEN 。piece 2 正在归档,状态是 ACTIVE

用户租户查看本租户所有的 Piece 信息

用户租户可以通过 oceanbase.DBA_OB_ARCHIVELOG_PIECE_FILES 视图(MySQL 模式)和 sys.DBA_OB_ARCHIVELOG_PIECE_FILES 视图(Oracle 模式)查看本租户的所有 Piece 信息。

  1. 用户租户的租户管理员登录到对应的租户。

    说明

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

  2. 执行以下语句,查看当前租户的所有 Piece。

    MySQL 租户查看本租户所有 Piece 的示例如下:

    obclient> SELECT * FROM oceanbase.DBA_OB_ARCHIVELOG_PIECE_FILES\G
    *************************** 1. row ***************************
                   DEST_ID: 2
                  ROUND_ID: 1
                  PIECE_ID: 1
               INCARNATION: 1
                   DEST_NO: 0
                    STATUS: FROZEN
                 START_SCN: 1654034400000000000
         START_SCN_DISPLAY: 2022-06-01 06:00:00.000000
            CHECKPOINT_SCN: 1654120800000000000
    CHECKPOINT_SCN_DISPLAY: 2022-06-02 06:00:00.000000
                   MAX_SCN: 1654120800000000000
                   END_SCN: 1654120800000000000
                COMPATIBLE: 1
               INPUT_BYTES: 26843545600
       INPUT_BYTES_DISPLAY: 25.00GB
              OUTPUT_BYTES: 10737418240
      OUTPUT_BYTES_DISPLAY: 10.00GB
         COMPRESSION_RATIO: 2.50
               FILE_STATUS: DELETED
                      PATH: file:///data/nfs/backup/archive
    *************************** 2. row ***************************
                   DEST_ID: 2
                  ROUND_ID: 1
                  PIECE_ID: 2
               INCARNATION: 1
                   DEST_NO: 0
                    STATUS: FROZEN
                 START_SCN: 1654120800000000000
         START_SCN_DISPLAY: 2022-06-02 06:00:00.000000
            CHECKPOINT_SCN: 1654207200000000000
    CHECKPOINT_SCN_DISPLAY: 2022-06-03 06:00:00.000000
                   MAX_SCN: 1654207200000000000
                   END_SCN: 1654207200000000000
                COMPATIBLE: 1
               INPUT_BYTES: 48318382080
       INPUT_BYTES_DISPLAY: 45.00GB
              OUTPUT_BYTES: 27917287424
      OUTPUT_BYTES_DISPLAY: 26.00GB
         COMPRESSION_RATIO: 1.73
               FILE_STATUS: AVAILABLE
                      PATH: file:///data/nfs/backup/archive
    *************************** 3. row ***************************
                   DEST_ID: 2
                  ROUND_ID: 1
                  PIECE_ID: 3
               INCARNATION: 1
                   DEST_NO: 0
                    STATUS: FROZEN
                 START_SCN: 1654207200000000000
         START_SCN_DISPLAY: 2022-06-03 06:00:00.000000
            CHECKPOINT_SCN: 1654228800000000000
    CHECKPOINT_SCN_DISPLAY: 2022-06-03 12:00:00.000000
                   MAX_SCN: 1654228810000000000
                   END_SCN: 1654293600000000000
                COMPATIBLE: 1
               INPUT_BYTES: 21474836480
       INPUT_BYTES_DISPLAY: 20.00GB
              OUTPUT_BYTES: 4294967296
      OUTPUT_BYTES_DISPLAY: 4.00GB
         COMPRESSION_RATIO: 5.00
               FILE_STATUS: AVAILABLE
                      PATH: file:///data/nfs/backup/archive
    *************************** 4. row ***************************
                   DEST_ID: 2
                  ROUND_ID: 2
                  PIECE_ID: 4
               INCARNATION: 1
                   DEST_NO: 0
                    STATUS: ACTIVE
                 START_SCN: 1655697600000000000
         START_SCN_DISPLAY: 2022-06-20 12:00:00.000000
            CHECKPOINT_SCN: 1655769600000000000
    CHECKPOINT_SCN_DISPLAY: 2022-06-21 08:00:00.000000
                   MAX_SCN: 1655769610000000000
                   END_SCN: 1655784000000000000
                COMPATIBLE: 1
               INPUT_BYTES: 16106127360
       INPUT_BYTES_DISPLAY: 15.00GB
              OUTPUT_BYTES: 7516192768
      OUTPUT_BYTES_DISPLAY: 7.00GB
         COMPRESSION_RATIO: 2.14
               FILE_STATUS: AVAILABLE
                      PATH: file:///data/nfs/backup/archive
    4 rows in set
    

更多 CDB_OB_ARCHIVELOG_PIECE_FILES 视图的说明,请参见 CDB_OB_ARCHIVELOG_PIECE_FILES

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

评论