remington_young 发表于 2018-9-12 09:56:33

oracle两个数据库间数据同步

  公司所有测试服务器都有两套,所以两套测试数据库之间的数据同步,显得尤为重要:
  假设数据库A 和 B,现要求如果A中数据有更新,则同时更新B数据库
  首先一下所有操作都在A中进行:
  (1)在A中建立到B的DBlink,
  create public databASE link test

  connect to user>  (2)在A中建立synonym(同义)
  create or replace synonym abc for user.om_employee@test;
  建好后,就可以用select * from abc查询B数据库中的数据,相当于select * from om_employee@test
  (3)建立触发器
  当A中的testable表变化时,就会触发向远程的B库的testable也插入相应的数据:
  create or replace trigger tongbu after insert or update or delete on om_employee for each row
  begin
  if inserting then
  insert into abc (id,empcode,userid) values (:new.id,:new.empcode,:new.userid);
  end if;
  if deleting then

  delete from abc where>  end if;
  if updating then

  update abc set name=:new.name where>  end if;
  end;
  建好以上脚本后,在A数据库中的om_employee中插入或者删除数据,就会及时同步到B数据库中。

页: [1]
查看完整版本: oracle两个数据库间数据同步