DBLINKoracle数据交换资料

上传人:大米 文档编号:457432396 上传时间:2024-01-11 格式:DOC 页数:17 大小:62.50KB
返回 下载 相关 举报
DBLINKoracle数据交换资料_第1页
第1页 / 共17页
DBLINKoracle数据交换资料_第2页
第2页 / 共17页
DBLINKoracle数据交换资料_第3页
第3页 / 共17页
DBLINKoracle数据交换资料_第4页
第4页 / 共17页
DBLINKoracle数据交换资料_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《DBLINKoracle数据交换资料》由会员分享,可在线阅读,更多相关《DBLINKoracle数据交换资料(17页珍藏版)》请在金锄头文库上搜索。

1、我们通过DBlink创建Oracle存储过程和任务*/ /*1. -创建一个存储过程 2. createprocedureproc_sjtb 3. as4. begin5. 6. deletefromswdx_gzryxxwhereis_tb=1; 7. insertintoswdx_gzryxx(gzrybh,mc,jgdm,phone,is_tb)selectdistinct(t.zgswry_dm),t.zgswry_mc,t.nsr_swjg_dm,t.tel_zgy,1fromdxpt_sjtbmydblinkt; 8. 9. deletefromgdzc_jgwhereis_tb=

2、1; 10. insertintogdzc_jg(jg_dm,jg_mc,is_tb)selectdistinct(t.nsr_swjg_dm),t.nsr_swjg_mc,1fromdxpt_sjtbmydblinkt; 11. 12. deletefromswdx_nsrxxwhereis_tb=1; 13. insertintoswdx_nsrxx(nsrsbh,nsrmc,jgdm,zgydm,is_tb)selectt.nsrsbh,t.nsrmc,t.nsr_swjg_dm,t.zgswry_dm,1fromdxpt_sjtbmydblinkt; 14. 15. insertint

3、oswdx_nsrphone(nsrsbh,lbbh,tel)selectt.nsrsbh,001,t.TEL_NSR_CWfromdxpt_sjtbmydblinkt; 16. insertintoswdx_nsrphone(nsrsbh,lbbh,tel)selectt.nsrsbh,002,t.TEL_NSR_FRfromdxpt_sjtbmydblinkt; 17. insertintoswdx_nsrphone(nsrsbh,lbbh,tel)selectt.nsrsbh,003,t.TEL_NSR_QTfromdxpt_sjtbmydblinkt; 18. 19. deletefr

4、omxt_czywhereis_tb=1; 20. insertintoxt_czy(czy_id,czy_mc,jg_code,czy_lxdh,is_zgy,is_tb,is_jgczy,CZY_YXBZ)selectdistinct(t.zgswry_dm),t.zgswry_mc,t.nsr_swjg_dm,t.tel_zgy,1,1,0,Yfromdxpt_sjtbmydblinkt; 21. insertintoxt_czy(czy_id,czy_mc,jg_code,is_zgy,is_tb,is_jgczy,CZY_YXBZ)selectdistinct(t.nsr_swjg_

5、dm),t.nsr_swjg_mc,t.nsr_swjg_dm,0,1,1,Yfromdxpt_sjtbmydblinkt; 22. 23. end; 24. 25. 26. 27. -创建任务(每分钟执行一次) 28. DECLAREXNUMBER; 29. BEGIN30. SYS.DBMS_JOB.SUBMIT 31. ( 32. job=X 33. ,what=proc_sjtb;34. ,next_date=to_date(09-12-200800:00:00,dd/mm/yyyyhh24:mi:ss) 35. ,interval=TRUNC(sysdate)+1+2/(24)36.

6、 ); 37. END; 38. 39. 40. -执行任务 41. -RUN(参数)是我们建立任务的时候自动生成的,指定任务号方可启动任务和删除任务 42. 43. begin44. SYS.DBMS_JOB.RUN(25); 45. end; 46. 47. -删除任务 48. begin49. sys.DBMS_JOB.REMOVE(23); 50. end;转oracle数据库同步技术 oracle数据库同步技术 高级复制什么是复制?简单地说复制就是在由两个或者多个数据库系统构成的一个分布式数据库环境中拷贝数据的过程。 高级复制,是在组成分布式数据库系统的多个数据库中复制和维护数据库对

7、象的过程。 Oracle 高级复制允许应用程序更新数据库的任何副本,并将这些更改自动传递到其他数据库,同时确保全局事务处理的一致性和数据完整性。 同步复制,复制数据在任何时间在任何复制节点均保持一致。如果复制环境中的任何一个节点的复制数据发生了更新操作,这种变化会立刻反映到其他所有的复制节点。这种技术适用于那些对于实时性要求较高的商业应用中。 异步复制,所有复制节点的数据在一定时间内是不同步的。如果复制环境中的其中的一个节点的复制数据发生了更新操作,这种改变将在不同的事务中被传播和应用到其他所有复制节点。这些不同的事务间可以间隔几秒,几分种,几小时,也可以是几天之后。复制节点之间的数据临时是不

8、同步的,但传播最终将保证所有复制节点间的数据一致。 一、实现数据库复制的前提条件1、数据库支持高级复制功能您可以用system身份登录数据库,查看v$option视图,如果其中Advanced replication为TRUE,则支持高级复制功能;否则不支持。2、数据库初始化参数要求、db_domain = 指明数据库的域名(默认的是WORLD),这里可以用您公司的域名。、global_names = true它要求数据库链接(database link)和被连接的数据库名称一致。现在全局数据库名:db_name+”.”+db_domain、有跟数据库job执行有关的参数job_queue_p

9、rocesses = 1job_queue_interval = 60distributed_transactions = 10open_links = 4第一行定义SNP进程的启动个数为n。系统缺省值为0,正常定义范围为036,根据任务的多少,可以配置不同的数值。第二行定义系统每隔N秒唤醒该进程一次。系统缺省值为60秒,正常范围为13600秒。事实上,该进程执行完当前任务后,就进入睡眠状态,睡眠一段时间后,由系统的总控负责将其唤醒。如果修改了以上这几个参数,需要重新启动数据库以使参数生效。二、实现数据库同步复制的步骤假设在Internet上我们有两个数据库:一个叫深圳(shenzhen),一

10、个叫北京(beijing)。具体配置见下表:数据库名 shenzhen beijing数据库域名 数据库sid号 shenzhen beijingListener端口号 1521 1521服务器ip地址 10.1.1.100 10.1.1.2001、确认两台数据库之间可以互相访问,在tnsnames.ora里设置数据库连接字符串。、例如:深圳这边的数据库连接字符串是以下的格式beijing =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.200)(PORT = 1521)(CONNECT_DATA

11、 =(SERVICE_NAME = beijing)运行$tnsping beijing出现以下提示符:Attempting to contact (ADDRESS=(PROTOCOL=TCP)(HOST=10.1.1.200)(PORT=1521)OK(n毫秒)表明深圳数据库可以访问北京数据库。、在北京那边也同样配置,确认$tnsping shenzhen 是通的。2、改数据库全局名称,建公共的数据库链接。、用system身份登录shenzhen数据库SQLalter database rename global_name to ;用system身份登录beijing数据库:SQLalter

12、 database rename global_name to ;、用system身份登录shenzhen数据库SQLcreate public database link using beijing;测试数据库全局名称和公共的数据库链接SQLselect * from ;返回结果为就对了。用system身份登录beijing数据库:SQLcreate public database link using shenzhen;测试数据库全局名称和公共的数据库链接SQLselect * from ;返回结果为就对了。3、建立管理数据库复制的用户repadmin,并赋权。、用system身份登录

13、shenzhen数据库SQLcreate user repadmin identified by repadmin default tablespace users temporary tablespace temp;SQLexecute dbms_defer_sys.register_propagator(repadmin);SQLgrant execute any procedure to repadmin;SQLexecute dbms_repcat_admin.grant_admin_any_repgroup(repadmin);SQLgrant comment any table to repadmin;SQLgrant lock any table to repadmin;、同样用system身份登录beijing数据库,运行以上的命令,管理数据库复制的用户repadmin,并赋权。说明:repadmin用户名和密码可以根据用户的需求自由命名

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号