以下SQL 可以在OB4.0 实现,但是在OB3.2 无法实现,请教各位?

【 使用环境 】生产环境 or 测试环境 OB
【 OB or 其他组件 】 OB 3.2
【 使用版本 】 OB3.2
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

以下SQL 可以在OB4.0 实现,但是在OB3.2 无法实现,请教各位在OB 3.2 实现这些SQL ,如果可以的话?

-- 查看备份删除策略

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;

– 备份策略查询(OB 3.2)

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;

–primary zone
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;


-- 租户资源池分布查询(OB 3.2)

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;
1 个赞

用户的问题是关于 OceanBase 3.2 版本中无法实现某些 SQL 查询功能(如备份删除策略查询、备份策略查询、资源池和单元配置信息查询、租户资源池分布查询等),而这些 SQL 在 OceanBase 4.0 中可以正常运行。

在这种情况下,我们推荐使用 obdiag 工具进行日志采集,以便更好地了解问题所在。

日志采集场景: 集群基础信息
日志采集命令: obdiag gather scene run --scene=observer.base

此命令将收集集群的基础信息,包括配置和状态等,这有助于我们理解为什么在 OceanBase 3.2 中无法执行这些查询。

为了进一步诊断,请您提供以下信息:

  1. 您能否提供具体的 SQL 语句示例,这些语句在 OceanBase 4.0 中可以正常运行但在 3.2 中无法实现?
  2. 您是否遇到任何特定的错误消息或行为?如果有,请详细描述。
  3. 您的 OceanBase 3.2 环境的具体配置是什么?包括硬件配置、操作系统版本等。
  4. 您是否有尝试过在 OceanBase 3.2 中手动查询相关的系统表或视图来获取这些信息?如果有,请分享相关的结果或遇到的困难。

附上敏捷诊断工具 obdiag 使用帮助链接

1 个赞

列出OBV3和OBV4备份相关表和视图@论坛小助手

1 个赞

学习。

列出OBV3和OBV4备份相关表和视图@论坛小助手

根据文档库中的信息,以下是 OceanBase V3 和 V4 版本中与备份相关的表和视图的对比:

OceanBase V3 备份相关表和视图

在 OceanBase V3 中,备份相关的系统表和视图主要包括以下内容:

  1. __all_backup_job
    • 用于记录备份任务的基本信息。
  2. __all_backup_piece
    • 用于记录备份片的信息。
  3. __all_backup_set
    • 用于记录备份集的相关信息。
  4. __all_backup_task
    • 用于记录备份任务的详细执行情况。
  5. __all_backup_file
    • 用于记录备份文件的元信息。
  6. CDB_OB_BACKUP_SET_FILES
    • 提供备份集文件的详细信息,包括租户 ID、备份类型、状态等。

此外,V3 还支持通过以下视图查询备份相关信息:

  • CDB_OB_BACKUP_DELETE_POLICY
    • 用于查看备份删除策略(此视图在 V4 中仍然存在)。
  • CDB_OB_ARCHIVELOG
    • 用于查询归档日志的状态和路径。

OceanBase V4 备份相关表和视图

在 OceanBase V4 中,备份相关的系统表和视图发生了较大变化,主要体现在以下几个方面:

  1. 新增的视图

    • DBA_OB_BACKUP_JOBS
      • 替代了 V3 的 __all_backup_job,提供更清晰的备份任务信息展示。
    • DBA_OB_BACKUP_SETS
      • 替代了 V3 的 __all_backup_set,用于查询备份集的详细信息。
    • DBA_OB_BACKUP_FILES
      • 替代了 V3 的 __all_backup_file,用于查询备份文件的元信息。
    • DBA_OB_BACKUP_TASKS
      • 替代了 V3 的 __all_backup_task,用于查询备份任务的执行情况。
    • DBA_OB_BACKUP_PIECES
      • 替代了 V3 的 __all_backup_piece,用于查询备份片的信息。
  2. 保留的视图

    • CDB_OB_BACKUP_DELETE_POLICY
      • 继续用于查看备份删除策略。
    • CDB_OB_ARCHIVELOG
      • 继续用于查询归档日志的状态和路径。
  3. 其他新增视图

    • DBA_OB_BACKUP_STATUS
      • 提供备份的整体状态信息。
    • DBA_OB_RESTORE_PROGRESS
      • 用于查询恢复操作的进度。
    • DBA_OB_BACKUP_STORAGE_INFO
      • 用于查询备份存储的相关信息。

关键差异总结

  1. 架构调整
    • V4 中的备份机制去掉了对数据快照点保留的依赖,减少了 Major Freeze 对节点空间的影响(参考 文档片段 6)。
  2. 视图命名规范
  3. 功能增强
    • V4 引入了更多动态性能视图和备份状态视图,便于监控和管理备份过程。

建议

如果您需要在 V3 和 V4 中查询备份相关信息,可以根据上述表格选择对应的表或视图。如果某些视图在 V3 中不存在,可以尝试通过底层系统表(如 __all_backup_* 系列)进行查询。同时,请注意版本间的兼容性问题,避免因视图或表结构调整导致查询失败。

