同步Oracle資料庫表到另乙個Oracle資料庫

2022-07-23 10:24:13 字數 2602 閱讀 1423

同步a資料庫表test_user到b資料庫a資料庫

ip:192.168.1.20

test/123456

b資料庫
ip:192.168.1.21

test/123456

1.1.建立使用者(system使用者)

建立使用者

create user test identified by 123456;
修改使用者密碼
alter user test identified by 123456
1.2.授予角色許可權
-- roles

grant "connect" to "test" ;

1.3.授予系統許可權

授予許可權

-- system privileges

grant create any procedure to "test" ;

grant create any sequence to "test" ;

grant create any trigger to "test" ;

grant create any table to "test" ;

grant unlimited tablespace to "test" ;

grant create database link to "test" ;

移除許可權
revoke select any procedure from "test";
建立表
create table test_user(

id number(15) not null primary key,

user_name varchar2(255) default '' not null,

user_pass varchar2(255) default '' not null,

create_time date not null

);comment on column test_user.id is '主鍵';

comment on column test_user.user_name is '使用者名稱';

comment on column test_user.user_pass is '密碼';

comment on column test_user.create_time is '建立時間';

建立dblink
create database link dblink_test connect to test identified  by "123456" using '192.168.1.21:1521/xe';
刪除dblink
drop database link dblink_test;
測試dblink是否成功
select * from test_user@dblink_test;
create or replace trigger trigger_syn_test

after insert or update or delete on test_user

for each row

begin

if inserting then

--insert觸發

insert into test_user@dblink_test values(:new.id,:new.user_name,:new.user_pass,:new.create_time);

elsif updating then

--update觸發

update test_user@dblink_test set user_name = :new.user_name , user_pass = :new.user_pass where id = :new.id;

elsif deleting then

--delete觸發

delete from test_user@dblink_test where id = :old.id;

end if;

end;

insert into test_user values(1,'test','123456',sysdate);

insert into test_user values(2,'test','123456',sysdate);

commit;

select * from test_user@dblink_test;

或者登入檢視b資料庫看是否資料插入

update test_user set user_name = 'update_test' , user_pass = 'update_test' where id = 1;

commit;

select * from test_user@dblink_test;

delete from test_user where id = 1;

commit;

test_user@dblink_test;

java 同步資料,同步資料到另乙個庫中。

前提 同乙個伺服器中,同種資料庫 實際專案開發中所應用到的場景 每次同步資料時,先刪除另乙個庫中表的資料,再同步。前提 兩個庫中的表結構一致 本次所用的是mysql資料庫 持久化框架為 mybatis 專案框架spring boot 同步資料到另乙個庫 author date 2018 9 5 pa...

oracle資料庫表資料同步 觸發器

create or replace trigger user trigger after insert or delete or update on users 對應三種觸發事件 for each row 行級觸發器 begin if inserting then insert into users...

Oracle資料庫定時同步

通過執行定時任務從源資料庫 sourcedb 向目標資料庫 targetdb 進行資料同步操作。資料庫版本一致是進行資料同步的前置條件 在配置oracle客戶端的伺服器上執行以下命令 exp username password sourcedb file export home oracle dat...