逻辑备份 obdumper 导出支持的过滤条件包含?()
A. 指定导出部分数据表
B. 通过 WHERE 条件过滤行数据
C. 只导出表结构不导出数据
D. 直接导出指定分区数据
没人吗?
正确答案是 A、B、C、D(全选)。
解析
OBDUMPER 作为 OceanBase 官方的高性能逻辑导出工具,提供了非常丰富的过滤和筛选能力,以上四个选项均在其支持范围内:
A. 指定导出部分数据表
通过 --table 参数指定要导出的表名,支持通配符:
# 导出指定表
obdumper -h xxx -P 2883 -u xxx -p xxx -D test --table 'orders' -f /output
# 使用通配符导出多张表
obdumper -h xxx -P 2883 -u xxx -p xxx -D test --table 'order*' -f /output
B. 通过 WHERE 条件过滤行数据
通过 --where 参数指定全局过滤条件,仅导出满足条件的数据:
obdumper -h xxx -P 2883 -u xxx -p xxx -D test --table 'orders' \
--where "order_date > '2026-01-01'" -f /output
C. 只导出表结构不导出数据
通过 --ddl 选项仅导出数据库对象定义(DDL),不导出数据:
obdumper -h xxx -P 2883 -u xxx -p xxx -D test --table 'orders' \
--ddl -f /output
D. 直接导出指定分区数据
通过 --partition 参数指定分区名,仅导出指定分区内的数据。注意对于组合分区表需要指定二级分区名:
obdumper -h xxx -P 2883 -u xxx -p xxx -D test --table 'orders' \
--partition 'p202601' -f /output
补充:OBDUMPER 还支持的其他过滤/筛选能力
除了以上四个选项,OBDUMPER 还提供:
| 能力 | 参数 | 说明 |
|---|---|---|
| 自定义查询语句 | --query |
导出自定义 SQL 的结果集 |
| 时间点快照导出 |
--snapshot-scn / --snapshot-timestamp
|
导出历史某个时间点的数据 |
| 列黑白名单 |
--exclude-column-names / --column-names
|
导出指定列或排除指定列 |
| 数据脱敏/预处理 | 控制文件 | 导出前对数据进行转换、脱敏 |
总结
OBDUMPER 的过滤条件设计非常灵活,从表级别(指定表)、行级别(WHERE 条件)、分区级别(指定分区)到结构级别(仅 DDL)都提供了完整的控制能力,可以满足各种精细化的导出需求。
1 个赞