Oracle数据库备份脚本
物理备份脚本
#!/bin/sh
export TMPDIR=$TMP;
export ORACLE_SID=orcl;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1;
export PATH=/u01/app/oracle/product/12.2.0.1/db_1/bin:$PATH;
export LD_LIBRARY_PATH=/u01/app/oracle/product/12.2.0.1/db_1/lib:/lib:/usr/lib;
export CLASSPATH=/u01/app/oracle/product/12.2.0.1/db_1/JRE:/u01/app/oracle/product/12.2.0.1/db_1/jlib:/u01/app/oracle/product/12.2.0.1/db_1/rdbms/jlib;
export LANG=zh_CN
rman target/ << EOF
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
delete noprompt expired archivelog all;
backup incremental level 0 tag 'db0' format
'/home/oracle/rmanbackup/db0_%d_%T_%s' database include current controlfile;
sql 'alter system archive log current';
backup filesperset 5 format '/home/oracle/rmanbackup/cf0_%d_%T_%s' archivelog all delete input;
delete noprompt expired backup;
delete noprompt obsolete;
release channel c1;
release channel c2;
release channel c3;
}
EOF
逻辑备份脚本:
#!/bin/sh
DAY=`date +%Y%m%d`
FILE_TARGET=orcl`date +%Y%m%d`.dmp
FILE_LOG=orcl`date +%Y%m%d`.log
export FILE_TARGET FILE_LOG;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1;
export ORACLE_SID=orcl;
export PATH=$ORACLE_HOME/bin:$PATH;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=/u01/app/oracle/product/12.2.0.1/db_1/JRE:/u01/app/oracle/product/12.2.0.1/db_1/jlib:/u01/app/oracle/product/12.2.0.1/db_1/rdbms/jlib;
expdp system/****** directory=expdir dumpfile=$FILE_TARGET full=y logfile=$FILE_LOG