Linux下Oracle expdp和rman备份脚本

1、Linux下脚本 :expdpe脚本:
vi expdp.sh
PATH=$PATH:$HOME/bin
export PATH
export PS1='[\u@\h \w]$'
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=xxxuatdb1
export ORACLE_BASE=/oracle/app/db
export ORACLE_HOME=/oracle/app/product/12.1.0/db_1
export ORACLE_UNQNAME=xxxuatdb
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export EDITOR=vi
export
export NLS_LANG=american_america.AL32UTF8
export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'
umask 022
echo "begin_dbaflag `date +%Y-%m-%d` `date +%H:%M:%S`"
cd /backup/expdp
Dat=`date +%Y%m%d`
dat=`date +%Y-%m-%d-%H-%M-%S`
day=`date +%w`
if [ -e $day ]
then rm -rf $day
fi
mkdir $day;
sql (){
sql="select current_scn from v\$database;"
sqlplus /nolog <<EOF
conn / as sysdba;
$sql
EOF
}
cd /backup/expdp/$day
sql >sql.log 2>&1
scn=`cat sql.log |egrep -v "Version|Release|Copyright|SQL|Disconnected|OLAP|Application|CURRENT_SCN|-"|sed '/^$/d'|awk '{print $1}'`
echo ${scn}
expdp xxxx2/xxxx2 dumpfile=expdp:xxxx2-${Dat}.dmp flashback_scn=${scn} logfile=expdp:xxxx2-${Dat}.log cluster=n exclude=table:\"like \'VT%\'\"
expdp xxxx3/xxxx3 dumpfile=expdp:xxxx3-${Dat}.dmp flashback_scn=${scn} logfile=expdp:xxxx3-${Dat}.log cluster=n exclude=table:\"like \'VT%\'\"
expdp xxxx4/xxxx4 dumpfile=expdp:xxxx4-${Dat}.dmp flashback_scn=${scn} logfile=expdp:xxxx4-${Dat}.log cluster=n exclude=table:\"like \'VT%\'\"
#cd /backup/expdp/
mv xxxx*.dmp $day;
mv xxxx*.log $day;
echo -e "\n end_dbaflag `date +%Y-%m-%d` `date +%H:%M:%S`"
1.1需要在实例下创建导入目录expdp
a.先在操作系统上创建备份的目录,并且需要有oracle:oinstall权限,这里以/backup/expdp目录为例:
mkdir -p /backup/expdp;
chmod 775 /backup/expdp;
chown oracle:oinstall /backup/expdp
b.实例下创建expdp导出目录并给予导出权限
sqlplus / as sysdba
create directory expdp as '/backup/expdp';
grant read,write on directory expdp to public;
grant imp_full_database to public;
2.linux下rman全备份脚本
vi rman.sh
PATH=$PATH:$HOME/bin
export PATH
export PS1='[\u@\h \w]$'
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=xxxuatdb1
export ORACLE_BASE=/oracle/app/db
export ORACLE_HOME=/oracle/app/product/12.1.0/db_1
export ORACLE_UNQNAME=xxxuatdb
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
exp
Linux下Oracle expdp和rman备份脚本
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



