动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.教你如何收集Oracle进程中SQL跟踪.
.Oracle 数据库设计阶段性能优化策.
.和权限有关的表介绍.
.详细介绍 Oracle 数据库的聚簇技.
.增加或修改列时的规则.
.Oracle中怎样去定位未知的对象.
.使用utl_file将oracle数据库中数.
.oracle中用Create Table创建表时.
.解析:Oracle 10g EM Database C.
.ORACLE的几种启动方式.
.深入了解Oracle数据字典.
.利用Oracle解析函数快速检查序列.
.提高ORACLE数据库的查询统计速度.
.Digital Unix Version 4.0下Orac.
.Oracle 10G在fedora core4上的安.
.说说ORACLE的封锁机制.
.查询session被锁的sql.
.递归程序的应用.
.如何使特定用户具有smbmount上的.
.用智能优化限制提高Oracle数据库.

用ORACLE的高级复制实现内外网数据同步

发表日期:2008-2-9 |



  本文简要介绍了Oracle的高级复制功能,并通过一个实际项目,讨论了在内外网的两级DB中如何采用高级复制达到内外网的数据统一,最后给出配置脚本供大家参考。
  
  1、基本概念
  ORACLE
  
  ORACLE是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑治理的语言操纵大量有规律数据的集合。是客户/服务器(CLIENT/SERVER)体系结构的数据库之一。
  
  高级复制
  
  什么是复制?简单地说复制就是在由两个或者多个数据库系统构成的一个分布式数据库环境中拷贝数据的过程。
  
  高级复制,是在组成分布式数据库系统的多个数据库中复制和维护数据库对象的过程。 Oracle 高级复制答应应用程序更新数据库的任何副本,并将这些更改自动传递到其他数据库,同时确保全局事务处理的一致性和数据完整性。
  
  同步复制,复制数据在任何时间在任何复制节点均保持一致。假如复制环境中的任何一个节点的复制数据发生了更新操作,这种变化会马上反映到其他所有的复制节点。这种技术适用于那些对于实时性要求较高的商业应用中。
  
  异步复制,所有复制节点的数据在一定时间内是不同步的。假如复制环境中的其中的一个节点的复制数据发生了更新操作,这种改变将在不同的事务中被传播和应用到其他所有复制节点。这些不同的事务间可以间隔几秒,几分种,几小时,也可以是几天之后。复制节点之间的数据临时是不同步的,但传播最终将保证所有复制节点间的数据一致。
  
  2、项目情况
  需求描述
  
  这是一个内外网结构的审批系统。
  
  外网有一个WEB(+APPSERVER),一个DB(ORACLE9.2,双网卡),负责接收申报和反馈审批结果。
  
  内网有一个WEB(+APPSERVER),一个DB(ORACLE9.2,双网卡),负责接收申报和反馈审批结果,以及通过审批流程处理来自外网的审批申报。
  
  由上可知,内网功能包括外网功能,不过外网申报需要CA认证,内网则不需要。
  
  根据国家保密有关规定,政务系统的内外网必须物理隔绝,所以外网接收到的申报并不能马上反应到内网,同理,内网的处理结果也不能迅速反馈到外网。
  
  技术选择
  
  我们选择ORACLE异步手工复制,复制主要完如下功能:
  
  1. 把外网新申报数据复制到内网;
  
  2. 把内网对申报的处理结果反馈到外网。
  
  操作实现
  
  因为正常工作时间,内外网均不能停顿,而内外网又不能物理连通。于是设定在天天晚上18:00至18:15(或其它时段)为维护时段,该时段内外网均停止作业,由系统治理员把与内外网DB相连的所有网线均断开,用一根直连网线把两台DB连接,通过ORACLE提供的操作界面,在外网端手工刷新记录。
  
  3、具体实现步骤
  以下是脚本中用到的技术参数,内外网表结构相同,且都有主键。
  
  
  内网 外网
  IP 192.168.0.50 192.168.0.100
  SID ORANEI ORAWAI
  表 LAWTABLE
  REGISTER
  USERINFO
  ……
  共68张表 LAWTABLE
  REGISTER
  共2张表
  登录名/密码 HOLEN/HOLEN HOLEN/HOLEN
  
  以下是我们到客户处安装所用的SQL脚本
  
  第一步:配置内网,即MASTER端
  --版本:2.0
  --修订者:陈光 holen@263.net
  --时间:2003-6-8 15:30
  --内网作为MASTER
  --创建内网用户HOLEN
  
  CONN SYSTEM/PASSWord@ORANEI
  
  CREATE USER "HOLEN" PROFILE "DEFAULT" IDENTIFIED BY "HOLEN" ;
  GRANT "CONNECT" TO "HOLEN";
  GRANT "DBA" TO "HOLEN";
  GRANT "RESOURCE" TO "HOLEN";
  --导入内网数据库备份,在dos下到入完成(表LAWTABLE,REGISTER及其他表)
  
  第二步:配置内网,即MASTER端(续)
  --需要复制(同步)的表为HOLEN用户下的LAWTABLE,REGISTER
  
  --创建repadmin用户治理复制环境
  
  CREATE USER REPADMIN IDENTIFIED BY REPADMIN;
  
  ALTER USER REPADMIN DEFAULT TABLESPACE USERS;

  
  ALTER USER REPADMIN TEMPORARY TABLESPACE TEMP;
  
  GRANT connect, resource TO REPADMIN;
  
  --授予repadmin用户权限可以治理当前站点中任何主体组
  
  EXECUTE dbms_repcat_admin.grant_admin_any_schema('REPADMIN');
  
  --授予repadmin用户权限可以为任何表创建snapshot logs
  
  GRANT comment any table TO REPADMIN;
  
  GRANT lock any table TO REPADMIN;
  
  --指定repadmin用户为propagator,并授予执行任何procedure的权限
  
  EXECUTE dbms_defer_sys.register_propagator('REPADMIN');
  
  GRANT execute any procedure TO REPADMIN;
  
  --分配proxy snapshot administration权限给repadmin,list_of_gnames为null,意味着可以治理所有对象组
  
  BEGIN
  
  dbms_repcat_admin.register_user_repgroup(
  
  username => 'repadmin',
  
  privilege_type => 'proxy_snapadmin',
  
  list_of_gnames => NULL);
  
  END;
  
  /
  
  --分配'receiver'权限给repadmin
  
  BEGIN
  
  dbms_repcat_admin.register_user_repgroup(
  
  username => 'repadmin',
  
  privilege_type => 'receiver',
  
  list_of_gnames => NULL);
  
  END;
  
  /
  
  GRANT select any table TO repadmin;
  
  --在ORANEI上建立主体组,主体组名为HOLEN_MASTER,并往主体组中加入一个表
  
  --建立复制主体组
  
  BEGIN
  
  DBMS_REPCAT.CREATE_MASTER_REPGROUP(
  
  gname => '"HOLEN_MASTER"',
  
  qualifier => '',
  
  group_comment => '');
  
  END;
  
  /
  
  CONNECT REPADMIN/REPADMIN;
  
  --向复制组中加入表对象LAWTABLE
  
  BEGIN
  
  DBMS_REPCAT.CREATE_MASTER_REPOBJECT(
  
  gname => '"HOLEN_MASTER"',
  
  type => 'TABLE',
  
  oname => '"LAWTABLE"',
  
  sname => '"HOLEN"',
  
  copy_rows => TRUE,
  
  use_existing_object => TRUE);
  
  END;
  
  /
  
  --建立相应的快照日志
  
  CREATE SNAPSHOT LOG
  
  ON "HOLEN"."LAWTABLE"
  
  TABLESPACE "SYSTEM"
  
  WITH PRIMARY KEY
  
  EXCLUDING NEW VALUES;
  
  --生成复制支持
  
  BEGIN
  
  DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT(
  
  sname => '"HOLEN"',
  
  oname => '"LAWTABLE"',
  
  type => 'TABLE',
  
  min_communication => TRUE,
  
  generate_80_compatible => FALSE);
  
  END;
  
  /
  
  --向复制组中加入表对象REGISTER
  
  BEGIN
  
  DBMS_REPCAT.CREATE_MASTER_REPOBJECT(
  
  gname => '"HOLEN_MASTER"',
  
  type => 'TABLE',
  
  oname => '"REGISTER"',
  
  sname => '"HOLEN"',
  
  copy_rows => TRUE,
  
  use_existing_object => TRUE);
  
  END;
  
  /
  
  CREATE SNAPSHOT LOG
  
  ON "HOLEN"."REGISTER"
  
  TABLESPACE "SYSTEM"
  
  WITH PRIMARY KEY
  
  EXCLUDING NEW VALUES;

  
  BEGIN
  
  DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT(
  
  sname => '"HOLEN"',
  
  oname => '"REGISTER"',
  
  type => 'TABLE',
  
  min_communication => TRUE,
  
  generate_80_compatible => FALSE);
  
  END;
  
  /
  
  --MASTER端配置完毕
  
  第三步:配置外网,即SNAPSHOT端
  --外网作为SNAPSHOT
  
  --创建外网用户HOLEN
  
  CONN SYSTEM/PASSWORD@ORAWAI
  
  --创建普通用户
  
  CREATE USER "HOLEN" PROFILE "DEFAULT" IDENTIFIED BY "HOLEN";
  
  GRANT "CONNECT" TO "HOLEN";
  
  GRANT "DBA" TO "HOLEN";
  
  GRANT "RESOURCE" TO "HOLEN";
  
  --创建repadmin用户治理快照端复制环境
  
  CREATE USER REPADMIN IDENTIFIED BY REPADMIN;
  
  ALTER USER REPADMIN DEFAULT TABLESPACE USERS;
  
  ALTER USER REPADMIN TEMPORARY TABLESPACE TEMP;
  
  GRANT connect, resource TO REPADMIN;
  
  --授予repadmin用户权限可以治理当前站点中任何主体组
  
  EXECUTE dbms_repcat_admin.grant_admin_any_schema('REPADMIN');
上一篇:实现RedHat非正常关机的自动磁盘修复 人气:402
下一篇:FGA 策略(细粒度审计) 人气:511
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-7 Web Wiz Forums(论坛系统) v9.53
2008-10-7 Web Wiz Forums(论坛系统) v9.53
2008-10-7 Web Wiz Forums(论坛系统) v9.53
2008-10-7 HDWiki v4.0.1 bulid 081007 UTF
2008-10-7 迅易评选投票管理系统 v10.0
2008-10-7 HDWiki v4.0.1 bulid 081007 GBK
2008-10-7 Bitrac单用户博客 v1.14 bulid 0
2008-10-7 OpenX(广告管理系统) v2.6.2 多国
2008-10-7 乐铺网店系统免费普及版 v3.41
2008-9-29 酷狗音乐(原KuGoo)2008 v5.310 正
2008-9-29 QQTab 1.1
2008-9-29 网络传送带 Net Transport 2.64a
2008-9-29 谷歌金山词霸v1.8
2008-9-29 TweakVI 1.0 Build 1090
2008-9-29 ACDSee Pro 2.5 Build 333 汉化绿
2008-9-29 Winamp v5.541(2189) 周明波简体
2008-9-27 CCleaner 2.12.651
2008-9-27 Mozilla Thunderbird 2.0.0.17 英
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成