我每天都在将数据从 DB2 迁移到 Oracle。我在 oracle(目标)中创建了与 DB2(源)中相同的表。我可以毫无问题地将数据从 DB2 迁移到 Oracle,但迁移 15,000,000 行需要将近 40 分钟。
下面是shell脚本,
sqlplus -s
set echo off
set heading off
set pagesize 10000
set arraysize 500
insert into transaction(tran_code,tran_dt,tran_num,tran_amt,update_ts)
select (tran_code,tran_dt,tran_num,tran_amt,update_ts)
from smtp.transaction@db2
where update_ts between '2019-08-17-00.00.00.000000' and '2019-08-17-23.59.59.999999' and tran_code <= 'A111';
insert into transaction(tran_code,tran_dt,tran_num,tran_amt,update_ts)
select (tran_code,tran_dt,tran_num,tran_amt,update_ts)
from smtp.transaction@db2
where update_ts between '2019-08-17-00.00.00.000000' and '2019-08-17-23.59.59.999999' and tran_code > 'A111' and tran_code <= 'BC11';
exit
EOF
是否通过为 pagesize 和 arraysize 设置适当的值来提高性能 cab?还是有其他方法可以提高性能?