码迷,mamicode.com
首页 > 数据库 > 详细

把oracle数据库恢复到某个时间点或者某个scn

时间:2018-02-05 20:07:37      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:rtu   恢复   日志文件   ber   amp   to_char   until   删除   ble   

alter session set nls_date_format=‘yyyymmdd hh24:mi:ss‘;

select sysdate from dual;

conn dbauser/123456;      随便一个用户,然后删除其中的一张表用来做测试

drop table test;

 

rman target/

startup mount;

restore database;      还原数据文件

sql ‘alter session set nls_date_format="yyyymmdd hh24:mi:ss"‘;     因为在rman中执行,所以需要sql ‘’;

recover database until time ‘20110414 11:33:56‘;      恢复到这个时间的数据,执行之后需要重新生成重做日志文件

sql ‘alter database open resetlogs‘;

 

 

scn是指系统改变号,oracle数据库使用它来记录数据库的过去时间内的状态和轨迹

conn /as sysdba

select dbms_flashback.get_system_chage_number from dual;

select to_char(scn_to_timestamp(963959),‘YYYY-MM-DD HH24:MI:SS‘) from dual;       将scn转换为时间

select * from (select time_dp,scn from smon_scn_time order by time_dp desc) where rownum<10;  根据用户删除数据时间找出相应的scn号

rman target/

startup mount;

restore database;    还原数据文件

recover database until scn 963915;

sql ‘alter database open resetlogs‘;     重新生成重做日志文件

 

把oracle数据库恢复到某个时间点或者某个scn

标签:rtu   恢复   日志文件   ber   amp   to_char   until   删除   ble   

原文地址:https://www.cnblogs.com/biaopei/p/8418833.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!