如果仍有疑问,请提供更多具体需求,我们将进一步为您解答!

检索到的文档如下:

  1. V3.x 与 V4.x 视图变更
  2. OceanBase 数据库概述
  3. 复制表
  4. 数据备份相关视图介绍
  5. OceanBase 自有视图
  6. 备份架构
  7. oceanbase.DBA_OB_ZONE_STORAGE
  8. V$RESTORE_POINT
  9. oceanbase.DBA_OB_SERVICES

列出OBV3 拼接SQL ,查询每日备份的文件,文件大小,文件位置 信息

根据文档库中的信息,以下是 OceanBase V3 和 V4 版本中与备份相关的表和视图的对比:

OceanBase V3.x 备份相关表和视图

在 OceanBase V3.x 中,备份相关的表和视图主要包括以下内容:

  1. __all_backup_job
    • 用于记录备份任务的基本信息。
  2. __all_backup_piece
    • 用于记录备份片的信息。
  3. __all_backup_set
    • 用于记录备份集的信息。
  4. __all_backup_task
    • 用于记录备份任务的详细信息。
  5. __all_backup_file
    • 用于记录备份文件的信息。
  6. __all_restore_job
    • 用于记录恢复任务的基本信息。
  7. __all_restore_task
    • 用于记录恢复任务的详细信息。

此外,V3.x 中还存在一些与备份相关的视图,例如:

  • CDB_OB_BACKUP_SET_FILES
    • 用于查询备份集文件的相关信息。
  • CDB_OB_ARCHIVELOG
    • 用于查询归档日志的信息。

OceanBase V4.x 备份相关表和视图

在 OceanBase V4.x 中,由于架构的变化,备份相关的表和视图也进行了调整。以下是主要变化和新增内容:

  1. DBA_OB_BACKUP_JOBS
    • 替代了 V3.x 的 __all_backup_job,用于记录备份任务的基本信息。
  2. DBA_OB_BACKUP_PIECES
    • 替代了 V3.x 的 __all_backup_piece,用于记录备份片的信息。
  3. DBA_OB_BACKUP_SETS
    • 替代了 V3.x 的 __all_backup_set,用于记录备份集的信息。
  4. DBA_OB_BACKUP_TASKS
    • 替代了 V3.x 的 __all_backup_task,用于记录备份任务的详细信息。
  5. DBA_OB_BACKUP_FILES
    • 替代了 V3.x 的 __all_backup_file,用于记录备份文件的信息。
  6. DBA_OB_RESTORE_JOBS
    • 替代了 V3.x 的 __all_restore_job,用于记录恢复任务的基本信息。
  7. DBA_OB_RESTORE_TASKS
    • 替代了 V3.x 的 __all_restore_task,用于记录恢复任务的详细信息。

此外,V4.x 中还引入了一些新的视图:

  • DBA_OB_BACKUP_DELETE_POLICY
    • 用于查询备份删除策略的信息(此视图在 V3.x 中不存在)。
  • DBA_OB_ARCHIVE_LOGS
    • 替代了 V3.x 的 CDB_OB_ARCHIVELOG,用于查询归档日志的信息。

主要差异总结

  1. 命名规范
    • V4.x 的视图名称统一加上了 OB_ 前缀,并改为大写(如 DBA_OB_BACKUP_JOBS),而 V3.x 的视图名称较为随意(如 CDB_OB_BACKUP_SET_FILES)。
  2. 功能增强
    • V4.x 引入了更多专门的视图来支持备份和恢复操作,例如 DBA_OB_BACKUP_DELETE_POLICY
  3. 架构调整
    • V4.x 的备份机制基于单机日志流的新架构,因此部分表和视图的内容和结构发生了变化。

参考依据

  • 片段标题: V3.x 与 V4.x 视图变更
    • 描述了 V4.x 中系统视图的变化,包括备份相关视图的调整。
  • 片段标题: OceanBase 数据库概述 → OceanBase 数据库 4.x 版本和 3.x 版本的系统表和系统视图变更
    • 提供了 V3.x 和 V4.x 系统表及视图的整体变更情况。

如果您需要更详细的对比或具体 SQL 示例,请进一步说明需求!

检索到的文档如下:

  1. 复制表
  2. V3.x 与 V4.x 视图变更
  3. OceanBase 数据库概述
  4. V$RESTORE_POINT
  5. V3.x 与 V4.x 配置项和系统变量变更
  6. oceanbase.DBA_OB_SERVICES

3.2是企业版ob,建议咨询商业技术支持
1.如你所在的企业客户已签署OceanBase企业版销售合同,请你联系客户经理;
2.如你所在的企业客户尚未签署OceanBase企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。
OceanBase官网商务咨询

https://www.oceanbase.com/contactus?fromPage=https%3A%2F%2Fwww.oceanbase.com%2Fsoftwarecenter-enterprise&dataSources=softwarecenter-enterprise_footercontact_d2022

谢谢,我觉得你是对的

1 个赞