下面用oracle数据库进行测试,假设使用这两个表,192.168.2.2服务器上用户test1表LEGAL_CASE,192.168.2.3服务器上用户test密码123456表LEGAL_CASE。
需求:只需改动源库192.168.2.2服务器上的表,目标库192.168.2.3服务器上即可自动改变。
条件:
1.两个表能建立DB LINK,即两个数据库所在的服务器能互相ping通。
2.两个表字段类型必须完全匹配,不能主表某字段能插入字符,而副表对应的某字段只能插入数字,不能主表字段插入的长度超过副表对应字段的最大长度。
下面开始:建立DB LINK和触发器都是在192.168.2.2数据库
1.建立DB LINK,首先判断登录的用户是否有创建DB LINK 的权限,执行以下语句:
-- 查看 test1 用户是否有创建DB LINK 权限
select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='test1';
如果能查询到结果,说明有权限创建DB LINK ,否则需要管理员角色创建权限(sys或system)
grant create public database link to test1;
也可以用SQL的方式创建: