oracle快照日志

Oracle数据快照
第一步:创建dblink;(先使用net manager在目标数据库服务器上面建立net服务名192.168.10.7)
drop public database link dblink_sportsdb;
Create public DATABASE LINK dblink_sportsdb CONNECT TO system IDENTIFIED BY myodbc123456  USING '192.168.10.7';
其中 dblink_sportsdb为dblink的name
    system为源数据库用户名;
     Myodbc123456为密码;
     192.168.10.7为网络服务名(net ID);
第二步:在源数据库和目标数据库上建立同步表
drop table medal_order;
create table medal_order(id                number(11) primary key,
                         game_id           varchar2(20),
                         department        varchar2(10),
                         sporting_item     varchar2(10),
                         child_item_id     varchar2(10),
                         group_difference  varchar2(10),
                         stat_kind         varchar2(10),
                         score_kind        varchar2(10),
                         one               varchar2(10),
                         two               varchar2(10),
                         three             varchar2(10),
                         four              varchar2(10),
                         five              varchar2(10),
                         six               varchar2(10),
                         seven varchar2(10),
                         eight varchar2(10),
                         nine varchar2(10),
                         ten varchar2(10),
                         eleven varchar2(10),
                         twelve varchar2(10),
                         medal_total varchar2(10)
);
第三步、在目的数据库上,测试dblink
select * from medal_order@ dblink_sportsdb 2;
第四步、在源数据库上,创建要同步表的快照日志
Create snapshot log on medal_order;
第五步、创建快照,在目的数据库上创建快照
Create snapshot medal_order as select * from medal_order @dblink_sportsdb;
第六步、设置快照刷新时间(只能选择一种刷新方式,推荐使用快速刷新,这样才可以用触发器双向同步)
快速刷新
Alter snapshot sn_test_user refresh fast Start with sysdate next sysdate with primary key;
--oracle马上自动快速刷新,以后不停的刷新,只能在测试时使用.真实项目要正确权衡刷新时间.

完全刷新
Alter snapshot sn_test_user refresh complete Start with sysdate+30/24*60*60 next sysdate+30/24*60*60;
--oracle自动在30秒后进行第一次完全刷新,以后每隔30秒完全刷新一次
删除快照视图:
drop materialized view sportsdb.(快照名称);//sportsdb是指用户名

oracle通过exp和imp导入导出表和数据。
1、导出
运行cmd
进入 $ORACLE_HOME/bin下(ORACLE_HOME是事先定义的oracle所在路径的环境变量) 执行命令:

Exp userid=a_username/a_password@serviceName tables=(table1,table2,...,tableN) rows=y/n file=mytables.dmp (其中y代表导出数据和表结构,n代表只导出表结构,不导出表数据)

如果成功的话将生成一个mytables.dmp文件
2、导入
同样进入$ORACLE_HOME/bin,执行命令:
imp userid=b_username/b_password@serviceName file=mytables.dmp full=y ignore=y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值