#!/bin/bash # 1. export the structure of database # db2look -d db71 -e -a -x -i bioffice -w bioffice -o ddlfile.sql # 2. export data db2 connect to db94 user edw using edw123 datadir=/home/etl/dbback/del/ #导出目录 TABSCHEMA="('ETL','BIOFFICE')" #要导出的Schema TABLES="('QRTZ_BLOB_TRIGGERS','QRTZ_CALENDARS')" #要导出的表 # while read schema tabname do # schema=$(echo ${line} | awk -F. '{print $1}') #作业ID编号 # tabname=$(echo ${line} | awk -F. '{print $2}') #YYYYMMDD echo $schema $tabname db2 "export to ${datadir}/${schema}#${tabname}.del OF DEL SELECT * FROM ${schema}.${tabname} " # db2 "export to ${datadir}/${tabname}.del of del LOBS TO ${datadir} LOBFILE ${tabname}_blob MODIFIED BY LOBSINFILE SELECT * FROM ${schema}.${tabname} " #done <<< "$(db2 -x " select rtrim (TABSCHEMA), TABNAME from syscat.tables where TYPE= 'T' and TABSCHEMA in ${TABSCHEMA} ")" done <<< "$(db2 -x " select rtrim (TABSCHEMA), TABNAME from syscat.tables where TYPE= 'T' and TABNAME in ${TABLES} ")" echo "断开数据库连接---" db2 connect reset; db2 terminate; # 3. import data db2 connect to EDWDB user etl using etl cd ${datadir} # delete find ./ -size 0 -exec rm {} \; for delfile in `ls *.del` do schema=$(echo ${delfile} | awk -F# '{print $1}') tabname=$(echo ${delfile//.del/} | awk -F# '{print $2}') echo "begin to load " $schema $tabname # db2 set current schema SCHEMA_NAME # db2 import from /dev/null/ of del replace into $i db2 "load client from ${datadir}/${delfile} of del SAVECOUNT 10000 REPLACE INTO ${schema}.${tabname} " echo "load data to " $schema $tabname " end" done echo "断开数据库连接---" db2 connect reset; db2 terminate; exit 0
213123213
猜你喜欢
转载自caogao.iteye.com/blog/2307035
今日推荐
周排行