oceanbase 备份恢复

 

#######sampe 1  恢复一台集群的数据到这个新集群

 

Step7. 恢复一台集群的数据到这个新集群

备份忽略,这里只考虑恢复

 

 

 

 

 

 

组合查询套餐 sys 租户4.0

select * from oceanbase.CDB_OB_BACKUP_DELETE_POLICY;

SELECT

    t.TENANT_NAME,

    p.TENANT_ID,

    p.POLICY_NAME,

    p.RECOVERY_WINDOW

FROM

    oceanbase.CDB_OB_BACKUP_DELETE_POLICY p

JOIN

    oceanbase.DBA_OB_TENANTS t

ON

    p.TENANT_ID = t.TENANT_ID;

 

 

 

 

 

 

select

b.tenant_name,

a.tenant_id,

DATE_FORMAT(start_timestamp, '%Y-%m-%d') as '备份日期',

CASE DATE_FORMAT(start_timestamp, '%w')

WHEN 1 THEN '星期一'

WHEN 2 THEN '星期二'

WHEN 3 THEN '星期三'

WHEN 4 THEN '星期四'

WHEN 5 THEN '星期五'

WHEN 6 THEN '星期六'

WHEN 0 THEN '星期日'

END

as '星期几',

case

when backup_type = 'FULL' then '全备'

when backup_type = 'INC' then '增量备份'

else null

end

as '备份类型',

CASE

WHEN a.status = 'SUCCESS' THEN '成功'

WHEN a.status = 'FAILED' THEN '失败'

ELSE NULL

END

as '备份状态',

case

when file_status = 'DELETED' THEN '备份文件已删除'

WHEN file_status = 'AVAILABLE' THEN '有效备份'

WHEN file_status = 'INCOMPLETE' THEN '备份文件缺失'

WHEN file_status = 'EXPIRED' THEN '备份文件失效'

WHEN file_status = 'COPYING' THEN '文件备份中'

WHEN file_status = 'DELETING' THEN '备份文件删除中'

WHEN file_status = 'BROKEN' THEN '备份文件不完整'

ELSE NULL

END

as '备份文件状态',

SEC_TO_TIME(elapsed_secondes) AS '备份总时长',

result,

round(output_bytes / 1024 / 1024 / 1024, 2) as '备份文件大小(G)',

PATH

from

CDB_OB_BACKUP_SET_FILES a

LEFT JOIN dba_ob_tenants b ON a.tenant_id = b.tenant_id

order by

start_timestamp desc;

 

 

select tenant_id,tenant_name,PRIMARY_ZONE from oceanbase.dba_OB_tenants;

 

 

select

  t4.tenant_id,

  t4.tenant_name,

  t1.name resource_pool_name,

  t2.`name` unit_config_name,

  t2.max_cpu,

  t2.min_cpu,

  round(t2.memory_size / 1024 / 1024 / 1024, 2) mem_size_gb,

  round(t2.log_disk_size / 1024 / 1024 / 1024, 2) log_disk_size_gb,

  #t2.max_iops,

  #t2.min_iops,

  t3.unit_id,

  t3.zone,

  concat(t3.svr_ip, ':', t3.`svr_port`) observer

from

  oceanbase.__all_resource_pool t1

  join oceanbase.__all_unit_config t2 on (t1.unit_config_id = t2.unit_config_id)

  join oceanbase.__all_unit t3 on (t1.`resource_pool_id` = t3.`resource_pool_id`)

  left join oceanbase.__all_tenant t4 on (t1.tenant_id = t4.tenant_id)

order by

  t1.`resource_pool_id`,

  t2.`unit_config_id`,

  t3.unit_id;

 

 

 

 

select TENANT_ID,max(MIN_RESTORE_SCN),max(SCN_TO_TIMESTAMP(MIN_RESTORE_SCN)) from oceanbase.CDB_OB_BACKUP_SET_FILES GROUP BY TENANT_ID;

 

 

select STATUS,START_SCN,START_SCN_DISPLAY,CHECKPOINT_SCN,CHECKPOINT_SCN_DISPLAY,path from oceanbase.CDB_OB_ARCHIVELOG;

 

 

 

SELECT

t1.tenant_name,

rp.RESOURCE_POOL_ID,

COUNT(u.unit_id) AS unit_count,

rp.unit_config_id,

GROUP_CONCAT(DISTINCT CONCAT(u.svr_ip, ":", u.svr_port)) AS svr_ips

FROM

oceanbase.DBA_OB_TENANTS t1

JOIN oceanbase.DBA_OB_RESOURCE_POOLS rp ON t1.tenant_id = rp.tenant_id

LEFT JOIN oceanbase.DBA_OB_UNITS u ON rp.RESOURCE_POOL_ID = u.RESOURCE_POOL_ID

group by

t1.tenant_name,

rp.RESOURCE_POOL_ID,

rp.unit_config_id

order by t1.tenant_name;

 

 

Ob3.2 系统sys租户:

select * from oceanbase.__all_backup_task_history;

 

select gmt_create,tenant_id,backup_dest,file_status  from __all_backup_set_files a  where file_status='AVAILABLE';

 

SELECT

    a.tenant_id,

    t.tenant_name,

    COUNT(*) AS available_backup_count,

    DATE_FORMAT(FROM_UNIXTIME(MIN(a.gmt_create)/1000000), '%Y-%m-%d') AS earliest_backup,

    DATE_FORMAT(FROM_UNIXTIME(MAX(a.gmt_create)/1000000), '%Y-%m-%d') AS latest_backup

FROM

    oceanbase.__all_backup_set_files a

JOIN

    oceanbase.__all_tenant t ON a.tenant_id = t.tenant_id

WHERE

    a.file_status = 'AVAILABLE'

GROUP BY

    a.tenant_id, t.tenant_name

ORDER BY

available_backup_count DESC;

 

 

 

SELECT

    svr_ip,

    svr_port,

    zone,

    inner_port,

    with_rootserver,

    status,

    start_service_time,

    stop_time,

    build_version

FROM

    oceanbase.__all_server

ORDER BY

    zone, svr_ip;

 

 

 

SELECT

    t.tenant_id,

    t.tenant_name,

    t.primary_zone,

    s.zone,

    s.svr_ip,

    s.status AS server_status

FROM

    oceanbase.__all_tenant t

JOIN

    oceanbase.__all_resource_pool p ON t.tenant_id = p.tenant_id

JOIN

    oceanbase.__all_unit u ON p.resource_pool_id = u.resource_pool_id

JOIN

    oceanbase.__all_server s ON u.svr_ip = s.svr_ip

WHERE

    FIND_IN_SET(s.zone, REPLACE(t.primary_zone, ';', ',')) > 0

ORDER BY

t.tenant_id, s.zone, s.svr_ip;

 

SELECT

    t.tenant_id,

    t.tenant_name,

    t.primary_zone,

    p.resource_pool_id,

    p.name AS pool_name,

    u.unit_config_id,

    u.name AS unit_config_name,

    u.max_cpu,

    u.min_cpu,

    ROUND(u.max_memory/1024/1024/1024, 2) AS max_memory_gb,

    ROUND(u.min_memory/1024/1024/1024, 2) AS min_memory_gb,

    u.max_iops,

    u.min_iops

FROM

    oceanbase.__all_tenant t

JOIN

    oceanbase.__all_resource_pool p ON t.tenant_id = p.tenant_id

JOIN

    oceanbase.__all_unit_config u ON p.unit_config_id = u.unit_config_id

ORDER BY

    t.tenant_id;

 

 

 

 

恢复aaa_st2 aaa_st3

恢复路径:/data/obbackup_obclu_test_naaa2

解析主机: 10.241.28.194

恢复时间点:今天 14:00

目标集群:obclu_test_naaa2

目标租户:源租户名的aaa_st2 改成 aaa_st3

副本设置:Unit规格aaa_st2config_aaa_st2_zone1_CRBC_aaa_24c48g_kzd

/aaa_pbunit_aaa_16c48g

/aaa_acunit_aaa_12c36g

zone优先级:打散,zone1,zone2;zone3全选后一次性选到右边

 

 

目的:

这是在恢复环境做的,步骤一样,换个环境实施。

恢复aaa_pr/aaa_pb/aaa_ac

恢复路径:/data/obbackup_obclu_test_naaa_perf

解析主机:10.225.224.34

恢复时间点:今天 14:00

目标集群:obclu_test_naaa_hundun

目标租户:源租户名的pit改成hundun

副本设置:Unit规格aaa_pr(unit_aaa_4c12g)

/aaa_pb(unit_aaa_16c48g)

/aaa_ac(unit_aaa_12c36g)

zone优先级:打散,zone1~zone4全选后一次性选到右边

 

1.1. 新建恢复任务

进入恢复页面,点击发起恢复按钮

 

 

1.2. 解析备份文件

“存储目录”填写:/obbackup/

“解析主机”选择:25.10.0.2

点击“解析”按钮

 

 

出现“存储地址解析成功”提示为正常返回

 

 

1.3. 选择需要恢复的租户及恢复时间点,以及目标集群和目标租户名称

源集群、源租户及恢复时间依恢复需求选择

 

新建恢复租户

恢复aaa_pr/aaa_pb/aaa_ac

恢复路径:/data/obbackup_obclu_test_naaa_perf

解析主机:10.225.224.34

恢复时间点:今天 14:00

(源集群 存在无法搜寻到的情况,多刷几遍页面,并且解析几次)

(每个页面要填完整,不然可能都要重新填一次)

 

 

目标集群:obclu_test_naaa_hundun (只能支持单集群恢复,如果有主备关系,建议先删除被集群,恢复后再重建备集群)

目标租户:源租户名的pit改成hundun    aaa_pr_hundun   aaa_pb_hundun   aaa_ac_hundun(此目标租户,应该为不存在的空租户,如果覆盖,需要先将租户删除)

 

 

 

 

副本设置:Unit规格aaa_prunit_aaa_4c12g

/aaa_pbunit_aaa_16c48g

/aaa_acunit_aaa_12c36g

 

 

zone优先级:打散,zone1~zone4全选后一次性选到右边

 

 

 

设置zone优先级,选择所有zone,并将其放置到右侧优先级栏中

 

1.4. 发起恢复任务

点击“发起恢复”开始恢复任务

 

 

1.5. 确认恢复状态

回到“恢复页面”,当任务状态变为“已完成”时,恢复成功完成

 

 

 

租户管理里查看租户是否已经创建成功

 

 

 

有一种可能,新建的租户需要手工添加凭据。恢复出来的租户,root密码和源租户root一致,

 

 

 

 

查看sys 租户的用户是否创建成功

 

查看租户下的用户是否创建成功

 

 

 

 

查看租户下的数据库是否创建成功

 

posted @ 2025-04-07 16:58  feiyun8616  阅读(59)  评论(0)    收藏  举报