DB2数据库备份与恢复副本.docx

上传人:b****6 文档编号:3302373 上传时间:2022-11-21 格式:DOCX 页数:20 大小:530.06KB
下载 相关 举报
DB2数据库备份与恢复副本.docx_第1页
第1页 / 共20页
DB2数据库备份与恢复副本.docx_第2页
第2页 / 共20页
DB2数据库备份与恢复副本.docx_第3页
第3页 / 共20页
DB2数据库备份与恢复副本.docx_第4页
第4页 / 共20页
DB2数据库备份与恢复副本.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

DB2数据库备份与恢复副本.docx

《DB2数据库备份与恢复副本.docx》由会员分享,可在线阅读,更多相关《DB2数据库备份与恢复副本.docx(20页珍藏版)》请在冰豆网上搜索。

DB2数据库备份与恢复副本.docx

DB2数据库备份与恢复副本

DB2数据库备份及恢复操作手册

 

目录

一、创建数据库及表2

二、offline备份及恢复2

2.1、offline备份2

2.2、数据恢复2

三、online备份及恢复3

3.1、online备份3

3.2、备份恢复4

四、GUI操作5

4.1、建库,打开控制中心5

4.2、建表并添加数据,参照下图:

6

4.3、备份。

参考图:

6

4.4、还原备份参考图:

7

首先设置归档参数

 

Java代码 

1.db2 update db cfg for using mirrorlogpath /home/db2inst1/mirror_log/ //mirror log  

2.db2 get db cfg for //确认是否成功  

3.db2 update db cfg for using userexit on //启用用户出口  

4.db2 update db cfg for using logretain on //启用归档日志  

5.db2 update db cfg for using trackmod on //启用增量备份功能  

6.db2stop force  

7.db2start  

8.db2 backup db to /home/db2inst1/off_back //  

  

 

备份在线数据库

 

Java代码 

1.db2 backup db online to /home/db2inst1/on_back/ //在线备份  

2.db2 backup db online incremental to /home/db2inst1/on_back/ //在线做增量备份  

3.db2 list history backup all for //查看备份记录  

4.db2 get db cfg for //查看log所在位置,cp到一个安全目录,供rollforward使用。

  

5.db2stop force;db2start;db2 drop db //手工drop数据库,模拟灾难恢复的情况  

 恢复在线数据库

 

Db2代码 

1.db2ckrst -d -t 20070608032820 -r database //帮助工具提示恢复  

2.db2 restore db incremental from /home/db2inst1/on_back taken at 20070608032820 //恢复数据文件  

3.先恢复完全备份,然后在恢复增量备份,不能自动寻找完全备份文件。

  

4.db2 rollforward database to end of logs and complete overflow log path '(/home/db2inst1/log)' //前滚日志有一点不认同:

“先恢复完全备份,然后在恢复增量备份”  

5.对于增量恢复,你的做法正好反了,你这样做的话,会收到SQL2574N的错误信息。

  

6.在db2ckrst里面已经清楚的告诉你恢复的顺序。

  

7.下面是测试备份镜像中包日志的备份和恢复的步骤:

  

8.注:

/home/db2inst1/on_back/ #为备份文件位置  

9./home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #为数据库的log位置,通过db2 get db cfg for 得到。

  

10.db2stop force;db2start;db2 drop db #模仿灾难发上,drop数据库。

  

11.db2 backup db online to /home/db2inst1/on_back/ include logs #备份带日志的镜像文件  

12.db2 backup db online incremental to /home/db2inst1/on_back/ include logs #备份带日志的增量镜像文件  

13.db2 RESTORE db incremental automatic FROM /home/db2inst1/on_back/ taken at 20070612070526 LOGTARGET /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #恢复时间戳在20070612070526的数据镜像和日志文件  

14.db2 rollforward database to end of logs and complete //回滚log日志  

15.在“10”中已把数据库drop了,“20”中如何做online backup呢?

  

16.注:

/home/db2inst1/on_back/ #为备份文件位置  

17./home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #为数据库的log位置,通过db2 get db cfg for 得到。

  

18.db2 backup db online to /home/db2inst1/on_back/ include logs #备份带日志的镜像文件  

19.db2 backup db online incremental to /home/db2inst1/on_back/ include logs #备份带日志的增量镜像文件  

20.db2stop force;db2start;db2 drop db #模仿灾难发上,drop数据库。

  

21.db2 RESTORE db incremental automatic FROM /home/db2inst1/on_back/ taken at 20070612070526 LOGTARGET /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #恢复时间戳在20070612070526的数据镜像和日志文件  

22.db2 rollforward database to end of logs and complete //回滚log日志  

 

 

 ==================================================

以上为DB2的备份方式

 

以下介绍一下跨平台迁移DB2

=========================================

源数据库AIX平台+DB2目标平台LINUX

 

首先在源库导出库结构。

Db2代码 

1.db2look -d dbname -e -o db2look.sql  

 

然后导出源数据库DB2数据

 

Db2代码 

1.db2move dbname export –u user –p password  

 

其中db2move.lst记录所有导出的文件,可以进行编辑从而决定导入哪些数据表

 

然后在目标linux主机上建立DB2的新库,导入结构及数据、

 

 

Db2代码 

1.db2 -tvf db2look.sql  

2.db2move dbname import 

 

一、创建数据库及表

--创建数据库,数据库名为jmam42;

db2createdatabasejmam42;

--连接数据库

db2connecttojmam42;

--建表表名为test1

db2 -tvf sql脚本文件名

例如db2–tvfscript1.sql–zscript1.log

在上面的命令中,

-t表示语句使用默认的语句终结符——分号;

-v表示使用冗长模式,这样DB2会显示每一条正在执行命令的信息;

-f表示其后就是脚本文件;

-z表示其后的信息记录文件用于记录屏幕的输出,方便以后的分析(这是可选的,但我们建议使用该选项)。

createtabletest1(

idintegernotnull,

namevarchar(20),

emailvarchar(20),

primarykey(id)

);

--插入数据

insertintotest1values(1,'one','one@');

insertintotest1values(2,'two','two@');

insertintotest1values(3,'three','three@');

--提交

commit;

Ø方法一:

点击桌面图标

Ø

方法二:

点击“开始”“所有程序”“QuestSoftware”“QuestCentralforDB2v4.8”“QuestCentralforDB2v4.8”(如下图);

点击打开出现下图界面,填写序列号;

再填写相关的网站信息;

输入数据库的用户名和密码登陆;

右击左侧树形栏内的“DB2(LOCAL)”选择“CreateDatabase”新建数据库;

输入数据库名称,选择安装路径;

点击“BuildScript”;

点击左上角第一个绿色箭头运行即可;

运行中;

运行完毕,显示执行成功完成,即数据库已建好,关闭此对话框即可;

点击已建好的数据库,填写用户名、密码登陆;

登陆成功,下一步即可运行建库脚本。

运行建库脚本

点击左上角“File”选择“New”;

弹出导入脚本对话框;

找到脚本文件夹;

(依据脚本依附关系,首先执行“net_db2.sql”,其次执行“mam_db2.sql”,再执行其他脚本,最后执行right_jsnet42.sql授权。

双击“net_db2.sql”打开,并全部选定;

将全选的脚本复制到导入脚本对话框中,点击左上角第一个绿色箭头执行即可;

执行中;

执行结束,并查看脚本是否执行成功;

关闭对话框。

其他脚本执行方法同上。

二、offline备份及恢复

2.1、offline备份

--首先要断开当前服务器链接

db2connectreset;

--离线备份,指定备份存放的地址,备份之后会返回一个时间戳

db2backupdbjmam42tod:

\DB2\backup\

2.2、数据恢复

--恶意删除数据库

db2dropdatabasejmam42;

--恢复备份

db2restoredbjmam42fromd:

\DB2\backuptakenat20100720120756;

--其中201007201207561是备份的时间戳,可以在备份文件名中找到

--然后再连接数据库并查询表test1可以得到结果

db2connecttojmam42;

select*fromtest1;

 

 

三、online备份及恢复

3.1、online备份

--连接

db2connecttojmam42;

--修改数据库参数,使之支持在现联机备份

db2updatedbcfgforjmam42usinglogretainontrackmodon;

--此时会提示:

对于这些配置参数,必须在所有应用程序都与此数据库断开连接之后,更改才会生效。

db2getdbcfgforjmam42//检查配置是否更改

--此时,也需要做一次数据库的全备份,否则不能联机备份,试过很多次必须要这样。

db2connectreset;

db2backupdbjmam42tod:

\DB2\backup1\;

--然后在连接数据库,做在线备份

db2connecttojmam42;

--指定归档日志的存放路径

db2updatedbcfgusinglogarchmeth1disk:

d:

\DB2;

 

--插入几条数据

insertintotest1values(4,'four','eight@');

insertintotest1values(5,'five','nine@');

insertintotest1values(6,'six’,'six@');

--提交

commit;

--数据库on备份

完全备份:

备份所有数据库

db2backupdbjmam42onlinetod:

\DB2\backup1\

增量备份:

备份与上次完全备份以来更改过的数据

db2backupdbjmam42onlineincrementaltod:

\DB2\backup1\

delta备份:

备份自最近以来最近一次备份更改过的数据

db2backupdbjmam42onlineincrementaldeltatod:

\DB2\backup1\

这里可以指定并行数,缓冲区数目还有每个缓冲区的大小,例如指定并行数为2,缓冲区数目为4,缓冲区大小为1024,则进行delta备份的话为:

db2backupdbjmam42onlineincrementaldeltatod:

\DB2\backup1\with2buffersbuffer1024parallelism4withoutprompting;

3.2、备份恢复

--恶意删除库,以此来进行数据库恢复

db2dropdbjmam42;

--数据库恢复

db2restoredbjmam42fromd:

\DB2\backup1takenat20100720140108;

--前滚数据库,并指定归档日志位置,这个很重要,因为此时如果去连接数据库根本连不上

db2rollforwarddatabasejmam42toendoflogsandcompleteoverflowlogpath("d:

\DB2");

--结果

------------------------------输入的命令------------------------------

rollforwarddatabasejmam42toendoflogsandcompleteoverflowlogpath("d:

\DB2");

------------------------------------------------------------------------------

rollforwarddatabasejmam42toendoflogsandcompleteoverflowlogpath("d:

\DB2")

前滚状态

输入数据库别名=jmam42

节点数已返回状态=1

节点号=0

前滚状态=未暂挂

下一个要读取的日志文件=

已处理的日志文件=S0000002.LOG-S0000002.LOG

上次落实的事务=2010-07-20-07.39.13.000000UTC

DB20000IROLLFORWARD命令成功完成。

 

ok,此时online数据恢复完成,试着做个测试

db2connectjmam42;--此时连接到jmam42没问题。

db2Select*fromtest1;--查询结果如下:

 

四、GUI备份及恢复操作

4.1、建库,打开控制中心

点此创建数据库,按照提示走即可。

4.2、建表并添加数据,参照下图:

按照提示走即可,无需太多介绍。

4.3、备份参考图:

按照提示一步步来吧,真没啥好说的。

注意的是:

在这里要选择备份的各种类型,依据用户的需求做出选择。

4.4、还原备份参考图:

需要还原的时候在工具里选择日志:

按照提示走就行如图:

点击鼠标邮件,选择复原,按照提示走就可以进行数据库恢复。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1