linux下的flashback脚本

来源:互联网 发布:淘宝卖家空间不足 编辑:程序博客网 时间:2024/06/01 07:57
一个客户比较关心逻辑错误的恢复,我们给他推荐的方案是在容灾库上使用flashback技术,下面是一个简单的linux的脚本。
#!/bin/bashexport LOGIN_USER=testexport LOGIN_PWD=test#########################################function###############################################flashscn(){echo -e "enter scn:\c"read SCNNUMSTR1="flashback table $OWNER.$TABLE_NAME to scn $SCNNUM;"echo $STR1T1=`sqlplus -silent $LOGIN_USER/$LOGIN_USER <<EOFset pagesize 0 feedback off verify off heading off echo offalter table $OWNER.$TABLE_NAME enable row movement;$STR1alter table $OWNER.$TABLE_NAME disable row movement;EOF`if [ -z "$T1" ];thenecho "######"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 STIMESTR2="flashback table $OWNER.$TABLE_NAME to timestamp to_timestamp('$STIME','yyyy-mm-dd hh24:mi:ss');"echo $STR2T2=`sqlplus -silent $LOGIN_USER/$LOGIN_USER <<EOFset pagesize 0 feedback off verify off heading off echo offalter table $OWNER.$TABLE_NAME enable row movement;$STR2alter table $OWNER.$TABLE_NAME disable row movement;EOF`if [ -z "$T2" ];thenecho "######"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 OWNERecho -e "enter flashbackup table name:\c"read TABLE_NAMEecho -e "chose flashback type 1)time 2)scn  1\2 :\c"read STYPEcase $STYPE in    1)flashtime;;    2)flashscn;;    *)echo "your enter is error,please enter 1 or 2 !!!"exit;;esac

0 0
原创粉丝点击