首页 > 数据库 >db2 数据库与表空间备份与恢复

db2 数据库与表空间备份与恢复

时间:2022-10-09 10:04:37浏览次数:58  
标签:与表 database 备份 testdb db2 backup 数据库

一、数据库与表空间备份

1、备份语法

db2 数据库与表空间备份与恢复_表空间

2、详解

database-alias指定要备份的数据库的别名
username/using password指定备份数据库所使用的用户和用户密码

db2 数据库与表空间备份与恢复_备份文件_02

DBPARTITIONNUM db-partition-number1 指定要备份的数据库分区的列表
DBPARTITIONNUMS db-partition-number1 TO db-partition-number2指定备份数据库分区的范围
ALL DBPARTITIONNUMS备份所有的数据库分区
EXCEPT要排除备份的数据库分区

db2 数据库与表空间备份与恢复_表空间_03

TABLESPACE tablespace-name指定要备份的表空间
ONLINE指定对数据库进行在线的备份,默认是离线备份
INCREMENTAL对数据库进行增量备份
DELTA对数据库进行Delta备份

db2 数据库与表空间备份与恢复_备份文件_04

TSM使用Tivoli Storage Manager做为备份设备
OPEN SESSIONS DB2与TSM或其他备份软件产品之间的IO会话数量
-注意与INCLUDE LOGS参数的协同使用
TO dir|dev 指定备份完成的数据文件所放置的路径或者设备

db2 数据库与表空间备份与恢复_备份文件_05

DEDUP_DEVICE如果使用数据复制的功能,此参数会优化备份文件在存储设备中的存储格式
BUFFER buffer-size DB2在备份过程中所占用的内存缓存大小,以4k为单位
PARALLELISM n备份过程中,可以并发备份的表空间数量

db2 数据库与表空间备份与恢复_数据库_06

COMPRESS|ENCRYPT指定备份文件是使用压缩特征还是进行加密,两者不能同时使用

db2 数据库与表空间备份与恢复_备份文件_07

UTIL_IMPACT_PRIORITY priority指定备份操作的优先级
-可设置为1-100,1优先级最低,100优先级最高,默认是50
EXCLUDE LOGS指定备份过程中不备份日志文件
-对离线备份没有作用
INCLUDE LOGS指定备份过程中备份日志文件
-只针对在线备份有效

db2 数据库与表空间备份与恢复_数据库_08

WITHOUT PROMPTING指定在备份过程中需不需要用户提供交互输入

db2 数据库与表空间备份与恢复_表空间_09

3、备份文件的命名

数据库别名
-在调用备份实用程序时指定的,由1到8个字符组成的数据库别名
备份类型
-0表示完整的数据库级别备份
-3表示表空间级别的备份
-4表示由LOAD COPY YES命令生成的备份映像
实例名
-从DB2INSTANCE环境变量中提取的,由1到8个字符组成的当前实例名
数据库分区号
-在单一分区数据库环境中,分区号始终是DBPART000
-在分区数据库环境中,它是DBPARTXXX,其中XXX是db2node.cfg文件中对数据库分区指定的编号
时间戳
-执行备份操作时的日期和时间的14个字符表示法,该时间戳记得格式为yyyymmddhhnnss
序号
-用作文件扩展名的一个3位数字

db2 数据库与表空间备份与恢复_数据库_10

4、示例

db2 backup database testdb
db2 backup database testdb online
db2 backup database testdb online include logs
db2 backup database testdb online to /tmp/db1,/tmp/db2,/tmp/db3
db2 "backup database testdb tablespace (syscatspace,userspace1) online to /tmp/db4"
db2 backup database testdb online incremental to /tmp/db5
db2 backup database testdb online incremental delta to /tmp/db6

5、其他备份补充

db2 backup database wsdb on all dbpartitionnums to /tmp/backup1
db2 backup database sample use tsm open 2 sessions with 4 buffers
db2 backup database wsdb on dbpartitionnums(1,2) tablespace(userspace1) online use TSM

二、检查备份的完整性

1、简述

db2ckbkp
-检查备份文件的一致性以及备份文件的可用性
-也可用于显示备份文件的元数据

2、示例

db2 数据库与表空间备份与恢复_备份文件_11

三、恢复历史记录文件

1、恢复历史记录文件的作用

包含当数据库的所有或部分必须恢复到给定时间点时,可用来确定恢复选项的备份信息的摘要
用来跟踪其他操作中与恢复相关的事件,如备份和复原操作
文件位于数据库目录中,文件名是DB2RHIST.ASC及其备份DB2RHIST.BAK
要查看恢复历史记录文件中的条目,可使用LIST HISTORY命令

2、更新恢复历史记录文件

备份了数据库或表空间
复原了数据库或表空间
前滚了数据库或表空间
自动重建了数据库,并且复原了多个映像
创建了表空间
改变了表空间
停顿表空间
重命名表空间
装入表
删除表(启用了恢复已废弃的表,并且你正在使用可恢复日志记录)
重组表
调用随需应变日志归档
写入新日志文件(使用可恢复日志记录时)
归档日志文件(使用可恢复日志记录时)
恢复数据库
复原数据库或表空间操作失败

3、恢复历史记录文件的语法

db2 数据库与表空间备份与恢复_表空间_12

4、示例

db2 list history since 19980201 for sample
db2 list history backup containing userspace1 for sample
db2 list history drop table all for db sample
db2 list history all for sample
db2_all "db2 list history since 20010601 for sample"
db2 list history since 20091020163200 for database sample

db2 数据库与表空间备份与恢复_数据库_13

5、恢复历史记录文件的内容

1、Operation
A -Create table space N -Rename table space
B -Backup O -Drop table space
C -Loadcopy Q -Quiesce
D -Drop table R -Restore
F -Rollforward T -Alter table space
G -Reorganize U -Unload
L -Load X -Archive log

2、Object
D -Database
I -Index
P -Table space
T -Table
R -Partitioned table

3、Type
Alter table space operation types:
-C -Add container
-R -Rebalance
Archive log operation types:
-F -Failover archive path
-M -Secondary (mirrot) log path
-N -Archive log command
Backup and restore operation types:
-D -Delta offline
-E -Delta online
-F -Offline
-I -Incremental offline
-M -Merged
-N -Online
-O -Incremental online
-R -Rebuild
-Z -Quiesce reset

四、数据库与表空间恢复

1、恢复语法

db2 数据库与表空间备份与恢复_数据库_14

2、分区数据的还原

备份文件的信息
wsdb.0.db2inst1.DBPART000.200802241234.001
wsdb.0.db2inst1.DBPART001.200802241234.001
wsdb.0.db2inst1.DBPART002.200802241234.001
wsdb.0.db2inst1.DBPART003.200802241234.001

恢复方法
db2_all '<<+0< db2 restore database wsdb from /tmp/backup taken at 200802241234 into wsdb replace existing'
db2_all '<<+1< db2 restore database wsdb from /tmp/backup taken at 200802241234 into wsdb replace existing'
db2_all '<<+2< db2 restore database wsdb from /tmp/backup taken at 200802241234 into wsdb replace existing'
db2_all '<<+3< db2 restore database wsdb from /tmp/backup taken at 200802241234 into wsdb replace existing'

3、增量备份的还原

周日 backup db mydb use tsm
周一 backup db mydb online incremental delta use tsm
周二 backup db mydb online incremental delta use tsm
周三 backup db mydb online incremental use tsm
周四 backup db mydb online incremental delta use tsm
周五 backup db mydb online incremental delta use tsm
周六 backup db mydb online incremental use tsm

db2 数据库与表空间备份与恢复_数据库_15

restore db mydb incremental automatic taken at (周五)

restore db mydb incremental taken at (周五)
restore db mydb incremental taken at (周日)
restore db mydb incremental taken at (周三)
restore db mydb incremental taken at (周二)
restore db mydb incremental taken at (周五)

4、前滚语法

db2 数据库与表空间备份与恢复_备份文件_16

前滚恢复的示例
backup db sample online to /dev3/backup include logs

restore db sample from /dev/backup logtarget /dev3/logs
rollforward db sample to end of logs and stop overflow log path /dev3/logs

五、示例

1、不完全恢复数据库

创建测试表
db2 "create table mytable(id int)"
插入测试数据
db2 "insert into mytable values(1)"
检查测试数据
db2 "select * from mytable"
在线备份数据库
db2 backup database testdb online
在测试表中插入测试数据
db2 "insert into mytable values(2)"
检查测试数据
db2 "select * from mytable"
查看备份信息
db2 list history all for testdb
恢复数据库
db2 restore database testdb taken at 20150520093424
前滚数据库
db2 rollforward database testdb to end of backup and complete
检查测试数据
db2 "select * from mytable"
#结果是表中只有1这一条数据

2、完全恢复数据库

在测试表中插入测试数据
db2 "insert into mytable values(2)"
在线备份数据库以及日志
db2 backup database testdb online include logs
查看备份信息
db2 list history all for testdb
恢复数据库
db2 restore database testdb taken at 20150520094119
前滚数据库
db2 rollforward database testdb to end of logs and complete
检查测试数据
db2 "select * from mytable"
#结果是表中有1,2这两条数据

3、恢复表空间

恢复某个表空间
db2 "restore database testdb tablespace (USERSPACE1) online taken at 20150521084143"
查看表空间状态
db2 list tablespace
前滚表空间(回滚前tablespace状态为Roll forward pending)
db2 "rollforward database testdb to end of logs and complete tablespace (USERSPACE1)"
查看表空间状态
db2 list tablespace

4、数据库的增量恢复

对数据库进行在线的全备份
db2 backup database testdb online include logs
对数据库进行增量备份
db2 backup database testdb online incremental include logs
检查数据库的备份信息
db2 list history all for testdb
恢复数据库
db2 restore database testdb incremental automatic taken at [timestamp]
前滚数据库
db2 rollforward database testdb to end of logs and complete

标签:与表,database,备份,testdb,db2,backup,数据库
From: https://blog.51cto.com/u_13236892/5739750

相关文章

  • db2 表、视图、索引
    一、表1、概述所有数据都存储在数据库的表中,表由不同数据类型的一列或多列做成数据存储在行(或称为记录)中表使用createteble语句定义的2、创建表createtableemployee(idI......
  • 【Linux】Ubuntu VirtualBox使用备份文件生成新系统出错
    在模拟区块链节点服务器的时候打算直接将之前的服务器的vmdk文件再拷贝一份还原使用,但结果却抛出错误。后来才知道每个vmdk都存在一个UUID,也就是说每个vmdk文件都是唯一的,在......
  • 数据库还原失败System.Data.SqlClient.SqlError: 无法执行 BACKUP LOG,因为当前没有数
    造成这个问题的原因是结尾日志,在还原时将结尾日志备份下的“还原前进行结尾日志备份”勾掉就可以了。如下图所示:  ......
  • db2 数据类型
    一、概述DB2内置了INTEGER、CHAR和DATE等基本数据类型同时还提供创建用户自定义的数据类型(UDT)的工具,使用户能够创建复杂的非传统的数据类型,从而适应当今复杂的编程环境内置......
  • db2 日志
    1、日志的机制与作用2、日志文件命名数据库管理器使用编号方案来命名日志文件归档日志的编号方案以S0000000.LOG开始,直到S9999999.LOG如果发生以下情况,数据库管理器将复位到......
  • 玄学资料库(二)NPM、PYPI、DockerHub 备份
    爱情全占星Dockerdockerpullapachecn0/aiqing-quanzhanxingdockerrun-tid-p<port>:80apachecn0/aiqing-quanzhanxing#访问http://localhost:{port}查看文档......
  • db2 多温度存储器
    一、概述DB2V10中新增加的特性将访问频率不同的数据放置在不同的存储空间中引入了存储组(storagegroup)的概念方便DBA对不同热度的数据进行管理二、存储器组存储数据的存储......
  • db2 bufferpool操作
    一、概述数据库BufferPool介绍:对于数据库管这种对性能要求极高的系统而言,缓存自然也是不可少的。数据库中的缓存称为缓冲池,缓冲池存在的唯一目的就是提高数据库系统性能。缓......
  • Oralce的RMAN备份、恢复
     1、set oracle_sid=orcl2、man target /   rman target / log d:\files\dump.txt3、热备份:shutdown immediate;  startup mount;  alt......
  • db2 数据库的目录
    1、数据库的目录1、数据库目录用于存储数据库的信息,如表空间、表、容器等信息2、创建位置取决于创建数据库时指定的数据库路径3、分区全局目录结构:db_path/instance_name/NO......