有没有办法自动生成 SQL 回滚脚本? 例如: SQL script : Delete from table_A where name = 'John Doe' rollback script : Insert into table_A values (..... )
TOAD有一个内置功能,可以生成INSERT脚本。 在TOAD中编写SELECT查询并执行它 SELECT * from table_A where name = 'John Doe' 在数据网格窗口中显示的数据中,右键单击并选择“导出数据集”选项。 在“导出数据集”窗口中,从“导出格式”下拉菜单中选择“插入语句”选项。 在“文件”字段中指定文件名以将输出保存到文件中,或者您也可以选择输出到剪贴板。 单击“确定”按钮以生成插入语句脚本。 希望对你有所帮助!
dbms_flashback.backout_transaction
命令而不是运行还原脚本)。https://oracle-base.com/articles/11g/flashback-and-logminer-enhancements-11gr1#flashback_transaction 另一种选择是创建恢复点并进行数据库闪回以进行还原。 - Justin CaveUPDATE t SET col = 1 WHERE id BETWEEN 1 AND 1000000;
我怀疑是否存在这样的工具可以自动处理这种情况。你应该尝试备份/快照/或将所有内容包装在事务中,并在出现问题时回滚。 - Lukasz Szozda