问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

db2 中如何进行针对特定table的增量数据抽取?

发布网友 发布时间:2022-04-10 04:47

我来回答

3个回答

懂视网 时间:2022-04-10 09:08

最近迁移DB2数据库从AIX到Linux平台:需要整理所有服务器编目,服务器有aix和linux,手动整理肯定较慢切容易出错,下面写脚本解决。

 

策略:

  1、编写脚本提取服务器编目的脚本,编目信息保存到文件。

  2、ansible分发到各台Linux服务器,aix没有ssh认证的需手动完成。

  3、ansible批量执行脚本,提取信息到文件。

  4、ansible拉取各台服务器编目信息文件到本机。

  5、本机编写脚本批处理,生成csv格式。

 

下面给出关键处理脚本:

获取编目信息到文件:

#!/bin/bash
#linux平台
db_host=`hostname`
db_ip=$(ifconfig -a | grep "inet addr" | grep -v "127.0.0.1" | awk ‘{print $2}‘ | awk -F‘:‘ ‘{print $2}‘)
who_am=`whoami`

db2 list db directory > ${db_ip}_${who_am}_${db_host}.db
db2 list node directory > ${db_ip}_${who_am}_${db_host}.node


#!/usr/bin/ksh
#aix平台
db_host=`hostname`
db_ip=`ifconfig -a | sed -n "5,5p" | awk ‘{print $2}‘`
who_am=`whoami`

db2 list db directory > ${db_ip}_${who_am}_${db_host}.db
db2 list node directory > ${db_ip}_${who_am}_${db_host}.node

 批处理各台服务器编目:

#!/bin/bash
#bash $0 catadir linux|aix db|node
#脚本运行时有三个参数:
#	1、编目信息文件所在目录,
#	2、平台linux或aix
#	3、所要生成的编目类型,node或db

