oracle闪回技术

  • 格式:doc
  • 大小:33.00 KB
  • 文档页数:2

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

亚存整理

闪回作用

自动的基于磁盘的备份与恢复,能把表恢复到过去的某个时间点

查看闪回区

Show parameter db_recovery_file_dest 查看闪回区详细信息

Select flashback_on from v$database 查看闪回区是否开启

2,修改闪回功能

SQL> startup mount 数据库启动到mount下

SQL> alter database flashback on (off); 开启关闭闪回区

注:如遇到38706事件错误,可能是因为归档不正确。先启用归档

SQL>alter database archivelog

SQL> alter system set db_flashback_retention_target=2880 修改闪回时间,默认是1440 闪回时间是指数据库能回退的时间

闪回使用实例:(注:sys用户下不可用闪回)

1,闪回drop的表

在非sys用户下创建表和表上索引,插入相关数据

create table abc (f number(9));

create index idx_test on abc(f);

insert into abc values(1);

insert into abc values(2);

insert into abc values(3);

删除表

drop table abc;

删除表之后,表并没有被真正删除,而是重命名之后放在同一用户下的回收站内,同时表上的索引等也会被如此处理。回收站满后以先进先出的原则管理

查看表语句select * from tab;

查看索引语句select index_name, index_type, table_name from ind;

查看回收站语句show recyclebin

清空回收站语句PURGE RECYCLEBIN;

注:没有放入回收站的表不能被闪回

闪回之后,即可再次看到表

flashback table abc to before drop;

但是表闪回后相应的索引等需要重新编译

2,闪回DML语句

Flashback table abc to timestamp to_timestamp(‘2014-02-14 16:00:00’,’yyyy-mm-dd hh24:mi:ss’) 闪回可能会遇到08189错误,执行下列语句

alter table testvarchar enable row movement;

意思是允许Oracle修改rowid。Oracle插入数据时会为该条数据分配唯一rowid并且不变,要启用闪回功能必须开启可修改rowid功能

闪回DML数据是使用回滚段进行恢复

附:查询所有可以撤消的操作,该操作依赖于undo_retention

SELECT versions_xid as xid,

versions_startscn,

versions_endscn,

versions_operation

FROM scott.abc VERSIONS between scn minvalue and maxvalue

查询undo_retention参数

该参数保存了回滚段数据保存的秒时间,超过该时间则无法闪回。默认为15分钟

修改该参数alter system set undo_retention=3600;

相关主题