当前位置:七道奇文章资讯数据防范Oracle防范
日期:2011-01-25 22:55: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.主站点(MaterSite):在复制历程中供应数据源的站点.如上图中的上海数据库站点.

    2.实体化视图站点(MaterializedViewSite):实体化视图复制中的目标站点.如上图中的北京数据库站点.

    3.多主体站点复制(MultimasterReplication):复制环境中的站点都是主站点,对复制的数据库对象有相同的管理权限.

    4.实体化视图复制(MaterializedViewReplication):一个主体站点供应源复制对象,一个实体化视图站点拷贝主站点数据.

    5.实体化视图(MaterializedView):在实体化视图站点为每个复制表大概视图成立一个对应的表保存呼应的数据,该表只能通过Oracle的复制机制举行增删改数据的操作.

    6.快速革新、完好革新和强迫革新:复制历程中的三种革新方法.快速革新只复制源数据对象的改变部份;完好革新每次都拷贝一遍源数据对象;强迫革新是数据库的一个折衷筹划,假如快速革新失利则利用完好革新.

    7.主体组(MasterGroup):主体站点中被复制的源数据对象的调集.

    8.实体化视图组(MaterializedViewSite):实体化视图站点中复制对象的调集.

    9.实体化视图日记(MaterializedViewLog):实体化视图复制中利用快速革新时记录主体源数据对象操作日记的表.

    同步复制和异步复制就不注释了,本例采取每天一次的异步复制.

    举行复制

    配置好本地服务名辨别为:上海站点:SH,杭州站点:HZ,武汉站点:WH,北京站点:BJ,进入没有登录的sqlplus,让我们开始复制!

    一.设置主站点.

    这里以上海主站点设置为例.

    1.衔接主站点,成立复制管理员并授与呼应的权限,复制管理员是管理整个复制环境并成立复制对象的用户.只有数据管理员可以成立主体组和实体化视图组.

connectsystem/passwd@SH
createuserrepadminidentifiedbyrepadmin;
begin
dbms_repcat_admin.grant_admin_any_schema(
username=>’repadmin’);
end;
/
grantcommentanytabletoREPADMIN;
grantlockanytabletoREPADMIN;

    背面的两个grant语句使复制管理员可认为任何表成立实体化视图日记.假如想改用户可以利用视图管理器,还需求下面的号令:

grantselectanydictionarytoREPADMIN;

    2.注册传达方,传达方会将主体站点的耽误事件行列推入其他主体站点大概实体化视图站点.

begin
dbms_defer_sys.register_purpagator(username=>’repadmin’);
end;

    3.调度排除功课,该功课会按时排除耽误事件行列并用传达方将耽误事件推入其他主体站点大概实体化视图站点.先改换用户:

disconnect;
connectrepadmin/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;
connectsystem/passwd@SH;
createuserproxy_bjoracleidentifiedbyproxy_bjoracle;
begin
dbms_repcat_admin.register_user_repgroup(
user_name=>’proxy_bjoracle,
privilege_type=>’proxy_snapadmin’,list_of_gnames=>NULL);
end;
/
grantselect_catalog_roletoproxy_bjoracle;

    5.成立主体组.

disconnect;
connectrepadmin/repadmin@SH;
begin
dbms_repcat.create_master_repgroup(gname=>’sh_rep’);
end;
/
    6.向主体组中增添复制对象

    a)增添表:

begin
dbms_repcat.create_master_repobject(
gname=>’sh_rep’,
type=>’TABLE’,
oname=>’CREDIT_CARD’
sname=>’SHORACL’
use_existing_object=>TRUE,
copy_rows=>TRUE);
end;

    b)增添索引

begin
dbms_repcat.create_master_repobject(
gname=>’sh_rep’,
type=>’INDEX’,
oname=>’INDEX_CREDIT_CARD’
sname=>’SHORACL’
use_existing_object=>TRUE,
copy_rows=>FALSE);
end;
/

    7.假如增添的表没有主键需求设置可以替换主键的列大概列的调集

begin
dbms_repcat.set_columns(
sname=>’SHORACL’,
oname=>’CREDIT_CARD’,
column_list=>’CREDIT_CARD_ID’);
end;
/

    8.在主体组中的数据对象可以被复制之前,必须为他们生成复制支持.该办法为复制成立必要的触发器、包大概存储历程:

begin
dbms_repcat.generate_replication_support(
sname=>’SHORACL’,
oname=>’CREDIT_CARD’,
type=>’TABLE’,
min_communication=>TRUE);
end;
/

    9.为快速革新成立实体化视图日记:

creatematerializedviewlogonSHORACL.CREDIT_CARD;

    假如是没有主键的表示用一下语句:

creatematerializedviewlogonSHORACL.CREDIT_CARDwith
rowidexcludingnewvalues;

    10.启动复制:

begin
dbms_repcat.resume_master_activity(
name=>’sh_rep’);
end;
/

    以上是“浅析Oracle数据库集合办法-备份恢复[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 浅析Oracle监听器安装与配置-入门底子
  • 浅析Oracle多语言环境下to_date时间转换
  • 浅析Oracle数据库集合办法-备份恢复
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .