本帖最后由 dan 于 2020-4-1 21:56 编辑
概念解释“不完全恢复”:就是不是恢复到最新的状态,是恢复到数据库过去的某个时间。
前提:数据库有开归档,有用rman做过全备
与以往备份与恢复不同的是,这次在人为破坏前没做备份操作。rman会利用归档来恢复
实验开始:
1、登陆sqlplus,命令:set time on,作用:开启提示符处时间显示,方便做实验2、没删除表前数据库里的拥有的表:
3、命令:drop table tt;,作用:模拟人为错误,删除一个表。 4、命令:commit;,作用:提交操作。
开始恢复操作: 1、命令:alter system switch logfile;,作用:切换一下日志,让所有日志归档。 2、命令:shutdown immediate;,作用:关闭数据库 3、命令:startup mount;,作用:开启数据库到mount状态。 4、命令:exit,作用:退出 5、命令:rman target /,作用:rman登陆当前数据库 6、运行以下命令,恢复到指定的时间 run{ sql'alter session set nls_date_format="YYYY-MM-DD HH24:MI:SS"'; allocate channel ch_1 type disk; allocate channel ch_2 type disk; set until time '2020-4-1 21:35:00'; restore database; recover database; sql'alter database open resetlogs'; } 7、验证数据库里他tt表是否已恢复,结果是已恢复了。 |