DB2数据库备份与恢复详解

合集下载

DB2 备份 以及 各个参数

DB2 备份 以及 各个参数

00001 SYSCATSPACE
00002 USERSPACE1
----------------------------------------------------------------------------
Comment: DB2 BACKUP SAMPLE OFFLINE
Backup successful. The timestamp for this backup image is : 20060528135607
查看到
LOGRETAIN 选项为 OFF
Path to log files 选项为 /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/
修改LOGRETAIN 选项为 ON
DB2 备份 以及 各个参数 (二)
(2009-08-25 19:16:26)
B D 20060528134320001 F D S0000000.LOG S0000000.LOG
----------------------------------------------------------------------------
Contains 2 tablespace(s):
[db2inst1@fedora ~]$ db2 connect to sample
SQL1116N A connection to or activation of database "SAMPLE" cannot be made
because of BACKUP PENDING. SQLSTATE=57019
Overflow log path (OVERFLOWLOGPATH) =

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

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

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

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

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

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

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

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

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

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

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

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 unquiesce database
$ db2 connect reset
说明:
1, 以上指令将会把数据库testdb备份到指定目录 /home/backup下,所以请确保当前登陆用户(db2inst1)对该目录有读写的权限。
题外话,若打算使用root用户来执行备份,请先编辑文件 /etc/group,将root用户加入到与DB2相关的几个组:db2grp1, db2fgrp1, dasadm1.
$ cd /home/movedata
$ db2move mytestdb import –u db2inst1 –p thepasswd
此时屏幕上会显示有关导入数据的信息。
存在的问题:
db2move import方式只能导入“普通”的表,如果表中存在自增长的IDENTITY列,那么使用db2move import时,会出错。这是因为,如果IDENTITY列创建表的时候都是定义成always的话,那么在导入数据的时候该列数据是不能被赋值的,而是 应该由系统生成,使用db2move无法导入这样的表。对于这种含有IDENTITY列的表,只能使用db2 import指令来进行导入,相关的参数是IDENTITYIGNORE,IDENTITYMISSING。我将在下一部分给出具体的指令操作。
建立到数据库的连接:
$ db2
db2 => connect to testdb user db2inst1 using thepasswd
以DEL格式导出:
db2 => export to /home/backup/mytbl.txt of del select * from mytbl
db2 => terminate

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恢复数据库的三种方式(图文)

1.恢复数据库db2blzch到F盘(如果磁盘分区有F盘,可以执行此条,没有F盘,执行下条):注意:db2blzch为数据库名,f:\backup已备份的数据库目录,20101109212755为时间点。

如下图所示,时间点为20101109(目录名)+212755(文件名)。

db2 restore database db2blzch from f:\backup taken at 20101109212755执行结果如下图所示。

2.恢复数据库db2blzch到E盘db2 restore db db2BLZCH from E:\backup taken at 20101109212755 into db2BLZCH redirect without rolling forwarddb2 set tablespace containers for 0 ignore rollforward container operations using (path 'E:\db2BLZCH\db2BLZCH0')db2 set tablespace containers for 1 ignore rollforward container operations using (path 'E:\db2BLZCH\db2BLZCH1')db2 set tablespace containers for 2 ignore rollforward container operations using (path 'E:\db2BLZCH\db2BLZCH2')db2 set tablespace containers for 3 ignore rollforward container operations using (path 'E:\db2BLZCH\db2BLZCH3')db2 set tablespace containers for 4 ignore rollforward container operations using (path 'E:\db2BLZCH\db2BLZCH4')db2 set tablespace containers for 5 ignore rollforward container operations using (path 'E:\db2BLZCH\db2BLZCH5')3.恢复db2blzch为另一个数据库名称db2test首先在E盘下建立db2test目录,在db2test目录下依次建目录DB2TEST0,DB2TEST1,DB2TEST2,DB2TEST3,DB2TEST4,DB2TEST5。

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数据库自动备份详解

DB2数据库自动备份详解

