DB2数据库在线备份还原笔记
admin
2023-04-27 17:41:50
0

DB2数据库在线备份还原笔记

数据库在线增量备份

   由于一般客户的生产系统数据量都很大,所以频繁的进行数据库或表空间的全量备份在空间存储上变得不可行。DB2 支持两种增量的备份,一种是增量备份(comulative backup),另一种是差异备份(deltabackup).总的说来,增量的备份(包括增量备份和差异备份),在其备份映像文件中只包含自上次进行备份以来有过更新的页,除更新的数据和索引页之外,每个增量备份映像还包含通常存储在完全备份映像中的初始数据库元数据(例如,数据库配置、表空间定义和数据库历史记录等)。增量备份和差异备份的区别在于无所谓的上次备份的类型不同,比如增量备份只备份自上次全备以后发生过变化的页,而差异备份则备份自上次任何中备份(可能是全量备份、增量备份、差异备份)以来的变化。

        若要对数据库增量备份需要打开数据库的TRACKMOD配置参数,也就是把其值改成on,默认是off。当此参数值设置为on时,数据库管理器跟踪数据库修订,以便backup实用程序可以检测到数据库页的那些子集必须通过增量备份来检查并可能包括在备份映像中。

创建数据库:


db2 create db mydb using codeset GB2312 territory CN pagesize 8192


DB2数据库在线备份还原笔记

创建数据库表:

db2 "create table t1(id integer,name varchar(10))"   

插入内容:

db2 "insert into db2inst1.t1 values(1,'a')"

DB2数据库在线备份还原笔记

DB2数据库在线备份还原笔记

开启归档模式:

        db2 update database configuration for mydb using logarchmeth2    DISK:/home/db2inst1/logs/  

DB2数据库在线备份还原笔记

开启增量备份模式:

      db2 update database configuration for mydb using trackmod  on       //启用增量备份功能

     db2 get db cfg for  mydb  |grep  -i trackmod                        //查看是否开启增量模式

DB2数据库在线备份还原笔记

    #db2stop force   

    #db2start 


    //修改配置参数后重启数据库方可生效。

  #db2 backup db mydb to /home/db2inst1/backup             //开始上面参数后,数据库处于backup pending状态,要求做数据库的离线备份,否则会提示SQL1116N错误。

DB2数据库在线备份还原笔记

联机全量备份数据库:

$ mkdir  online
$cd online/
$ db2 backup db mydb online include logs

 db2 backup db mydb online to /home/db2inst1/backup/online/ include logs

    DB2数据库在线备份还原笔记

插入测试表:

DB2数据库在线备份还原笔记

执行增量备份:

 db2 backup db mydb online incremental include logs                    //增量备份的命令

db2 backup db mydb online incremental to /home/db2inst1/online/ include logs  //指定备份文件存放目录。

db2 backup db mydb online incremental  delta include logs          //差异备份


DB2数据库在线备份还原笔记

再次插入测试表内容:

db2 "insert into db2inst1.t2 values(4,'d')"

DB2数据库在线备份还原笔记

[db2inst1@zxt-02 online]$ db2 backup db mydb online incremental to /home/db2inst1/online/ include logs

再次执行增量备份:

注:(也可为差异备份效果一样)

DB2数据库在线备份还原笔记


如果想查看数据库的历史备份还原情况,可以使用 带有  db2 list history backup all  命令,对于备份映像信息来说,类型N代表在线全备,O 代表在线增量备份,E代表在线差异备份,类型F代表脱机全备,I代表脱机增量备份,D代表投机差异备份。

在线增量还原:

    假如备份映像有N个,一般会执行N+1次复原才能完成整个复原操作。在手工还原期间,用户必须对复原涉及的每个映像手工发出还原命令,按照以下顺序完成此操作:最后一个、第一个、第二个、第三个以此类推,并且包括最后一个映像(即:再次执行还原最后一个)。

    首先对最后一个备份映像执行复原操作,通过使用restore database命令的taken at timestamp 选项来指定目标映像。首先进入到/home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/中,此路径是示例数据库mydb的活动日志目录。在此目录下,删除所有的日志文件。注意,生产系统不能删除活动日志,否则数据库会宕机。本示例是为了演示如何还原数据库,删除日志后随即执行还原,为了更清晰的看到如何利用备份文件中的日志进行还原,故删除了以前的活动日志。通过 restore database 命令进行复原,具体操作如下。

手工增量还原第一步:

db2 restore db mydb incremental taken at    20151023140237    logtarget  /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/

    DB2数据库在线备份还原笔记

手工增量还原第二步:

db2 restore db mydb incremental taken at    20151023134213    logtarget  /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/

DB2数据库在线备份还原笔记

手工增量还原第三步:

db2 restore db mydb incremental taken at    20151023135526    logtarget  /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/

