ITPub博客

首页 > 数据库 > 国内数据库 > OceanBase备份恢复

OceanBase备份恢复

原创 国内数据库 作者:wwjfeng 时间:2026-04-14 22:01:57 0 删除 编辑

1.在obcontrol上创建NFS

yum install rpcbind nfs-utils -y
mkdir /data/backup
chmod -R 777 /data/backup
echo "/data/backup *(rw,sync,all_squash,anonuid=500,anongid=500)" >> /etc/exports
exportfs -r
showmount -e 192.168.18.48

2.observer挂在NFS

echo "obcontrol:/data/backup /data/backup nfs rw,timeo=7,hard,intr,bg,suid,lock 0 0" >> /etc/fstab
mount -a

3.全备份

#指定备份目的地
nfs: obclient> alter system set backup_dest='file:///data/backup';
oss: obclient> alter system set backup_dest='oss://xxxxxxxxxxx';
show parameters like 'backup_dest';
#启动数据库归档功能
alter system archivelog;
#确认状态为doing
SELECT * FROM CDB_OB_BACKUP_ARCHIVELOG_SUMMARY;
#执行合并
alter system major freeze;
#查看合并进度。
SELECT * FROM __all_zone WHERE name='merge_status';
#执行全量备份
alter system backup database;
select * from cdb_ob_backup_progress; 
select * from cdb_ob_backup_set_details;
#查看根据现有的Recovery Window 计算出的过期备份
SELECT * FROM oceanbase.CDB_OB_BACKUP_SET_EXPIRED;
SHOW PARAMETERS LIKE '%recovery_window%';
#查看与备份相关的RootService 事件
SELECT *
FROM oceanbase.__all_rootservice_event_history
WHERE module LIKE '%backup'
OR module LIKE '%archive%'
ORDER BY gmt_create DESC LIMIT 30;

4.增量备份

#增量备份
alter system backup incremental database;
#停止备份
alter system cancel backup;

5.恢复

alter system noarchivelog;
#创建恢复目标资源池
CREATE resource unit unit_fgedu2 max_cpu=2, min_cpu=2,
max_memory='1G', min_memory='1G', max_iops=10000,
min_iops=1000, max_session_num=1000000, max_disk_size='10G';
create resource pool pool_fgedu2 unit='unit_fgedu2' , unit_num=1,
zone_list=('zone1' ,'zone2' ,'zone3') ;
#恢复并行度
show parameters like 'restore_concurrency';
alter system set restore_concurrency = 20;
#Restore tenant 命令内部的流程如下:
1. 创建恢复用的租户
2. 恢复租户的系统表数据
3. 恢复租户的系统表日志
4. 调整恢复租户的元信息
5. 恢复租户的用户表数据
6. 恢复租户的用户表日志
#恢复命令
alter system restore mysql_fgedu2_tent from mysql_fgedu_tent at
'file:///data/backup' until '2022-02-17 21:09:10.369309'
with
'backup_cluster_name=fgeduobce&backup_cluster_id=2&pool_list=pool_fgedu2';
#until时间点确定
> cdb_ob_backup_set_details 备份时间
<=cdb_ob_backup_archivelog_summary 归档时间
#恢复进度
SELECT svr_ip, role, is_restore, COUNT(*)
FROM __all_root_table AS a,
(SELECT value FROM __all_restore_info WHERE name =
'tenant_id') AS b
WHERE a.tenant_id = b.value
GROUP BY role, is_restore, svr_ip
ORDER BY svr_ip, is_restore;





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

上一篇: OceanBase分区表
请登录后发表评论 登录
全部评论

注册时间:2010-03-27

  • 博文量
    57
  • 访问量
    199176