DB2数据库备份与恢复
db2 backup指令
db2 backup指令摘要:1.背景介绍2.db2 backup 指令概述3.db2 backup 指令的使用方法3.1 基本备份3.2 差异备份3.3 完全备份4.备份文件的存储与处理5.备份策略与建议6.常见问题及解决方案正文:DB2 是一个广泛应用于企业级数据库管理的系统,数据的备份与恢复是保证数据安全的重要环节。
本文将详细介绍db2 backup 指令的使用方法及注意事项。
1.背景介绍DB2 是IBM 公司开发的一款关系型数据库管理系统,广泛应用于企业级环境。
为了防止数据丢失,备份是必不可少的操作。
本文将详细介绍db2 backup 指令的使用方法。
2.db2 backup 指令概述DB2 backup 指令用于对数据库进行备份。
通过使用该指令,可以将整个数据库或者选定的数据表空间备份到磁盘或者磁带上。
根据备份的目的和需求,可以设置不同的备份类型,如完全备份、差异备份和增量备份。
3.db2 backup 指令的使用方法3.1 基本备份基本备份(full backup)是指将整个数据库备份一次。
使用db2 backup 指令进行基本备份的语法如下:```db2 backup database database_name```其中,`database_name`为需要备份的数据库名称。
3.2 差异备份差异备份(differential backup)是指备份自上次完全备份以来发生更改的数据。
使用db2 backup 指令进行差异备份的语法如下:```db2 backup database database_name plus archivelog```其中,`database_name`为需要备份的数据库名称。
3.3 完全备份完全备份(full backup)是指将整个数据库备份一次。
与基本备份的区别在于,完全备份可以包含所有数据和日志文件。
使用db2 backup 指令进行完全备份的语法如下:```db2 backup database database_name with full recovery```其中,`database_name`为需要备份的数据库名称。
DB2数据库恢复方法有哪些?
DB2数据库恢复方法有哪些?
大家都知道,现在我们生活中充斥着各种数据库,从简单的教学管理数据库再到企业大型数据库,我们不得不依赖数据库存储大量的重要信息,而一旦数据库出现丢失问题,会给用户带来十分惨重的损失。
DB2是IBM出品的一系列关系型数据库管理系统,分别在不同的操作系统UNIX,Windows Access,ORACLE平台上服务。
DB2数据库数据丢失问题也是比较常见的一个问题,今天我们就来看看如何对DB2数据库丢失数据进行恢复,希望能对大家有所帮助。
目前,DB2数据库恢复方式主要有三种:
1)崩溃恢复:保护数据库在事务(也称为工作单元)意外中断后不会处于不一致或不可用的状态。
2)版本恢复:指的是使用备份操作期间创建的映像来复原数据库的先前版本。
3)前滚恢复:可以用来重新应用创建备份后落实的事务所做的更改。
一般情况下,当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数据迁移、备份与恢复及联邦数据库使用操作命令
数据移动及实用工具跨平台移动数据,首选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 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是一种关系型数据库管理系统(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恢复数据库的三种方式(图文)
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用户密码修改及数据库备份恢复问题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平台下的备份与恢复
( 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的最佳实践数据库管理系统(DBMS)是组织和管理数据的软件工具,而DB2则是由IBM开发和管理的一种企业级DBMS。
在当今互联网和移动设备的普及背景下,DB2的应用越来越广泛,各种规模的企业都在使用DB2进行数据存储和管理,因此也涌现出了许多DB2的最佳实践。
本文将着重介绍数据库管理系统DB2的最佳实践,主要包括以下方面:DB2的基本架构和组成,DB2的安装与配置,DB2的备份与恢复,DB2的性能优化以及DB2的安全和权限管理。
一、DB2的基本架构和组成DB2是基于客户端/服务器体系结构构建的,它由多个组件组成,包括数据库管理器(DBM)、数据库配置助手(DBCA)、数据管理客户端(DMC)以及数据库监听程序(DB2监听程序)。
其中,数据库管理器(DBM)是整个DB2体系结构的核心组件,它负责协调和控制整个DB2数据库系统的运行。
数据库配置助手(DBCA)是用于创建和修改DB2数据库的工具,数据管理客户端(DMC)则提供了一个桌面界面,用于通过图形方式管理和监视DB2数据库。
二、DB2的安装与配置DB2的安装和配置是使用DB2之前必须完成的工作。
在进行DB2的安装和配置前,需要进行一些准备工作,例如确认操作系统的版本、准备DB2安装媒体等。
DB2的安装过程相对简单,大多数操作都是自动完成的,用户只需要按照提示进行操作即可。
在安装完成之后,需要进行一系列的配置操作,例如创建用户组、用户账号、创建数据库等。
三、DB2的备份与恢复备份和恢复是DBA日常维护工作中必备的技能。
备份数据可以防止数据丢失,而恢复数据则可以让我们及时恢复数据以保障业务的连续性。
DB2提供了多种备份和恢复的方法,例如在线备份、离线备份、增量备份等,用户需要根据具体需求选择不同的备份和恢复方法。
在备份和恢复工作中,用户需要注意备份的策略和周期,以及对备份文件进行妥善管理,同时还需要进行恢复的测试。
四、DB2的性能优化DB2的性能优化也是DBA日常工作的一个重要部分。
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中误删除表的数据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备份恢复介绍1、离线全备份1)、首先确保没有用户使用DB2:$db2 list applications for db sample2)、停掉数据库并重新启动,以便断掉所有连接:db2stop forcedb2start3)、执行备份命令:(使用TSM作为备份的介质)db2 backup db sample use tsm备份成功,将会返回一个时间戳。
4)、检查备份成功:Db2 list history backup all for sample ,可以看到多了这个备份的纪录。
Db2adutl query命令也可以看到返回值。
5)、备注:首先对主节点(catalog表空间在的节点)执行备份命令,再对另外的节点也做这个操作。
2、在线备份:1)、首先打开一下支持在线备份的数据库配置参数:db2 update db cfg for sample using userexit on 启用用户出口db2 update db cfg for sample using logretain on 启用归档日志开启这些参数后,数据库处于backup pending状态,要求做数据库的离线全备份。
做一下离线全备份,参考上面的命令。
2)、在线备份命令如下:db2 backup db sample online use tsm备份成功,返回一个时间戳。
3)、同样可以用db2adutl 和db2 list history察看备份纪录。
4)、备注:同样,对每个节点都做这个操作。
3、在线增量备份1)、在开启了必须的三个参数的情况下,做增量备份:db2 backup db sample online incremental use tsm备份成功,返回一个时间戳。
2)、同样可以用db2adutl 和db2 list history察看备份纪录。
3)、还有一种delta的备份:db2 backup db sample online incremental delta use tsm这两种备份的区别,类似Oracle Exports的Incremental和Cumulative方式,db2的incremental 对应oracle的cumulative方式,而db2的delta方式则对应oracle的incremental方式。
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数据库的备份第一步,通过远程桌面连接数据库服务器,点击开始 运行,输入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;加上用户名和密码。
db2 backup指令
db2 backup指令(原创版)目录1.DB2 备份指令概述2.DB2 备份指令的基本语法3.DB2 备份指令的参数及用法4.DB2 备份指令的示例5.DB2 备份指令的注意事项正文【1.DB2 备份指令概述】DB2 备份指令是 IBM DB2 数据库管理系统中用于执行备份和恢复操作的重要命令。
利用 DB2 备份指令,用户可以对数据库中的数据、日志和配置文件等进行安全高效的备份,以确保数据安全和业务连续性。
【2.DB2 备份指令的基本语法】DB2 备份指令的基本语法如下:```db2backup -c -z -v -f <备份文件名> -t <表空间名称> -s <备份集名称> -o <输出文件名>```其中,各个参数的含义如下:- -c:表示执行完整备份。
- -z:表示执行增量备份。
- -v:表示显示详细输出信息。
- -f:表示指定备份文件名。
- -t:表示指定表空间名称。
- -s:表示指定备份集名称。
- -o:表示指定输出文件名。
【3.DB2 备份指令的参数及用法】- -c:完整备份。
使用此参数时,备份文件包含表空间中的所有数据、日志和配置文件等信息。
- -z:增量备份。
使用此参数时,备份文件只包含自上次完整备份以来发生变化的数据、日志和配置文件等信息。
- -v:详细输出。
使用此参数时,备份指令会显示详细的输出信息,包括备份过程中的进度、时间、文件大小等。
- -f:备份文件名。
指定备份文件的文件名,可以是路径名或文件名。
- -t:表空间名称。
指定要备份的表空间名称。
- -s:备份集名称。
指定要创建的备份集名称。
- -o:输出文件名。
指定备份完成后输出文件的文件名。
【4.DB2 备份指令的示例】以下是一个 DB2 备份指令的示例:```db2backup -c -z -v -f backup.db -t test -s backup1 -o backup1.db ```该指令表示:执行完整备份和增量备份,同时显示详细输出信息,将备份文件命名为 backup.db,表空间名称为 test,备份集名称为 backup1,输出文件名为 backup1.db。
db2 backup指令
db2 backup指令摘要:1.背景介绍2.db2 backup指令概述3.db2 backup指令的使用方法4.db2 backup指令的参数说明5.db2 backup指令的实际应用案例6.总结正文:1.背景介绍在数据库管理中,数据的备份是一项非常重要的任务。
db2 backup指令是IBM DB2数据库管理系统中用于备份数据的一个命令。
通过使用db2 backup指令,可以有效地保护数据,防止数据丢失,提高数据的安全性。
2.db2 backup指令概述db2 backup指令用于将数据库的数据文件、日志文件、控制文件和配置文件备份到磁盘或磁带上。
它可以将整个数据库备份,也可以只备份数据库的一部分。
此外,db2 backup指令还可以用于将备份文件恢复到数据库中,以恢复数据。
3.db2 backup指令的使用方法要使用db2 backup指令,首先需要确保数据库已经启动并且正在运行。
然后,通过命令行或图形界面执行备份操作。
以下是db2 backup指令的基本语法:```db2 backup [database name] [backup type] [backup file]```其中,`database name`表示要备份的数据库名称;`backup type`表示备份类型,可以是完整备份(full)或增量备份(incremental);`backup file`表示备份文件的路径和名称。
4.db2 backup指令的参数说明- `database name`:指定要备份的数据库名称。
如果不指定数据库名称,则默认备份当前数据库。
- `backup type`:指定备份类型。
可以是完整备份(full)或增量备份(incremental)。
如果不指定备份类型,则默认为完整备份。
- `backup file`:指定备份文件的路径和名称。
如果不指定备份文件,则默认备份到数据库的备份目录下。
5.db2 backup指令的实际应用案例假设我们有一个名为`mydb`的数据库,现在需要对其进行完整备份。
DB2恢复数据库命令
db2 set tablespace containers for 11 ignore rollforward container operations using (file '/T000011' 51200)
db2 set tablespace containers for 6 ignore rollforward container operations using (file '/T00006' 51200)
db2 set tablespace containers for 7 ignore rollforward container operations using (file '/T00007' 51200)
db2 set tablespace containers for 12 ignore rollforward container operations using (file '/T000012' 51200)
启动已重定向的复原:
RESTORE DATABASE 数据库名 CONTINUE
总计页 数 = 131072
可用页 数 = 131064
可访 问 = 是
主要属性为st tablespaces查看所有表空间,看该表空间的状态是否为“正常”。
连接数据库:
db2 connect to 数据库名
查看所有表空间:
db2 restore命令参数
db2 restore命令参数
DB2数据库的RESTORE命令是用于从备份中恢复数据库的命令。
它有许多参数,以下是一些常用的参数:
1. DATABASE,指定要恢复的数据库名称。
2. FROM,指定备份的来源位置,可以是磁盘路径或者是云存储
路径。
3. TAKEN AT,指定要恢复的备份的时间点。
4. INTO,指定要将数据库恢复到的目标位置。
5. REPLACE EXISTING,如果目标数据库已经存在,使用此参数
将其替换。
6. LOGTARGET,指定将事务日志应用到的目标位置。
7. WITHOUT PROMPTING,在恢复过程中不提示用户确认。
除了上述列举的参数外,RESTORE命令还有许多其他参数,用于更精细地控制恢复过程。
例如,可以指定是否还原表空间、是否还原日志文件等。
在实际使用中,可以根据具体的恢复需求选择合适的参数进行配置。
需要注意的是,使用RESTORE命令时需要具有足够的权限,通常需要具有SYSADM或者SYSCTRL权限才能执行恢复操作。
另外,在执行恢复操作前,务必确认备份文件的完整性和可用性,以免造成数据丢失或损坏。
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文件夹(删前备份,未验证是否必须删除)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DB2数据库备份与恢复
1.备份
下列操作均是在db2cmd窗口下执行的:
1.1离线备份(必须在数据库所在PC机进行操作)
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
页脚内容1
STEP 3 停掉数据库应用
C:\Documents and Settings\Administrator>db2 force applications all
注意:由于该命令是异步的,所以在进行备份的时候会出现以下错误信息。
此时可以再次执行db2 force applications all 命令。
页脚内容2
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
页脚内容3
页脚内容4
页脚内容5
1.2在线备份
注意:如果要做在线的备份,要对两个参数作修改:USEREXIT和
LOGRETAIN,将其
修改为on,默认是off的,默认使用日志模式,修改完参数后,可以变为归档日志模式,启用了userexit做数据库日志的归档。
STEP 1 查看数据库当前的属性
C:\Documents and Settings\Administrator>db2 get db cfg
页脚内容6
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状态,所以必须做一次离线的全备才可以进行数据库连接。
页脚内容7
STEP 4 对数据库进行在线状态下的备份
C:\Documents and Settings\Administrator>db2 backup database ncc online to d:\db2\backup
页脚内容8
页脚内容9
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状态的。
如若此时并未执行一次离线的全备那么会出现下面的错误。
页脚内容10
故:
页脚内容11
2.恢复
2.1恢复完全备份
STEP 1 查看备份历史记录
C:\Documents and Settings\Administrator>db2 list history backup all for ncc
页脚内容12
页脚内容13
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
页脚内容14
2.2恢复增量备份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
页脚内容15
STEP 3 停掉数据库应用
C:\Documents and Settings\Administrator>db2 force applications all
STEP 4 恢复增量备份
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
页脚内容16
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
页脚内容17
注意:我们可以通过上述输出中的
来确定备份的类型。
三个关键字的说明如下:
页脚内容18
incremental和delta的说明如下:
3.2回滚日志
当回滚日志找不到日志文件而出错时,数据库处于roll-forward pending状态,此时不能连接或激活数据库。
解决方案如下:
页脚内容19
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状态,此时连接数据库将会提示
页脚内容20
分项工程施工质量验收记录
此时可使用如下命令使数据库状态恢复正常
此时再执行连接数据库即可连接成功。
页脚内容21。