DB2数据库自动备份详解由脱机备份转换为联机备份:在db2CMD下执行1.连接需要备份的数据库:db2 connect to 数据库名称2.修改自动数据库备份 (AUTO_DB_BACKUP) 参数:db2 update db cfg using AUTO_DB_BACKUP on3.查看数据库参数的详细情况:db2 get db cfg for 数据库名称4.把LOGARCHMETH1参数设置成LOGRETAIN:db2 UPDATE DATABASE CONFIGURATION USING LOGARCHMETH1 LOGRETAIN IMMEDIATE5.断开数据库与所有应用程序连接:db2 force applications all6.备份数据库:db2 backup db 数据库名称7.当上步命令完成后,连接数据库,命令如第一步8.查看数据库参数的详细情况:db2 get db cfg for 数据库名称LOGARCHMETH1参数是否已经改为LOGRETAIN9.更改成功后,在配置自动维护界面的活动界面可以看到数据库已经更改为联机备份10.创建计划任务创建计划任务3)开启“任务中心”窗口,如下图4)新建任务请注意“类型”和“DB2实例和分区”按照上图选择在“命令脚本”tab页中输入脚本:BACKUP DATABASE JM_DAJ ONLINE TO "D:\DB2_BAK" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 COMPRESS INCLUDE LOGS WITHOUT PROMPTING;意思是把数据库JM_DAJ压缩备份到D:\DB2_BAK目录下(前提是D:\DB2_BAK 目录已存在)然后进入到“安排”tab页面添加一个时间起始点,选择“重复安排”,如图所示,注意“运行时权限”也要填写,一般为administrator,密码为登陆windows系统时的密码然后就可以点击“确定”按钮到此DB2的自动备份已设置完成,每天备份一次,到“D:\DB2_BAK”目录下找备份文件。

如何恢复DB2中误删除表的数据

如何恢复DB2中误删除表的数据

如何恢复DB2中误删除表的数据1. 首先数据库要可以前滚恢复(数据库配置参数logretain或userexit打开)。

db2 connect to dbname db2 update dbcfg using logretain on db2 backup dbdbname (当打开归档日志后,该数据库会处于rollforward pending状态,所以要做一次全备份)2. 对要实施Drop Table Recovery的表空间(限regular tablespace),执行: db2 "alter tablespace表空间名称 dropped table recovery on "3. 用 list history dropped table all for 数据库名得到删除表的tableid(例如0000000000006d0000020003)和表结构的生成语句(DDL),记录tableid和该语句以便恢复。

之后,用drop命令删除的表中的数据可以在前滚恢复时导出。

db2 list history dropped table all for dbname4. 恢复数据库后,如果想恢复已删除的表,在前滚时加recover dropped table tableid to 目标目录。

在该目录下被删除的表中的数据导出。

利用上面提到表结构生成语句生成被删除了的表,然后用import命令将数据导入表中。

db2 restoredbdbnametablespace(tablespacename) without rolling forward without prompting db2 "rollforwarddbdbname to end of logs and stop tablespace(tablespacename) recover dropped table table id to path " cd path 利用 db2 list history dropped table all for dbname查出的表结构生成语句生成被删除了的表 db2 import from data of del insert into tablename附一个具体的恢复步骤(以sample库为例):D:sample>db2 alter tablespace userspace1 dropped table recovery onDB20000I SQL 命令成功完成。

DB2日志归档与备份还原

DB2日志归档与备份还原
四、还原数据库
#还原备份
db2 restore db AFCDB2 from /home/db2inst1/db2backup/ taken at 20140212190154 to /backup/log17
#前滚日志
db2 rollforward db AFCDB2 to end of logs and complete
三、备份数据库
#冷备:停止再开启数据库进行冷备
db2 force application all
db2 terminate
db2 backup db AFCDB2 to /home/db2inst1/db2backup/
db2 ARCHIVE LOG FOR DATABASE AFCDB2
#热备
db2 backup db AFCDB2 online to /home/db2inst1/db2backup/
#通过使用 and delete 参数,可以在清理条目的同时删除对应的归档日志文件。
#使用 db2 prune logfile 命令可以清除活动日志目录下的在线归档日志文件,但对离线归档日志文件无效
DB2日志归档与备份还原
一、查看归档是否打开
su - db2inst1
db2 connect to AFCDB2
db2 get db cfg for AFCDB2 |grep ห้องสมุดไป่ตู้i log
二、开启归档日志
#创建一个归档日志专用目录
mkdir /home/db2inst1/db2archlog
#开启归档日志
#查看是否能连接数据库
db2 connect to AFCDB2
附:查看归档日志
#手工归档日志(前提不能有连接)

