TSM-for-db2备份及恢复
- 格式:doc
- 大小:42.00 KB
- 文档页数:6
DB2数据库恢复方法有哪些?
大家都知道,现在我们生活中充斥着各种数据库,从简单的教学管理数据库再到企业大型数据库,我们不得不依赖数据库存储大量的重要信息,而一旦数据库出现丢失问题,会给用户带来十分惨重的损失。
DB2是IBM出品的一系列关系型数据库管理系统,分别在不同的操作系统UNIX,Windows Access,ORACLE平台上服务。
DB2数据库数据丢失问题也是比较常见的一个问题,今天我们就来看看如何对DB2数据库丢失数据进行恢复,希望能对大家有所帮助。
目前,DB2数据库恢复方式主要有三种:
1)崩溃恢复:保护数据库在事务(也称为工作单元)意外中断后不会处于不一致或不可用的状态。
2)版本恢复:指的是使用备份操作期间创建的映像来复原数据库的先前版本。
3)前滚恢复:可以用来重新应用创建备份后落实的事务所做的更改。
一般情况下,当DB2数据库中的表或者其他一些文件丢失后,用户可以直接通过数据库的备份文件进行恢复,这种方法不仅简单,还能有效保证数据库文件的安全,从这里大家就可以看出DB2数据库备份的重要性了。
可是,当DB2数据库文件丢失后,用户有没有及时对其进行备份,那么大家又该如何恢复呢?
其实,对于没有备份的DB2数据库,恢复工作还是可以进行的。
现在国内有很多数据恢复机构,这些机构可以针对各种设备出现的数据丢失损坏问题进行解决,进而帮助用户挽回数据丢失的损失。
CommVaultDB2数据库的备份与恢复for Windows北京同有飞骥科技有限公司上海分公司技术部目录1、实施前提 (3)1.1需修改主机地方 (3)1.2支持操作系统 (3)1.3内存需求 (3)1.4硬盘容量需求 (4)1.5外围设备需求 (4)2、安装配置 (5)3、DB2数据备份 (18)3.1实例配置方法 (18)3.2备份集创建 (20)3.3创建备份作业 (22)4、数据恢复 (27)4.1浏览备份数据 (27)4.2选择需恢复数据 (27)1、实施前提1.1需修改主机地方在客户端修改HOSTS文件,添加备份服务器IP和主机名关闭防火墙设置,包括系统自带(如XP SP2、2003 SP1)1.2支持操作系统DB2 7.2 Universal Database 32-bit w/FixPak 13 on:Microsoft Windows 2000 Server with Service Pack 2, 3 or 4Microsoft Windows 2000 Advanced Server with Service Pack 2, 3 or 4Microsoft Windows Server 2003 Enterprise Edition up to Service Pack 1DB2 8.1 Universal Database 32-bit w/FixPak 6 on:Microsoft Windows 2000 Advanced Server with Service Pack 2, 3 or 4Microsoft Windows Server 2003 Enterprise Edition up to Service Pack 1DB2 8.2 Universal Database 32-bit w/FixPak 6 on:Microsoft Windows 2000 Server with Service Pack 2, 3 or 4Microsoft Windows 2000 Advanced Server with Service Pack 2, 3 or 4Microsoft Windows Server 2003 Enterprise Edition up to Service Pack 11.3内存需求32 MB RAM minimum required beyond the requirements of the operatingsystem and running applications1.4硬盘容量需求95 MB minimum of hard disk space for software100 MB of additional hard disk space for log file growth20 MB of temp space required for install or upgrade (where the temp folderresides)1.5外围设备需求CD-ROM driveNetwork Interface Card2、安装配置(1)放入安装光盘中的第二张DISC B到客户端机器光驱中,光盘将自动运行,出现安装提示界面(2)点击下一步点击在此计算机上安装QiNetix点击下一步点击确定选择我接受许可协议中的条款,点击下一步(3)选择要安装的软件根据客户端操作系统平台,软件自动寻找系统所需的软件模块,只需选择Client Modules-iDataAgents-iDA for iDA for DB2相关,点击下一步(4)选择安装软件目录按默认方式,点击下一步(5)防火墙配置选择否,不配Galaxy防火墙服务,点击下一步(6)输入CommServer主机名根据实际情况输入,比如:jxdlbackup,点击下一步(7)选择通讯接口名按实际情况,系统会自动生成,按默认值,点击下一步(8)选择作业路径存放路径按默认值,点击下一步分别输入DB2存储归档路径、重回路径、报错存储路径,可自建存储目录。
数据移动及实用工具跨平台移动数据,首选PC/IXF文件格式进行数据的导出,平台间数据传输使用二进制。
1.导出命令基本语法Export to <路径+文件名> OF <del | ixf | wsf>Lobs to <大对象文件路径> lobfile <大对象文件名>Modified <分隔符选项>Method n (<字段名列表>)Messages <消息文件>Select 子句Eg1. Export to d:\export\org.txt of del select * from orgEg2. Export to d:\export\org1.dat of del modified by chardel! Coldel# messages d:\export\org1_msg.txt select * from orgEg3. Export to d:\export\emp_resume1.del of del lobs to d:\export\ lobfile emp_resume_lob1 modified by lobsinfile select * from emp_resume2.导入命令基本语法Import from <路径+文件名> OF <del | ixf | wsf>Messages <消息文件><insert | insert_update | replace | replace_create | create>Into <目标表名称>Eg1. Import from d:\export\org.txt of del insert into orgEg2. Import from d:\export\org1.dat of del modified by chardel! Coldel# messages d:\export\org_im_msg.txt insert into orgEg3. Import from d:\export\emp_resume1.del of del lobs from d:\export\ modified by lobsinfile insert into emp_resumeEg4. Import from d:\export\staff.ixf of ixf commitcount 1 restartcount 2 insert into staffback 3.Load 命令的基本语法Load from <路径+文件名> OF <del | ixf | wsf>Messages <消息文件>[<insert |replace |terminate |restart>]Into <目标表名>[<copy yes |copy no |nonrecoverable>] [indexing mode <autoselect|rebuild |increamental>] Eg1. Load from d:\export\org.txt of del messages :\export\org_load_msg.txt replace into orgEg2. Load from d:\export\staff1.del of del insert into staffback for exception staffexp4.处理load导致的异常状况a)查看表的状态load query table <表名称>b)关闭完整性检查Set integrity for <表名称> <check |foreign key |all> immediate uncheckedc)处理表空间挂起状态,方法一:使用restart 模式重新load,成功则自动消除;方法二:使用terminate 模式的load 命令,强行终止load过程,并消除挂起状态。
Db2 backup and restore1 installEB-DB-TEST@/# /software/veritas/NB_60MP4_UOptions_20061204b/install VERITAS Installation ScriptCopyright 1993 - 2005 VERITAS Software Corporation, All Rights Reserved. Installation Options1 NetBackup Add-On Product Software2 NetBackup Database Agent Softwareq To quit from this scriptChoose an option [default: q]: 2**********There are two ways to install database agent software.1. Remote Installation: Loads the software on a server withthe intent of pushing database software out to affected clients.2. Local Installation: Loads and installs the software only to this local machine.**********Do you want to do a local installation? [y,n] (n) y**********NetBackup Database Agent InstallationChoose the Database Agents you wish to installone at a time or select Install All Database Agents.1) NetBackup for DB22) NetBackup for Informix3) NetBackup for Lotus Notes4) NetBackup for Oracle5) NetBackup for SAP6) NetBackup for Sybase7) Install All Database Agentsq) Done Selecting Agentsx) Exit from this ScriptChoose an option: 1Choose an option: qYou have chosen to install these Database Agents:NetBackup for DB2Is this list correct? [y,n] (y)**********Of the agents selected, the following are supportedon this platform and will be installed:DB2Loading the Database Agent packages into the/usr/openv/netbackup/dbext directory and installing.**********Installing NetBackup for DB2Installing NetBackup for DB2...Extracting files from /usr/openv/netbackup/dbext/DB2.rs6000_51.tar.Z ...x usr/openv/netbackupx usr/openv/netbackup/binx usr/openv/netbackup/bin/bpubsdb2, 144645 bytes, 283 tape blocksx usr/openv/netbackup/bin/bpdbsbdb2, 1281112 bytes, 2503 tape blocksx usr/openv/netbackup/bin/bpdb2proxy, 1266244 bytes, 2474 tape blocksx usr/openv/netbackup/bin/db2_config, 7072 bytes, 14 tape blocksx usr/openv/netbackup/bin/nbdb2.sl, 99193 bytes, 194 tape blocksx usr/openv/netbackup/bin/db2uext2, 99770 bytes, 195 tape blocksx usr/openv/netbackup/bin/nbdb2.sl64, 108131 bytes, 212 tape blocksx usr/openv/netbackup/bin/db2uext2.64, 108276 bytes, 212 tape blocksx usr/openv/netbackup/bin/db2rhf, 68380 bytes, 134 tape blocksx usr/openv/netbackup/bin/db2rhf.64, 75127 bytes, 147 tape blocksx usr/openv/netbackup/extx usr/openv/netbackup/ext/db_extx usr/openv/netbackup/ext/db_ext/db2x usr/openv/netbackup/ext/db_ext/db2/scriptsx usr/openv/netbackup/ext/db_ext/db2/scripts/db2.conf, 2227 bytes, 5 tape blocksx usr/openv/netbackup/ext/db_ext/db2/scripts/db2_backup, 1736 bytes, 4 tape blocksx usr/openv/netbackup/ext/db_ext/db2/scripts/db2_restore, 1245 bytes, 3 tape blocksx usr/openv/netbackup/ext/db_ext/db2/scripts/db2_all_backup_mpp, 5269 bytes, 11 tape blocks x usr/openv/netbackup/ext/db_ext/db2/scripts/db2_all_restore_mpp, 5383 bytes, 11 tape blocks x usr/openv/netbackup/dbextx usr/openv/netbackup/dbext/DB2.rs6000_51.version, 26 bytes, 1 tape blocksx usr/openv/libx usr/openv/lib/libdbsbdb2.so, 1898359 bytes, 3708 tape blocksx usr/openv/lib/libnbbedb2.so, 175382 bytes, 343 tape blocksx usr/openv/lib/libnbbedb2MT.so, 172370 bytes, 337 tape blocksNetBackup for DB2 installation completed.**********Execution of ./install_dbext is complete.Execution of ./install is complete.File /usr/openv/tmp/install_options_trace.811250 contains a trace of this install.VERITAS Installation ScriptCopyright 1993 - 2005 VERITAS Software Corporation, All Rights Reserved.Installation Options1 NetBackup Add-On Product Software2 NetBackup Database Agent Softwareq To quit from this scriptChoose an option [default: q]: qFile /usr/openv/tmp/install_options_trace.811250 contains a trace of this install. That file can be deleted after you are sure the install was successful.EB-DB-TEST@/#2 configuration2.1 get dbname[db2inst8@EB-DB-TEST db2dump]$db2 list db DIRECTORYSystem Database DirectoryNumber of entries in the directory = 1Database 1 entry:Database alias = LIFEPLANDatabase name = LIFEPLANLocal database directory = /db2data/db2inst8/lifeplanDatabase release level = b.00Comment = LIFEPLAN databaseDirectory entry type = IndirectCatalog database partition number = 0Alternate server hostname =Alternate server port number =[db2inst8@EB-DB-TEST ~]$db2 list applicationsAuth Id Application Appl. Application Id DB # of Name Handle Name Agents -------- -------------- ---------- -------------------------------------------------------------- -------- -----DB2INST8 db2taskd 10 *LOCAL.DB2.080721060622 LIFEPLAN 1 DB2INST8 db2stmm 9 *LOCAL.DB2.080721060621 LIFEPLAN 1 DB2INST8 db2bp 8 *LOCAL.db2inst8.080721060617 LIFEPLAN 12.2 db2_configEB-DB-TEST@/usr/openv/netbackup/bin# ./db2_configPlease specify the DB2 instance home path name:/db2instance/db2inst8Do you have other DB2 instances? (y/n) [n]Linking /db2instance/db2inst8/sqllib/adm/db2uext2 to /usr/openv/netbackup/bin/db2uext2.64. Copying /usr/openv/netbackup/ext/db_ext/db2/scripts/db2.conf to /db2instance/db2inst8/db2.conf.Note: 说明数据库是64位,修改备份脚本MY_LIB2.3 Modify db2.conf1/ [db2inst8@EB-DB-TEST ~]$db2 get db cfg for lifeplanFirst log archive method (LOGARCHMETH1) = DISK:/db2data/db2inst6/alsydb_archivelog/2/ db2.conf[db2inst8@EB-DB-TEST ~]$more db2.conf## The following settings are used by NetBackup to backup/restore a DB2 database.## Reminders:# 1) The specified policy must have a type of "DB2".# 2) The specified schedule must be defined for this policy.# 3) The DB2 database host must be entered as a client for this policy.#DATABASE LIFEPLANOBJECTTYPE DA TABASEPOLICY db2_testSCHEDULE Default-Application-BackupENDOPER## The following settings are used by NetBackup to backup/restore DB2 log files.#Reminders:# 1) DB2 transcation logs can be backed up/restored using either# (a) DB2 User Exit Program# The specified policy must have a type of "Standard" (for UNIX DB2# host) or "MS-Windows-NT" (for Windows DB2 host).## (b) LOGARCHMETH1 can be configured to use NetBackup.# (When LOGARCHMETH1 = "VENDOR:NetBackup for DB2 agent")# This option is possible only for versions 8.2 and above.# The specified policy must have a type of DB2.## 2) The specified schedule must be defined for this policy.# 3) The DB2 database host must be entered as a client for this policy.## ---------------------# DB2 User Exit Program# ---------------------# If DB2 log file archiving is enabled (DB2 USEREXIT ON), DB2 will invoke# the NetBackup user-exit program to backup & restore DB2 archive log files.# Using ARCFUNC SA VE causes log files to be archived to NetBackup storage,# as specified by the policy storage-unit setting.# Using ARCFUNC COPY causes log files to be archived to a disk directory.# Use ARCDIR to specify the destination directory for log file backup.# Use RETDIR to specify the source directory for log file restore.#DATABASE LIFEPLANOBJECTTYPE ARCHIVEPOLICY db2_test_logSCHEDULE User#ARCFUNC SA VEARCFUNC COPYARCDIR /db2log/db2inst8/lifeplan/NODE0000#RETDIR /home/db2inst1/arcdirENDOPER# --------------------------------------------------------------# LOGARCHMETH1 = "VENDOR.." parameter for versions 8.2 and above# Policy is of type DB2.# --------------------------------------------------------------## Comment the above DB2 User Exit section when using LOGARCHMETH1 = "VENDOR.."##DA TABASE SAMPLE#OBJECTTYPE ARCHIVE#POLICY DB2_ARCH_Policy#SCHEDULE Default-Application-Backup#ENDOPER[db2inst8@EB-DB-TEST ~]$2.4 Modify backup shellEB-DB-TEST@/usr/openv/scripts# more db2_backup_db2inst8.bak#!/bin/sh#bcpyrght#***************************************************************************#* $VRTScprght: Copyright 1993 - 2003 VERITAS Software Corporation, All Rights Reserved $ *#***************************************************************************#ecpyrght## These environment variables are initialized by Netbackup (bphdb)#echo "DB2_CLIENT = $DB2_CLIENT"echo "DB2_SERVER = $DB2_SERVER"echo "DB2_POLICY = $DB2_POLICY"echo "DB2_SCHED = $DB2_SCHED"echo "DB2_FULL = $DB2_FULL" # Is 1 if Full backup scheduledecho "DB2_CINC = $DB2_CINC" # Is 1 if Cumulative incremental scheduledecho "DB2_INCR = $DB2_INCR" # Is 1 if Differential incremental scheduled## Change MY_LIB to the correct NetBackup library name for your host:# Solaris or Linux 32-bit = nbdb2.so# Solaris 64-bit = nbdb2.so64# AIX or HPUX 32-bit = nbdb2.sl# AIX or HPUX 64-bit = nbdb2.sl64#MY_LIB=/usr/openv/netbackup/bin/nbdb2.sl64## Change MY_DB2 to the correct DB2 instance name for your database.#MY_DB2=LIFEPLAN## Use the NetBackup schedule type to set DB2 full or incremental options.#if [ "$DB2_FULL" = "1" ] ; thenMY_SCHED=""elif [ "$DB2_CINC" = "1" ] ; thenMY_SCHED="INCREMENTAL"elif [ "$DB2_INCR" = "1" ] ; thenMY_SCHED="INCREMENTAL DELTA"elseMY_SCHED=""fi## Initialize the backup command line.# Customize the number of sessions and buffer options for your environment.#CMD_LINE="db2 BACKUP DATABASE $MY_DB2 ONLINE $MY_SCHED LOAD $MY_LIB INCLUDE LOGS"## Change MY_USER to the proper DB2 user for performing backups#MY_USER=db2inst8echo "Executing: $CMD_LINE"su - $MY_USER -c "$CMD_LINE"RETURN_STATUS=$?# Return 0 for success, non-zero for errorsexit $RETURN_STA TUSEB-DB-TEST@/usr/openv/scripts#3. backup1/ 修改LOGRETAIN on[db2inst8@EB-DB-TEST ~]$db2 update db cfg for lifeplan using LOGRETAIN onDB20000I The UPDATE DA TABASE CONFIGURATION command completed successfully.2/ 离线备份[db2inst8@EB-DB-TEST ~]$db2 connect to lifeplanDatabase Connection InformationDatabase server = DB2/AIX64 9.1.2SQL authorization ID = DB2INST8Local database alias = LIFEPLAN[db2inst8@EB-DB-TEST ~]$db2 backup database lifeplan to /backup/volleyBackup successful. The timestamp for this backup image is : 200807211518223/ 在线备份[db2inst8@EB-DB-TEST ~]$db2 backup database lifeplan online load /usr/openv/netbackup/bin/nbdb2.sl64Backup successful. The timestamp for this backup image is : 200807211701144/ 过程日志/db2instance/db2inst8/sqllib/db2dump/db2diag.log4. restore[db2inst8@EB-DB-TEST ~]$db2 restore database lifeplan load /usr/openv/netbackup/bin/nbdb2.sl64SQL2539W Warning! Restoring to an existing database that is the same as thebackup image database. The database files will be deleted.Do you want to continue ? (y/n) Do you want to continue ? (y/n) yDB20000I The RESTORE DA TABASE command completed successfully.2/ 文件系统恢复archivelog至原目录3/ [db2inst8@EB-DB-TEST ~]$db2 rollforward database lifeplan to end of logs and stopRollforward StatusInput database alias = lifeplanNumber of nodes have returned status = 1Node number = 0Rollforward status = not pendingNext log file to be read =Log files processed = S0000001.LOG - S0000001.LOGLast committed transaction = 2008-07-21-08.02.35.000000 UTCDB20000I The ROLLFORWARD command completed successfully.AppendixDb2 command1.启动实例(db2inst1):实例相当于informix中的服务db2start2.停止实例(db2inst1):db2stop3.列出所有实例(db2inst1)db2ilist5.列出当前实例:db2 get instance4.察看示例配置文件:db2 get dbm cfg|more5.更新数据库管理器参数信息:db2 update dbm cfg using para_name para_value6.创建数据库:db2 create db test7.察看数据库配置参数信息db2 get db cfg for test|more8.更新数据库参数配置信息db2 update db cfg for test using para_name para_value10.删除数据库:db2 drop db test11.连接数据库db2 connect to test11.列出所有表空间的详细信息。
XX数据备份项目TSM客户端数据恢复指导手册2011年08月广州必诺数码科技有限公司目录1、概述 (2)2、Oracle数据库本机恢复 (2)2.1、查找出原数据库的DBID号码 (2)2.2、配置正确的监听和名字解释文件 (3)2.3、恢复数据库参数文件 (5)2.4、恢复控制文件 (7)2.5、查找数据库最大的SCN号码 (7)2.6、数据库完全恢复 (11)2.7、数据库不完全恢复 (11)3、Oracle数据库异机恢复 (13)3.1、Oracle数据库安装的注意 (13)3.2、TSM软件的安装和配置 (13)3.2.1、TSM客户端的安装和配置如下: (14)3.2.2、TDP for Oracle插件的安装和配置如下: (16)3.3、查找出原数据库的DBID号码 (19)3.4、恢复和编辑数据库参数文件 (20)3.5、恢复控制文件 (23)3.6、查找数据库的SCN号码 (24)3.7、数据库的不完全恢复 (28)3.7.1、根据指定的SCN号进行恢复 (30)3.7.2、根据指定的时间点进行恢复 (32)4、SQL Server恢复 (35)5、文件恢复 (37)5.1、Windows系统文件恢复 (37)5.2、AIX系统文件恢复 (41)1、概述本恢复与测试方案主要目的是描述通过IBM TSM备份的数据如何进行恢复。
以达到恢复预演的效果。
文档中出现的文件名、目录路径、SID、DBID等等可能与实际不一定相符,可以使用正确的进行替换即可。
2、Oracle数据库本机恢复2.1、查找出原数据库的DBID号码目前XX的Oracle数据库备份采用了catalog恢复目录的方式进行。
这样可以有效保证在数据库运行的本机出现最严重的故障时,均能保证数据库可以恢复。
在通过catalog备份的时候,数据库会把自己的DBID注册到catalog数据库中。
catalog 数据库通过DBID识别和存放各个不同的数据库的备份信息。
WIN7环境DB数据库增量备份及恢复db2在线增量备份还原测试:系统:win7数据库:test6方法一:1、首先打开一下支持在线备份的数据库配置参数:--启用归档日志db2 update db cfg for test6 using logretain on--启用增量备份功能db2 update db cfg for test6 using trackmod on--开启归档日志及增量备份后数据库处于暂挂状态,需要离线完全备份数据库。
backup db test6 to D:\DB2\data_backup2、指定归档日志存放路径 disk:D:\DB2_01\backup_log备注:如果需要进行数据库恢复,则数据库管理器将在前滚操作期间调用 db2uext2,以将归档的日志文件复制回日志目录中。
日志文件就会被重新应用到已恢复的数据库。
必须制定归档日志路径,且归档日志路径最好别和数据库日志在同一个目录。
执行语句:update db cfg for test6 using logarchmeth1disk:D:\DB2_01\backup_log执行成功截图如下1-1图1-13、在线完全备份、在线增量备份。
执行语句:db2 force application all 保证断开数据库及所有应用,如下截图1-2图1-2执行备份语句:backup db test6 to D:\DB2\data_backup 如下截图1-34、数据库TEST6表T1插入测试数据,然后做数据库增量备份测试执行语句:backup db test6 online incremental to D:\DB2\data_backup 截图如下1-4图1-45、测试-- 删除数据库执行语句:drop test6 如下图1-5图1-5--根据离线完全备份恢复数据库如下图1-6Restore db test6 from d:\DB2\data_backup taken at 20140220133305图1-6--根据在线增量备份恢复数据库执行语句: restore db test6 incremental automatic from D:\DB2\data_backup taken at 20140220133923如下图:图1-7--前滚数据库执行语句:ROLLFORWARD DATABASE test6 TO END OF LOGS AND COMPLETE 如下图:图1-8--连接数据及检查数据如下图:图1-9备注:1. 联机备份数据库可以使数据库在备份的同时仍然保持在可用状态.要让数据库支持联机备份,必须更改数据库的日志归档方式。
深入了解IBM DB2数据库的备份与恢复注:以下数据库备份与恢复的试验环境均为 Windows XP + IBM DB2 V9 企业版,同样的语句也在 AIX 5.2 + IBM DB2 V8.2 环境下验证通过)。
一、数据库备份的重要性在信息日趋发达的时代,数据显得尤其重要。
如何保障数据的完整性和安全性呢?如何避免数据灾难事故的发生呢?数据库备份作为数据安全和完整最有利保障手段的重要性就不言而喻了。
数据库备份的重要性主要体现在:1、提高系统的高可用性和灾难可恢复性;(在数据库系统崩溃的时候,没有数据库备份怎么办!)2、使用数据库备份还原数据库是数据库系统崩溃时提供数据恢复最小代价的最优方案;(总不能让客户重新填报数据吧!)3、没有数据就没有一切,数据库备份就是一种防范灾难于未然的强力手段;4、对于DBA来说,最首要也是最重要的任务就是数据库备份。
二、 DB2 数据库备份的方式与分类1、按照数据库备份对数据库的使用影响来划分A、联机备份(也称热备份或在线备份)B、脱机备份(也称冷备份或离线备份)说明:联机备份和脱机备份最大的不同在于:联机备份数据库时,数据库仍然可以供用户使用,而脱机备份数据库则不行。
脱机备份数据库时,必须断开所有与数据库有连接的应用后才能进行。
2、按照数据库的数据备份范围来划分A、完全备份B、增量备份说明:完全备份数据库是指备份数据库中的所有数据,而增量备份只是备份数据库中的部分数据。
至于增量备份到底备份哪些数据,稍候会提到。
3、增量备份的两种实现方式A、增量备份(也称累计备份)B、delta备份说明:这两种备份方式的严格定义如下,增量备份是自最近成功的完全备份以来所有更改的数据的备份。
delta 备份则是上一次成功的完全、增量或 delta 备份以后所做更改的数据的备份。
这里请读者们仔细的看上面两个增量备份方式的定义,注意这两种备份方式的细微差别。
这里我们举一个例子来说明。
DB2 备份与恢复操作命令这里假设dbdemo1和dbdemo2是两个数据库名,两个实验主机名分别为A和B,其中A中安装版本较高的db2, B 中安装有版本较低的db2.下面是几个基本命令:db2启动/停止: db2start/db2stop(force)db2连接:db2 connect to <数据库名>db2cmd进入db2的命令提示窗口db2cc 进入db2控制中心图形化界面(无发打开时有可以尝试关闭javaw.exe进程)db2 list db directory列出已经创建的数据库目录同一台主机上数据库的备份与恢复:下面这条命令是将数据库dbdemo2备份到C 盘的dbdata文件夹目录中db2 backup db dbdemo2 to C:\dbdata这条命令运行成功会在C:\dbdata目录下生成一个如下格式的文件下面这条命令是用如上生成的备份文件对数据库dbdemo2进行恢复db2 restore db dbdemo2 from C:\dbdata taken at 20120109171220(直接取备份数据的时间戳即可)注意:恢复操作执行时,数据库dbdemo2可已存在也可以不存在,存在时会恢复到该时间戳对应的数据库数据版本,如果db2中不存在名为dbdemo2的数据库,则会自动生成一个名为dbdemo2的数据库,内容极为备份的原数据库的内容。
另外还能用db2move export/import命令操作对数据库进行导入导出以实现备份和恢复例如对于dbdemo2可以通过如下命令将数据库导出到指定目录例如E:\db2data通过命令行进入E:\db2data目录然后在该目录下执行如下命令db2move dbdemo2 export此时E:\db2data文件夹中即会生成dbdemo2数据库的导出文件要将数据库dbdemo2重新导入时,必须是导入已经存在的数据库中执行如下命令即可将之前备份的dbdemo2导入到新的dbdemo2数据库中,db2move dbdemo2 import(也可将备份的dedemo2导入其他另一个数据库如dbdemo3,结果跟下面一样)分别用dbdemo2_old和dbdemo2_new表示备份数据库和新数据库对于dbdemo2_new和dbdemo2_old中存在的同名表,dbdemo2_old的表会覆盖dbdemo2_new中存在的同名表的内容,但不会覆盖表的结构:例如dbdemo2_old中有表tdemo1 该表有c1这一个字段,且只有一个元组取值为1 dbdemo2_new中也有表tdemo1,但该表有c1,c2这两个字段,且有两个元组取值为1,a; 2,b 执行如上操作后dbdemo2_new中的表tdemo1会被覆盖,仍有c1,c2两个字段,但此时只有一个元组取值为1 ,null。
DB2数据库的备份第一步,通过远程桌面连接数据库服务器,点击开始 运行,输入db2cmd,打开DB2命令行窗口。
在服务器端,建立备份文件夹,例如C:\backup,将DB2命令行窗口的当前路径切换到刚建好的备份目录下(使用的命令cd ..)。
第二步,导出数据库的表的数据。
在切换好的目录下,输入如下命令db2move cdtdev1 export -sn db2admin -u db2admin -p db2admincdtdev1为数据库实例名-sn 指定要导出的模式名-u 指定导出所使用的用户-p 指定导出所使用用户的密码回车执行后,会在指定的备份目录下,创建很多.ixf和.msg,每张表都会产生2个文件,带lob文件的表会多一个.lob的文件。
此外还有EXPORT.out文件,记录了导出的日志,db2move.lst文件记录了,导出的表与导出文件的对应关系。
第三步,导出数据库表空间、表结构、索引、视图。
在命令行,输入如下命令db2look -d cdtdev1 -z db2admin -l -e -o cdtdev1.sql -i db2admin -w db2admin-d 指定导出的数据库实例名-z 指定导出数据库的模式名-l –e 固定参数1l--o 指定导出的文件名和文件格式-i 指定导出的用户名-w 指定导出的用户密码回车执行后,备份目录下会创建一个sql文件,里面记录了所有的表空间、表结构、视图、索引的创建语句。
将里面连接的语句修改,如下面修改CONNECT TO CDTDEV1 USER DB2ADMIN为CONNECT TO cdtdev1 USER db2admin USING db2admin;加上密码。
修改CONNECT RESET;CONNECT TO CDTDEV1;为CONNECT RESET;CONNECT TO cdtdev1 USER db2admin USING db2admin;加上用户名和密码。
TSM下db2备份及恢复 1. 安装TSM客户端软件 2. 编辑用户环境文件 (db2用户)如果db2是64位,tsmclient要64位 #vi $HOME/.profile加入(db2的64位版本,要安装bin64,相关bin改为bin64) export DSMI_DIR=/usr/tivoli/tsm/client/api/bin64(标识 API 可信代理进程文件(dsmtca)所在的用户定义目录路径) export DSMI_CONFIG=/usr/tivoli/tsm/client/api/bin64/dsm.opt (标识 dsm.opt 文件(它包含 TSM 用户选项)的用户定义目录路径。与另外两个变量不同,此变量应包含全路径和文件名) export DSMI_LOG=/usr/tivoli/tsm/client/ba/bin/dsmerror.log (标识将在其中创建错误日志(dsierror.log)的用户定义目录路径) 3. 配置/usr/tivoli/tsm/client/api/bin/dsm.opt及/usr/tivoli/client/api/bin/dsm.sys #vi /usr/tivoli/tsm/client/api/bin/dsm.opt SErvername
#vi /usr/tivoli/client/api/bin/dsm.sys SErvername (与dsm.opt中的名称相同) COMMMethod TCPip TCPPort 1500 TCPServeraddress nodename passwordaccess generate errorlogname /tmp/tsmdb2.log (要与DSMI_LOG下的路径一致,并且要有相应的读写权限) 这一行一定要用到
4. 运行命令dsmapipw,(位于db2实例目录/sqllib/adsm中),tsm api与server连接 的密码. 设置TSM密码
这里要用root用户,并且先运行 . /home/db2inst1/.profile。然后再运行 /home/db2inst1/sqllib/adsm/dsmapipw 先输入旧密码,再输入新密码。(不一定要改)node 的密码 输完之后,仔细看有没有错误产生。完了之后,你可以在/etc/security/adsm下面看到一个TSM.PWD文件,这里包含了你新输入的密码,当然是加密过后的。
5. 修改db2相关参数: 在使数据库进入备份模式之前,需要使用归档日志. a)确保没有用户使用Db2: #db2 list applications for db dbname #db2stop force #db2start
b)db2版本8.2以上,不必再为日志文件配置用户出口。不得不分别发送日志 文件并试图断定应使用哪个日志文件的日子已一去不复返。需要做的只是在备份命令中加上短语 include logs。一旦有了一次原始备份,并且所有日志均完好无损,即可保证不损失任何数据。
运行db2 update db cfg for db using logretain on即可。
c)db2版本低于8.2.需要启用用户出口(需要编译相关用户出口程序) # db2 update db cfg for sample using userexit on 启用用户出口
#db2 update db cfg for sample using logretain on 启用归档日志
6. 开启上述参数后,数据库处于backup pending状态,要求做一次数据库的离 线全备份。 #db2 backup db dbname use tsm
7. 在线备份命令 db2>=8.2时 #db2 backup db online use tsm include logs
db2<8.2时 #db2 backup db online use tsm
8. 数据库恢复 a)使用db2adutl和db2 list history察看备份纪录. #db2adutl #db2 list history backup all for db_name
b)恢复备份历史纪录(每次backup,不论类型,都会备份历史纪录文件)。这里的时间戳应该是最新的 #db2 restore db history file use tsm taken at buffer 100
c)使用db2的恢复帮助工具: #db2ckrst –d –t –r database 命令返回建议的必需的恢复操作命令
d)恢复数据库 #db2 restore db use tsm
e) 这时数据库处于rollforward-pending state的状态,需要做roll forward 操作: #db2 rollforward db to and stop
9. 关于是否要设置logarchmeth1(主日志归档方法)参数问题: 此参数指定已归档日志的主要目标的介质类型。 如果更新 userexit 或 logretain 配置参数,将自动更新 logarchmeth1,反之亦然。所以上面配置db2参数时,已经隐式配置了它. 注意,如果您要使用 userexit 或 logretain, 必须将 logarchmeth2 设置为 OFF。
10. 编译用户出口 复制sqllib\samples\c\db2uext2.cadsm为db2uext2.c a)windows下 修改下列参数: #define BUFFER_SIZE 4096 /* transmit or receive the log */ /* file in 4k portions */ #define AUDIT_ACTIVE 1 /* enable audit trail logging */ #define ERROR_ACTIVE 1 /* enable error trail logging */ #define AUDIT_ERROR_PATH "c:\\mylogs\\" /* path must end with a slash */ #define AUDIT_ERROR_ATTR "a" /* append to text file */
运行\Bin\vcvars32.bat cl db2uext2.c –I\include -link \lib\tsmapi.lib
复制db2uext2.ext到sqllib\adm下.
b)linux下 修改下列参数: #define BUFFER_SIZE 4096 /* transmit or receive the log */ /* file in 4k portions */ #define AUDIT_ACTIVE 1 /* enable audit trail logging */ #define ERROR_ACTIVE 1 /* enable error trail logging */ #define AUDIT_ERROR_PATH "/export/home/db2inst1/tsm/" /* path must end with a slash */ #define AUDIT_ERROR_ATTR "a" /* append to text file */
运行gcc –I< tsm api目录>/bin/samples -L/usr/lib -lApiDS -o db2uext2 db2uext2.c
复制到$HOME/sqllib/adm下
c)Aix下(安装了Visual Age C Compiler) 修改下列参数: #define BUFFER_SIZE 4096 /* transmit or receive the log */ /* file in 4k portions */ #define AUDIT_ACTIVE 1 /* enable audit trail logging */ #define ERROR_ACTIVE 1 /* enable error trail logging */ #define AUDIT_ERROR_PATH "/home/db2inst1/tsm/" /* path must end with a slash */
#define AUDIT_ERROR_ATTR "a" /* append to text file */
运行cc –I< tsm api目录>/bin/samples -L/usr/lib -lApiDS -o db2uext2 db2uext2.c
复制到$HOME/sqllib/adm下 我这里在crontab里有个命令,在每天00:00执行 /db2adutl delete full keep 30 db $DB password abcd nodename a80 owner db2inst1 without prompting 用来删除TSM的磁带上备份时间超过30天的备份文件。前几天我把磁带库中不能用的磁带通过checkout命令给拿出来了。结果从前天开始,定时执行的那条命令出现了以下错误: db2adutl delete logs between S0000000.log and S0000638.log DB ITM without promptin