qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Linux下的flashback腳本

            一個客戶比較關心邏輯錯誤的恢復,我們給他推薦的方案是在容災庫上使用flashback技術,下面是一個簡單的linux的腳本。
          #!/bin/bash
          export LOGIN_USER=test
          export LOGIN_PWD=test
          #########################################function###############################################
          flashscn()
          {
          echo -e "enter scn:\c"
          read SCNNUM
          STR1="flashback table $OWNER.$TABLE_NAME to scn $SCNNUM;"
          echo $STR1
          T1=`sqlplus -silent $LOGIN_USER/$LOGIN_USER <<EOF
          set pagesize 0 feedback off verify off heading off echo off
          alter table $OWNER.$TABLE_NAME enable row movement;
          $STR1
          alter table $OWNER.$TABLE_NAME disable row movement;
          EOF`
          if [ -z "$T1" ];then
          echo "######"
          echo "flashback table $TABLE_NAME OK!"
          else
          echo "######"
          echo "flashback tabel $TABLE_NAME error:"
          echo $T1 |awk -F "ORA-" '{print "ORA-" $NF}'
          fi
          }
          flashtime()
          {
          echo -e "enter time (example 2014-05-18 20:34:21):\c"
          read STIME
          STR2="flashback table $OWNER.$TABLE_NAME to timestamp to_timestamp('$STIME','yyyy-mm-dd hh24:mi:ss');"
          echo $STR2
          T2=`sqlplus -silent $LOGIN_USER/$LOGIN_USER <<EOF
          set pagesize 0 feedback off verify off heading off echo off
          alter table $OWNER.$TABLE_NAME enable row movement;
          $STR2
          alter table $OWNER.$TABLE_NAME disable row movement;
          EOF`
          if [ -z "$T2" ];then
          echo "######"
          echo "flashback table $TABLE_NAME OK!"
          else
          echo "######"
          echo "flashback tabel $TABLE_NAME error:"
          echo $T2 |awk -F "ORA-" '{print "ORA-" $NF}'
          fi
          }
          ############################################main start##############################################
          echo -e "enter flashback table owner:\c"
          read OWNER
          echo -e "enter flashbackup table name:\c"
          read TABLE_NAME
          echo -e "chose flashback type 1)time 2)scn  1\2 :\c"
          read STYPE
          case $STYPE in
          1)
          flashtime
          ;;
          2)
          flashscn
          ;;
          *)
          echo "your enter is error,please enter 1 or 2 !!!"
          exit
          ;;
          esac

          posted on 2014-05-23 10:13 順其自然EVO 閱讀(161) 評論(0)  編輯  收藏 所屬分類: linux

          <2014年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 东港市| 荣昌县| 太康县| 黑龙江省| 阳西县| 将乐县| 镇安县| 天气| 钦州市| 元谋县| 甘孜| 沐川县| 手机| 汉阴县| 庆阳市| 合作市| 喜德县| 紫阳县| 济源市| 石狮市| 拜泉县| 平泉县| 丰镇市| 盐边县| 固阳县| 广南县| 绥棱县| 福贡县| 大丰市| 太白县| 旅游| 荥阳市| 桃园县| 海伦市| 衡阳县| 城口县| 炉霍县| 隆子县| 泽普县| 墨江| 千阳县|