DB2重装实例,恢复数据库例子

DB2重装实例,恢复数据库例子

DB2重装实例,恢复数据库例子DB2重装实例,恢复数据库例子背景:招商系统的数据库在一次切换中崩溃,需要恢复该数据库的正常使用。

要求:数据库恢复至崩溃前的状态,不能改变数据库实例名,用户名。

需要恢复的数据库包括招商库DBRENT和权限库DBSYS。

准备知识:1、招商库DBRENT为ONLINE备份的,所以恢复数据库需要一个数据库备份文件和对应的归档日志文件。

(备份文件和归档日志都是恢复必须的,所以必须做好备份)2、权限库DBSYS为一个OFFLINE的全量备份,所以,一个备份文件就可以恢复数据库了。

3、了解两个库崩溃前表空间的的存储目录(文件/裸设备),数据库恢复后,数据将存储在这些文件/裸设备下。

如DBRENT的系统表空间在存储在dbrent/catspace文件夹,临时表空间存储在文件dbrent/tabspace/tempspace.00上等。

在执行恢复前,需要将这些文件夹/文件删除掉(先备份)。

本次处理中,我们直接将dbrent文件夹RENAME成了dbrent1。

(如果数据库是存储在裸设备上,不在本文讨论之内)4、数据库备份保存在目录/ARCHIVE/BACKUP下,归档日志保存在/home/db2inst1/…下安装数据库实例(以root用户登录)1、准备数据库安装光盘,注意版本是否正确,包括CPU架构和操作系统,我们这次需要的是光盘是Intel/AMD x86平台的Linux版本,版本不对是无法安装的。

2、清理前一版本db2的安装痕迹,不然会影响重新安装,比如实例名db2inst1无法再使用,因为系统认为db2inst1已经被使用了。

详细步骤如下:1)删除db2相关的用户、用户组(注意这些用户是否还被其他系统使用,如果是,处理就比较麻烦了,这个以后研究)(查看用户/组cat/etc/passwd,cat/etc/group)Userdel dasusr1,Userdel db2fenc1,Userdel db2inst1,Groupdeldb2fgrp1,Groupdel db2grp1,Groupdel dasadm1 2)删除/home下的dasusr1、db2fenc1、db2inst1文件夹(删前备份,未验证是否必须删除)。

DB2数据库的操作命令总结

DB2数据库的操作命令总结

DB2数据库的操作命令总结以下是DB2数据库的操作命令总结:1. 连接数据库:CONNECT TO database_name USER username USING password使用CONNECTTO命令可以连接到特定的数据库,需要提供数据库的名称、用户名和密码。

2. 断开数据库连接:DISCONNECT database_name使用DISCONNECT命令可以断开与数据库的连接。

3. 创建数据库:CREATE DATABASE database_name使用CREATEDATABASE命令可以创建一个新的数据库。

4. 删除数据库:DROP DATABASE database_name使用DROPDATABASE命令可以删除一个已经存在的数据库。

5.列出所有数据库:LISTDATABASEDIRECTORY使用LISTDATABASEDIRECTORY命令可以列出所有的数据库。

6. 切换数据库:CONNECT TO database_name使用CONNECTTO命令可以切换到另一个已存在的数据库。

7. 创建表:CREATE TABLE table_name (column1 datatype1, column2 datatype2, ...)使用CREATETABLE命令可以创建一个新的表,需要提供表名和各个列的名称及数据类型。

8. 删除表:DROP TABLE table_name使用DROPTABLE命令可以删除一个已经存在的表。

9. 查询表的结构:DESCRIBE TABLE table_name使用DESCRIBETABLE命令可以查询一个表的结构,包括各个列的名称和数据类型。

10. 查询表的数据:SELECT * FROM table_name使用SELECT命令可以查询一个表中的数据,使用*表示查询所有的列。

11. 插入数据:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)使用INSERTINTO命令可以向一个表中插入新的数据,需要提供插入的列和相应的值。

数据库备份与恢复操作手册

数据库备份与恢复操作手册

数据库备份与恢复操作手册数据库备份和恢复是数据库维护中至关重要的任务。

通过备份数据库,可以保护数据免受硬件故障、人为错误或其他因素的影响。

而数据库恢复则可以帮助我们在数据库出现问题时快速恢复数据并使其正常运行。

本文将介绍数据库备份和恢复的操作手册,以帮助用户正确进行操作。

1. 数据库备份1.1 完整备份:完整备份是将整个数据库备份到磁盘或其他存储介质的过程。

完成完整备份的步骤如下:1) 登录数据库管理系统;2) 选择需要备份的数据库;3) 创建备份文件夹,并设定备份文件的命名规则;4) 执行备份命令,并将备份文件保存到指定文件夹中。

1.2 增量备份:增量备份是备份仅包含自上次最新完整备份以来所做更改的部分数据和日志的过程。

执行增量备份的步骤如下:1) 登录数据库管理系统;2) 选择需要备份的数据库;3) 检查上次完整备份的时间;4) 创建备份文件夹,并设定备份文件的命名规则;5) 执行增量备份命令,并将备份文件保存到指定文件夹中。

2. 数据库恢复2.1 完整恢复:完整恢复是将整个数据库从备份中还原的过程。

进行完整恢复的步骤如下:1) 登录数据库管理系统;2) 确保数据库处于停止状态;3) 将需要进行恢复的备份文件复制到指定文件夹;4) 执行备份恢复命令,并指定备份文件的路径;5) 等待恢复过程完成;6) 启动数据库,验证数据是否完全恢复。

2.2 部分恢复:部分恢复是将某个表或多个表的数据从备份中恢复的过程。

部分恢复的步骤如下:1) 登录数据库管理系统;2) 确保数据库处于停止状态;3) 将需要进行恢复的备份文件复制到指定文件夹;4) 执行备份恢复命令,并指定备份文件的路径和需要恢复的表名;5) 等待恢复过程完成;6) 启动数据库,验证数据是否部分恢复。

3. 备份和恢复注意事项3.1 定期备份:为确保数据的安全性,建议定期对数据库进行备份。

根据业务需求,选择合适的备份频率,并制定备份计划。

3.2 存储介质:备份数据时,应选择可靠的存储介质,例如磁盘、网络存储或云存储等。

DB2_备份还原_导入导出

DB2_备份还原_导入导出
可使用以下命令查看: db2look -help or db2move -help
打包已导出的表结构与数据 tar zcvf 目录名.tar.gz 目录名/
在新的db2导入数据
创建数据库: db2 create db 库名
导入表结构操作:db2 -tvf 文件名.sql
导入数据操作:db2move 新建库名 import
0I SET TABLESPACE CONTAINERS 命令成功完成。
set tablespace containers for 5 using (path "F:\DB2\NPORTAL\BP32K")
0I SET TABLESPACE CONTAINERS 命令成功完成。
set tablespace containers for 6 using (path "F:\DB2\TEMP\NPORTAL\BP32K")
0I SET TABLESPACE CONTAINERS 命令成功完成。
set tablespace containers for 3 using (path "F:\DB2\NPORTAL\BP8K")
0I SET TABLESPACE CONTAINERS 命令成功完成。
set tablespace containers for 4 using (path "F:\DB2\NPORTAL\BP16K")
db2move JX45 export
DB2 下导出表结构及数据
su db2inst - 进入db2权限模式
任意建立一个文件夹子 mkdir data
进入文件夹子 cd data

db2数据库恢复操作手册

db2数据库恢复操作手册

db2数据库恢复手册1、检查备份介质并且授权例子:db2ckbkp P013BANS.0.db2inps.NODE0000.CATN0000.20151009142814.001●调整内容依据标红处执行命令:进入介质存放目录2、使用数据库介质恢复工具生成恢复脚本db2 "restore db p012band from /fns/pd/r/data redirect generate script restore.sql ●调整内容依据标红处db2 "restore db p012band from /介质目录 redirect generate script 脚本名字.sql 3、更改脚本内容使用vi 编辑脚本执行命令例子:vi restore.sql执行命令修改内容如下标红处:修改为:LOGTARGET '/db2data/p012band/db2inpd/NODE0000/SQL00001/LOG' NEWLOGPATH '/db2data/p012band/db2inpd/NODE0000/SQL00001/SQLOGDIR/' 注意删除注释符号修改后如下:保存退出,检查是否更改成功。

4、删除原有数据库例子:db2 drop db p012band使用实例用户执行命令:5、检查日志目录是否存在且为空/db2data/p012band/db2inpd/NODE0000/SQL00001/LOG/db2data/p012band/db2inpd/NODE0000/SQL00001/SQLOGDIR/ 注意:以上目录必须存在、为空,且数据库实例用户有写入权限。

6、使用恢复脚本恢复数据库例子:nohupdb2 –stvf restore.sql&执行命令:注意后台进程符号不要遗忘7、进行日志前滚操作例子:db2 "rollforwarddb p012band to end of logs and complete overflow log path ('/db2data/p012band/db2inpd/NODE0000/SQL00001/LOG ')"执行命令8、更改归档日志为循环日志(可不执行)例子:db2 update db cfg for p012band using LOGARCHMETH1 OFF执行命令9、更改日志大小(可不执行)例子10、更改主日志数量(可不执行)11、连接数据库等待日志重置例子:db2 connect to p012band执行命令注意:日志重置时间在2到5分钟左右,请耐心等待。

DB2在线备份及恢复方法

DB2在线备份及恢复方法

DB2在线备份及恢复DB2在线备份配置步骤说明:1、运行输入cmd,输入语句 md D:\backup 。

2、运行输入cmd,输入语句 md D:\archlog 。

3、运行输入db2cmd,输入语句 db2 update dbcfg for dbname using userexit on logretain on trackmod on 。

4、运行输入db2cmd,输入语句 db2 backup dbDBNAME to D:\ (此备份文件为离线全备份文件可以在备份完成后可删除或者迁移)。

5、运行输入db2cmd,输入语句db2 update dbcfg for dbname using logarchmeth1 disk:D\archlog 。

6、autodb2back_main 备份数据库执行文件(加入任务计划,设置时间,让其每天启动执行备份) 。

7、autodb2del 自动删除过期备份文件,脚本里现在时间为30天,也就是30天之前的备份会被执行删除,改日期可以根据客户自身情况设置。

8、autocopy 该脚本自动拷贝备份文件和归档日志到备机,每次不会全部把文件夹里文件都拷贝到备机,只拷贝更新过的文件。

DB2在线备份恢复步骤说明:1、运行输入db2cmd,输入语句 db2 restore dbdbname from D:\backup taken at 20120606041654(此时间戳为示例,恢复时需要根据具体文件确认)。

2、运行输入db2cmd,输入语句 db2 rollforwarddbdbname to end of logs and complete overflow log path ("D:\archlog") 。

脚本编写:1、autodb2back_main.batcd c:\db2cmd -i -w autodb2back.bat2、autodb2del.batC:\WINDOWS\system32\forfiles /p d:\backup /m *.* /d -30 /c "cmd /c del @file"3、autocopy.batxcopy d:\backup \\rcfe2\backup\ /s /dxcopy d:\archlog \\rcfe2\archlog /s /dexit完成。

  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
注意:修改配置参数必须是数据库管理员,并且必须停掉全部应用后更改才会生效。

注意:此时由于数据库处于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状态,此时连接数据库将会提示
此时可使用如下命令使数据库状态恢复正常
此时再执行连接数据库即可连接成功。

相关文档
最新文档