Load tpch stream sh

From Oramosswiki

Jump to: navigation, search
#!/bin/sh

PID=$$
SCALE_FACTOR=$1
TABLE_TO_LOAD=$2
CONNECTION=$3
TOTAL_STREAMS=$4
STREAM=$5  
 
case ${TABLE_TO_LOAD}
in
 l) TABLE_NAME1="region";
    TABLE_NAME2="nation";;
 r) TABLE_NAME1="region";
    TABLE_NAME2="";;
 n) TABLE_NAME1="nation";
    TABLE_NAME2="";;
 s) TABLE_NAME1="supplier";
    TABLE_NAME2="";;
 c) TABLE_NAME1="customer";
    TABLE_NAME2="";;
 p) TABLE_NAME1="part";
    TABLE_NAME2="partsupp";;
 o) TABLE_NAME1="orders";
    TABLE_NAME2="lineitem";;
 P) TABLE_NAME1="part";
    TABLE_NAME2="";;
 S) TABLE_NAME1="partsupp";
    TABLE_NAME2="";;
 O) TABLE_NAME1="orders";
    TABLE_NAME2="";;
 L) TABLE_NAME1="lineitem";
    TABLE_NAME2="";;
esac 
 
DATA_FILENAME1=${TABLE_NAME1}".tbl";
CONTROL_FILENAME1=${TABLE_NAME1}".ctl";
LOG_FILENAME1=${TABLE_NAME1}".log";
BAD_FILENAME1=${TABLE_NAME1}".bad"; 
 
if [ "${TABLE_NAME2}" != "" ]
then
  DATA_FILENAME2=${TABLE_NAME2}".tbl";
  CONTROL_FILENAME2=${TABLE_NAME2}".ctl";
  LOG_FILENAME2=${TABLE_NAME2}".log";
  BAD_FILENAME2=${TABLE_NAME2}".bad";
fi 
 
if [ ${TOTAL_STREAMS} -gt 1 ]
then
  DATA_FILENAME1=${DATA_FILENAME1}"."${STREAM};
  LOG_FILENAME1=${LOG_FILENAME1}"."${STREAM};
  BAD_FILENAME1=${BAD_FILENAME1}"."${STREAM};
  if [ "${TABLE_NAME2}" != "" ]
  then
    DATA_FILENAME2=${DATA_FILENAME2}"."${STREAM};
    LOG_FILENAME2=${LOG_FILENAME2}"."${STREAM};
    BAD_FILENAME2=${BAD_FILENAME2}"."${STREAM};
  fi
fi
 
echo "DATA_FILENAME1: "${DATA_FILENAME1}
echo "CONTROL_FILENAME1: "${CONTROL_FILENAME1}
echo "LOG_FILENAME1: "${LOG_FILENAME1}
echo "BAD_FILENAME1: "${BAD_FILENAME1}
echo "DATA_FILENAME2: "${DATA_FILENAME2}
echo "CONTROL_FILENAME2: "${CONTROL_FILENAME2}
echo "LOG_FILENAME2: "${LOG_FILENAME2}
echo "BAD_FILENAME2: "${BAD_FILENAME2}
echo "PID: "${PID}
echo "SCALE_FACTOR: "${SCALE_FACTOR}
echo "TABLE_TO_LOAD: "${TABLE_TO_LOAD}
echo "CONNECTION: "${CONNECTION}
echo "TOTAL_STREAMS: "${TOTAL_STREAMS}
echo "STREAM: "${STREAM}
 
# Use DBGEN to create the stream data file...
dbgen -s ${SCALE_FACTOR} -T ${TABLE_TO_LOAD} -v -S ${STREAM} -C ${TOTAL_STREAMS} -f
 
# Now load the first data file into Oracle...
sqlldr ${CONNECTION} control=${CONTROL_FILENAME1} data=${DATA_FILENAME1} bad=${BAD_FILENAME1} log=${LOG_FILENAME1} direct=true parallel=true
 
# Now load the second data file into Oracle - if it exists...
if [ "${TABLE_NAME2}" != "" ]
then
  sqlldr ${CONNECTION} control=${CONTROL_FILENAME2} data=${DATA_FILENAME2} bad=${BAD_FILENAME2} log=${LOG_FILENAME2} direct=true parallel=true
fi
Personal tools
Navigation