DB2大数据库备份与恢复详解

合集下载

DB2数据库恢复方法有哪些?

DB2数据库恢复方法有哪些?

DB2数据库恢复方法有哪些?
大家都知道,现在我们生活中充斥着各种数据库,从简单的教学管理数据库再到企业大型数据库,我们不得不依赖数据库存储大量的重要信息,而一旦数据库出现丢失问题,会给用户带来十分惨重的损失。

DB2是IBM出品的一系列关系型数据库管理系统,分别在不同的操作系统UNIX,Windows Access,ORACLE平台上服务。

DB2数据库数据丢失问题也是比较常见的一个问题,今天我们就来看看如何对DB2数据库丢失数据进行恢复,希望能对大家有所帮助。

目前,DB2数据库恢复方式主要有三种:
1)崩溃恢复:保护数据库在事务(也称为工作单元)意外中断后不会处于不一致或不可用的状态。

2)版本恢复:指的是使用备份操作期间创建的映像来复原数据库的先前版本。

3)前滚恢复:可以用来重新应用创建备份后落实的事务所做的更改。

一般情况下,当DB2数据库中的表或者其他一些文件丢失后,用户可以直接通过数据库的备份文件进行恢复,这种方法不仅简单,还能有效保证数据库文件的安全,从这里大家就可以看出DB2数据库备份的重要性了。

可是,当DB2数据库文件丢失后,用户有没有及时对其进行备份,那么大家又该如何恢复呢?
其实,对于没有备份的DB2数据库,恢复工作还是可以进行的。

现在国内有很多数据恢复机构,这些机构可以针对各种设备出现的数据丢失损坏问题进行解决,进而帮助用户挽回数据丢失的损失。

DB2数据库的迁移备份

DB2数据库的迁移备份

db2数据库迁移备份一、操作系统相同:(属于离线/脱机备份)在相同操作系统下进行DB2的备份还原,使用BACKUP 和RESTORE 命令解决。

Linux下,切换DB2用户即可;Windows下,运行db2cmd。

1、backup1.1、db2 force applications all (断开数据库连接)1.2、db2 backup db db_name to D:\ (备份至D盘根目录)2、restore2.1、db2 force applications all (断开数据库连接)2.2、db2 restore db db_name from D:\ taken at 20151212190026 (还原D盘根目录下时间戳为20151212190026的备份文件)2.3、db2 rollforward db db_name to end of logs and stop (前回滚操作)2.4、如果不能连接数据库,将刚恢复的数据库进行一次备份操作即可。

二、跨系统的数据迁移操作:DB2 提供了两个非常实用的工具:(将Windows下的test数据库迁移至Linux下的test)★数据迁移工具db2move★数据字典获取工具db2look1、Windows下导出数据:运行->输入db2cmd,使用db2move 命令将源数据库(TEST)数据信息导出至指定的文件夹D:\dbback\db2move\TEST 下(目录自建)D:> cd \dbback\db2move\TESTD:\dbback\db2move\TEST> db2move TEST export -sn test -u test01 -p 123456Ps:-sn指定表模式-u指定用户 -p对应密码执行导出,成功后会显示Disconnecting from database ... successful!2、Windows下导出结构:使用db2look 命令将数据库结构,导出至指定的文件夹D:\dbback\db2look\TEST下D:> cd \dbback\db2look\TESTD:\dbback\db2move\TEST> db2look -d TEST -e -a -o db2look_TEST.sqlPs:-d 为指定数据库,参数必须-e 抽取数据库对象的DDL,这个参数必须-a 所有的用户和模式(-u Creator :指定用户,有-a时,忽略-u) -a -u 都没有时,默认当前登录用户-o 指定输出文件名称3、Linux下导入结构:把刚才导出的D:\dbback\db2move 和D:\dbback\db2look文件夹上传到linux系统中★更新表结构:su - db2inst1:password:123456db2inst1@localhost:~> cd db2back/db2move/TESTdb2inst1@localhost:~/db2back/db2move/TEST> db2 CREATE db TESTundefineddb2inst1@localhost:~/db2back/db2move/TEST> db2 -tvf db2look_TEST.sql4、Linux下导入数据:★使用load 命令装载数据db2inst1@localhost:~> cd /db2home/db2inst1/db2back/db2move/TESTdb2inst1@localhost:~/db2back/db2move/TEST> db2move TEST load操作顺利的话,数据会被转移到linux下面。

DB2数据迁移、备份与恢复及联邦数据库使用操作命令

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数据库备份和恢复步骤

db2数据库备份和恢复步骤

db2数据库备份和恢复步骤DB2是一种关系型数据库管理系统(RDBMS),由IBM开发和提供。

备份和恢复数据库是DB2数据库管理中非常重要的一部分。

备份是指将数据库中的数据和日志文件复制到另一个位置,以防止数据丢失和灾难恢复。

恢复是指将备份的数据和日志文件恢复到最新的状态,以确保数据库的可用性和完整性。

下面是DB2数据库备份和恢复的基本步骤:备份步骤:1.准备备份存储目录:确定用于存储备份文件的目录,并确保目录具有足够的磁盘空间。

2.关闭数据库连接:关闭所有连接到数据库的应用程序和工具,以确保没有正在运行的事务和操作。

3.备份数据库:使用DB2提供的工具或命令执行数据库备份操作。

以下是几个备份命令的示例:- ONLINE BACKUP DATABASE <database_name> TO<backup_directory>:执行在线备份,允许在备份期间对数据库进行读写操作。

- OFFLOAD DATABASE <database_name> TO <backup_directory>:执行离线备份,将数据库置于只读模式,在备份期间禁止对数据库进行写操作。

4.备份日志文件:在执行完数据库备份后,需要备份数据库的日志文件。

这些日志文件包含了备份操作期间数据库的所有修改。

- ONLINE BACKUP DATABASE <database_name> TO<backup_directory> LOGS ONLY:执行日志文件备份操作。

5.验证备份:确保备份文件的完整性和有效性。

可以使用DB2提供的备份验证工具或命令进行验证。

- RESTORE DATABASE <database_name> VALIDATE:执行备份文件验证操作。

恢复步骤:1.准备恢复存储目录:确定用于存储恢复文件的目录,并确保目录具有足够的磁盘空间。

db2用户密码修改及数据库备份恢复问题

db2用户密码修改及数据库备份恢复问题

db2用户密码修改及数据库备份恢复问题2008-09-19 18:20前天开始安装省总服务器,先建数据库,又打包程序进行安装,一切按部就班,很是顺利,可最后程序总是连不上数据库,用以下命令进行测试:catalog tcpip node local remote localhost server 5000(db2-port-number)catalog db sample as test at node localconnect to test user <用户名> using最后总是提示:SQL30081N 检测到通信错误。

正在使用的通信协议:"TCP/IP"。

正在使用的通信API:"SOCKETS"。

检测到错误的位置:"127.0.0.1"。

检测到错误的通信函数:"recv"。

协议特定的错误代码:"10054"、"*"、"0"。

SQLSTATE=08001又是30081N错误!!!一遍遍的检查端口、TCP/IP协议、网络连接,一切都正常!没有办法,只好重新装数据库,用restore恢复备份的数据库时,系统总是提示:在本地数据库目录或系统数据库目录中已经存在数据库别名 "HD" ,到网上搜了一下按别的人提示进行以下操作:用命令行:首先db2 list db directory 来查看有没有HD的entry没有看到有HD的信息还是执行了一下db2 drop db HD如果数据库没有删除的话,则此命令应该成功,否则的话就应该用下面这个命令uncatalog db HD来删除HD的 entry,但是提示报‘SQL1013N 找不到数据库别名或数据库名 "HD "。

SQLSTATE=42705’错误,。

