#!/usr/bin/env sh
#
# File: hpl.sh
# Creation Date: 2013/6/14 11:02:28
# Last Modified: 2013/6/14 11:02:29
# Purpose: informix HPL ,
#
#-----------------------------------------------------------------------------------
usage()
{
echo "================= =================== "
echo "Usage: "
echo " `basename $0` [-d] -t [-p u] "
echo " `basename $0` [-f] [-d] -t -p l "
echo " "
echo "Options: "
echo " -d destdbname , tnmsdb2 "
echo " -f fromdbname , tnmsdb2 "
echo " -t tables , , \"table1 table2\" "
echo " -p parameters u ,l , l "
echo " "
echo " : "
echo " : "
echo " `basename $0` -d tnmsdb2_hn -t ems_event_history -p u "
echo " : "
echo " `basename $0` -d tnmsdb2_hn -t ems_event_history,ems_event -p u "
echo " : "
echo " `basename $0` -f tnmsdb2_hn -d tnmsdb2 -t ems_event_history -p l "
echo " : "
echo " `basename $0` -f tnmsdb2_hn -d tnmsdb2 -t ems_event_history,ems_event-p l "
echo " : "
echo " `basename $0` -t \"ems_event_history ems_event\" "
echo " : "
echo " `basename $0` -t \"ems_event_history ems_event\" -p l "
exit 0
}
#
while getopts "d:f:t:p:" OPTION
do
case $OPTION in
d) destdbname="${OPTARG}"
;;
f) fromdbname="${OPTARG}"
;;
t) tables="${OPTARG}"
;;
p) parameters="${OPTARG}"
;;
*|\?) usage
;;
esac
done
#
if [ $# = 0 ];then
echo "error:`basename $0` parameter is error"
usage
exit 0
fi
#
parameter()
{
#
if [ -z "$tables" ];then
echo error:table name is not exist.
echo " :`basename $0` -t \"ems_event_history ems_event\""
exit 0
else
names=$tables
fi
# tnmsdb2
if [ -z $destdbname ];then
destdbname=tnmsdb2
fi
# tnmsdb2
if [ -z $fromdbname ];then
fromdbname=tnmsdb2
fi
# u
if [ -z $parameters ];then
parameters=u
fi
}
#
unload()
{
onpladm create project outport_data
onpladm create job $tabname -p outport_data -d $destdbname/record/$tabname -D$destdbname -t $tabname -fu -zD
onpladm run project outport_data -fu
#onpladm delete job $tabname -fu
onpladm delete project outport_data
#onpladm list job
}
#
load()
{
onpladm create project import_data
onpladm create job $tabname -p import_data -d $fromdbname/record/$tabname -D$destdbname -t $tabname -flc -zD
onpladm run project import_data -fl
#onpladm delete job $tabname -fl
onpladm delete project import_data
}
#
dbschema()
{
dbschema -d $destdbname -t $tabname -ss $destdbname/schema/$destdbname.sql
}
#
parameter
if [ $parameters = u ];then
if [ ! -d $destdbname ];then
mkdir $destdbname
mkdir $destdbname/record
mkdir $destdbname/schema
else
echo "$destdbname , ."
exit 0
fi
fi
# onpload (project job onpload )
echo 'drop database onpload;'|dbaccess sysadmin
if [ $? -eq 0 ];then
echo "onpload "
else
echo "onpload , ."
fi
#
for tabname in $names
do
#
if [ $parameters = u ];then
unload
fi
#
if [ $parameters = l ];then
load
fi
done