#!/usr/bin/ksh
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
#
# generic setting
#
ORACLE_TARGET="gtsjk"
SCP_BASE="/u01/oracle/admin/${ORACLE_TARGET}/scripts"
LOG_BASE="$SCP_BASE/logs"
DMP_BASE="/u01/backup/exports"
#
if [ -f $HOME/.bash_profile ];
then
export ORAENV_ASK=NO
. $HOME/.bash_profile
fi
#
# other Oracle variable
#
export NLS_DATE_FORMAT='YYYY-MON-DD HH24:MI:SS'
#
# get script. run date
#
DATE=`date +"%Y%m%d"`
#
# command and run log
#
RUN_LOG=${DATE}-EXPORT-SCHEMAS.log
#DUMPFILE=${DATE}-SCHEMAS.dp.dmp
#EXP_PIPE=${DMP_BASE}/${DATE}-SCHEMAS.dmp
#mknod $EXP_PIPE p
#chmod 660 $EXP_PIPE
#gzip < $EXP_PIPE | cat > $EXP_PIPE.gz &
expdp "'/ as sysdba'" \
directory=EXPDP \
dumpfile=${DATE}-SCHEMAS%U.dp.dmp \
schemas=topo,numen,coss3 \
parallel=4 \
logfile=${RUN_LOG} \
flashback_time=\"to_timestamp\(to_char\(sysdate,\'yyyy-mm-dd hh24:mi:ss\'\),\'yyyy-mm-dd hh24:mi:ss\'\)\"
#
#
#echo "orcladmin/$PASSWORD" | \
#exp \
# buffer=419430400 \
# consistent=y \
# direct=y \
# full=y \
# file=$EXP_PIPE \
# log=${RUN_LOG}
#
#alias rm="rm"
#rm -f $EXP_PIPE
#
#gzip ${DMP_BASE}/${DATE}-FULL.dmp > /dev/null 2>&1
#Remove dmp file without today
find ${DMP_BASE}/*.dmp* ! -mtime -1 -exec ls -la {} \; >> ${RUN_LOG}
find ${DMP_BASE}/*.dmp* ! -mtime -1 -exec rm -f {} \; >> ${RUN_LOG}
#
#Tar and gzip currentday dumpfile due to space issue
#
CURRENTDIR=${DMP_BASE}/${DATE}
if [ ! -d ${CURRENTDIR} ];
then
mkdir ${CURRENTDIR}
fi
cd ${DMP_BASE}
mv ${DATE}-SCHEMAS*.dmp ${DATE}
mv ${DATE}-EXPORT-SCHEMAS.log ${DATE}
tar -zcvf ${DATE}.tar.dmp-gz ${DATE}
rm -rf ${DATE}
sleep 5
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27064837/viewspace-745409/
,如需转载,请注明出处,否则将追究法律责任。