郁闷,接着又按网上别人的说法进行以下操作:db2 catalog db HDdb2 drop db HD然后在执行restore database HD taken at 时间戳命令,OK,成功!不过,程序仍是连不上数据库,后来终于想起来,估计是我恢复的数据库密码跟我新建的数据库密码不一致所造成的,那么在DB2中针对db2admin用户,它的密码能修改吗?有关资料上说:db2admin用户创建了以后它的密码最好不要修改,因为重新启动系统之后就会连不上数据库,系统报错DB2管理服务器没有启动,这是因为注册系统服务的时候是按照DB2安装时候的用户名和密码进行注册的,所以你修改密码后系统服务就没有办法启动,所以才会造成这种情况。

浅谈DB2数据库在AIX平台下的备份与恢复

浅谈DB2数据库在AIX平台下的备份与恢复
优缺点 )
( 1 ) D B 2数据库脱 机模式 下完全备份 的恢复实现
d b 2 r e s t o r e d b t e s t d b f r o m 介质名 t a k e n a t时间点
( 2 ) D B 2数据库脱机模 式下增 量备份 的恢 复实现 D B 2数据库在数据库恢 复之前首先还原至完全离线备 份状态 ,命
d b 2 r e s t o r e d b t e s t d b f r o m介质名 t a k e n a t时间点
然后再还原至增量离线备份状态 ,命令 :
d b 2 r e s t o r e d b t e s t d b i n c r e me n t a l a u t o ma t i c f r o m 介质名 t a k e n a t时
COMP LET E 。
二、A I X平 台下 D B 2 数 据 库 备 份 实现
1 、D B 2数 据库 备 份命 令
D B 2数据库使用命令 B A C K U P来备份 。B A C K U P 命 令 需 要
S Y S A DM, S Y S C T RL或 S Y S MAI N T的权限 ,其命令语法为 :
的管理信息系统( M I S 1。数据库是管理信息系统的一个基础平台 , 保 存有大量数据。 如何保存存放于数据库中的数据 , 是维护管理信息系统 的一个非常重要的问题。 安全性问题是计算机系统普遍存在 的问题 , 在 数据库 中存放有大量多用户共享的数据 , 其数据库的安全性问题在计算
2 、DB 2数据库 备份 的恢复实 现

空间。D B 2 数据库备 份按照可按 以下方式划分 : 1 、按照数据库备份对数据库的使 用影响可划分 联机备 份和脱 机备 份。 联机备份是在应用连接到数据库时和事务正在处 理时进行备份 ; 脱

DB2数据库恢复及备份

DB2数据库恢复及备份

DB2数据库恢复及备份1安装DB2数据库1)安装DB2前建议在Windows上创建一个叫db2admin的用户,其密码也为db2admin 2)安装成功后的服务如下图所示:3)平时可以把所有DB2的服务都停掉,运行DB2只需启动第一个服务,也就是上图中选定的服务即可,如果要做数据导入导出操作,还需要启动最后面一个服务。

2恢复1)解压缩CNCOA.0.rar到D盘,如下图所示:2)运行命令:db2cc,打开如下界面3)在上图的数据库上点右键-创建数据库-根据备份,打开如下界面:4)如上图,输入两个CNCOA,点下一步,打开如下图所示的界面:5)点完成按钮,将出现成功页面3备份1)在某个数据库上点击右键-备份,如下图所示:2)打开如下界面后,点下一步按钮:3)打开如下界面后,选择一个目录如D盘4)点完成按钮,将打开备份成功的界面,如下图5)检查备份文件,如下图4注意事项4.1未发出启动数据库管理器的命令如果是联机备份或者把DB28.1下的备份恢复到DB28.2,则可能恢复后会出现:SQL1032N 未发出启动数据库管理器的命令。

SQLSTA TE=57019。

此时数据库需要进行前滚操作,前滚的时候要选择日志所在的目录,类似D:\DB2\NODE0000\SQL00003\SQLOGDIR前滚的操作入口在备份的下面4.2Quest Central for DB2是个不错的DB2的客户端工具4.3建大表有可能会用到较长字段的列,如V ARCHAR(2000)类型的列,当有多个这样的列时,表会建不起来,此时需要建立有较大缓冲池的表空间,先建立缓冲池,如下图所示:再建立表空间,在数据库名称上点右键-表空间-创建,如下图所示:点完成,将把表空间建立起来,也可以用DB2的命令来建缓冲池和表空间:CREATE BUFFERPOOL EGOVDBBP IMMEDIATE SIZE 1000 PAGESIZE 32KCREATE REGULAR TABLESPACE EGOVDBSPACE PAGESIZE 32 K MANAGED BY DA TABASE USING ( FILE '/home/db2inst1/EGOVDBSPACE' 6400 ) EXTENTSIZE 16 OVERHEAD 10.5 PREFETCHSIZE 16 TRANSFERRA TE 0.33 BUFFERPOOL EGOVDBBPDROPPED TABLE RECOVERY OFF4.4大表排序时报错如果没有建有大的缓冲池的系统临时表空间,当大表要根据非主键列排序时会报错,参照上面建表空间的步骤,只是在选择要创建的表空间的类型时,选择“系统临时”。

db2 backup指令

db2 backup指令

在IBM Db2 数据库中,备份数据库是维护数据库完整性和灾难恢复计划的关键操作之一。

以下是在Db2 中使用备份指令的基本形式:1. Online Backup:--在线备份整个数据库BACKUP DATABASE <database_name> TO <backup_path>;--例子BACKUP DATABASE SAMPLE TO '/path/to/backup';2. Offline Backup:--离线备份整个数据库OFFLINE DATABASE <database_name> TO <backup_path>;--例子OFFLINE DATABASE SAMPLE TO '/path/to/backup';3. 备份数据库别名:--备份数据库别名BACKUP DATABASE ALIAS <alias_name> TO <backup_path>;--例子BACKUP DATABASE ALIAS SAMPLE_ALIAS TO '/path/to/backup';4. 备份单个表空间:--备份单个表空间BACKUP TABLESPACE <tablespace_name> TO <backup_path>;--例子BACKUP TABLESPACE USERSPACE1 TO '/path/to/backup';5. 备份日志文件:--备份日志文件BACKUP LOG TO <backup_path>;--例子BACKUP LOG TO '/path/to/log/backup';6. 备份增量数据:--备份增量数据BACKUP INCREMENTAL TO <backup_path>;--例子BACKUP INCREMENTAL TO '/path/to/incremental/backup';7. 带有选项的备份:--使用选项备份BACKUP DATABASE <database_name> TO <backup_path> WITH <options>;--例子BACKUP DATABASE SAMPLE TO '/path/to/backup' WITH 2 BUFFERS BUFFER 1024 PARALLELISM 2;上述是基本的备份命令,实际使用时可能需要根据具体情况进行调整。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DB2数据库备份与恢复
1.备份
1.1离线备份(必须在数据库所在PC机进行操作)
STEP 1 连接到要备份的数据库 (数据库名:ncc)
C:\Documents and Settings\Administrator>db2 connect to ncc user nccwykpi using nccwykpi
STEP 2 显示数据库应用状态
C:\Documents and Settings\Administrator>db2 list applications
STEP 3 停掉数据库应用
C:\Documents and Settings\Administrator>db2 force applications all
注意:由于该命令是异步的,所以在进行备份的时候会出现以下错误信息。

此时可以再次执行db2 force applications all 命令。

STEP 4 对数据库进行离线状态下的备份
C:\Documents and Settings\Administrator>db2 backup database ncc to d:\db2\backup
注意:指定的备份文件的输出目录必须是已创建的,否则会报错。

STEP 5 查看备份历史记录
C:\Documents and Settings\Administrator>db2 list history backup all for ncc
1.2在线备份
注意:如果要做在线的备份,要对两个参数作修改:USEREXIT和LOGRETAIN,将其修改为on,默认是off的,默认使用日志模式,修改完参数后,可以变为归档日志模式,启用了userexit做数据库日志的归档。

