db2数据库与表空间备份

数据库与表空间的备份语法概述

备份语法

dbeaver备份mysql表 db2数据库表备份语句_db2

database-alias:指定要备份的数据库的别名

username/using password:指定备份数据库所使用的用户和用户密码

dbeaver备份mysql表 db2数据库表备份语句_db2数据库备份_02

DBPARTITIONNUM db-partition-number1:指定要备份的数据库分区的列表

DBPARTITIONNUMS db-partition-number1 TO db-partition-number2:指定备份数据库分区的范围

dbeaver备份mysql表 db2数据库表备份语句_dbeaver备份mysql表_03


ALL DBPATITIONNUMS:备份所有的数据库分区

EXCEPT:要排除备份的数据库分区

dbeaver备份mysql表 db2数据库表备份语句_dbeaver备份mysql表_04

TABLESPACE tablespace-name:指定要备份的表空间

ONLINE:指定对数据库进行在线的备份,默认是离线备份

INCREMENTAL:对数据库进行增量备份

DELTA:对数据库进行Delta备份

dbeaver备份mysql表 db2数据库表备份语句_数据库_05

TSM:使用Tivoli Storage Manager 作为备份设备

OPEN SESSIONS:DB2与TSM或其他设备软件产品之间的IO会话数量(注意:与INCLUDE LOGS 参数的协同使用)

TO dir | dev:指定备份完成的数据文件所放置的路径或者设备

dbeaver备份mysql表 db2数据库表备份语句_db2数据库备份_06

DEDUP_DEVICE:如果使用数据复制的功能,此参数会优化备份文件在存储设备中的存储格式

BUFFER buffer-size:DB2在备份过程中所占用的内存缓存大小,以4k为单位

PARALLELISM n:备份过程中,可以并发备份的表空间数量

dbeaver备份mysql表 db2数据库表备份语句_db2表空间备份_07

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

dbeaver备份mysql表 db2数据库表备份语句_dbeaver备份mysql表_08

UTIL_IMPACT_PAIORITY priority:指定备份操作的优先级(可设置为1-100,1优先级最低,100优先级最高,默认是50)

EXCLUDE LOGS:指定备份过程中不备份日志文件(只针对在线备份有效)

dbeaver备份mysql表 db2数据库表备份语句_dbeaver备份mysql表_09

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

dbeaver备份mysql表 db2数据库表备份语句_数据库_10

备份文件的命名

dbeaver备份mysql表 db2数据库表备份语句_db2_11

备份类型
— 0:表示完整的数据库级别备份
— 3:表示表空间级别的备份
— 4:表示由LOAD COPY TO 命令生成的备份影像
数据库分区
在单一分区数据库环境中,分区号始终是DBPART000
在分区数据库环境中,是DBPARTxxx,其中 xxx 是db2nodes.cfg 文件中对数据库分区指定的编号

离线备份

切换到 db2instl(实例用户)用户:

su - db2instl

查看实例下有多少个数据库:

db2 list db directory

dbeaver备份mysql表 db2数据库表备份语句_db2_12

启动实例:

db2start

dbeaver备份mysql表 db2数据库表备份语句_db2数据库备份_13

备份mydb 数据库:

db2 backup database mydb

dbeaver备份mysql表 db2数据库表备份语句_db2数据库备份_14

默认是当前路径,离线备份

如果当前存在连接,则备份失败

dbeaver备份mysql表 db2数据库表备份语句_db2数据库备份_15

查看问题详情

db2 ? SQL1035N

dbeaver备份mysql表 db2数据库表备份语句_数据库_16


解决方法:

方法一:连接端退出数据库链接

db2 terminate

dbeaver备份mysql表 db2数据库表备份语句_db2数据库备份_17

方法二:备份用户连接数据库,强制退出连接数据的应用,然后推出,进行备份操作

dbeaver备份mysql表 db2数据库表备份语句_db2数据库备份_18

db2 list applications          --查看连接数
db2 connect to mydb            --连接数据库 
db2 force applications all     --强制退出所有连接
db2 terminate				   --退出数据库连接

在线备份

如果归档日志没有打开,则报如下错

dbeaver备份mysql表 db2数据库表备份语句_dbeaver备份mysql表_19

查看归档日志状态

db2 get db cfg for mydb | grep "LOGARCHMETH1"

dbeaver备份mysql表 db2数据库表备份语句_dbeaver备份mysql表_20

修改归档日志,将归档日志归档到指定目录:

db2 update db cfg using LOGARCHMETH1 DISK:/home/db2instl/tmp

dbeaver备份mysql表 db2数据库表备份语句_dbeaver备份mysql表_21

注:设置完归档后,建议重新激活数据库使参数生效,同时必须对数据库进行一次备份(设置归档后,数据库处于backup pending状态)

db2 deactivate db <dbname>
db2 terminate
db2 backup db <dbname>
db2 activate db <dbname>

dbeaver备份mysql表 db2数据库表备份语句_db2_22

或者,如果可以重启实例,建议重启实例执行

db2stop force
db2start
db2 backup db <dbname>

包含日志备份

db2 backup db mydb online include logs

dbeaver备份mysql表 db2数据库表备份语句_db2数据库备份_23

备份到不同的目录

db2 backup db mydb online to /home/db2instl/db1,/home/db2instl/db2

dbeaver备份mysql表 db2数据库表备份语句_数据库_24

备份表空间

db2 "backup database mydb tablespace (syscatspace, userspace1) online to  /home/db2instl/db_tablespace"

注:online要写在表空间后面,不然报如下错:(SQL0104N An unexpected token “tablespace” was found following “ONLINE”.)

dbeaver备份mysql表 db2数据库表备份语句_数据库_25

增量备份

增量备份前必须启动增量备份功能,不然报:(SQL2426N The database has not been configured to allow the incremental backup)

dbeaver备份mysql表 db2数据库表备份语句_db2表空间备份_26

启动增量备份功能

db2 update db cfg for mydb using trackmod on

dbeaver备份mysql表 db2数据库表备份语句_数据库_27

启动增量备份后进行一次数据库备份,不然报:(SQL2426N The database has not been configured to allow the incremental backup

operation. Reason code = “2”.)

dbeaver备份mysql表 db2数据库表备份语句_dbeaver备份mysql表_28

db2 backup db mydb online incremental to /home/db2instl/db_tablespace

dbeaver备份mysql表 db2数据库表备份语句_数据库_29

delta备份:

db2 backup db mydb online incremental delta to /home/db2instl/db_tablespace

dbeaver备份mysql表 db2数据库表备份语句_db2表空间备份_30

总结:
离线备份

db2 list applications          --查看连接数
db2 connect to mydb            --连接数据库 
db2 force applications all     --强制退出所有连接
db2 terminate				   --退出数据库连接
db2 backup database mydb       --备份数据库

在线备份

db2 get db cfg for mydb | grep -i "LOGARCHMETH1"		--查看归档日志状态

--修改归档日志,将归档日志归档到指定目录
db2 update db cfg using LOGARCHMETH1 DISK:/home/db2instl/tmp
--建议重新激活数据库同时进行一次备份(设置归档后,数据库处于backup pending状态)
db2 deactivate db mydb		
db2 terminate
db2 backup db mydb
db2 activate db mydb

增量备份

db2 get db cfg for mydb | grep -i "trackmod"		--查看增量备份功能状态
db2 update db cfg for mydb using trackmod on		--启动增量备份功能

db2 backup db mydb		--建议启动增量备份后进行一次数据库备份

db2 backup db mydb online incremental to /home/db2instl/db_tablespace	--增量备份

delta备份

db2 get db cfg for mydb | grep -i "trackmod"		--查看增量备份功能状态
db2 update db cfg for mydb using trackmod on		--启动增量备份功能

db2 backup db mydb		--建议启动增量备份后进行一次数据库备份
db2 backup db mydb online incremental delta to /home/db2instl/db_tablespace

注释:

增量备份:DB2备份自上一次数据库完整备份以来发生变化的所有数据。

delta备份:DB2备份自上一次成功执行的完整备份、增量备份或delta备份以来发生变化的数据

检查备份的完整性

db2ckbkp

检查备份文件的一致性以及备份文件的可用性

显示备份文件的元数据

dbeaver备份mysql表 db2数据库表备份语句_dbeaver备份mysql表_31


—h:检查备份文件的完整性