技术应用文档是一种介绍特定技术的文档,提供使用技术的详细指南和步骤以及可能的问题和解决方法
简介
功能:实现oracle数据找回
作用:介绍该技术的功能和作用
目标群体:oracle数据库管理人员
使用场景:数据被删除修改等操作
恢复方法
数据库中表被人为删除,大概删除了3000多条数据
方案一:利用oracle提供的闪回方法进行数据恢复,适用于delete删除方式
查看数据库的是哪个表什么时候执行的删除操作
select * from v$sql where sql_text like '%table_name%' ;
示例
select sql_text as boothno,first_load_time as submarket from v$sql where sql_text like '%表名%' and sql_text like '%DELETE FROM'
以上的SQL语句能定位数据库执行的delete语句执行的时间这个很重要。
如下图
select * from table_name as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss') where (删除时的条件)
示例:
select * from abc as of timestamp
to_timestamp('2023-09-09 09:09:09','yyyy-mm-dd hh24:mi:ss')
where datetime='2023-09-08 09:09:09'
---上面的是查看有没有数据
---下面的是把查到数据导入到临时表
insert into abc_linshi
select * from from abc as of timestamp to_timestamp('2023-09-09 09:09:09','yyyy-mm-dd hh24:mi:ss')
where datetime='2023-09-08 09:09:09'
特别的强调闪回是有时效性的不能过长时间最好发现问题赶紧关闭应用,禁止数据库再操作,要不然会把闪回数据覆盖。
还有其他操作比如恢复到某个时间点的表
flashback data_table to timestamp to_timestamp('2021-09-02 23:59:59','yyyy-mm-dd hh24:mi:ss');
但是总归用的是闪回机制,所以oracle要开闪功能。再有就是及时发现问题及时处理晚了就覆盖了。
方案二:日志恢复数据
日志恢复可以用oracle自带的工具全命令操作LogMiner,也可以用toad of oracle 软件带的工具,这个工具可视化方便操作。
先安装toad软件
示例代码