213123213

#!/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

猜你喜欢

转载自caogao.iteye.com/blog/2307035