《2022年DB数据库备份与恢复 .pdf》由会员分享,可在线阅读,更多相关《2022年DB数据库备份与恢复 .pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、DB2 数据库备份与恢复Jimmy()1/19DB2数据库备份与恢复赵坚密2012-7-29【讲座预告】每周三晚八点半在YY频道 85536471 免费讲解数据库与商业智能BI 相关知识。详情见http:/ 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 19 页 -DB2 数据库备份与恢复Jimmy()2/19版本记录版本号.版本日期修订人修订简述说明V1.0 2008-12-05 创建文档,并描述了数据库如何脱机和联机备份以及恢复等2009-04-03 2012-07-29 日志类型名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 19 页 -DB2 数据库备份与
2、恢复Jimmy()3/19目录第一章概述.51.1DB2日志类型 .51.1.1循环日志.51.1.2归档日志.51.1.3无限日志.61.2日志相关参数 .7第二章脱机备份 .82.1首先确保没有用户使用DB2.82.2强迫断开应用连接 .82.3执行备份命令:.82.4检查备份成功:.8第三章联机备份 .103.1查看备份历史 .103.2如果是循环日志,需要先修改成归档日志.103.3联机备份 .113.3.1联机备份表空间.113.3.2联机备份数据库.113.4备份归档日志文件 .12第四章从联机备份中恢复 .134.1恢复并前滚整个数据库 .134.1.1恢复数据库到某一个时间点.
3、134.1.2前滚至日志结束.134.1.3前滚至某个时间点.144.2恢复表空间 .144.2.1恢复表空间到某一个时间点.144.2.2前滚至某一个时间点.14第五章增量备份和恢复 .15名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 19 页 -DB2 数据库备份与恢复Jimmy()4/195.1增量备份 .155.1.1打开 TRACKMOD.155.1.2执行完全数据库备份作为增量备份的基础.165.1.3联机备份数据库.165.1.4增量备份数据库.165.1.5delta 增量备份数据库 .165.2增量恢复 .175.2.1自动从增量备份中恢复.175.2.2前滚
4、到日志结束.17第六章带有 include logs选项的联机备份和恢复.18名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 19 页 -DB2 数据库备份与恢复Jimmy()5/19第一章概述DB2有两种备份模式:脱机(冷)备份和联机(热)备份。脱机要求所有应用断开与数据库的连接,联机允许在备份的过程中继续执行事务。DB2有两种日志模式:循环和归档日志记录。当选择循环日志(数据库默认日志模式)时,只能执行脱机备份;如果选择的是归档日志,可以进行联机备份和增量备份。下面几个章节将分别说明如何进行脱机备份、联机备份。1.1 DB2 日志类型数据库中有两类日志:循环日志归档日志1.1
5、.1 循环日志循环日志是 db2 默认的。这种类型的日志以循环的模式重用日志。在这种模式下,只要某个日志文件中包含的所有事物提交。就是说,如果日志仍然是活动日志,那么他就不可以被重用。循环日志包括两部分:主日志文件辅日志文件主日志预先分配,辅日志只有在需要的时候才分配。主日志文件和辅日志文件的数目有LOGPRIMARY 和 LOGSECOND 来决定。1.1.2 归档日志归档日志要求用户经常保存日志。所有日志文件将保留下来。所以日志目录(或名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 19 页 -DB2 数据库备份与恢复Jimmy()6/19归档目录)将包含越来越多的日志文件。
6、活动日志:如果某个日志满足以下条件中的任一个,就属于活动日志:包含尚未提交或回滚的事物包含已经提交但是更改尚未写到磁盘上的事物在线归档日志:包含已提交且已写到磁盘上的日志。这些日志与活动日志放在相同的目录。离线归档日志:已经从活动日志目录转移到另一个目录上的归档日志。要设置日志为归档模式,需要设置LOGARCHMETH1 参数为以下任意情况:LOGRETAIN 日志文件将被保留在活动日志目录中。USEREXIT 日志的归档和检索是由用户提供的用户出口程序自动执行,这个出口程序必须由db2uext2 调用。用于将在线归档日志移动到与活动日志目录不同的一个目录中。当在ROLLFORWARD操作期间
7、需要离线归档日志时,这个程序还可以用于将离线归档日志取出到活动日志目录中。DISK:directory_name 使用与 USEREXIT 相同的算法。db2 不调用用户出口程序,而是自动将日志从活动日志归档到指定目录。TSM:management class name 使用与 USEREXIT 相同的算法。日志被归档到本地 TSM服务器上。VENDOR:library_name 使用与 USEREXIT 相同的算法。日志使用指定供应商的库来归档。归档日志不是默认的日志工作方式,但它是允许用户执行前滚(roll forward)回复的唯一方法。1.1.3 无限日志采用循环日志或者归档日志,日志
8、目录均可能被填满。如果启用无限日志,db2就会在一个日志被填满时立即归档该日志。他不会等到日志中所有事物都被提交且写入磁盘。这样可以保证活动日志目录永远不会被填满。但是这样可能延迟紧急事故恢复时间,所以不建议采用。如果要启用:将 LOGSECOND 数据库参数设为-1 名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 19 页 -DB2 数据库备份与恢复Jimmy()7/19启用归档日志模式1.2 日志相关参数LOGPRIMARY LOGSECOND LOGFILSIZ:用于指定一个日志文件的大小(4kb 页的个数)LOGBUFSZ NEWLOGPATH SOFTMAX:软检查点,
9、是个百分数,例如60%表示日志文件写满60%时,数据库执行 checkpoint 操作,把内存中的已提交的数据(脏页)写到磁盘MINCOMMIT LOGARCHMETH1:第一个日志归档方法LOGARCHMETH2 MIRRORORLOGPATH TRACKMOD:启用增量备份通过命令 update db cfg 命令更改参数。启用了归档日志的数据库称为可恢复数据库。循环日志的数据库称为不可恢复数据库。名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 19 页 -DB2 数据库备份与恢复Jimmy()8/19第二章脱机备份2.1 首先确保没有用户使用DB2$db2 list app
10、lications for db sample(sample是数据库名称,下面均以这个为例)2.2 强迫断开应用连接db2 force application(1,2)2.3 执行备份命令:db2 backup db sample to/db2file/bakup(路径)备份成功,将会返回一个时间戳。Backup successful.The timestamp for this backup image is:200812051538172.4 检查备份成功:db2 connect to sample db2 list history backup all for sample 可以看到多了
11、这个备份的记录。$db2 list history backup all for sample List History File for sample Number of matching file entries=1 名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 19 页 -DB2 数据库备份与恢复Jimmy()9/19 Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID -B D 20081205153817001 F D S0000000.LOG S0000000.LOG -Cont
12、ains 4 tablespace(s):00001 SYSCATSPACE 00002 USERSPACE1 00003 SYSTOOLSPACE 00004 IBMDB2SAMPLEREL -Comment:DB2 BACKUP SAMPLE OFFLINE Start Time:20081205153817 End Time:20081205153832 Status:A -EID:4 Location:/db2db/bakup 名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 19 页 -DB2 数据库备份与恢复Jimmy()10/19第三章联机备份联机备份只要求备份数据文
13、件和控制文件。脱机数据库的备份单位是整个数据库,而联机备份的备份单位是一些或全部表空间。即使想执行联机备份,第一次也需要执行一次全库备份。如果日志模式已经是归档日志,并且做过完全脱机备份,那么可以直接从第三步开始进行联机备份。3.1 查看备份历史db2 list history backup all for sample 3.2 如果是循环日志,需要先修改成归档日志1、更新日志类型为归档日志db2 update db cfg for sample using logarchmeth1 logretain 会提示如下信息:DB20000I The UPDATE DATABASE CONFIGUR
14、ATION command completed successfully.SQL1363W One or more of the parameters submitted for immediate modification were not changed dynamically.For these configuration parameters,all applications must disconnect from this database before the changes become effective.2、确认是否修改成功$db2 get db cfg for sampl
15、e 名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 19 页 -DB2 数据库备份与恢复Jimmy()11/19关闭然后再次启动数据库,使配置更改生效。设置成归档模式以后,还需要执行完全脱机备份。如果没有执行该备份,您将收到下面尝试连接数据库的错误:$db2 connect to sample SQL1116N A connection to or activation of database SAMPLE cannot be made because of BACKUP PENDING.SQLSTATE=57019 脱机备份详见上面的步骤。3.3 联机备份执行完上述两步骤之后
16、,我们就可以进行联机备份了,联机备份包括表空间级和数据库级的备份:3.3.1 联机备份表空间db2 backup database sample tablespace USERSPACE1 online to/db2file/bakup 说明:USERSPACE1为你的表空间名称备份成功后,会返回一个时间戳:Backup successful.The timestamp for this backup image is:20081205154421 3.3.2 联机备份数据库db2 backup database sample online to/db2file/bakup 名师资料总结-精品
17、资料欢迎下载-名师精心整理-第 11 页,共 19 页 -DB2 数据库备份与恢复Jimmy()12/19备份成功后,会返回一个时间戳:Backup successful.The timestamp for this backup image is:20081205154616 3.4 备份归档日志文件归档日志文件的备份很重要,我们除了在线备份数据库以外,需要将归档日志也备份,这样才能保证我们完全恢复数据库。如果我们采用一个月一次数据库全备份,每天一个差异增量备份,如果我们没有备份归档日志文件,那么我们只能恢复到最新的一个差异增量备份的点,发生意外的当天的数据就无法恢复。如果我们备份了归档日志
18、,虽然我们今天还没有进行增量备份,我们完全可以通过归档日志,将日志回滚到日志末尾的方式来恢复整个数据库,保证恢复到发生意外的那个时间点,最大化的减少数据的丢失。名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 19 页 -DB2 数据库备份与恢复Jimmy()13/19第四章从联机备份中恢复要在 DB2 UDB 中执行前滚恢复,必须使用归档日志记录。在数据库的恢复期间,该记录的使用具有排它性。您可以在数据库级或表空间级上进行恢复。您将可以恢复备份映像和前滚来完成恢复处理,或者让数据库停留在挂起状态。有两种类型的前滚:前滚到日志结束。前滚到某个时间点。在 DB2 UDB 中,有两个
19、选项来执行恢复:Control Center 和 CLP,Control Center 比较简单,就不在多说,下面主要说明命令行模式:4.1 恢复并前滚整个数据库4.1.1 恢复数据库到某一个时间点说明:恢复最新的备份时使用,需要备份归档日志文件时才能使用db2 restore database sample from/db2file/bakup taken at 20081205154616 without prompting;恢复成功后,会提示如下信息:SQL2540W Restore is successful,however a warning 2539 was encountered
20、 during Database Restore while processing in No Interrupt mode.4.1.2 前滚至日志结束说明:恢复最新的备份时使用,需要备份归档日志文件时才能使用db2 rollforward db sample to end of logs and complete$db2 rollforward db sample to end of logs and complete Rollforward Status 名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 19 页 -DB2 数据库备份与恢复Jimmy()14/19Input
21、database alias=sample Number of nodes have returned status=1 Node number=0 Rollforward status=not pending Next log file to be read=Log files processed=S0000001.LOG-S0000001.LOG Last committed transaction=2008-12-05-15.46.23.000000 Local DB20000I The ROLLFORWARD command completed successfully.4.1.3 前
22、滚至某个时间点说明:可以恢复至之前的某个时间点的前提是需要备份某个时间点的归档日志文件。db2 rollforward database sample to 2008-12-05-15.47.15.000000 using local time and complete;但有时候,对较大的数据库执行表空间级备份会更经济。而且恢复表空间将只要求排它使用某个表空间。其余的表空间仍可以访问。您可以一次恢复多个表空间。4.2 恢复表空间4.2.1 恢复表空间到某一个时间点restore database sample tablespace(userspace1)online from /db2db/b
23、akup taken at 20081205154421 with 2 buffers buffer 1024 parallelism 1 without prompting;4.2.2 前滚至某一个时间点rollforward database sample to 2008-12-05-16.44.21.000000using local time and complete tablespace(userspace1)online;名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 19 页 -DB2 数据库备份与恢复Jimmy()15/19第五章增量备份和恢复当数据库大小增长到
24、GB 和 PB 级时,所需的时间和硬件资源将极大的增长。通常,备份整个数据库或一次备份几个表空间是不可行的。在这种情况下,进行增量备份显然会更好一些。但是,增量备份的恢复工作还是比较麻烦的,需要先恢复到之前最新的一次完全备份,然后再将随后的增量备份恢复。DB2的增量备份分两种类型:增量备份和Delta(差异)备份。增量备份:备份自上次完全备份以来更改过的数据;Delta(差异)备份:备份自最近一次备份以来更改过的数据;5.1 增量备份5.1.1 打开 TRACKMOD TRACKMOD 此参数将跟踪数据库修改,以便backup 实用程序可检测数据库页的哪个子集必须由增量备份进行检查且可能包括在
25、备份映像中,在将此参数设置为“YES”之后,必须执行完整数据库备份,才能获得可以对其执行增量备份的基线。db2 update db cfg using trackmod YES DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.SQL1363W One or more of the parameters submitted for immediate modification were not changed dynamically.For these configuration paramete
26、rs,all applications must disconnect from this database before the changes become effective.确保在重连接生效前断开所有应用程序的连接。如果不配置 TRACKMOD,直接进行增量备份,会报如下错误:SQL2426N The database has not been configured to allow the incremental 名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 19 页 -DB2 数据库备份与恢复Jimmy()16/19backup operation.Reason
27、code=1.5.1.2 执行完全数据库备份作为增量备份的基础db2 backup database sample to/db2file/bakup 备份成功后会返回一个时间戳。5.1.3 联机备份数据库db2 backup database sample online to/db2file/bakup 备份成功后会返回一个时间戳。5.1.4 增量备份数据库1、简单命令:db2 backup database sample incremental to/db2file/bakup 2、带参数的命令:backup database sample online incremental to/db2
28、file/bakup with 2 buffers buffer 1024 parallelism 1 without prompting;参数说明:Parallelism(并行性):指定备份的并行性(缓冲区操作程序的数目)缓冲区数(buffers):上面我定义了 2 个每个缓冲区大小(每页大小4k)(buffer):每个缓冲区大小是1024 备份成功后,会返回一个时间戳,例如:Backup successful.The timestamp for this backup image is:20081205101952 5.1.5 delta 增量备份数据库1、简单命令:db2 backup
29、database sample incremental delta to/db2file/bakup 2、带参数的命令:名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 19 页 -DB2 数据库备份与恢复Jimmy()17/19backup database sample online incremental delta to/db2file/bakup with 2 buffers buffer 1024 parallelism 1 without prompting;参数说明:Parallelism(并行性):指定备份的并行性(缓冲区操作程序的数目)缓冲区数(buffers
30、):上面我定义了 2 个每个缓冲区大小(每页大小4k)(buffer):每个缓冲区大小是1024 5.2 增量恢复5.2.1 自动从增量备份中恢复db2 restore database sample incremental automatic from/db2file/backup taken at 20040701112735 without prompting 5.2.2 前滚到日志结束db2 rollforward database sample to end of logs and complete 名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 19 页 -DB2
31、数据库备份与恢复Jimmy()18/19第六章带有 include logs 选项的联机备份和恢复C:Documents and Settingsdb2admindb2 create db tt on d:DB20000I CREATE DATABASE命令成功完成。C:Documents and Settingsdb2admindb2 connect to tt 数据库连接信息数据库服务器=DB2/NT 9.1.0 SQL 授权标识=DB2ADMIN 本地数据库别名=TT C:Documents and Settingsdb2admindb2 backup db tt online to d
32、:db2 compress in clude logs 备份成功。此备份映像的时间戳记是:20100429104317 C:Documents and Settingsdb2admindb2 restore db tt from d:db2 taken at 201004 29104317 logtarget d:db2 SQL2539W 警告!正在复原至与备份映像数据库相同的现有数据库。数据库文件将被删除。要继续吗?(y/n)y DB20000I RESTORE DATABASE命令成功完成。C:Documents and Settingsdb2admindb2 rollforward db
33、 tt to end of logs and stop overflow log path(d:db2)前滚状态输入数据库别名=tt 名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 19 页 -DB2 数据库备份与恢复Jimmy()19/19节点数已返回状态=1 节点号=0 前滚状态=未暂挂下一个要读取的日志文件=已处理的日志文件=S0000003.LOG-S0000003.LOG 上次落实的事务=2010-04-29-14.25.37.000000 Local DB20000I ROLLFORWARD 命令成功完成。名师资料总结-精品资料欢迎下载-名师精心整理-第 19 页,共 19 页 -