if [ $# -ne 3 ]; then
 echo "bash $0 catadir linux|aix db|node"
 exit 1
fi

cata_dir="$1"
os_sys="$2"
db_node="$3"
os_linux="linux"
os_aix="aix"
db="db"
node="node"

catalog_node="catalog_node_`date +%F`"
catalog_db="catalog_db_`date +%F`"

for file in $(find ${cata_dir} -name "*.${db_node}" | awk -F‘/‘ ‘{print $2}‘)
 do
 #echo filename:$file
 ip_user="${file%_*}"
 db_host="${ip_user%_*}"
 db_user="${ip_user#*_}"
 #linux node
 if [[ "${os_sys}"x = "${os_linux}"x && "${db_node}"x = "${node}"x ]]; then
 cat ${cata_dir}/${file} | egrep ‘Node name|entry type|Protocol|Hostname|Service name‘ | awk ‘{print $NF}‘ | awk ‘{printf $0","} NR%5==0 {print db_host","db_user}‘ db_host="$db_host" db_user="$db_user" >> ${catalog_node}
 fi
 #aix node
 if [[ "${os_sys}"x = "${os_aix}"x && "${db_node}"x = "${node}"x ]]; then
 cat ${cata_dir}/${file} | grep -e "节点名" -e "目录条目类型" -e "协议" -e "主机名" -e "服务名称" | awk ‘{print $NF}‘ | awk ‘{printf $0","} NR%5==0 {print db_host","db_user}‘ db_host="$db_host" db_user="$db_user" >> ${catalog_node}
 fi
 #linux db
 if [[ "${os_sys}"x = "${os_linux}"x && "${db_node}"x = "${db}"x ]]; then
 #间接db
 cat ${cata_dir}/${file} | egrep ‘alias|Database name|entry type|partition‘ | awk ‘{print $NF}‘ | grep -A 1 -B 2 "Indirect" | grep -v "--" | awk ‘{printf $0","} NR%2==0 && NR%4!=0 {printf ","} NR%4==0 {print db_host","db_user}‘ db_host="$db_host" db_user="$db_user" >> ${catalog_db}
 #远程db
 cat ${cata_dir}/${file} | egrep ‘alias|Database name|Node name|entry type|partition‘ | grep -A 1 -B 3 "Remote" | grep -v "--" | awk ‘{print $NF}‘ |awk ‘{printf $0","} NR%5==0 {print db_host","db_user}‘ db_host="$db_host" db_user="$db_user" >> ${catalog_db}
 fi
 #aix db
 if [[ "${os_sys}"x = "${os_aix}"x && "${db_node}"x = "${db}"x ]]; then
 #间接db 
 cat ${cata_dir}/${file} | egrep ‘数据库别名|数据库名称|目录条目类型|目录数据库分区号‘ | awk ‘{print $NF}‘ | grep -A 1 -B 2 "间接" | grep -v "--" | awk ‘{printf $0","} NR%2==0 && NR%4!=0 {printf ","} NR%4==0 {print db_host","db_user}‘ db_host="$db_host" db_user="$db_user" >> ${catalog_db}
 #远程db
 cat ${cata_dir}/${file} | egrep ‘数据库别名|数据库名称|节点名|目录条目类型|目录数据库分区号‘ | grep -A 1 -B 3 "远程"| grep -v "--" | awk ‘{print $NF}‘ |awk ‘{printf $0","} NR%5==0 {print db_host","db_user}‘ db_host="$db_host" db_user="$db_user" >> ${catalog_db}
 fi
done

exit $?

 

  

db2编目抽取

标签:one   bash   运行   toc   批处理   inux   net   数据   保存   

热心网友 时间:2022-04-10 06:16

增量抽取是数据仓库ETL(extraction,transformation,loading,数据的抽取、转换和装载)实施过程中需要重点考虑的问题。在ETL过程中,增量更新的效率和可行性是决定ETL实施成败的关键问题之一,ETL中的增量更新机制比较复杂,采用何种机制往往取决于源数据系统的类型以及对增量更新性能的要求。本文不就某个ETL增量抽取的具体机制作深入探讨,重点对各种方法进行对比分析,从而总结各种机制的使用条件和优劣性,为数据仓库项目中ETL工程的实施提供增量抽取技术选型方面的参考。

热心网友 时间:2022-04-10 07:34

可以使用ibm的产品TDI进行数据抽取,支持各种数据库,可以支持增量抽取。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如果x-3的绝对值等于0,则x+6的绝对值等于什么.-(-x)等于什么 ...值是否能等于0?如有写出此时x的值,没有请说明理由。 x-3的绝对值+x-6的绝对值是否有最小值?如果有,写出最小值;如果没有,说... x-3的绝对值+x-6的绝对值的值是否有最小值,如果没有,请说明理由 对于任何有理数,x-3的绝对值加x-6的绝对值是否有最小值,如果有写出来... ...+丨x-6丨是否有最小的绝对值,如果没有请说明理由。(需? 葱油饼用泡多源好吗 童话生死恋 歌词 如何在未曾越狱的的ipad上玩网页游戏 ipad4没越狱 想要网页游戏该怎么弄? 塑料厂取名要有土和水的名字? 硕士毕业证上会写新闻传播学专业吗 镜框坏了,换了镜框,镜片打磨,对眼睛有影响没? 新闻传播学的硕士点 抗疲劳近视眼镜片可以打磨嘛 新闻传播硕士好考吗? 科普文章1000字 我想问一下,眼镜店眼镜磨片是单个磨还是两个同时磨,如果有一个镜片度数不准,只磨一片会不会造成瞳孔 硕士研究生传播学专业的主要课程都有哪 近视眼镜重新打磨会改变度数吗? 新闻传播学和新闻与传播专业硕士是一回事么?区别是什么? 科普文章,要全文 眼镜片度数高了可以重新打磨吗 新闻传播硕士冷门学校有哪些? 眼镜片可以重新打磨吗? 科普类文章例文 配好的近视眼镜后,感觉镜片有点大,可不可以再磨小一点? 旧镜片重新打磨会磨损镜片吗? 请问新闻传播专业属于哪种专业硕士? 近视镜片的形状可以重新打磨吗 海尔电视LE32H31是不是触摸屏的? 海尔电视触屏键点节目怎么开不了机了? 海尔q8 w209 一体机情况? 大成2o2oo9ooo6基金净值 数字9的笔画顺序是什么? 我买的海尔触摸屏一体机,孩子不知道按了什么,把屏幕分辨率调变了. 怎么调回来啊. 九的笔画怎么写 九字笔顺怎么写呀 推荐一款可以直接看电视的电脑一体机 男的对女的说来一泡什么意思 酒吧里一(泡)一百啥意思 海尔一体式触摸屏电脑性能稳定吗?请用过海尔一体机的朋友将缺点和优点都描述一下。 海尔一体机Q52-D212触摸屏灵吗 大成2020基金090006今日赎回,68000元赎回金额是多少? LOL一炮一段是什么梗 一炮一段什么意思指的 我48岁停经算正常吗 “撸一管”“撸一炮”“撸一发”三个词分别是什么意思?意思一样吗? 送你一炮是什么意思 我发朋友圈在外喝酒,我姐给我留言说点一炮?点一炮是什么意思? 十分钟一炮是什么意思?