Linux下的flashback脚本

宜家博客
35688
文章
0
评论
2019年8月11日06:25:16 评论 1895字阅读6分19秒

一个客户比较关心逻辑错误的恢复,我们给他推荐的方案是在容灾库上使用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

编辑推荐:

Oracle 11g Flashback Data Archive(闪回数据归档) http://www.linuxidc.com/Linux/2013-06/86696.htm

Oracle Flashback闪回机制 http://www.linuxidc.com/Linux/2013-05/84223.htm

Oracle Flashback database http://www.linuxidc.com/Linux/2013-05/84129.htm

Flashback table快速恢复误删除的数据 http://www.linuxidc.com/Linux/2012-09/70988.htm

Oracle 备份恢复:Flashback闪回 http://www.linuxidc.com/Linux/2012-09/69958.htm

继续阅读
weinxin
欢迎加入中国站长博客之家
本站的所有资源都会上传分享到博客之家,希望大家互相学习交流进步。
  • 版权声明: 发表于 2019年8月11日06:25:16
  • 转载注明:https://www.yjro.com/59777.html
Oracle重建控制文件 - Rebuild controlfile Linux-数据库

Oracle重建控制文件 – Rebuild controlfile

重建控制文件时DBA需要知道,但是也许整个职业生涯都不会再生产系统上遇见。 首先强调,备份是最安全,快捷,有效的恢复方式,一个DBA,如果没有规划好有效的备份,终有一天,他会被噩梦惊醒。 梦醒之后,就...
Oracle ORA-06502错误解决 Linux-数据库

Oracle ORA-06502错误解决

  作为熟练.Net码农以及非熟练Oracle用户很多时候Oracle总给我一种这货就是存心恶心我们的感觉。虽然不得不承认Oracle是个很好的产品,但是总有那么好几下被恶心到了。比如说今天遇到的奇怪...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: