expdp备份脚本

backup_upload.sh /backup/ 10.2.128.7 10.2.128.3
$1 $2 $3

!/bin/bash

DIR=backup
OS_DIR=/backup
fileDate=date +"%Y%m%d%H%M%S"

logFile="full_${fileDate}.log"

file="full_${fileDate}.dmp"

userName=system

userPass=oracle

dbname=mycim4

source $HOME/.bash_profile

tmpfile=mktemp

dest_dir=$1

src_ipaddr=$2

dest_ipaddr=$3

echo "alter user system account unlock;" >> $tmpfile

echo "exit;" >> $tmpfile

sqlplus / as sysdba @$tmpfile

rm -rf $tmpfile

clear_day=1
backupresult=""
$ORACLE_HOME/bin/expdp $userName/$userPass@${src_ipaddr}/$dbname directory=$DIR dumpfile=$file logfile=$logFile full=y

$ORACLE_HOME/bin/expdp uac_pirun/uac123456 directory=$DIR dumpfile=$file logfile=$logFile schemas=uac_pirun

if [[ $? -eq 0 ]]
then
find $OS_DIR -mtime +${clear_day} -name ".dmp" -exec rm -rf {} ;
find $OS_DIR -mtime +${clear_day} -name "
.log" -exec rm -rf {} ;
echo date +"%Y-%m-%d %H:%M:%S" "已删除${clear_day}天前的dmp文件!" | tee -a $logFile
cd $OS_DIR
tar -czf $file.tar.gz $file
if [[ $? -eq 0 ]]
then
scp $file.tar.gz root@$dest_ipaddr:$dest_dir
sleep 5
if [[ $? -eq 0 ]]
then
dest_md5sum=ssh root@$dest_ipaddr md5sum $dest_dir/$file.tar.gz|awk '{print $1}'
src_md5sum=md5sum $file.tar.gz|awk '{print $1}'
if [ x"$dest_md5sum" == x"$src_md5sum" ]
then
#echo date +"%Y-%m-%d %H:%M:%S" $ipaddr "success"
backupresult="0"
else
backupresult="-1"
fi
else
backupresult="-1"
fi
else
backupresult="-1"
fi
else
backupresult="-2"
fi
filedate=date +"%Y%m%d"

echo date +"%Y-%m-%d %H:%M:%S" $src_ipaddr "$backupresult" >> /mnt/backup/backup_result/backup_check_$filedate.csv

ssh root@$dest_ipaddr "echo date +'"%Y-%m-%d %H:%M:%S"',$src_ipaddr,$backupresult>> /databak/backup_result/backup_check_$filedate.csv"
if [ -f "$OS_DIR/$file.tar.gz" ]
then
rm -rf $OS_DIR/$file.tar.gz
fi

exp/imp:
/u01/app/oracle/product/19.3.0/db/bin/imp system/oracle file=/u01/app/oracle/product/19.3.0/db/eapdb20251014.dmp log=eapdb20251014.log fromuser=OCFEAP touser=FAEAP ignore=y

posted @ 2025-09-17 14:01  ocmji  阅读(14)  评论(0)    收藏  举报