oracle表复制为mysql表_oracle表的复制转移

1)、采用database link方法拷贝数据(适用数据量不是太大并更新频繁的表,网络要通并且索引不是很多)

方法:在备机上创建数据库的database link:首先在备机的netmgr上建立数据库连接,然后使用create public database link linux_oracle connect to scott identified by tiger using 'linux_oracle'就可以使用主库上的表了。

查看数据库链接表:dba_db_links

2)、exp/imp

3)、触发器(自动化)

现在假设有两个数据库A,B,B库中的备用表需要和A库中的住表同步数据。主表和备用表表名相同(也可以不同),都叫a

1。首先建立在A库所在的机器建立访问B库的网络服务名bak,用NET-MANAGER完成

2。创建PUBLIC DATABASE LINK :CREATE PUBLIC DATABASE LINK bak USING 'bak',以sys/system用户创建

3。在B库用户下创建私有DATABASE LINK(同PUBLIC DATABASE LINK名称相同),要具有CREATE DATABASE LINK权限。指定用户和密码

CREATE DATABASE LINK bak CONNECT TO topup IDENTIFIED BY smartpaytopup

4。创建触发器

create or replace trigger topup_transaction_trigger

after insert or update on topup_transaction

begin

merge into topup_transaction@bak t2

using topup_transaction t1 on(

t2.tx_date=t1.tx_date)

when matched then

update set t2.b=t1.b

when not matched then

insert (a,b)  values(t1.a,t1.b);

end;

create or replace trigger topup_transaction_trigger2

after delete on topup_transaction

begin

delete from topup_transaction@bak

where tx_date in(

select a from topup_transaction@bak

minus

select a from t);

end sync_data2;

4)。采用物化视图()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值