我正在为我们的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
答案 0 :(得分:0)
不太繁琐的方法是不幸地使用临时表方法,当然最好是在不同的模式中。保持数据库中的所有操作和数据将更快,更简单,更可靠。
如果这不是一个冗长的时间尺度,并且数据上没有其他变化,您可以使用FLASHBACK TABLE。如果确实发生了其他更改,那么使用flashback query clause恢复旧数据只会稍微复杂一些。