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
本文来自博客园,作者:白首码农,转载请注明原文链接:https://www.cnblogs.com/bsmn/p/16496455.html