DB2数据库在线备份还原笔记

手工增量还原第四步:

db2 restore db mydb incremental taken at    20151023140237    logtarget  /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/

DB2数据库在线备份还原笔记

还原完成,进行回滚:

 db2 rollforward db mydb to end of logs and stop 

db2 "rollforward db mydb to end of logs and stop overflow log path(/home/db2inst1/log)" //指定日志释放目录

注意:回滚时若数据库活动日志目录中还存在日志数据库还原程序会滚动到最新的日志日期。

DB2数据库在线备份还原笔记

db2 restore db mydb   logs  incremental  taken at 20151023134213   logtarget /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/       //从备份文件中提取数据库日志文件。

至此还原完成。



在线自动增量还原


   如果在还原时指定AUTOMATIC选项,则将对数据库进行自动还原工作。只要执行一次还原操作就可以了,实际上是数据库管理器自动完成了像手工还原数据库的那些操作。对于自动增量还原,只在指定要使用的目标映像(最后一个映像)时发出带AUTOMATIC选项的RESTORE命令一次。然后DB2使用数据库历史记录来确定余下的必需备份映像并还原它们。

    首先进入示例数据库的活动日志目录。在此目录下,删除所有对的日志文件。注意,生产系统不能删除活动日志,否则数据库会宕机。本示例是为了演示如何还原数据库,删除日志后随即执行还原,为了更清晰的看到如何利用备份文件中的日志进行还原,故删除了以前的活动日志。

    先对最后一个增量备份映像(时间戳   )进行还原操作,通过使用RESETORE DATABASE 命令的TAKEN  AT TIMESTAMP选项来指定目标映像,并使用INCREMENTAL AUTOMATIC 选项来进行自动增量还原。

方式一:

    db2 restore db mydb incremental automatic taken at 20151023140237             //自动还原增量备份文件

  至此还原工作已经完成,接下来需要对示例数据库进行前滚恢复操作。为了进行前滚恢复,需要从每个个备份映像中分别恢复日志文件。  可以用还原命令选择只还原保存在备份映像中的日志文件。要执行此操作,可以使用RESTORE DATABASE 命令的 LOGTARGET选项指定LOGS选项。以此方式还原日志文件时如果还原操作遇到任何问题,则还原操作失败并返回错误。

db2 restore db mydb   logs  incremental  taken at 20151023134213   logtarget /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/       //从备份文件中提取数据库日志文件。

前滚日志:

 db2 rollforward db mydb to end of logs and stop 

方法二:

   db2 restore db mydb incremental automatic from /home/db2inst1/backup/online/  taken at 20151030133636  logtarget  /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/

    //使用此命令可直接自动还原增量备份到指定时间点,不需要单独提取每个备份映像中的数据库日志来做回滚,直接回滚即可。


前滚日志:

 db2 rollforward db mydb to end of logs and stop 





相关内容

热门资讯

工作时间减少1%,肥胖率或下降... 澎湃新闻记者 季敬杰合理调整生活与工作的平衡可能会给健康带来意想不到的好处。近日一项研究指出,年度工...
美媒:中美元首会晤或讨论AI护... 据凤凰卫视援引美国媒体报道,美方希望借中美领导人会晤的机会,开启有关人工智能安全与管控的对话,并推动...
卫生间水管布置图尺寸高度 卫生间的水管布置可能比较复杂一些,因为卫生间的管道比较多。比如有热水器的通水管道,有座便器的冲水管道...
电脑尺寸在哪里看 电脑尺寸在哪里看1、可以选择手工测量法来测量电脑尺寸,这时测量一下屏幕对角线,因为显示面积都会小于显...
电脑机箱尺寸标准 常规的机箱一般是立体式,或桌面式,再就是横式。电脑机箱尺寸,目前市面上根据不同的规格有不同的方案。 ...
斯塔默发声:不会辞职 【环球时报驻英国特约记者 纪双城 环球时报特约记者 甄翔 于文】执政党工党在英国地方选举中遭遇“历史...
抽油烟机管道有异味怎么办 抽油烟机是厨房中不可或缺的设备,它能有效地排出油烟,保证室内空气的清新。但是,长时间使用后,抽油烟机...
抽油烟机管道有油垢怎么办 抽油烟机管道是我们家庭生活中必不可少的设备,但长时间的使用会导致管道内部积累大量的油垢,如不及时清理...
沈伯洋与台北市长格局有落差,叶... 海峡导报综合报道 民进党将正式拍板征召民代沈伯洋出战台北市长,并发布采访通知,预计在13日下午举行台...
核查:上世纪已有多款汉坦疫苗上... 明查员 冯梦速览- 人类感染汉坦病毒已有数十年历史。朝鲜战争期间,联合国军就曾有过大规模感染。汉坦病...