oracle开启闪回功能

开启:

注意:需要使用dba账号,并且操作的是orcl数据库就行

要使用闪回询查功能,首先需要检查闪回查询功能是否已经开启

连接数据库cmd运行:

sqlplus sys/bao as sysdba
--conn sys/bao as sysdba
--远程:sqlplus sys/bao@//127.0.0.1:1521/orcl

连接成功后查询是否已开启闪回:

select * from v$version;
select flashback_on from v$database;

如果结果是“NO”,则先尝试启用:

archive log list;
alter database flashback on;

如果报错“ORA-38706”:

第 1 行出现错误:
ORA-38706: 无法启用 FLASHBACK DATABASE 事件记录。
ORA-38707: 尚未启用介质恢复。

使用:

alter database archive;

如果报错“ORA-02231”:

第 1 行出现错误:
ORA-02231: ALTER DATABASE 选项缺失或无效

使用:

alter database archivelog;

如果报错“ORA-01126”:

第 1 行出现错误:
ORA-01126: 数据库必须已装载到此实例并且不在任何实例中打开

则:

shutdown immediate
startup mount
alter database archivelog;
alter database open;
archive log list;

开启闪回查询前先设置参数(也可以不设置使用默认参数)

show parameter db_recovery
alter system set db_recovery_file_dest_size=20g;
alter system set db_recovery_file_dest=\'D:\Oracle\app\Administrator\flashback\' scope=both;
alter system set undo_retention=21600 scope=both;
show parameter db_recovery

注意:必须先设置db_recovery_file_dest_size后设置db_recovery_file_dest;

如果路径设置不当,则会出现以下错误:

第 1 行出现错误:
ORA-02097: 无法修改参数, 因为指定的值无效
ORA-01261: 无法转换参数 db_recovery_file_
ORA-01263: 文件目标目录的名称无效
OSD-04018: 无法访问指定的目录或设备。
O/S-Error: (OS 3) 系统找不到指定的路径。

开启闪回查询 flashback

select  log_mode,open_mode,flashback_on from v$database;

说明开启成功。

使用:

查询指定时间数据:

SELECT * FROM t_p_plan AS OF TIMESTAMP  TO_TIMESTAMP('2019-09-06 12:30:00', 'yyyy-mm-dd hh24:mi:ss');

回滚数据到指定时间:

ALTER TABLE t_p_plan ENABLE ROW MOVEMENT;

FLASHBACK TABLE t_p_plan TO TIMESTAMP  TO_TIMESTAMP('2019-09-06 12:30:00','yyyy-mm-dd hh24:mi:ss');

ALTER TABLE t_p_plan DISABLE ROW MOVEMENT;

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值