Oracle commit之后如何回退--亲测有效

本文介绍如何使用Oracle数据库的闪回功能来恢复表到特定时间点,并演示了通过时间戳选择性地恢复数据的方法。此外,还讨论了如何避免在数据恢复过程中出现的常见错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记住大概的时候,获取前一分钟的数据就OK。

insert into t1 select * from t1 as
of timestamp to_timestamp(‘2009-03-17 11:06:00’,‘yyyy-mm-dd hh24:mi:ss’) ;

参考:https://blog.youkuaiyun.com/zl834205311/article/details/86605494
https://blog.youkuaiyun.com/zuimeitulip/article/details/84547946

eg1:
select tpp.rowid,tpp.* from t_pc_program tpp where task_name=‘test1220test1013’

– 查询时间戳,提交的时间。
–insert into t_pc_program
select * from t_pc_program as of timestamp to_timestamp(‘2019-07-17 14:45:00’,‘yyyy-mm-dd hh24:mi:ss’) where task_name=‘test1220test1013’

– 回退,找回数据。
flashback table t_pc_program to timestamp to_timestamp(‘2019-07-17 14:45:00’,‘yyyy-mm-dd hh24:mi:ss’)
– 如果报错,未启用行移动功能,不能闪回表;
alter table t_pc_program enable row movement;

eg2:
如果更新的话,再插入会有两条数据,所以不能插入,根据查出来的值,再去手动更新回去。删除的话可以如此恢复。
select task_name,project_inv_at from t_pc_prog as of timestamp to_timestamp(‘2019-07-17 11:00:00’,‘yyyy-mm-dd hh24:mi:ss’) where task_cd=‘24.2400_0057’;
在这里插入图片描述

回退(rollback)一个 SQL 语句,可以使用 Oracle 数据库的 ROLLBACK 命令。该命令可以撤销当前事务中的所有操作,将数据库状态恢复到事务开始之前的状态。 以下是回退 SQL 语句的一般步骤: 1. 首先,使用 BEGIN TRANSACTION 命令开始一个事务。这个命令会告诉数据库,它需要跟踪所有的操作,以便可以回退它们。 2. 在事务中执行一些 SQL 语句。如果您想回退某些 SQL 语句,那么在执行这些语句之前,请确保在事务中。 3. 如果您需要回退某些 SQL 语句,请使用 ROLLBACK 命令。这个命令会撤销所有在事务中执行的 SQL 语句,并将数据库状态恢复到事务开始之前的状态。 4. 如果您不需要回退 SQL 语句,请使用 COMMIT 命令提交事务。这个命令会告诉数据库,所有操作都已成功完成,并且数据库可以将当前状态保存为最终状态。 以下是一个简单的示例,展示如何使用 ROLLBACK 命令回退 SQL 语句: ``` BEGIN TRANSACTION; UPDATE employees SET salary = 50000 WHERE department = 'Sales'; INSERT INTO audit_logs (user_id, action, timestamp) VALUES (123, 'Update Salary', NOW()); -- 如果需要回退上面的 SQL 语句,请使用以下命令: ROLLBACK; -- 如果不需要回退,请使用以下命令提交事务: COMMIT; ``` 在上面的示例中,如果您执行 ROLLBACK 命令,那么所有在事务中执行的 SQL 语句都将被撤销,并且数据库状态将恢复到事务开始之前的状态。如果您执行 COMMIT 命令,那么所有操作都将被提交,并且数据库状态将保持不变。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值