Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2343608
  • 博文数量: 535
  • 博客积分: 8689
  • 博客等级: 中将
  • 技术积分: 7066
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-26 10:00
文章分类

全部博文(535)

文章存档

2024年(4)

2023年(4)

2022年(16)

2014年(90)

2013年(76)

2012年(125)

2011年(184)

2010年(37)

分类: DB2/Informix

2013-02-20 12:03:07








DB2安装配置手册.pdf




大数据量数据整合与查询性能优化(DB2V9& AIXV5.3)v1.2 .pdf



Linux虚拟机上安装DB2 Enterprise 9.pdf
Linux下DB2安装手册(db2install).pdf



db2优化调整资料.doc
db2自学资料.doc
IBM DB2 日常维护汇总.doc


IBM_DB2_prueScale.rar
IBM_DB2_prueScale.rar






DB2数据库性能调整和优化-牛新庄.part1.rar DB2数据库性能调整和优化-牛新庄.rarDB2数据库性能调整和优化-牛新庄.rarDB2数据库性能调整和优化-牛新庄.rarDB2数据库性能调整和优化-牛新庄.rarDB2数据库性能调整和优化-牛新庄.rar





DB2数据库安装说明.pdfDB2数据库备份及恢复20081205(Jimmy修改版20100429).doc
DB2数据库备份与恢复.pdf



DB2基础知识一.docx


db2基础入门.pdf




DB2基础教程.part01DB2基础教程.part02DB2基础教程.part03DB2基础教程.part04DB2基础教程.part05DB2基础教程.part06DB2基础教程.part07DB2基础教程.part08DB2基础教程.part09

20120906.txt

DB2使用经验积累.pdf

DB2数据库备份与恢复.pdf

DB2V9& AIXV5.pdf

DB2认证考试最新题库730.pdf

DB2认证考试最新题库731.pdf

DB2数据库备份及恢复20081205(Jimmy修改版20100429).doc





db2ilist                            列出实例
db2  get instance 
set db2instance db2inst1            要确实哪一个实例适用于当前会话
set db2instance=db2inst1            要确实哪一个实例适用于当前会话
db2
db2start
db2stop
db2stop force                       强制停止实例
db2  get admin cfg
db2  get instance                   列出实例
db2 reset admin cfg                 将配置参数设为默认参数
db2iauto -on db2inst1               设为自动启动
db2level
db2 list database directory        列出节点目录的内容
db2 list tablespaces               列出当前数据库定义的表空间
db2 get dbm config




显示当前数据库管理实例
   $ db2 get instance
   
su -  db2inst1
db2 connect  to DB_NAME user  USER_NAME using PASSWD
db2 connect to test user  db2inst1  using db2
db2 connect  to db2inst1 user db2inst1  using db2
db2 connect to db2inst1 user db2inst1 using db2 new db2 confirm db2    连接的同时修改密码


db2gcf  -s                         查看实例状态


db2set  -lr                        列出所有支持的profile registrie
db2set registry_variable = value   设值
db2set registry_variable =         恢复成默认值
db2set -all                        列出当前设置过的
db2set db2comm=tcpip


db2  get instance 
db2 list active databases 列出活动的数据库和连接数。
db2 list application [show detail] 返回关于当前连接的应用程序的信息。


db2 create  database test           创建test数据库
db2 drop  database test 
db2 create table/create view/create index          分别创建表,视图,和索引的SQL语句
db2 activate database test          激活数据库
db2 restart database test           重启数据库




db2 deactivate database    显式地使数据库失效。
db2 connect to test                 连接到test 数据库
db2 connect reset                   断开与当前数据库的连接。 
db2 get db cfg show detail          显示数据库配置参数的当前值和延迟值
db2  get db cfg for test            显示数据库配置参数的当前值和延迟值
db2 update db cfg for using

将数据库 的数据库配置参数

更新为值
db2 update db cfg using     LOGSECOND 5
db2 list tables[for {user | all | system | schema }][show detail] 列出数据库中的表。如果没有指定任何参数,则缺省情况是列出当前用户的表。
db2 describe table 显示一个表或视图的列信息。
db2 list tablespaces [show detail] 显示表空间的标识、名称、类型、内容和状态。 
db2 list tablespace containers for [show detail] 显示用 指定的表空间的容器信息。 
db2 quiesce tablespaces for table reset 将表空间的状态复位成正常(normal)。 


db2  list tables  for all                  显示所有的表
db2  force  application  all        强制杀掉所有的进程
db2 terminate                       中止DB2后台进程






打开跟踪功能
db2trc on -i 8m -m "*.*.2.*.*" -t
db2start
db2trc clear
db2 connect to sample
db2trc dump dmp
db2trc off


打开性能计数器和格式化捕捉到的数据
db2 connect reset
db2stop
db2trc on -i 8m -perfcount -t -m "*.*.2.*.*"
db2start
db2trc clear
db2 connect to sample
db2trc dump dmp1
db2trc off
db2trc perffmt dmp1 pfmt


