OceanBase使用OBLOADER、OBDUMPER进行导入导出

需求背景

需要定时给OB进行数据备份,并且在需要时可以全量导入,所以只能通过脚本来减少手动操作的繁琐。

脚本示例

导出脚本

#!/bin/bash
# 这一步不能省,如果不设置定时运行时可能会有问题
export JAVA_HOME=/usr/jdk1.8
OB_DUMPER_HOME=/usr/local/ob-loader-dumper-3.1.0-SNAPSHOT
# 用户可指定多个
arr=(USER1 USER2)
DATA_BASE=/obdata
DATA_FILE=OBDATA-`date +%Y%m%d`
DB_BACK_HOME=$DATA_BASE/$DATA_FILE
mkdir -p $DB_BACK_HOME
cd $OB_DUMPER_HOME/bin
for DB in ${arr[*]}
do
mkdir $DB_BACK_HOME/$DB
./obdumper -h192.168.12.10 -P2883 -uSYS -p "test123" --public-cloud -c test01 -t test02 -D $DB --sql --ddl --table='*' --view='*' --function='*' --procedure='*' --trigger='*' --sequence='*' --package='*' -f $DB_BACK_HOME/$DB
done
cd $DATA_BASE
# 压缩之后,并删除相应文件
tar -zcvf ${DATA_FILE}.tar.gz ${DATA_FILE} --remove-files

导入脚本

!/bin/bash
export JAVA_HOME=/usr/jdk1.8
OB_DUMPER_HOME=/usr/local/ob-loader-dumper-3.1.0-SNAPSHOT
arr=(USER1 USER2)
DATA_BASE=/obdata
DATA_FILE=OBDATA-PWE-20220520
cd $DATA_BASE
rm -rf $DATA_BASE/$DATA_FILE
tar zxvf ${DATA_FILE}.tar.gz
DB_BACK_HOME=$DATA_BASE/$DATA_FILE
mkdir -p $DB_BACK_HOME
cd $OB_DUMPER_HOME/bin
for DB in ${arr[*]}
do
./obloader -h192.168.12.10 -P 3306 -u SYS --password='test123' --public-cloud -c test01 -t test02 -D $DB --sql --ddl --replace-data --table='*' --view='*' --function='*' --procedure='*' --trigger='*' --sequence='*' --package='*' -f $DB_BACK_HOME/$DB
done
rm -rf $DATA_BASE/$DATA_FILE

参考资料

https://www.oceanbase.com/docs/enterprise/oceanbase-database-cn/V3.2.3/10000000000355327

posted on   白首码农  阅读(3849)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示