没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1
oracle 数据库为例,介绍关于闪回恢复误删除的数据
删除表中数据有三种方法:
·delete(删除一条记录)
·drop 或 truncate 删除表格中数据
1.delete 误删除的解决方法
原理:利用 oracle 提供的闪回方法,如果在删除数据后还没做大量的
操作(只要保证被删除数据的块没被覆写),就可以利用闪回方式直
接找回删除的数据
具体步骤为:
*确定删除数据的时间(在删除数据之前的时间就行,不过最好是删除
数据的时间点)
*用以下语句找出删除的数据:select * from 表名 as of timestamp
to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss')
*把删除的数据重新插入原表:
insert into 表 名 (select * from 表 名 as of timestamp
to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss'));注意要保
证主键不重复。
如果表结构没有发生改变,还可以直接使用闪回整个表的方式来恢复
数据。
具体步骤为:
表闪回要求用户必须要有 flash any table 权限
·alter table 表名 enable row movement
·flashback table 表 名 to timestamp to_timestamp(删 除 时 间 点
',' frombyte yyyy-mm-dd hh24:mi:ss')
2.drop 误删除的解决方法
原理:由于 oracle 在删除表时,没有直接清空表所占的块,oracle 把
这些已删除的表的信息放到了一个虚拟容器“回收站”中,而只是对
该表的数据块做了可以被覆写的标志,所以在块未被重新使用前还可
以恢复。
具体步骤:
*查询这个“回收站”或者查询 user_table 视图来查找已被删除的表:
· select table_name,dropped from user_tables
资源评论
CodeGolang
- 粉丝: 55
- 资源: 1088
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功