首页 > 数据库 > 国内数据库 > OceanBase备份恢复
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/ ,如需转载,请注明出处,否则将追究法律责任。