把oracle數據庫恢復到某個時間點或者某個scn


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';     重新生成重做日志文件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM