对于数据量不是很大,数据库、服务器负载允许的情况下,可以简单的使用脚本对数据进行同步。
一个简单的实现方法即定时对目标表进行truncate,再从源表插入全部数据。
-
ORACLE_SID=oradb1
-
ORACLE_BASE=/u01/app/oracle
-
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
-
export ORACLE_BASE ORACLE_SID ORACLE_HOME
-
PATH=$ORACLE_HOME/bin:$PATH
-
export PATH
-
-
echo && echo &&echo
-
date +%Y-%m-%d:%H:%M:%S
-
-
#记录开始时间
-
start=$(date +%s)
-
-
#登陆数据库
-
sqlplus -silent mylab/mylab << eof
-
-
-----TRUNCATE TABLE/PARTITION BEFORE INSERT
-
TRUNCATE TABLE mylab.auto_sync_table;
-
-
-----INSERT
-
set autocomm on
-
INSERT INTO mylab.auto_sync_table select * from scott.emp;
-
-
COMMIT;
-
exit;
-
eof
-
-
date +%Y-%m-%d_%H:%M:%S
-
sleep 3
-
-
#记录结束时间
-
end=$(date +%s)
-
-
#统计总的执行时间
-
elapse=$((end - start))
-
echo "--------------------------------------"
-
echo total elapse $elapse seconds.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29288115/viewspace-2133467/
,如需转载,请注明出处,否则将追究法律责任。