科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道DB2数据库的数据复制技术简单概述

DB2数据库的数据复制技术简单概述

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

数据复制就是通过将源数据库中指定的数据复制到目标数据库中,以保持源数据库与目标数据库中指定数据的同步(一致)。

作者:赛迪网 来源:赛迪网 2007年9月5日

关键字: 数据复制 数据库 DB2

  • 评论
  • 分享微博
  • 分享邮件
 

副本或行副本表

这些是唯一能被直接被我们的应用程序(此处的应用程序指用户的应用系统)更新的目标表。发生于副本或行副本的更改会被复制到相关的源表中;源表再依次复制更改至其它副本。使用副本表类型适用于任何地方的更新的复制。

用户表你不用直接指定一张用户表作为目标表;然而,对于任何地方的更新的复制,一张用户表将自动做为与其相关的副本或行副本的目标。用户表是副本的父母,而且它的拷贝依赖于副本。副本的父母从依赖副本那里接受更新,如果没有冲突检测,它将复制更改到其它依赖副本。副本的父母是主要数据源。如果任何更新冲突被检测到,副本的父母的内容成功。典型情况下,你的应用程序访问依赖的副本表;然而,当副本不可用时,它们将连接至包含用户表的服务器上。

应用更新的调度

同步复制将连续的递送更新。当源数据发生改变,它将临时存储起来,继而转送到目标。只有更改已经复制到目标数据库,源数据库才进行提交。这种类型的复制也称之为实时复制。

异步复制将分阶段递送更新。当源数据发生改变,它将在事先设定的时间间隔内临时存储起来,而后再继续转送到目标。时间间隔可以用时间(秒、分、时)度量或用指定的事件(午夜,或一天中的其它时间)来度量。如果更改没能被应用于目标数据库(例如,目标数据库或者网络停机),它们将被存储起来稍后再被应用,应用的顺序将按照在源数据库上的发生顺序。这种复制类型提供了比同步复制更多的好处:更好的利用网络资源,更少的数据库连接,在数据到达目标数据库之前有机会提高数据。

例子

以下操作或命令主要在DB2的控制中心或命令控制台中进行(红色部分根据具体情况调整),相关命令更详细的使用参见DB2帮助文档。

建立复制环境

先创建文件夹C:\示例以存放一些脚本文件

1.创建源数据库

DB2 CREATE DB DB_S

2.将数据库日志改为归档日志Capture

DB2 UPDATE DB CFG FOR DB_S USING LOGRETAIN Capture

3.根据需要调整日志大小(如果需要的话)

4.备份数据库(改为归档日志的数据库必须先备份才能对其进行操作)

DB2 BACKUP DB DB_S

5.创建源表

DB2 CONNECT TO DB_S USER UserName USING Password
DB2 CREATE TABLE TAB_1_S (COL_1 VARCHAR(20) NOT NULL, COL_2 VARCHAR(20), PRIMARY KEY(COL_1))

6.定义复制源

在控制中心左边树型列表中数据库DB_S下选中表,右边列表列出了所有的表,用右键点击表TAB_1_S,在弹出的菜单中选中定义为复制源—>定制,接受默认选项,点击确定,弹出现在运行还是保存窗口,接受默认的保存设置,点击确定,弹出选择系统名窗口,选择数据库所在系统,点击确定,弹出文件浏览器,把当前目录定位到C:\示例,在路径中输入文件名tab_1_replscr.sql,点击确定。保存成功后可以用文本编辑器查看tab_1_replscr.sql中的内容,可以发现里边主要是生成CD表,和注册复制源(通过往表ASN.IBMSNAP_REGISTER中插入记录)的SQL语句。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章