日期:2011-03-21 00:21:00 来源:本站整理
Oracle数据库集合复制办法浅议[Oracle防范]
本文“Oracle数据库集合复制办法浅议[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
前言
日益增长的分布式利用需求要务实现更好分布式的软件环境,不断推动着分布式技术的进步.Oracle数据复制是实现分布式数据环境的一种技术,通过在差别的物理站点拷贝数据来成立分布式数据环境.它与分布式数据库差别,在分布式数据库中,固然每个数据对象也对全部的站点可用,但是特定的数据对象只存在于一个特定的站点中.而数据复制实现全部的站点都有相同数据对象的可用拷贝.
在一个典型的分布式商业利用中常常需求把个区域的数据备份到总部的数据库中,一方面可以作为一种备份方法,另一方面也便利总部利用中的综合统计.这是Oracle数据复制中的简单利用,本文将以这样一个例子,报告若何实现Oracle数据复制.
实际情形是,A公司总部在北京,有三个营业部份别位于上海(ORACLE.SHANGHAI.COM)、杭州(ORACLE.HANGZHOU.COM)和武汉(ORACLE.
WUHAN.COM).三个营业部的软件系统相同,数据库构造也相同.目前需求把三个营业部的数据全部备份到总部的数据库中.
预备工作
在举行复制之前需求预备的东西很多,当然最底子就是网络必须通畅,之后需求汇集一些复制环境的基本信息:
1. 需求复制的数据库站点的数目
2. 每个站点的Oracle版本号
3. 每个需求复制的数据库的大小
4. 每个数据库所利用的字符集
5. 每个需求复制的数据所用的筹划名
汇集完环境信息,可以开始成立总部的集合数据库,集合数据库要求版本高于全部主战点的版本,最好全部的数据库都是用相同的字符集.建好库后为每个主站点的备份数据辨别建一个表空间,表空间大于需求复制的数据量,至于预留今后的发展空间视实际情形而定.
为每个主站点的对应复制数据成立筹划,假如各个主站点所利用的筹划名差别,在集合数据库站点辨别成立名称相同的对应筹划.不然为各主站点的复制数据辨别成立呼应的筹划名.实际情形是后者,各营业部的数据库都是用Oracle的筹划名,这里我们成立三个对应方
案:SHORACL、HZORACL 和WHORACL.全部数据库的版本都是9i.
基本概念
复制之前先注释一下复制中的几个概念:
1.主站点(Mater Site):在复制历程中供应数据源的站点.如上图中的上海数据库站点.
2.实体化视图站点(Materialized View Site):实体化视图复制中的目标站点.如上图中的北京数据库站点.
3.多主体站点复制(Multimaster Replication):复制环境中的站点都是主站点,对复制的数据库对象有相同的管理权限.
4.实体化视图复制(Materialized View Replication): 一个主体站点供应源复制对象,一个实体化视图站点拷贝主站点数据.
5.实体化视图(Materialized View):在实体化视图站点为每个复制表大概视图成立一个对应的表保存呼应的数据,该表只能通过Oracle的复制机制举行增删改数据的操作.
6. 快速革新、完好革新和强迫革新:复制历程中的三种革新方法.快速革新只复制源数据对象的改变部份;完好革新每次都拷贝一遍源数据对象;强迫革新是数据库的一个折衷筹划,假如快速革新失利则利用完好革新.
7. 主体组(Master Group):主体站点中被复制的源数据对象的调集.
8. 实体化视图组(Materialized View Site):实体化视图站点中复制对象的调集.
9. 实体化视图日记(Materialized View Log):实体化视图复制中利用快速革新时记录主体源数据对象操作日记的表.
同步复制和异步复制就不注释了,本例采取每天一次的异步复制.
举行复制
配置好本地服务名辨别为:上海站点:SH,杭州站点:HZ,武汉站点:WH,北京站点:BJ,进入没有登录的sqlplus,让我们开始复制!
一.设置主站点.
这里以上海主站点设置为例.
1.衔接主站点,成立复制管理员并授与呼应的权限,复制管理员是管理整个复制环境并成立复制对象的用户.只有数据管理员可以成立主体组和实体化视图组.
connect system/passwd@SH create user repadmin identified by repadmin; begin dbms_repcat_admin.grant_admin_any_schema( username=>’repadmin’); end; / grant comment any table to REPADMIN; grant lock any table to REPADMIN; |
背面的两个grant语句使复制管理员可认为任何表成立实体化视图日记.假如想改用户可以利用视图管理器,还需求下面的号令:
grant select any dictionary to REPADMIN; |
2.注册传达方,传达方会将主体站点的耽误事件行列推入其他主体站点大概实体化视图站点.
begin dbms_defer_sys.register_purpagator(username=>’repadmin’); end; |
3.调度排除功课,该功课会按时排除耽误事件行列并用传达方将耽误事件推入其他主体站点大概实体化视图站点.先改换用户:
disconnect; connect repadmin/repadmin@SH; begin dbms_defer_sys.schedule_purge( next_date=>sysdate,interval=>’sysdate + 1’,delay_seconds=>0); end; |
next_date:下一次履行日期,sysdate表示当即.
interval:隔断时段,sysdate + 1表示隔断一天,sysdate+ 1/24表示隔断一小时
delay_seconds:当耽误行列没有耽误事件时终止被次排除操作的耽误时间.
4.为实体化视图站点成立复制代理.成立复制代理用户并授与视图承受方权限.复制代理是复制接纳方衔接主体站点的用户
disconnect; connect system/passwd@SH; create user proxy_bjoracle identified by proxy_bjoracle; begin dbms_repcat_admin.register_user_repgroup( user_name=>’proxy_bjoracle, privilege_type => ’proxy_snapadmin’,list_of_gnames => NULL); end; / grant select_catalog_role to proxy_bjoracle; |
5. 成立主体组.
disconnect; connect repadmin/repadmin@SH; begin dbms_repcat.create_master_repgroup(gname=>’sh_rep’); end; / |
以上是“Oracle数据库集合复制办法浅议[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论