STEP 1 查看数据库当前的属性
C:\Documents and Settings\Administrator>db2 get db cfg
STEP 2 设置userexit、logretain参数的状态为on
C:\Documents and Settings\Administrator>db2 update db cfg for ncc using userexit on
C:\Documents and Settings\Administrator>db2 update db cfg for ncc using logretain
on
注意:修改配置参数必须是数据库管理员,并且必须停掉全部应用后更改才会生效。

STEP 3 连接需要备份的数据库(注意)
注意:此时由于数据库处于backup pending状态,所以必须做一次离线的全备才可以进行数据库连接。

STEP 4 对数据库进行在线状态下的备份
C:\Documents and Settings\Administrator>db2 backup database ncc online to d:\db2\backup
1.3增量备份
注意:必须要修改trackmod为on状态,并有一次完全备份。

STEP 1 修改trackmod参数为on状态
C:\Documents and Settings\Administrator>db2 update db cfg for ncc using trackmod yes
STEP 2 停掉数据库应用
C:\Documents and Settings\Administrator>db2 force applications all
STEP 3 对数据库进行增量备份
C:\Documents and Settings\Administrator>db2 backup database ncc online increment al delta to d:\db2\backup
注意:在进行增量备份之前需要做一次离线的全备。

否则是backup pending状态的。

如若此时并未执行一次离线的全备那么会出现下面的错误。

故:
2.恢复
2.1恢复完全备份
STEP 1 查看备份历史记录
C:\Documents and Settings\Administrator>db2 list history backup all for ncc
STEP 2 停掉数据库应用
C:\Documents and Settings\Administrator>db2 force applications all
STEP 3 恢复某个时间点的数据
C:\Documents and Settings\Administrator>db2 restore database ncc from d:\db2\backup taken at 20120206094204
STEP 4 回滚到日志结束(可不执行,即不恢复日志)
C:\Documents and Settings\Administrator>db2 rollforward database ncc to end of logs and stop
STEP 1 连接数据库
C:\Documents and Settings\Administrator>db2 connect to ncc user nccwykpi using nccwykpi
STEP 2 显示数据库应用状态
C:\Documents and Settings\Administrator>db2 list applications
STEP 3 停掉数据库应用
C:\Documents and Settings\Administrator>db2 force applications all
C:\Documents and Settings\Administrator>db2 restore database ncc incremental automatic from d:\db2\backup taken at 20120206133457
STEP 5 回滚到日志结束(可不执行,即不恢复日志)
C:\Documents and Settings\Administrator>db2 rollforward database ncc to end of logs and stop
3.检查备份完整性
当备份完成后,使用db2ckbkp命令不仅可以用来检查DB2数据库备份文件的完整性,而且还可以用来查询DB2数据库备份文件的元数据。

同时可以使用db2ckbkp –h<备份文件>来检查DB2数据库备份的类型。

3.1使用db2ckbkp –h<备份文件>命令来查看DB2数据库备份的类型
C:\Documents and Settings\Administrator>db2ckbkp -h d:\db2\backup\NCC.0.DB2.NODE0000.CATN0000.20120206133232.001
注意:我们可以通过上述输出中的
来确定备份的类型。

三个关键字的说明如下:
incremental和delta的说明如下:
3.2回滚日志
当回滚日志找不到日志文件而出错时,数据库处于roll-forward pending状态,此时不能连接或激活数据库。

解决方案如下:
3.3数据库恢复
如果一个数据库启用了归档日志记录,那么当该数据库被恢复时,它将自动被置于rollforward pending状态。

可以使用如下命令告诉DB2不要将该数据库置于rollforward pending状态。

C:\Documents and Settings\Administrator>restore database ncc from d:\db2\backup taken at 20120206151346 without rolling forward
如果数据库启用了归档日志记录,处于rollforward pending状态,此时连接数据库将会提示
此时可使用如下命令使数据库状态恢复正常
此时再执行连接数据库即可连接成功。

相关文档
最新文档