恢复数据库到一个时间点(如何从归档日志中恢复某张表的数据?)

发布日期:2023-03-29 22:37:29   浏览量 :255
发布日期:2023-03-29 22:37:29  
255

恢复数据库到一个时间点(如何从归档日志中恢复某张表的数据?)

一、如何从归档日志中恢复某张表的数据?
oracle中可以利用 rman 还原归档日志到某个时间点:

1、理解还原与恢复

恢复(recover): 将备份之后的归档日志apply到数据库,也就根据归档日志的事务将数据库刷新到特定或最新状态(通常在还原之后操作)。对于归

档日志中那些已提交的事务进行前滚,未提交的事务进行回滚。

还原归档日志: 还原归档日志是位于还原数据库与恢复数据库之间的这么一个过程。它会将那些在备份归档日志时使用delete [all] input方式

删除的归档日志还原到缺省的归档位置。在还原数据库之后,如果要做recover,也就是作介质恢复那就需要用到归档日志。那还原之后进行

recover需要的归档日志在哪里呢?归档日志在指定的归档路径那里,那到底有没有呢?如果有,还原时出现提示,归档日志已经在指定位置。

如果没有,但是备份的归档备份集那里有,也行啊。备份集里包含备份片,也就是打包了归档日志。那既然打包就要解包,解包到缺省路径

或指定路径。这就是还原归档日志。

--演示环境

--为了较好的模拟还原归档日志,我们仅仅使用了一个特定的数据文件进行copy方式备份,然后备份归档日志(备份时删除归档日志)

--接下来破坏数据文件,还原数据文件,还原归档日志文件,恢复日志文件。

[oracle@linux3 ~]$ cat /etc/issue

Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)

Kernel \

on an \\m

[oracle@linux3 ~]$ sqlplus -V

SQL*Plus: Release 11.2.0.1.0 Production

a、备份数据文件及归档日志

RMAN> list backup of archivelog all; --->列出当前数据库已经备份的归档日志

specification does not match any backup in the repository

RMAN> list backupset; --->列出当前数据库已存在的备份集

specification does not match any backup in the repository

SQL> select username,default_tablespace from dba_users where username='SCOTT'; -->查看用户scott所在的表空间及数据文件

二、SQL2005怎么还原数据库?
1.打开数据库管理工具,展开服务器前的□ 在“数据库”文件夹上点击鼠标右键,弹出任务 菜单,选择“还原数据库 (R)... ”。

2.在“还原数据库”窗口,选择左侧“常规” ,在右侧“还原的目标”项的“目标数据库”填 写要还原的数据库名称, “目标时间点”默认。

3.在右侧“还原的源”选择“源设备” ,点击行后的 ,弹出选择备份位置对话框。 点击“添加 (A) ”定位到需要还原的数据库的位置并确定 [ 注意文件类型选择 所有文件 (*) ]。

4.在“用于还原的备份集”中选择需要还原的数据库备份。
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
支持 反馈 订阅 数据
回到顶部