dblink每天将生产库数据备份到测试库(proc,jobs)

 

原理:

(1)利用database link使两个数据库之间建立连接。

   (2)建立一个存储过程:实现所有数据表内容的删除,然后将生产库的数据表内容插入到测试库中。(commit)

  (3)利用Jobs定期执行存储过程即可。

1、 在测试库中新建dblink

createdatabaselink to_shengchan(dblink名称)

connectto visu identifiedby visu

using'(DESCRIPTION=

          (ADDRESS_LIST =

             (ADDRESS = (PROTOCOL = TCP)(HOST =10.138.10.196)(PORT = 1521))

             (ADDRESS = (PROTOCOL = TCP)(HOST =10.138.10.198)(PORT = 1521))  --生产库集群IP

          )

          (CONNECT_DATA =

             (SERVICE_NAME = yyjcrac)  --实例名

          )

        )'

 

2、 创建存储过程:

createorreplaceprocedure proc_shengchan_bak is

begin

 

    ------------以下是非实时表数据-----------------

 

deletefromz_visu_data_chk;   

commit;

    insertinto z_visu_data_chk

    select * from z_visu_data_chk@to_shengchan t;

    commit;

   

    deletefrom z_visu_data_dish;

    commit;

    insertinto z_visu_data_dish

    select * from z_visu_data_dish@to_shengchan t;

    commit;

   

deletefromz_visu_data_fin;   

commit;

    insertinto z_visu_data_fin

    select * from z_visu_data_fin@to_shengchan t;

    commit;

   

deletefromz_visu_data_hr;   

commit;

    insertinto z_visu_data_hr

    select * from z_visu_data_hr@to_shengchan t;

    commit;   

   

end;

创建存储过程时,必须执行F8,使其编译成功。

 

3、 执行存储过程

3.1 手动执行

call proc_shengchan_bak()

或者 exec proc_shengchan_bak

3.2 通过Jobs执行(创建job)

 

DECLARE

            X NUMBER;

         BEGIN

            SYS.DBMS_JOB.SUBMIT

            ( job => X

               ,what => 'TESTPROC;'

               ,next_date => to_date('02-07-2008 01:00:00','dd/mm/yyyyhh24:mi:ss')

               ,interval =>'TRUNC(sysdate) + 1 +9/ (24)'  --每天早上9点执行

               ,no_parse => FALSE

            );

                SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));

               COMMIT;

         END;

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值