oracle不小心删除了一些数据,没关系 ,有flashback ,!

本文详细介绍如何在Oracle数据库中启用和使用闪回功能,包括检查闪回状态、正确配置数据库、查询系统变更号(SCN)及利用闪回特性恢复数据表的具体步骤。

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

只能在sqlplus 中执行! 闪回只能对dml语句有用 ddl无效!
1.查询是否打开了闪回功能
SQL> select flashback_on,force_logging from V$database;
FLA FOR
--- ---
NO NO
SQL> alter database flashback on;
alter database flashback on
*
第 1 行出现错误:
ORA-38759: 数据库必须以 EXCLUSIVE 方式装载并且不能打开。

2.打开闪回功能:
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> connect sys/test as sysdba;
已连接到空闲例程。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145488364 bytes
Database Buffers 25165824 bytes
Redo Buffers 524288 bytes
数据库装载完毕。
SQL> alter database flashback on;
数据库已更改。
SQL> startup
ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
SQL> alter database open;
数据库已更改。
3.查询当前的SCN,记录并测试。
select current_scn
from v$database; 13806079
select *
from flash_recovery
update flash_recovery set score='111';
执行
flashback table flash_recovery to scn 13806079 时出错,需打开表的row movement 功能。
alter table flash_recovery enable row movement;
再次执行 flashback table flash_recovery to scn 13806079
4,使用时间标签恢复
flashback table flash_recovery to timestamp to_timestamp(to_date('2011/05/11:12:00:00','yyyy/mm/dd:hh24:mi:ss'));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值