如何安全高效备份db2数据库 (备份db2数据库)
如何安全高效备份DB2数据库
随着企业数字化进程的加速,企业数据增长速度快,数据安全也变得越来越重要。DB2数据库是企业常用的关系型数据库之一,数据备份是数据安全的重要手段。本文介绍如何安全高效备份DB2数据库。
一、备份类型
DB2数据库有两种备份类型:完整备份和增量备份。
完整备份指备份整个数据库,包括所有数据库对象和数据。完整备份较耗费时间和资源,适合为刚刚建立的数据库进行备份,或将整个数据库移植到新的系统上。
增量备份指备份某一个时刻到上一次备份之间的更新操作。增量备份比完整备份省时间和空间,适合经常更新的数据库。
为保证数据安全,备份应该定期进行。完整备份一般在每周备份一次,增量备份可以每天备份一次。
二、备份方式
DB2数据库有多种备份方式:在线备份、离线备份、压缩备份、加密备份。
在线备份指在数据库仍在运行的情况下进行备份,备份期间不会停止数据库的操作。在进行在线备份过程中,需要控制备份的并发和备份所占用的资源。
离线备份指停止数据库的操作并备份完整数据库。离线备份应在数据库负载较低的时段操作,否则可能导致系统响应严重下降。
压缩备份指在备份后将备份文件压缩。压缩备份可以减少备份文件大小,缩短备份时间,但会增加备份花费的CPU时间。
加密备份指在备份之前对备份文件进行加密,以保证备份文件的安全性。加密备份可以使用密钥进行解密,但加密也会增加备份花费的CPU时间。
三、备份工具
IBM Data Studio是一款适用于DB2数据库的备份恢复工具。该工具可以对完整数据库和部分数据库进行备份,并支持增量备份和压缩备份。
IBM Tivoli Storage Manager是一款用于企业数据备份和恢复的软件。该软件支持对多种类型的数据库进行备份和恢复,并支持在线和离线备份方式。Tivoli Storage Manager还支持数据压缩和加密备份。
DB2 Backup and Recovery Tool是一款由IBM提供的用于DB2数据库备份和恢复的工具。该工具支持在线和离线备份方式,并支持压缩和加密备份。此外,DB2 Backup and Recovery Tool还支持增量备份和增量恢复功能。
四、备份策略
为保证备份的安全和可靠性,企业需要制定备份策略。
需要确定备份周期。备份周期应该根据数据库的负载、更新频率和备份文件大小等因素,确定更佳的备份周期。
需要确定备份方式。备份方式应该根据公司的具体情况,确定最合适的备份方式。在线备份适用于数据量较小、数据库更新频率高的情况;离线备份适用于数据量较大、数据库更新频率较低的情况;压缩备份和加密备份应由企业自行决定是否采用。
需要保证备份文件的安全存储。备份文件存储应该避免在数据库服务器本机存储备份文件,以免数据库服务器运行状况不稳定、遭受安全威胁或因硬件故障等原因导致数据丢失。应同时备份到不同位置,以确保备份文件的安全,并可以在需要时快速恢复数据。
综上所述,DB2数据库备份是企业数据安全的重要手段。备份类型、备份方式、备份工具和备份策略都会影响备份效果,企业应该根据具体情况综合考虑,制定合理的备份方案。
相关问题拓展阅读:
- 如何使用 T 备份 DB2
如何使用 T 备份 DB2
对 T server 进行配置
安装好誉备软件后,需要分别对 T server 进行配置。
使用 T 对 DB2 进行备份,必须对 DB2 备份数据的保存策略以及保存位置进行定义。因此,需要在 T server 上,对以下几项进行配置和定义。
定义设备类 (device class)
需要根据备份数据库的大桥核小和备份、还原频率来选择某一种类型的设备类来存储 DB2 的备份数据库。T server 使用 define devclass 来完成此功能。
这里使用 FILE 类型的设备类来模拟磁带存储 DB2 备份数据。具体的命令如下:
Define devclass filedevclass devtype=file directory=d:\tfiledata\db2backup
如果运行成功,则返回如下结果:
ANR2203I Device class FILEDEVCLASS defined.
该命令定义了一个新的设备类:filedevclass,它的目录指向 d:\tfiledata\db2backup。
定义存储池 (storage pool) 和存储卷 (volume)
存储池是一个逻辑概念,它表示了备份 / 归档数据的实际存储设备,每一个存储池都对应了一个特定的设备类。T server 使用 define stgpool 来完成此功能。
下面定义一个存储池用来表示 DB2 备份数据的实际存储位置。具体的命令如下:
Define stgpool db2filepool filedevclass maxscratch=100
如果运行成功,则返回如下结果:
ANR2200I Storage pool DB2FILEPOOL defined(device class FILEDEVCLASS)
他定义了一个新的存储池 db2filepool,并关联了之前定义的设备类 filedevclass.
对于存储池,如果 maxscratch>0, 则表示可以使用 scratch 类型的存储卷,不需要特别定义。当庆消毁然也可以使用自己定义的存储卷,使用的命令是 define volume。具体示例如下:
Define volume db2filepool d:\tfiledata\db2backup\volm1 format=100
如果运行成功,则返回如下结果:
ANR2491I Volume Creation Process starting for D:\TFILEDATA\DB2BACKUP\VOLM1
上述命令在 db2filepool 中定义了一个大小为 100M 的存储卷 , 位置是:D:\tfiledata\db2backup\volm1。
定义节点
为了让 DB2 通过 T client API 备份数据,必须在 T server 上为其注册一个节点,设置它的节点名及密码。相关的命令为 register node。具体示例如下:
register node db2 password
在这里,db2 为新注册的节点,默认注册到 STANDARD 的策略域上。
定义策略
在 T server 中,需要为 DB2 使用的节点定义其存储策略。
定义策略域 (policy domain):
T server 使用 define domain 命令来定义策略域,具体示例如下:
Define domain db2domain description=”policy domain for db2 backup”
如果运行成功,则返回如下结果:
ANR1500I Policy domain DB2DOMAIN defined
该命令定义了一个名为 db2domain 的策略域。
定义策略集 (policy set):
T server 使用 define policyset 命令来定义策略域,具体示例如下:
Define policyset db2domain db2policyset description=”policy set for db2”
如果运行成功,则返回如下结果:
ANR1510I Policy set DB2POLICYSET defined in policy domain DB2DOMAIN
该命令定义了一个名为 db2policyset 的策略集,它是属于 db2domain 这个策略域中的。
定义管理类 (management class):
T server 使用 define mgmtclass 命令来定义策略域,具体示例如下:
Define mgmtclass db2domain db2policyset db2mgmtclass
description=”management class for db2”
如果运行成功,则返回如下结果:
ANR1510I Management class DB2MGMTCLASS defined in
policy domain DB2DOMAIN, set DB2POLICYSET.
上述命令定义了管理类 db2mgmtclass, 它属于策略集 db2policyset, 策略域 db2domain。
把定义的管理类作为该策略集中的默认管理类。
T server 使用 assign defmgmtclass 命令把设置某个策略集中的默认管理类。具体示例如下:
Assign defmgmtclass db2domain db2policyset db2mgmtclass
如果运行成功,则返回如下结果:
ANR1538I Default management class set to DB2MGMTCLASS
for policy domain DB2DOMAIN, set DB2POLICYSET.
该命令把之前定义的管理类 db2mgmtclass 设置成策略集 db2policyset 的默认管理类。
定义拷贝组 (copy group)
分别为备份数据和归档数据定义 copy group
定义拷贝组的命令是 define copygroup,根据参数 type 的设置,可以分别定义 backup copy group 和 archive copy group。具体的命令如下:
定义备份拷贝组:
Define copygroup db2domain db2policyset db2mgmtclass dest=db2filepool
如果运行成功,则返回如下结果:
ANR1530I Backup copy group STANDARD defined in policy domain DB2DOMAIN,
set DB2POLICYSET, management class DB2MGMTCLASS.
定义归档拷贝组:
Define copygroup db2domain db2policyset db2mgmtclass
type=archive dest=db2archivepool
如果运行成功,则返回如下结果:
ANR1535I Archive copy group STANDARD defined in policyset
domain DB2DOMAIN,set DB2POILCYSET, management class DB2MGMTCLASS.
这两个命令在 db2mgmtclass 中分别定义了 backup copy group 和 archive copy group, 并指明 backup 和 archive 的数据分别存储在 db2filepool 和 db2archivepool 两个存储池中。其中 db2archivepool 存储池的定义与 db2filepool 的定义是类似的,这里就不再介绍。
验证并激活策略集
T server 使用 validate policyset 以及 active policyset 命令来验证并激活策略集。只有激活以后的策略集,才会在后面的备份中使用到。具体的命令示例如下:
验证策略集:
Validate policyset db2domain db2policyset
如果运行成功,则返回如下结果:
ANR1515I Policy set DB2POLICYSET validated in domain DB2DOMAIN(ready for activation)
激活策略集:
Activate policyset db2domain db2policyset
该命令会询问客户是否确认执行,确认后,如果运行成功,则返回如下结果:
ANR1514I Policy set DB2POLICYSET activated in policy domain DB2DOMAIN
上述俩命令验证并激活了策略域 db2domain 中的策略集 db2policyset.
更新 T 节点信息
需要更新节点信息,把 T 节点指定到为其定义的策略域中。T server 使用 update node 来实现该功能。具体命令如下:
Update node db2 domain=db2domain archdelete=yes backdelete=yes
如果运行成功,则返回如下结果:
ANR2023I Node DB2 updated.
该命令把节点 db2 关联到了策略域 db2domain 上,并修改了节点参数 archdelete 和 backdelete 的设置。
到这里,T server 端的配置就完成了。关于这些 t server 命令的详细介绍,可参考《IBM Tivoli Storage Manager for AIX Administrator’s Reference》。
回页首
设置环境变量
在安装完 T backup-archive 客户端后,它会自动安装相应的 T client API,之后需要在系统环境变量中定义三个环境变量。分别是:DI_CONFIG, DI_DIR 和 DI_LOG。之后的 DB2 备份中,将会使用这三个变量。
DI_CONFIG
这个环境变量设置了 T client API option file 的位置。如果安装了 T backup-archive 客户端,则它在 WINDOWS 平台下的默认值为‘C:\Program Files\Tivoli\T\baclient\d.opt’。如果把它安装到了其他位置,则将该环境变量设置成相应的值。如果该目录下没有 d.opt 文件,可以自己生成一个。关于如何配置该文件可参考《IBM Tivoli Storage Manager for Windows Backup-Archive Clients Installation and User’s Guide》。
DI_DIR
这个环境变量设置了 T client API 的安装路径。在 WINDOWS 平台下,默认的安装路径为:‘C:\Program Files\Common Files\Tivoli\T\api’。
需要注意的是,T V5.5 之前的默认位置是‘C:\Program Files\Tivoli\T\api’。新版本发生了一些变化。
DI_LOG
该环境变量设置了 T client API 的错误日志 dsierror.log 所在的目录位置。如果安装了 T backup-archive 客户端,则它在 WINDOWS 平台下的默认值为:‘C:\Program Files\Tivoli\T\baclient’。如果没有,生成一个即可。
回页首
对 T client 进行配置
配置完 T server 后,需要对 T client API 进行配置。Windows 主要配置的是 d.opt 文件。也就是 DI_CONFIG 中所指向的文件。在这个文件中,需要指明 T client 与 T server 的通讯方式,T client 所使用的 T 节点名,以及密码的访问模式。下面,如图 1 所示给出一个 d.opt 的文件示例。可以用文本编辑器对其进行编辑:
图 1. d.opt 的文件示例
d.opt 的文件示例
回页首
生成 T 节点的加密密码
在前面的配置都完成后,需要调用 dapipw.exe 可执行文件,默认安装 DB2 的安装目录“c:\program files\ibm\sqllib\ad\”下,对之前设置的 T 节点密码进行加密。这个加密的密码将会被保存在 windows 的注册表中。
运行 dapipw.exe 的时候,将会要求输入当前的节点密码,新密码,并且对新密码进行确认,如图 2 所示。
图 2. 设置的 T 节点密码
设置的 T 节点密码
除了可以通过密码来进行安全保护外,T V5.5 版本还提供了一种叫做 Secure Socket Layer(SSL) 的数据保护机制。通过配置使用 SSL, 可以在 client 和 server 之间提供一条安全的通信通道,提高用户备份数据的安全性。具体的 SSL 配置说明,可参考《IBM Tivoli Storage Manager for Windows Administrator’s Guide》。
回页首
对 DB2 进行设置
对于每一个需要备份的 DB2 数据库,它都有四个与 T 有关的参数需要设置,分别是:T_MGMTCLASS, T_NODENAME, T_PASSWORD, T_OWNER。
T_MGMTCLASS
这个参数值表示的是该数据库将会绑定到哪一个管理类中。如果该参数设置了,那它的优先级将高于默认的管理类和 include-exclude list 中的设置。相应的 DB2 命令为 update db cfg。具体的命令示例如下:
Update db cfg for sample using t_mgmtclass db2mgmtclass
如果运行成功,则返回如下结果:
DB20230I The UPDATE DATABASE CONFIGURATION command completed succesfully
该命令把 sample 数据库的配置参数 T_MGMTCLASS 的值设置成了之前定义的管理类 db2mgmtclass。
当然,该功能也可以通过 DB2 GUI 来实现。
T_NODENAME
该参数值表示了 DB2 数据库备份时使用的节点名。
如果在 d.opt 中设定 PasswordAccess=generate,则该参数需要设为空值
如果在 d.opt 中设定 PasswordAccess=prompt,则该参数需要设置为前面定义的节点名
T_PASSWORD
该参数值表示了 DB2 数据库备份时使用的节点的密码。
如果在 d.opt 中设定 PasswordAccess=generate,则该参数需要设为空值
如果在 d.opt 中设定 PasswordAccess=prompt,则该参数需要设置为前面定义的节点密码
T_OWNER
该参数表示了备份对象的 owner. 这个参数是针对 UNIX 操作系统的,对于 WINDOW 平台,不需要设置。在 UNIX 平台下,
如果在 d.opt 中设定 PasswordAccess=generate,则该参数需要设为空值
如果在 d.opt 中设定 PasswordAccess=prompt,则该参数需要设置
回页首
进行数据库备份操作
到这里为止,所有的配置都已经完成。现在就可以使用 T 来备份 DB2 了。
DB2 的备份操作可以通过 DB2 Command line interface(CLI) 以及 Graphical user interface(GUI) 来实现。下面,就以 Command line interface 为例进行说明。在 DB2 中的相关命令为 backup db。具体的命令示例如下:
Backup db sample use t.
如果运行成功,则返回如下结果:
Backup successful. The timestamp for the backup image is:6
该命令用 T 对数据库 sample 进行了一次全备份。这次备份的时间戳为6。
在 T server 上,可以使用命令 query volume 以及 query content 对备份数据所在的存储卷进行查询,从而可以得到存储的内容。具体示例如下:
Query volume volm1
该命令可以获得存储池 db2filepool 中存储卷 volm1 的信息。
Query content volm1
该命令可以获得存储卷 volm1 中的所有备份文件的信息。
这些命令的运行结果如图 3 所示:
图 3. 数据库备份运行结果
数据库备份运行结果
从中可以看到,sample 数据库作为一个文件保存在 T 的存储卷中。
回页首
进行数据库还原操作
和数据库的备份一样,数据库的还原操作也可以通过 DB2 Command line interface(CLI) 以及 Graphical user interface(GUI) 来实现。下面,就以 Command line interface 为例进行说明。它使用的命令是 restore db。具体的命令示例如下:
Restore db sample use t taken at6
在这里,sample 数据库使用时间戳为6 的数据库备份来进行数据库还原。该命令的运行结果如下图 4 所示:
图 4. 数据库还原命令的运行结果
数据库还原命令的运行结果
回页首
进行数据库表空间的备份操作
T 除了支持对 DB2 数据库级别的备份之外,还支持表空间级别的备份操作。它同样可以通过 DB2 Command line interface(CLI) 以及 Graphical user interface(GUI) 来实现。下面,就以 Command line interface 为例。它使用到的命令是 backup database DBNAME tablespace(SPACENAME) online use t。具体的命令示例如下:
Backup database sample tablespace(userspace2) online use t
如果运行成功,返回如下结果:
Backup successful. The timestamp for this backup image is:1
在这里,T 对 sample 数据库中的表空间 userspace2 做了一次全备份,时间戳为1。
回页首
进行数据库表空间的还原操作
数据库表空间的还原操作也可以通过 DB2 Command line interface(CLI) 以及 Graphical user interface(GUI) 来实现。下面,就以 Command line interface 为例。它使用到的命令是 restore database DBNAME tablespace(SPACENAME) online use t。具体的命令示例如下:
restore database sample tablespace(userspace2) online use t taken at1.
如果运行成功,返回如下结果:
DB20230I The RESTORE DATABASE command completed successfully.
在这里,sample 数据库的表空间 userspace2 使用时间戳为1 的备份来进行表空间还原。
T 软件把备份的数据保存在各种类型的存储卷中。对于 V5.5 之前的版本,T 只允许对 FILE 类型的存储卷进行互斥的访问,而 V5.5 增加了对于 FILE 类型存储卷的并发读写操作。也就是说,在同一时刻,可以允许以下行为的并发:
1.多个 client 对同一个 FILE 类型的存储卷进行并发的读操作。
2.一个 client 对 FILE 类型的存储卷进行写操作,而其他的用户可以同时对该卷进行读操作。
因此,在使用 T V5.5 来备份 DB2 数据库 / 表空间的时候,如果采用的是 FILE 类型的存储卷保存备份数据(如本文中的示例),则可以进行以下的并发行为:
1.多个 client 同时对保存在同一个存储卷中的备份数据库 / 表空间进行还原操作。
2.一个 client 在备份 DB2 数据的同时,可以允许其他 client 对该存储卷中的其他备份数据进行还原操作。
T V5.5 的这项新功能通过对 FILE 类型存储卷的并发支持,可以比较好的提高客户在还原数据库时的性能。
备份db2数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于备份db2数据库,如何安全高效备份db2数据库,如何使用 T 备份 DB2的信息别忘了在本站进行查找喔。