本节主要介绍物理备份中 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_SCN、CHECKPOINT_SCN、STATUS 和 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 的文件状态,各状态及说明如下表所示。
| 字段 | 描述 |
|---|---|
| AVAILABLE | Piece 内数据是完备的,并且是完整的,既没有被清理,也没有损坏 |
| INCOMPLETE | Piece 内数据不是完备的,缺少了某些日志流的数据 |
| DELETING | 过期正在被清理的 Piece。 |
| DELETED | Piece 已被清理 |
| BROKEN | Piece 内数据已损坏 |
查看 Piece 信息
系统租户查看所有租户的所有 Piece 信息
sys 租户可以通过 oceanbase.CDB_OB_ARCHIVELOG_PIECE_FILES 视图查看当前集群中所有租户的所有 Piece 信息。
使用
root用户登录数据库的sys租户。执行以下语句,查看所有租户的所有 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和2。piece 1已经完成,状态是FROZEN。piece 2正在归档,状态是ACTIVE。
用户租户查看本租户所有的 Piece 信息
用户租户可以通过 oceanbase.DBA_OB_ARCHIVELOG_PIECE_FILES 视图(MySQL 模式)和 sys.DBA_OB_ARCHIVELOG_PIECE_FILES 视图(Oracle 模式)查看本租户的所有 Piece 信息。
用户租户的租户管理员登录到对应的租户。
说明
MySQL 租户的管理员用户为
root用户,Oracle 租户的管理员用户为SYS用户。执行以下语句,查看当前租户的所有 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。




