码迷,mamicode.com
首页 > 其他好文 > 详细

背景:表A数据误操作,被delete了,恢复。

时间:2015-09-23 14:45:13      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:

SELECT MAX(Scn) FROM Sys.Smon_Scn_Time WHERE Time_Dp < TO_DATE(‘2015-09-18‘, ‘YYYY/MM/DD‘)
 
 
 
select
b.file_name 物理文件名,
b.tablespace_name 表空间,
b.bytes/1024/1024 大小M,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使用M,
substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) 利用率
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_name,b.bytes
order by b.tablespace_name
 
 
 
select name from v$tablespace;
select file_name,bytes/1024/1024 from dba_data_files where tablespace_name like ‘UNDOTBS1‘;
 
alter   database  UNDOTBS1 datafile   ‘/home/app/oracle/oradata/HHDEV/datafile/o1_mf_undotbs1_bcgv649d_.dbf‘   resize   4000M;
 
 
 
 
select * from web_org_sales
 
 
flashback table web_org_sales to timestamp to_timestamp(‘2015-09-22 00:00:01‘,‘yyyy-mm-dd hh24:mi:ss‘)  --闪回时间
alter table web_org_sales enable row movement;   --设置表为行闪回
 
 
 
 
SELECT MAX(Scn) FROM Sys.Smon_Scn_Time WHERE Time_Dp < TO_DATE(‘2015-09-19‘, ‘YYYY/MM/DD‘);
 
--547577607
 
 
SELECT * FROM web_org_sales AS OF SCN ‘550594210‘;
 
alter system set undo_retention =216000;
 
 
 
 
背景:表A数据误操作,被delete了,恢复。

--1.先备份A表当前数据。

--2.查询某时间点前的SCN号码

SELECT MAX(Scn) FROM Sys.Smon_Scn_Time WHERE Time_Dp < To_Date(某时间点, ‘YYYYMMDD hh24:mi:ss‘);

--3.查看某时间点的A表数据

SELECT * FROM A AS OF SCN ‘步骤2的SCN号‘;

--4.如果查看数据是想要的数据,则恢复

SELECT row_movement FROM user_tables WHERE table_name = ‘A‘;

--5.步骤4结果如果为DISABLE ,则执行下面这句话,否则跳过

ALTER TABLE A  ENABLE ROW MOVEMENT;

--6.执行

FLASHBACK TABLE A TO SCN ‘步骤2的SCN号‘;

--7.如果原来为enable则不用执行,否则执行

ALTER TABLE A DISABLE ROW MOVEMENT;

--8.如果权限不够,就换个DBA用户进行上述操作

 
 
 
 
 
alter table Aenable row movement;   --设置表为行闪回
flashback table A to timestamp to_timestamp(‘2015-03-17 00:00:01‘,‘yyyy-mm-dd hh24:mi:ss‘)  --闪回时间
 
 
flashback table A to timestamp to_timestamp(‘2015-09-01 20:40:00‘,‘yyyy-mm-dd hh24:mi:ss‘)
 
 
alter table A enable row movement;   --设置表为行闪回

truncate table A;
 
 
使用truncate 表记录无法闪回。
 

  

 

背景:表A数据误操作,被delete了,恢复。

标签:

原文地址:http://www.cnblogs.com/joyblabla/p/4831999.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!