Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选

首页 / 数据库 / MySQL / Linux下的flashback脚本

一个客户比较关心逻辑错误的恢复,我们给他推荐的方案是在容灾库上使用flashback技术,下面是一个简单的Linux的脚本。#!/bin/bashexport 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  12 :c"
read STYPE
case $STYPE in
    1)
flashtime
;;
    2)
flashscn
;;
    *)
echo "your enter is error,please enter 1 or 2 !!!"
exit
;;
esac编辑推荐:Oracle 11g Flashback Data Archive(闪回数据归档) http://www.linuxidc.com/Linux/2013-06/86696.htmOracle Flashback闪回机制 http://www.linuxidc.com/Linux/2013-05/84223.htmOracle Flashback database http://www.linuxidc.com/Linux/2013-05/84129.htmFlashback table快速恢复误删除的数据 http://www.linuxidc.com/Linux/2012-09/70988.htmOracle 备份恢复:Flashback闪回 http://www.linuxidc.com/Linux/2012-09/69958.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址