Oracle Dblink
数据库之间连接
首先建立DBLink
create database link link名称
connect to 对方数据库用户名 identified by 对方数据库用户密码
using '对方数据库ip:端口/实例名';
例子:
create (public) database link tam_link --如果是可以让任何用户使用设置成public,否则不设置 connect to uid_tam identified by **** --这里的***是用户密码,如果是数字开头,需要使用“” using 'tjdb'; --这里是实例名,如果ora文件未提前设置,则需要写数据库IP及端口和实例,
格式:'IP:port/ssid'
图形化建dblink

对连接的数据库数据表进行操作(增、删、改、查) ,只需要:数据表+@+dblink名字,如调用DBLink测试是否连接成功:
select * from dual@tam_LINK
定时同步两个库数据
第一步,数据存储过程
CREATE OR REPLACE PROCEDURE test_job_tam AS tam_id NUMBER; BEGIN SELECT nvl(MAX(id), 0) INTO tam_id FROM table1@tam_link; INSERT INTO table1@tam_link SELECT * FROM table1 WHERE table1.id > tam_id ; COMMIT; EXCEPTION WHEN OTHERS THEN dbms_output.put_line('Exception happened,data was rollback'); ROLLBACK; END;
第二步:建立JOB任务,定时同步数据
var job_num number; begin dbms_job.submit(:job_num,'test_job_tam;',SYSDATE,'sysdate+1/24/60'); end;
查询你的job语句:SELECT * FROM USER_JOBS;
对于上面的链接字符串,还可以创建同义词代替,会稍微省点事
-- 创建同义词 create synonym TESTSYNONYM FOR dual@tam_link;

浙公网安备 33010602011771号