📄 backup.sh
字号:
#!/bin/bash#========================================================## 如果脚本用于crontab,下面Oracle环境变量必须设置 ##========================================================#ORACLE_BASE=/opt/oracleORACLE_HOME=$ORACLE_BASE/product/8.1.7ORACLE_SID=oradb6ORACLE_TERM=ansiORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/dataNLS_LANG=American_America.ZHS16GBKNLS_DATE_FORMAT=YYYYMMDDHH24MISSLD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATHTMPDIR=/var/tmpPATH=$PATH:$ORACLE_HOME/binexport ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_TERM ORA_NLS33 NLS_LANG export NLS_DATE_FORMAT LD_LIBRARY_PATH TMPDIR PATH#========================================================#BACKUPDIR=/oradata/backup; export BACKUPDIRUSER_PASSWD=dbuser/oracleRESULTFILE=/export/home/oracle/log/result.logcd $BACKUPDIRexp $USER_PASSWD log=$(date '+%Y%m%d').log file=$(date '+%Y%m%d').dmp owner=dbuser buffer=4096000 rows=nif [ $? != 0 ]then echo "`date` backup exp fail" >> $RESULTFILE exitfirm -f tables.txtsqlplus -s $USER_PASSWD <<EOF >/dev/nullset heading off;set term off;set echo off;set pagesize 0;set linesize 1000;set trimspool on;set trimout on;set feedback off;set colsep |;spool tables.txt;select table_name from user_tables;spool off;exit;EOFfor table in $(cat tables.txt)do exp $USER_PASSWD log=${table}_$(date '+%Y%m%d').log file=${table}_$(date '+%Y%m%d').dmp tables=$table direct=y if [ $? != 0 ] then echo "`date` backup exp $table fail" >> $RESULTFILE exit fidonecompress -f *.dmpecho "`date` backup succeed" >> $RESULTFILE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -