暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oceanbasev4导数介绍-obloader/obdumper工具

IT那活儿 2026-06-24
65

点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!

修改参数

导入需要用户具备 create,select,insert,update 权限;
涉及系统视图:需要授予select权限;
该工具默认java内存较小,如果服务器内存很大(16G以上),建议编辑bin目录下的 obloader 和 obdumper 脚本,找到 JAVA_OPTS ,将堆内存(-Xms,-Xmx)调大(4G、8G),可以显著提高导入导出速度。
cd home/shsnc/zch/ob-loader-dumper-4.3.5-RELEASE/bin
more obloader | grep JAVA_OPTS
        echo -e "JAVA_OPTS: $JAVA_VERSION $MAJOR_VERSION $MINOR_VERSION $GC_OPTS $VM_OPTS";
JAVA_OPTS="$JAVA_OPTS -server $VM_OPTS -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=128M -Xss512K";

more obdumper | grep JAVA_OPTS
        echo -e "JAVA_OPTS: $JAVA_VERSION $MAJOR_VERSION $MINOR_VERSION $GC_OPTS $VM_OPTS";
JAVA_OPTS="$JAVA_OPTS -server $VM_OPTS -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=128M -Xss512K";

非分区表

在hnyd_obtest集群的oracle_zch_test租户到T_USER用户上创建测试表:
create table t_user.ob_dump_loader (a int,b varchar(100));
insert into t_user.ob_dump_loader values (1,'zch'),(2,'tanjun'),(3,'xgr');
insert into t_user.ob_dump_loader select * from t_user.ob_dump_loader;
commit;

select * from t_user.ob_dump_loader;
cd home/shsnc/zch/ob-loader-dumper-4.3.5-RELEASE/bin
##导出ob_dump_loader表的结构与数据。
./obdumper -hx.x.x.x -P2883 -u T_USER@oracle_zch_test -p'xxx' -chnyd_obtest -toracle_zch_test -D T_USER --ddl --sql  --table 'ob_dump_loader' -f home/shsnc/zch/zch_obdumper/ --parallel 8 --skip-check-dir

##hnyd_t2集群oracle_zch_test租户的T_USER用户上导入
./obloader -hx.x.x.x -P2883 -u T_USER@oracle_zch_test -p'xxx' -chnyd_t2 -toracle_zch_test -D T_USER --ddl --sql --table 'ob_dump_loader' -f home/shsnc/zch/zch_obdumper/ --parallel 8
##导数目录:

分区表

在hnyd_obtest集群的oracle_zch_test租户到T_USER用户上创建测试表:
##按时间范围分区:
create table t_user.ob_dump_loader_par (
order_id int not null,
user_id int not null,
order_date date not null,
amount decimal(10,2),
primary key (order_id,order_date)
)partition by range (order_date)(
partition p202601 values less than (to_date('2026-02-01','yyyy-mm-dd')),
partition p202602 values less than (to_date('2026-03-01','yyyy-mm-dd')),
partition p202603 values less than (to_date('2026-04-01','yyyy-mm-dd')),
partition p2026_max values less than(MAXVALUE)
);

insert into t_user.ob_dump_loader_par values (1,1,to_date('2026-01-15','yyyy-mm-dd'),10.2);
insert into t_user.ob_dump_loader_par values (2,2,to_date('2026-02-05','yyyy-mm-dd'),10.2);
insert into t_user.ob_dump_loader_par values (3,3,to_date('2026-03-25','yyyy-mm-dd'),10.2);
insert into t_user.ob_dump_loader_par values (4,4,to_date('2026-01-11','yyyy-mm-dd'),10.2);
insert into t_user.ob_dump_loader_par values (5,5,to_date('2026-03-11','yyyy-mm-dd'),10.2);
commit;

select * from t_user.ob_dump_loader_par;

select * from t_user.ob_dump_loader_par partition(p202601);
select * from t_user.ob_dump_loader_par partition(p202602);
##导出:
cd /home/shsnc/zch/ob-loader-dumper-4.3.5-RELEASE/bin
##导出分区的时候,分区名要大写:
./obdumper -hx.x.x.x -P2883 -u T_USER@oracle_zch_test -p'xxx' -chnyd_obtest -toracle_zch_test -D T_USER --ddl --sql --table 'ob_dump_loader_par' --partition 'P202601' -f /home/shsnc/zch/zch_obdumper/ --parallel 8 --skip-check-dir
##导入:
./obloader -hx.x.x.x -P2883 -u T_USER@oracle_zch_test -p'xxx' -chnyd_t2 -toracle_zch_test -D T_USER --ddl --sql --table 'ob_dump_loader_par' -f /home/shsnc/zch/zch_obdumper/ --parallel 8
##验证:

END


本文作者:郑成华 (上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论