bak_database.sh
上传用户:wangdh1989
上传日期:2022-02-19
资源大小:1k
文件大小:2k
源码类别:

数据库系统

开发平台:

SQL

  1. . /home/oracle/.bash_profile
  2. echo "####################################begin####################################"
  3. date
  4. #*** check reentrancy 
  5. cnt=`ps -eaf|grep gmcc|grep bak_database.sh|grep -v grep|grep -v vi|wc -l`
  6. if [ $cnt -ge 2 ];then
  7.   echo "******precess already running!"
  8.   echo $cnt
  9.   echo `ps -eaf|grep gmcc|grep bak_database.sh|grep -v grep|grep -v vi`
  10.   exit 1
  11. fi
  12. echo `ps -eaf|grep gmcc|grep bak_database.sh|grep -v grep|grep -v vi`
  13. #####备份策略
  14. #Mon: 完全备份(A) 
  15. #Tue: 增量导出(B) 
  16. #Wed:增量导出(C) 
  17. #Thu: 增量导出(D) 
  18. #Fri:  累计导出(E) 
  19. #Sat: 增量导出(F) 
  20. #Sun: 增量导出(G) 
  21. v_workdir="/backup/expdb/"
  22. v_logdir="/backup/expdb/log/"
  23. v_weekno=`date "+%U"`
  24. v_weekseq=`date "+%w"`
  25. v_date=`date "+%Y%m%d"`
  26. v_endweek="52"
  27. if [ ${v_weekseq} -eq 0 ]; then
  28.    if [ ${v_weekno} -eq 1 ];then
  29.         v_weekno=52
  30.    else
  31.         v_weekno=`expr ${v_weekno} - 1`
  32.    fi
  33. fi
  34. v_complete=WEEK_${v_weekno}_${v_date}_complete.dmp
  35. v_cumulative=WEEK_${v_weekno}_${v_date}_cumulative.dmp
  36. v_incremental=WEEK_${v_weekno}_${v_date}_incremental.dmp
  37. ftp_put_on(){ 
  38. ftp -inv -<< EOF
  39.   open 10.250.252.45
  40.   user gmcc gmcctds0753
  41.         bin
  42.   put $1
  43. EOF
  44. }
  45. if [ ${v_weekseq} -eq "1" ]; then
  46. #完全备份
  47.         exp system/system0753@scana inctype=complete file=${v_workdir}${v_complete} log=${v_logdir}exp.log
  48. #       ftp_put_on ${v_workdir}${v_complete}
  49. elif [ ${v_weekseq} -eq "5" ];then
  50. #累计导出
  51.         exp system/system0753@scana inctype=cumulative file=${v_workdir}${v_cumulative} log=${v_logdir}exp.log
  52. #       ftp_put_on ${v_workdir}${v_cumulative}
  53. else
  54. #增量导出
  55.   exp system/system0753@scana inctype=incremental file=${v_workdir}${v_incremental} log=${v_logdir}exp.log
  56. #  ftp_put_on ${v_workdir}${v_incremental}
  57. fi
  58. #恢复步骤:表空间分配参照梅州移动数据支撑系统_操作系统与数据库安装报告V1.doc
  59. #第一步:用命令CREATE DATABASE重新生成数据库结构; 
  60. #第二步:创建一个足够大的附加回滚。 
  61. #第三步:完全增量导入A: 
  62. #imp system/guitar  inctype=RESTORE FULL=y FILE=_complete.dmp 
  63. #第四步:累计增量导入E: 
  64. #imp system/guitar  inctype=RESTORE FULL=Y FILE=20090717_incremental.dmp 
  65. #第五步:最近增量导入F: 
  66. #imp system/guitar  inctype=RESTORE FULL=Y FILE=cumulative.dmp 
  67. #根据时间点来组合导入