备份管理
增量备份
增量备份功能中结构体mco_backup_info_t使用了 mco.h
中定义以下结构:
typedef struct mco_backup_info_t
{
uint4 magic;
uint4 protocol_version;
uint4 type;
uint4 flags;
uint4 backup_no;
uint8 timestamp;
uint8 size;
uint8 offset;
uint4 crc;
mco_trans_counter_t trans_no;
uint4 mem_page_size;
uint4 disk_page_size;
mco_counter_t n_pages_total;
char db_name[MCO_MAX_BACKUP_DBNAME_SIZE];
char label[MCO_MAX_BACKUP_LABEL_SIZE];
} mco_backup_info_t;
magic
uint4
用于标识备份记录头的“神奇”数字。
protocol_version
uint4
备份协议标识。
type
uint4
备份记录类型:
typedef enum {
MCO_BACKUP_TYPE_AUTO,
MCO_BACKUP_TYPE_SNAPSHOT,
MCO_BACKUP_TYPE_INCREMENTAL
} mco_backup_type;
flags
uint4
typedef enum {
MCO_BACKUP_FLAG_COMPRESSED = 1,
MCO_BACKUP_FLAG_ENCRYPTED = 2
} mco_backup_flags;
backup_no
uint4
一个连续的数字。
timestamp
uint8
备份时间戳。
size
uint8
备份段的大小。
offset
uint8
文件中的偏移量。
crc
uint4
备份记录校验和。
trans_no
mco_trans_counter_t
最后一个事件编号。
mem_page_size;
uint4
数据库的内存页大小。
disk_page_size
uint4
数据库的持久存储页面大小。
n_pages_total
mco_counter_t
内存页的总数。
db_name[MCO_MAX_BACKUP_DBNAME_SIZE]
char
数据库的名称。
label[MCO_MAX_BACKUP_LABEL_SIZE];
char
备份记录标签。
异步备份
异步备份进度mco_async_backup_progress_info_t 使用了 mco.h
中定义以下结构:
typedef struct tag_mco_async_backup_progress_info_
{
mco_backup_progress_info_t core_info;
char const* file_name;
char const* last_label;
mco_backup_type type;
int compression_level;
MCO_RET last_error_code;
char const* last_error_msg;
} mco_async_backup_progress_info_t;
core_info
mco_backup_progress_info_t
核心备份信息结构。
file_name
char const*
备份文件的名称和位置。
last_label
char const*
最新备份记录标签。
type
mco_backup_type
由 mco_async_backup_start()
启动的备份集的类型。
compression_level
int
由 mco_async_backup_start()
设置的备份压缩级别。
last_error_code
MCO_RET
异步备份处理的最新错误代码。
last_error_msg
char const*
异步备份处理的最新错误消息。