数据库恢复是非常重要的一项技术,可以保护系统免受灾难性数据损失。特别是当数据库出现损坏,丢失或因系统更新导致失效等原因,恢复数据库就变成了一项重要的任务。现在我们一起来看看Oracle数据库恢复的方法吧。
工具/原料:
系统版本:win10系统
品牌型号:华为MateBook 14s
方法/步骤:
方法一:利用oracle提供的闪回方法进行数据恢复,适用于delete删除方式
1、首先获取删除数据的时间点:
select * from v$sql where sql_text like '%table_name%' ;
SELECT * FROM v$sql WHERE SQL_TEXT LIKE 'delete%ooag%'
2、根据结果中的sql_text内容,找到delete执行语句对应的删除时间点,执行下面语句查询出删除的数据。
select * from table_name as of timestamp to_timestamp(‘删除时间点’,‘yyyy-mm-dd hh24:mi:ss’)
where (删除时的条件)
3、检查数据无误后,执行下面操作,将数据插回原表中。注意主键不重复
insert into table_name
select * from from table_name as of timestamp to_timestamp(‘删除时间点’,‘yyyy-mm-dd hh24:mi:ss’)
where (删除时的条件)
方法二:利用oracle虚拟回收站功能
1、原理是因为oracle数据库在删除表时会将删除信息存放于某虚拟回收站中而非直接清空,在此种状态下数据库标记该表的数据库为可以复写,所以在该块未被重新使用前依然可以恢复数据。该方法多用于drop删除。
select table_name,dropped from user_tables;
select object_name,original_name,type,droptime from user_recyclebin;
2、注意此时的,object_name和original_name就是回收站存放的表名和原来删除的表名,如果表名没有被重新命名,可以通过下面语句进行恢复:
flashback table object_name to before drop new_table_name;
方法三:用oracle数据库的闪回功能可以将数据库恢复到过去某一状态
注意,此时是整库恢复,具体语法如下:
SQL>alter database flashback on
SQL>flashback database to scn SCNNO;
SQL>flashback database to timestamp to_timestamp(‘frombyte 2021-09-02 23:59:59’,‘yyyy-mm-dd hh24:mi:ss’);
拓展内容:误删除数据恢复的方法
1、官网上下载http://hppp.com/小白数据恢复软件,电脑安装好后打开,点击误删文件恢复选项,点击开始扫描。
2、选择需要扫描的系统磁盘,点击开始扫描。
3、勾选需要恢复的文件,点击立即恢复。
4、设置文件恢复的路径,点击确定。
5、等待软件自动恢复文件并导出文件。
6、提示恢复成功,导出完后点击确定即可。
总结:以上就是Oracle数据库恢复的方法,希望能帮助到大家,有需要的小伙伴一起来看看吧。