DB2-HPU(Optim High Performance Unload)简叙及安装使用
HPU简介
HPU是一个DB2工具,能在线快速卸载数据到文件,或其他BigData环境。在DB2数据库保护及业务数据保护的的某些场景下,可以使用此工具快速备份恢复。
DB2 保护场景
1.硬件或软件级别异常保护:如硬件级别高可用、HADR、QRepl、CDC、PureScale等;
2.数据迁移到新系统:如相同平台采用备份恢复;不同平台采用逻辑复制,如QRepl、CDC等;
3.测试开发环境,一般测试开发环境与生产环境网络不通:数据库备份及恢复,数据导出导入;
4.数据保护,如回溯到几年前数据:数据库备份及恢复,数据导出导入;
DB2迁移工具
常见工具或方法
1.如果OS平台一致,可以使用数据库备份恢复
2.使用db2move
3.编目游标Load from cursor
4.数据导入导出Unload (HPU) / Load
5.Logical Replication逻辑复制,如Q复制、CDC
HPU介绍
HPU可以从db2中快速卸载数据,不通过DB2 DatabaseManager ,而直接访问DB2 数据文件。测试验证,相对于export速度提升10倍。
基本功能:
1.在线库卸载数据到文件;
2.导出备份文件卸载数据到文件,包括TSM/NETBACK/BMC等备份软件;
3.在线迁移数据到异机;
4.分区数据库卸载,理论上,节点越多数据越均衡,导出速率越快。可以参见附加资源中;
5.支持迁移到PostgreSQL ;
6.大数据平台接口支持,支持卸载为JSON格式,支持迁移到MongoDB NOSQL、HIVE 、HBASE、MapReduce、HDFS、Cloudant、Amazon S3、Swift;如果感兴趣可以参考资源链接
产品最早发布于IMS zOS平台(最早查到2000年),后来同步到开发平台aix/linux/window(最早查到2009年)。其作为 Db2® Advanced Recovery Solutions一部分,现在更名为InfoSphere Optim High Performance Unload。
主要操作通过命令完成,可以编制脚本及定时计划。与Data Studio工具有Plug-in to Data Studio集成后,可通过界面操作。
如果对DB2其他工具感兴趣可以查看附件资源:DB2 10.5 开放平台体系图例。
参考:DB2 10.5 开放平台体系
HPU使用
安装
HPU工具很小,有试用版及正式版两种许可license
可以从附加资源中找到地址下载
将安装包下载放入目录并解压,如/media/HPU
用root用户执行
./install_hpu.sh
会创建/opt/ibm/HPU/V6.1目录
初始化数据库
需要在unload指定数据库中创建相关存储过程
首先准备HPU的配置目录权限
chown -R db2inst1:db2inst1 /opt/ibm/HPU/V6.1/cfg
其次在对应数据库执行HPU初始化,切换到对应数据库实例
cd /opt/ibm/HPU/V6.1/install/function
./hpu_stored_proc_inst.sh /opt/ibm/HPU/V6.1 sampledb
最后指定环境变量,修改用户的profile文件,增加如下
export HPU61=/opt/ibm/HPU/V6.1
export PATH=$PATH:$HPU61/bin
注意:如果需要异机恢复,需要配置hpudm服务,请参见场景3中步骤
场景1:从在线库卸载数据
在实例用户下直接执行,从在线数据库导出特定表HPU1的数据到指定文件
db2hpu -i db2inst1 -d sampledb -t "TEST"."HPU1" -o hpu_hpu1.del
也可以指定控制文件导出,如下准备文件内容
vi scenario1.ctr
GLOBAL CONNECT TO SAMPLEDB DB2 NO
FLUSH BUFFERPOOLS YES
LOCK YES
;
UNLOAD TABLESPACE
SELECT * FROM "TEST"."HPU1";
OUTFILE ("hpu_hpu1.del" REPLACE)
LOADFILE ("hpu_hpu1.load")
FORMAT DELIMITED
DATE DATE_E
;
执行命令,按照控制文件导出
db2hpu -f scenario1.ctr -m scenario1_msg.out
场景2:从备份文件卸载数据
在实例用户下直接执行,从目录中数据库备份文件中导出特定表HPU1的数据到指定文件
控制文件内容
vi scenario2.ctr
GLOBAL CONNECT TO sampledb
DB2 NO
USING BACKUP CATALOG
sampledb FROM “/data/dbbackup/”
TAKEN at 20221026100035;
UNLOAD TABLESPACE
SELECT * FROM "TEST"."HPU1";
OUTFILE ("hpu_hpu2.del" REPLACE)
LOADFILE ("hpu_hpu2.load")
FORMAT DELIMITED
DATE DATE_E
;
执行命令,按照控制文件导出
db2hpu -f scenario2.ctr -m scenario2_msg.out
也可以从TSM/NETBACKUP/BMC等备份软件中的备份文件抽取,如下控制文件指定从TSM中抽取
scenario2_tsm.ctr
GLOBAL CONNECT TO sampledb;
UNLOAD TABLESPACE
FLUSH BUFFERPOOLS NO
LOCK NO
USING BACKUP DATABASE sampledb USE TSM
TAKEN AT 2022102610;
SELECT * FROM "TEST"."HPU1";
OUTFILE ("hpu_hpu2_tsm.del" REPLACE)
LOADFILE ("hpu_hpu2_tsm.load")
FORMAT DELIMITED
DATE DATE_E
场景3:异机直接恢复配置
可以在两台或多台主机之间直接恢复,导出数据不用落盘。
需要每台机器安装HPU,并启动HPU服务进程,配置相关db2认证参数后,再执行db2hpu导入数据
配置db2hpudm61服务
注意:每台HPU都需要配置。
指定netservice名称
vi /opt/ibm/HPU/V6.1/cfg/db2hpu.cfg
netservice=db2hpudm61
指定service端口
vi /etc/services
db2hpudm61 54010/tcp
确定xinetd服务启动
systemctl start xinetd.service
检查db2hpu监听启动
netstat -a |grep db2hpu
tcp6 0 0 [::]:db2hpudm61 [::]:* LISTEN
准备远端信息
注意:源端HPU需要配置。
准备目标端编目
db2 catalog tcpip node newdb remote 192.168.0.11 server 50000
db2 catalog db target at node newdb
HPU中指定目标端数据库
vi /opt/ibm/HPU/V6.1/cfg/db2hpu.dest
[RemoteDB2]
dbname=TARGET
node=NEWDB
user=db2inst2
HPU中存储远端db2认证信息
db2hpu --credentials remote
可以检查db2hpu.creds文件
vi /home/db2inst1/.db2hpu/db2hpu.creds
[NEWDB]
type=remote
user=db2inst2
password=916DDD58B69D147BEBF4DDC44B12F
异机恢复
控制文件内容
scenario3.ctr
GLOBAL CONNECT TO OLDDB;
MIGRATE TABLESPACE
SELECT * FROM "TEST"."HPU1";
LOADDEST(DB2 REMOTE "NEWDB")
INTO TABLE (TEST.HPU1)
FORMAT DELIMITED
DATE DATE_E
在源端执行命令,按照控制文件复制数据到目标端
db2hpu -f scenario3.ctr -m scenario3_msg.out
关于锁
可以在SQL后增加with ur,在HPU 6.1及之后版本都是支持的。查到资料是从HPU 4.0版本开始支持with ur语法。
其次HPU有lock以及FLUSH BUFFERPOOLS 参数控制卸载unload期间lock行为。注意:从HPU 6.1后,参数QUIESCE被替换为 FLUSH BUFFERPOOLS 。
有以下四种组合:
Flush bufferpools yes lock yes
推荐这种,保证强一致性。Db2会收到正在进行unload卸载的通知,对表及依赖项静默共享锁,直到卸载unload结束。同时在开始卸载之前,相关的缓冲池页被刷新到磁盘,在卸载完成之前,不允许对表进行任何修改。
Flush bufferpools yes lock no
这种对修改的数据没有保护性。与第一个例子不同,在成功完成卸载通知之后,unload立即通知Db2卸载已经结束并释放静默共享锁,即使卸载还没有开始。
Flush bufferpools no lock yes
如果指定locks为yes,会强制转换为bufferpools yes。也就是第一种FLUSH BUFFERPOOLS YES LOCK YES。
Flush bufferpools no lock no
DB2没有收到卸载的通知,也没有感知正在卸载,Db2缓冲池页面不会刷新到磁盘,也不会获得Db2锁。虽然这种组合具有最低的开销,但是存在很大的风险,即提取的数据可能与事务不一致。执行甚至可能导致不可预测和意外的行为,包括异常终止,特别是表结构或分区(attach,deattch,reorg)。只有当确定所有的数据页都已刷新到磁盘,并且当前没有被另一个Db2应用程序修改时,才使用此组合。
附加资源
HPU知识中心:InfoSphere Optim High Performance Unload for DB2 for Linux, UNIX and Windows 6.1
https://www.ibm.com/docs/en/iohpufdflu-and-w/6.1
HPU6.1版本信息:Download:InfoSphere Optim High Performance Unload for DB2 for Linux, UNIX and Windows Version 6.1
https://www.ibm.com/support/pages/infosphere-optim-high-performance-unload-db2-linux-unix-and-windows-version-61
DB2高级恢复特性介绍:IBM Db2 Advanced Recovery Feature
https://www.ibm.com/products/db2-advanced-recovery-feature
HPU大数据环境支持:Working with Big Data environments
https://www.ibm.com/docs/en/iohpufdflu-and-w/6.5?topic=data-working-big-environments
DB2-HPU(Optim High Performance Unload)简叙及安装使用相关推荐
- Win7下DB2 Express-C 9.7.2的卸载与安装(上)
前段时间在Windows 7下安装DB2最新版DB2 Express-C 9.7.2,安装了十一次,只成功了一次,以后就一直报 DB2INSTANCE:-2029059916 这个错,具体症状是:本来 ...
- openGauss 极简版安装
openGauss 官网 openGauss 下载地址 支持的操作系统 ● ARM: ● openEuler 20.03LTS(推荐采用此操作系统) ● 麒麟V10 ● Asianux ...
- linux上yum最简方法安装,yum轻松简单安装配置GCC等
由于RedHat 没有注册,所有不能使用它自身的源进行更新,于是使用yum install gcc的时候会出现This system is not registered with RHN,所以我们可以 ...
- centOS系统下openGauss极简版安装
安装环境准备: 提示:因为openGauss没有提供ubuntu和windows安装包,所以选择安装在centOS 前提条件: 1.已完成用户组和普通用户的创建. 2.所有服务器操作系统和网络均正常运 ...
- 最简解决方案--安装ubuntu 遇到32位 EFI(UEFI) /EFI/BOOT/bootia32.efi unavilable
手上一个小本本CPU Z3735F 一个很狗屎的CPU,竟然是64位的,不能随意对不了解的事物产生定论(偏见),多走走,多看看,多读读历史就是好.推荐石国鹏历史老师的课程录音,喜马拉雅上或许就有呢. ...
- GreenPlum-6 最简步骤安装
PostgreSQL 快速安装 参考文档:https://ubuntu.com/server/docs/databases-postgresql # 安装 apt install -y postgre ...
- 安装linux双系统简书,安装win10+ubuntu18.04双系统
因为电脑配置问题,在虚拟机上装的ubuntu使用起来太卡了,所以决定装个win10+ubuntu的双系统,在亲测成功后,将安装过程记录一下. 写在前面 由于本次是在UEFI下进行Ubuntu系统安装的 ...
- HPCC(high performance challenge computer)benchmark安装方法
搞了快两天,终于在本机上运行了HPCC 性能测试.现在就把HPCC的安装方法给大家分享一下. 1. 改写编译脚本 HPCC 官方给出的运行指导实在是太简单了,根本就没有多大的实用价值.这里还要给大家说 ...
- 诊断DB2 Java应用程序的性能问题
问题诊断和 DB2 架构简介 本文的目的是帮助应用程序开发人员或数据库管理员排除和诊断在部署 Java 应用程序时可能遇到的常见性能问题.其中包括常见的应用程序开发问题,例如挂起或者响应缓慢. 很好地 ...
最新文章
- 最后一片蓝海的终极狂欢-写在Win10发布前夕
- Win2008 R2 IIS7.5+PHP5(FastCGI)+MySQL5环境搭建教程
- 用Java 编写菜单价格和的程序_使用JAVA 编写一个程序,显示5中商品价格,用户可以选择多种商品并在其后的文本框输入购买的数量。...
- FileOutputStream为false时候注意的问题
- [POI2004]GRA
- Smarty的入门使用
- [转]不要告诉我你懂margin
- MVC登陆认证简单设置
- DSP28335学习记录(二)——外部中断和定时器中断
- coreldraw是什么软件好学吗?cdr矢量图形制作工具
- android获取当前位置的GPS经纬度
- Windows10 Windows许可证即将过期
- 未知错误,可能由于拨号连接未创建成功
- JAVA应用程序设计上机报告
- 题目0121-机器人走迷宫
- 浅谈:6sigma与Minitab_北京八方在线Minitab代理商
- springCloud-day04
- 从arduino板开始做到阿里云app控制--WeMos D1或ESP8266连接阿里云文章合集及源代码
- finereport与finebi差别_finebi和finereport区别
- python百度云活体检测_opencv-活体检测