通过unix脚本备份表数据

时间:2013-06-05 09:51:58

标签: oracle unix

我正在为我们的prod环境创建一个unix脚本。要求是创建表(不是整个表)的几行备份。在表上执行一些操作(更新和删除)。最后删除新数据并恢复。问题是如何在prod环境中进行备份。我不能在那里有温度表。

编写类似这样的内容。

spool below query
select 'insert into <tablename> values ( ' || col_1 || ','|| col_2 || ','|| col_3 .. so on
from <tablename> <where condition>  --- generate backup

perform operation on table <delete/update>

delete new values 

Restore backup executing spool file

我发现这种任命有点乏味,有没有更好的方法来完成这项任务?

注意: - 此脚本将在prod中执行,我无权访问create table。只能在给定的表上执行更新/删除。

数据库 - 10g

1 个答案:

答案 0 :(得分:0)

不太繁琐的方法是不幸地使用临时表方法,当然最好是在不同的模式中。保持数据库中的所有操作和数据将更快,更简单,更可靠。

如果这不是一个冗长的时间尺度,并且数据上没有其他变化,您可以使用FLASHBACK TABLE。如果确实发生了其他更改,那么使用flashback query clause恢复旧数据只会稍微复杂一些。