su - db2inst1
db2ca


db2move  test export                        导出test表
db2move  test import                        导入test表
































第二章 脱机备份
2.1 首先确保没有用户使用DB2
  $db2 list applications for db sample(sample是数据库名称,下面均以这个为例)
2.2 强迫断开应用连接
  db2 force application (1,2)
2.3 执行备份命令:
db2 backup db test   to /db2file/bakup(路径) 
备份成功,将会返回一个时间戳。
Backup successful. The timestamp for this backup image is : 20081205153817  
2.4 检查备份成功:
db2 connect to sample
db2 list history backup all for sample 


第三章 联机备份
联机备份只要求备份数据文件和控制文件。脱机数据库的备份单位是整个数据库,而联机备份的备份单位是一些或全部表空间。
即使想执行联机备份,第一次也需要执行一次全库备份。如果日志模式已经是归档日志,并且做过完全脱机备份,那么可以直接从第三步开始进行联机备份。
3.1 查看备份历史
db2 list history backup all for sample
3.2 如果是循环日志,需要先修改成归档日志
1、更新日志类型为归档日志
db2 update db cfg for  test  using logarchmeth1 logretain
会提示如下信息:
DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.
SQL1363W One or more of the parameters submitted for immediate modification 
were not changed dynamically. For these configuration parameters, all 
applications must disconnect from this database before the changes become 
effective.
2、确认是否修改成功
$ db2 get db cfg for sample
 
关闭然后再次启动数据库,使配置更改生效。设置成归档模式以后,还需要执行完全脱机备份。如果没有执行该备份,您将收到下面尝试连接数据库的错误:
$ db2 connect to sample
SQL1116N  A connection to or activation of database "SAMPLE" cannot be made 
because of BACKUP PENDING.  SQLSTATE=57019
脱机备份详见上面的步骤。
3.3 联机备份
执行完上述两步骤之后,我们就可以进行联机备份了,联机备份包括表空间级和数据库级的备份:
3.3.1 联机备份表空间
db2 backup database sample tablespace USERSPACE1  online to /db2file/bakup
说明:USERSPACE1为你的表空间名称
备份成功后,会返回一个时间戳:
Backup successful. The timestamp for this backup image is : 20081205154421
3.3.2 联机备份数据库
db2 backup database sample online to /db2file/bakup
备份成功后,会返回一个时间戳:
Backup successful. The timestamp for this backup image is : 20081205154616
3.4 备份归档日志文件
归档日志文件的备份很重要,我们除了在线备份数据库以外,需要将归档日志也备份,这样才能保证我们完全恢复数据库。
如果我们采用一个月一次数据库全备份,每天一个差异增量备份,如果我们没有备份归档日志文件,那么我们只能恢复到最新的一个差异增量备份的点,发生意外的当天的数据就无法恢复。如果我们备份了归档日志,虽然我们今天还没有进行增量备份,我们完全可以通过归档日志,将日志回滚到日志末尾的方式来恢复整个数据库,保证恢复到发生意外的那个时间点,最大化的减少数据的丢失。
 


第四章 从联机备份中恢复
要在 DB2 UDB 中执行前滚恢复,必须使用归档日志记录。在数据库的恢复期间,该记录的使用具有排它性。您可以在数据库级或表空间级上进行恢复。您将可以恢复备份映像和前滚来完成恢复处理,或者让数据库停留在挂起状态。有两种类型的前滚: 
前滚到日志结束。 
前滚到某个时间点。
在 DB2 UDB 中,有两个选项来执行恢复:Control Center 和 CLP,Control Center比较简单,就不在多说,下面主要说明命令行模式:
4.1 恢复并前滚整个数据库
4.1.1 恢复数据库到某一个时间点
说明:恢复最新的备份时使用,需要备份归档日志文件时才能使用
db2 restore database sample from "/db2file/bakup" taken at 20081205154616   without prompting;
恢复成功后,会提示如下信息:
SQL2540W  Restore is successful, however a warning "2539" was encountered 
during Database Restore while processing in No Interrupt mode.
4.1.2 前滚至日志结束
说明:恢复最新的备份时使用,需要备份归档日志文件时才能使用
db2 rollforward db  test  to end of logs and complete
$ db2 rollforward db sample to end of logs and complete


                                 Rollforward Status


 Input database alias                   = sample
 Number of nodes have returned status   = 1


 Node number                            = 0
 Rollforward status                     = not pending
 Next log file to be read               =
 Log files processed                    = S0000001.LOG - S0000001.LOG
 Last committed transaction             = 2008-12-05-15.46.23.000000 Local


DB20000I  The ROLLFORWARD command completed successfully.
4.1.3 前滚至某个时间点
说明:可以恢复至之前的某个时间点的前提是需要备份某个时间点的归档日志文件。
db2 rollforward database  test  to 2008-12-05-15.47.15.000000 using  local time and complete;
但有时候,对较大的数据库执行表空间级备份会更经济。而且恢复表空间将只要求排它使用某个表空间。其余的表空间仍可以访问。您可以一次恢复多个表空间。
4.2 恢复表空间
4.2.1 恢复表空间到某一个时间点
restore database sample tablespace (userspace1) online from "/db2db/bakup" taken at 20081205154421 with 2 buffers buffer 1024 parallelism 1 without prompting;
4.2.2 前滚至某一个时间点
rollforward database sample to 2008-12-05-16.44.21.000000 using local time and complete tablespace (userspace1) online;
 


第五章 增量备份和恢复
当数据库大小增长到 GB 和 PB 级时,所需的时间和硬件资源将极大的增长。通常,备份整个数据库或一次备份几个表空间是不可行的。在这种情况下,进行增量备份显然会更好一些。但是,增量备份的恢复工作还是比较麻烦的,需要先恢复到之前最新的一次完全备份,然后再将随后的增量备份恢复。
DB2的增量备份分两种类型:增量备份和Delta(差异)备份。
增量备份:备份自上次完全备份以来更改过的数据;
Delta(差异)备份:备份自最近一次备份以来更改过的数据;
5.1 增量备份
5.1.1 打开 TRACKMOD
TRACKMOD此参数将跟踪数据库修改,以便 backup 实用程序可检测数据库页的哪个子集必须由增量备份进行检查且可能包括在备份映像中,在将此参数设置为“YES”之后,必须执行完整数据库备份,才能获得可以对其执行增量备份的基线。
db2 update db cfg using trackmod YES
DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.
SQL1363W One or more of the parameters submitted for immediate modification 
were not changed dynamically. For these configuration parameters, all 
applications must disconnect from this database before the changes become 
effective.
确保在重连接生效前断开所有应用程序的连接。
如果不配置TRACKMOD,直接进行增量备份,会报如下错误:
SQL2426N  The database has not been configured to allow the incremental backup operation. Reason code = "1".
5.1.2 执行完全数据库备份作为增量备份的基础
db2 backup database sample to /db2file/bakup
备份成功后会返回一个时间戳。
5.1.3 联机备份数据库
db2 backup database sample online to /db2file/bakup
备份成功后会返回一个时间戳。
5.1.4 增量备份数据库
1、简单命令:
db2 backup database sample incremental to /db2file/bakup
2、带参数的命令:
backup database sample online incremental to "/db2file/bakup " with 2 buffers buffer 1024 parallelism 1 without prompting;
参数说明:
Parallelism(并行性):指定备份的并行性(缓冲区操作程序的数目)
缓冲区数(buffers):上面我定义了2个
每个缓冲区大小(每页大小4k)(buffer):每个缓冲区大小是1024
备份成功后,会返回一个时间戳,例如:
Backup successful. The timestamp for this backup image is : 20081205101952
5.1.5 delta增量备份数据库
1、简单命令:
db2 backup database sample incremental delta to /db2file/bakup
2、带参数的命令:
backup database sample online incremental delta to "/db2file/bakup" with 2 buffers buffer 1024 parallelism 1 without prompting;
参数说明:
Parallelism(并行性):指定备份的并行性(缓冲区操作程序的数目)
缓冲区数(buffers):上面我定义了2个
每个缓冲区大小(每页大小4k)(buffer):每个缓冲区大小是1024


5.2 增量恢复
5.2.1 自动从增量备份中恢复
db2 restore database sample incremental automatic from /db2file/backup taken at 20040701112735 without prompting
5.2.2 前滚到日志结束
db2 rollforward database sample to end of logs and complete
 


第六章 带有include logs选项的联机备份和恢复
本方法适用于统计分析和综合查询系统
C:\Documents and Settings\db2admin>db2 create db tt on d:\
DB20000I  CREATE DATABASE命令成功完成。




C:\Documents and Settings\db2admin>db2 connect to tt


   数据库连接信息


 数据库服务器         = DB2/NT 9.1.0
 SQL 授权标识         = DB2ADMIN
 本地数据库别名       = TT




C:\Documents and Settings\db2admin>db2 backup db tt online to d:\db2 compress in
clude logs


备份成功。此备份映像的时间戳记是:20100429104317




C:\Documents and Settings\db2admin>db2 restore db tt from d:\db2 taken at 201004
29104317 logtarget d:\db2
SQL2539W  警告!正在复原至与备份映像数据库相同的现有数据库。数据库文件将被删除。




要继续吗?(y/n) y
DB20000I  RESTORE DATABASE命令成功完成。




C:\Documents and Settings\db2admin>db2 rollforward db tt to end of logs and stop
 overflow log path (d:\db2)


                                 前滚状态


 输入数据库别名                      = tt
 节点数已返回状态                = 1


 节点号                                = 0
 前滚状态                                    = 未暂挂
 下一个要读取的日志文件          =
 已处理的日志文件                = S0000003.LOG - S0000003.LOG
 上次落实的事务                  = 2010-04-29-14.25.37.000000 Local


DB20000I  ROLLFORWARD命令成功完成。





阅读(3104) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~