Oracle12C:drop table后,恢复表数据

前端之家收集整理的这篇文章主要介绍了Oracle12C:drop table后,恢复表数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

前段时间,有个好友作死,不小心

删了自己的数据库,然后他找数据恢复的,

别人报价:由于有点技术难度,这样吧!一张表:7500块,好不?

我朋友:......你怎么不去抢?!

我:......

哎,为了防止自己哪天手贱 删了数据库,所以匆忙学了表 恢复的方法


一般oracle 删了数据库后,还是有闪回的,但是他的数据库是 mongodb


一、先创建表

-- 建表
create table student_score(
    name varchar2(8),class varchar2(10),--班级
    subject varchar2(8),--学科
    grade int			--分数
);


插入一点数据:


-- 插入数据
insert into student_score values
('小明','121','语文',88);
insert into student_score values
('小明','数学',75);
insert into student_score values
('小明','英语',40);
insert into student_score values
('小红',95);
insert into student_score values
('小红',55);
insert into student_score values
('小红',60);
insert into student_score values
('小白','122',70);
insert into student_score values
('小白',79);
insert into student_score values
('小白',66);
insert into student_score values
('小黑',69);
insert into student_score values
('小黑',99);
insert into student_score values
('小黑',77);


select * from student_score



二、删表

drop table student_score;


三、查看数据库表创建信息:

--1、查询表创建时间

select object_name,created
from all_objects
where object_type = 'table'
 and object_name ='student_score'
order by created desc;


四、查看回收站中表

select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin;

recycle bin : 回收站




我的表:student_score 还在 回收站,晚了就不行了


五、恢复表

找到你bin开头的序号

sql>flashback table test_drop to before drop;  或

sql>flashback table "BIN$zGmbX+sxT2S3YtdqJWNa5g==$0" to before drop;


这样就OK了!


@H_404_139@六、恢复索引 (呃,我这里没有索引呢)

索引名字:index_name

select INDEX_NAME from user_indexs where table_name='STUDENT_score'
BIN$+NGfT5GYSeCeD10HkIaVsw==$0
虽然看起来表已经恢复了,但是索引恢复的有点问题,恢复出来的索引名称不是IND_TEMP1,故我们还要手动完成索引名修改。

alter index "BIN$+NGfT5GYSeCeD10HkIaVsw==$0" rename to IND_TEMP1;
好了,祝你们顺利恢复表数据!

猜你在找的Oracle相关文章