OceanBase的备份恢复流程和涉及日志归档的操作

本文围绕OceanBase数据库展开,介绍了系统配置项查看、备份目标NFS共享目录设置及挂载权限注意事项。阐述了日志开启、查看备份状态、合并日志等操作,还提及停止日志的方法,包括强制取消命令,若不行则需重启集群,此外还有租户与资源查询、清空及备份记录查询等内容。

1.配置
查看系统配置项
show parameters like
备份目标 NFS共享目录
show parameters like ‘backup_dest’
注意设置挂载目录权限

2.操作
开启日志
ALTER SYSTEM ARCHIVELOG
查看日志备份状态
SELECT * FROM CDB_OB_BACKUP_ARCHIVELOG
合并日志
ALTER SYSTEM MAJOR FREEZE
查询合并状态
SELECT * FROM __all_zone WHERE name=‘merge_status’ order by gmt_modified asc
查询可恢复时间点
SELECT incarnation, log_archive_round, tenant_id, CASE WHEN min_first_time " +
"= ‘’ THEN usec_to_time(0) ELSE min_first_time END AS min_first_time, " +
"CASE WHEN max_next_time = ‘’ THEN usec_to_time(0) ELSE max_next_time END AS max_next_time, " +
"status, CASE WHEN max_next_time = ‘’ THEN 0 ELSE (time_to_usec(now()) - time_to_usec(max_next_time)) / 1000000 " +
"END AS delay, now(6) as check_time FROM CDB_OB_BACKUP_ARCHIVELOG_SUMMARY WHERE tenant_id = 1 " +
“AND log_archive_round = (SELECT MAX(log_archive_round) FROM CDB_OB_BACKUP_ARCHIVELOG_SUMMARY WHERE tenant_id = 1)”

3.停止
停止日志(清空 INTERRUPTED 的状态)
ALTER SYSTEM NOARCHIVELOG
有的时候此命令无法停止归档,需要用到下面这个强制命令
强制取消 ,会停止日志归档
ALTER SYSTEM CANCEL ALL BACKUP FORCE;
此时还不行的话,只能重启集群
查询租户与资源
SELECT * FROM oceanbase.gvtenant;SELECT∗FROMoceanbase.gvtenant; SELECT * FROM oceanbase.gvtenant;SELECTFROMoceanbase.gvunit;
SELECT * FROM __all_unit_config;
清空租户与资源
DROP TENANT res1 FORCE;
DROP RESOURCE POOL restore_pool;
DROP RESOURCE UNIT box_unit;
查询备份记录
SELECT * FROM CDB_OB_BACKUP_SET_DETAILS order by BS_KEY desc limit 10;

mount挂载
showmount -e 11.11.15.210
sudo mount -tnfs4 -o rw,nfsvers=4.1,sync,lookupcache=positive,hard,timeo=600,wsize=1048576,rsize=1048576,namlen=255 11.11.15.210:/obbackup /obbackup

### OceanBase 数据库物理备份恢复方案 OceanBase 数据库的物理备份恢复方案是其高可用性的重要组成部分。以下是关于该方案的具体内容: #### 1. 物理备份的基本组成 OceanBase 数据库的物理备份由基线数据日志归档数据两部分组成[^3]。 - **基线数据**:这是数据库在某一时间点的全量快照,用于记录当前的数据状态。基线数据支持全量备份增量备份两种模式。 - **日志归档数据**:OBServer 会定期将日志数据自动归档到指定的备份路径中,这一过程无需外部触发,完全自动化完成[^3]。 #### 2. 支持的备份介质 OceanBase 数据库支持多种备份介质,包括 OSS(阿里云对象存储服务)、NFS(网络文件系统)以及 COS(腾讯云对象存储服务)。用户可以根据实际需求选择适合的备份介质[^3]。 #### 3. 集群级别的物理备份 从 V2.2.52 版本开始,OceanBase 数据库引入了集群级别的物理备份功能。这种备份方式涵盖了集群中除 sys 租户以外的所有租户数据[^3]。通过集群级别的物理备份,可以有效减少手动配置的工作量,并提升备份效率。 #### 4. 恢复流程 物理备份恢复的核心目标是在发生数据丢失或损坏时,快速恢复业务数据。恢复流程通常包括以下几个方面: - **基线数据恢复**:从备份的基线数据中恢复数据库到某一时间点的状态。 - **日志回放**:利用归档日志数据,将数据库恢复到更接近故障发生前的状态。 - **一致性保障**:确保恢复后的数据与原始数据保持一致,避免数据丢失或损坏。 #### 5. 工具支持 OceanBase 提供了一系列工具来简化备份恢复操作,例如: - **OCP(OceanBase Cloud Platform)**:提供图形化界面,帮助用户管理监控备份任务。 - **ODC(OceanBase Develop Center)**:支持开发人员对备份恢复进行调试验证。 - **OMS(OceanBase Migration Service)**:可用于跨环境的数据迁移恢复[^4]。 #### 6. 场景适用性 物理备份恢复方案适用于多种场景,例如: - 存储介质损坏导致的数据丢失。 - 用户误操作引发的数据删除或修改。 - 数据库升级或迁移过程中出现的异常情况。 ```python # 示例代码:通过 OCP 创建备份任务 import ob_sdk def create_backup_task(cluster_id, backup_path): client = ob_sdk.OCPClient() task = client.create_physical_backup( cluster_id=cluster_id, backup_path=backup_path ) return task.status # 调用示例 status = create_backup_task(cluster_id=1001, backup_path="nfs://backup/path") print(f"Backup Task Status: {status}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值