❶ oracle闪回数据归档用的多吗
oracle闪回数据归档用的挺多的。
利用闪回恢复数据必须要开启归档
一、闪回查询
语法:select * from 表名 as of timestamp
to_timestamp('2016-08-01 01:00:00','yyyy-mm-dd hh24:mi:ss');
二、闪回表
语法:
alter table 表名 enable row movement; 允许行移动
flashback table 表名 to timestamp to_timestamp('2016-08-01
01:00:00','yyyy-mm-dd hh24:mi:ss');
三、闪回删除
使用回收站(recyclebin)闪回删除的表
四、闪回数据库
(1)确认数据库处于archive log模式且数据库开启闪回功能;
(2)Flashback Database 实际是对数据库的一个不完全恢复操作,因为需要关闭数据库重启到mount状态
方式一:通过时间戳闪回
语法:flashback database to timestamp to_timestamp('2016-08-02 21:12:46','yyyy-mm-dd
HH24:MI:SS');
方式二:通过SCN闪回
语法:flashback database to scn 13081009;
执行完flashback database之后,oracle提供了两种方式修复数据库
1、通过alter database open
resetlogs打开数据库。当然,指定的scn或者timestamp之后产生的数据统统丢失
2、先执行alter database open
read only以read-only模式打开数据库,确认数据无误后,再以resetlogs的方式打开数据库
五、闪回数据归档
(1)创建闪回表空间
(2)创建闪回归档
语法:create flashback archive [default] name tablespace tbs_name quoto 10g retention 1 year
(3)开启表的闪回归档
语法:alter table tb_name flashback archie;
ps:开启了闪回的表,不能drop,允许truncate。
六、创建还原点
(1)创建保证还原点
create restore point point_name grarantee flashback database;
(2)还原
restore point point_name;
❷ oracle 怎样利用闪回功能恢复数据
利用闪回恢复数据必须要开启归档
一、闪回查询
语法:select * from 表名 as of timestamp
to_timestamp('2016-08-01 01:00:00','yyyy-mm-dd hh24:mi:ss');
二、闪回表
语法:
alter table 表名 enable row movement; 允许行移动
flashback table 表名 to timestamp to_timestamp('2016-08-01
01:00:00','yyyy-mm-dd hh24:mi:ss');
三、闪回删除
使用回收站(recyclebin)闪回删除的表
四、闪回数据库
(1)确认数据库处于archive log模式且数据库开启闪回功能;
(2)Flashback Database 实际是对数据库的一个不完全恢复操作,因为需要关闭数据库重启到mount状态
方式一:通过时间戳闪回
语法:flashback database to timestamp to_timestamp('2016-08-02 21:12:46','yyyy-mm-dd
HH24:MI:SS');
方式二:通过SCN闪回
语法:flashback database to scn 13081009;
执行完flashback database之后,oracle提供了两种方式修复数据库
1、通过alter database open
resetlogs打开数据库。当然,指定的scn或者timestamp之后产生的数据统统丢失
2、先执行alter database open
read only以read-only模式打开数据库,确认数据无误后,再以resetlogs的方式打开数据库
五、闪回数据归档
(1)创建闪回表空间
(2)创建闪回归档
语法:create flashback archive [default] name tablespace tbs_name quoto 10g retention 1 year
(3)开启表的闪回归档
语法:alter table tb_name flashback archie;
ps:开启了闪回的表,不能drop,允许truncate。
六、创建还原点
(1)创建保证还原点
create restore point point_name grarantee flashback database;
(2)还原
restore point point_name;
❸ oracle 怎样利用闪回功能恢复数据
1,只需要执行以抄下个袭脚本即可。
7,查看日志信息,就可以了。
❹ oracle 闪回模式禁用之后,如果怎么重新开启闪回模式呢
开启和关闭闪回模式必须处于mount模式下,命令如下:
SQL>alter database flashback on;
SQL>alter database flashback off;
❺ ORACLE 误删了一个表(drop table)为什么只能用闪回,不能用完全恢复方法,恢复所有数据。
有的,
表格都是有备份的,可以恢复出之前的备份文件试试看
用 强力数据恢复软件 来恢复吧
❻ 如何进行恢复PLSQL闪回误删除FlashBack Delete表
/*1.FLASHBACK QUERY*/
--闪回到15分钟前
select * from orders as of timestamp (systimestamp - interval ''15'' minute) where ......
这里可以使用DAY、SECOND、MONTH替换minute,例如:
SELECT * FROM orders AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL ''2'' DAY)
--闪回到某个时间点
select * from orders as of timestamp to_timestamp (''01-Sep-04 16:18:57.845993'', ''DD-Mon-RR HH24:MI:SS.FF'') where ...
--闪回到两天前
select * from orders as of timestamp (sysdate - 2) where.........
/*2.FLASHBACK DROP*/
1.flashback table orders to before drop;
2.如果源表已经重建,可以使用rename to子句:
flashback table order to before drop rename to order_old_version;
/*3.FLASHBACK TABLE*/
1.首先要启用行迁移:
alter table order enable row movement;
2.闪回表到15分钟前:
flashback table order to timestamp systimestamp - interval ''15'' minute;
闪回到某个时间点:
FLASHBACK TABLE order TO TIMESTAMP TO_TIMESTAMP('2007-09-12 01:15:25 PM','YYYY-MM-DD HH:MI:SS AM')
❼ oracle使用闪回之后,索引中有许多bin$开头的索引,删也删不掉,改也改不了,请问如何改名称
这类名称是要加双引号的
alter index "BIN$5G1XeKtLNGLgQwEAAH+HVA==$0" rename to IDX_XXX_XXX;
❽ plsql怎么恢复删除的表
方法一:
1.打开Flash存储的权限
ALTER TABLE tableName ENABLE row movement ;
2.把表还原到指定时间点
flashback table tableName to timestamp to_timestamp('2018-03-16 10:40:00','yyyy-mm-dd hh24:mi:ss');
后面的参数为要还原的时间点
方法二:
利用ORacle的快照进行查找某个时间点的数据
s e l e c t * from tableName AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '100' MINUTE)
或
s e l e c t * from tableName as of timestamp to_timestamp('2018-03-16 11:40:00','YYYY-MM-DD HH24:MI:SS');
这样可以查询到指定的时间段的数据,再把查询到的数据复制到原来的表中。
方法三:
删除表后,可以采用如下操作:在 查询表user_recyclebin最近操作过的表名称,然后用闪回(只能用于10G及以上版本)。
s e l e c t * from user_recyclebin;
FLASHBACK TABLE TABLE_NAME TO BEFORE DROP;
如果是删了或修改里面的数据,可以先建立一个快表将删除修改之前状态的数据找回到这个表中:
CREATE TABLE QUICK_TABLE AS SELECT * FROM TABLE_NAME AS OF TIMESTAMP SYSTEM-1/24 (一小时前的),减去的时间可以自己定。
方法四:
SCN提供了Oracle的内部时钟机制,可被看作逻辑时钟,这对于恢复操作是至关重要的
注释:Oracle 仅根据 SCN 执行恢复。
它定义了数据库在某个确切时刻提交的版本。在事物提交时,它被赋予一个唯一的标示事物的SCN 。一些人认为 SCN 是指, System Commit Number ,而通常 SCN 在提交时才变化,所以很多情况下,这两个名词经常被交替使用。
究竟是哪个词其实对我们来说并不是最重要的,重要的是我们知道 SCN 是 Oracle 内部的时钟机制, Oracle 通过 SCN 来维护数据库的一致性,并通过SCN 实施 Oracle 至关重要的恢复机制。
❾ Oracle 使用Flashback方式数据恢复,但是表中有CLOB字段,提示:快照旧了
使用闪回数据库,闪回后以read only模式打开,导出该表,然后重启数据库,做recover,打开,再导入;
使用基于时间点的恢复,和1差不多;
如果是11g版本以上,考虑以后用闪回数据归档。
❿ oracle如何设置归档到指定路径不使用闪回区
可以alter system 用户登录数据库后发出
alter system set log_archive_dest_1='location=路径' scope=both(或memory,不使用该参数时全变更spfile 和memory);
即可变更。
在mount或open状态内都可以。我在linux下修容改成功。