1. 程式人生 > >恢復到特定點(時間點、scn、日誌序列號),rman不完全恢復

恢復到特定點(時間點、scn、日誌序列號),rman不完全恢復

將資料庫、表空間、資料檔案等恢復至恢復備份集儲存時間中的任何一個時間點/SCN/日誌序列(一般是日誌挖掘找到誤操作點),但須謹慎,操作前一定需要做好備份,具備條件的情況下最好先恢復到異機,避免業務停機時間。

前提:已經有資料庫備份 (作者已經提前準備了備份,這裡不進行備份,為了節約空間)
--準備實驗環境
SQL> select * from andy.andy;
select * from andy.andy
*
ERROR at line 1:
ORA-00942: table or view does not exist
--不完全恢復時間點
SQL> select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') from dual;
TO_CHAR(SYSDATE,'YY
-------------------
2015-03-25 07:55:12

SQL> create table andy.andy(id int);

Table created.
SQL> insert into andy.andy values(1);

1 row created.
SQL> insert into andy.andy values(100);

1 row created.
SQL> commit;

Commit complete.
SQL> select * from andy.andy;
ID
----------
1
100

1 基於時間點
方法一: 在RMAN中執行
RMAN> 
run{
startup mount force;
set until time "to_date('2015-03-25 07:55:12','yyyy-mm-dd hh24:mi:ss')";
restore database;
recover database;
alter database open resetlogs;
}

Finished recover at 25-MAR-15
database opened
--恢復時間點之後的表不見了,說明的確是不完全恢復。
SQL> select * from andy.andy;
select * from andy.andy
*
ERROR at line 1:
ORA-00942: table or view does not exist


——————————————————————————
方法二:在SQLplus中執行

SQL>startup mount force;
SQL>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
SQL>restore database until time "to_date('2015-03-25 07:55:12','YYYY-MM-DD HH24:MI:SS')";
SQL>recover database until time "to_date('2015-03-25 07:55:12','YYYY-MM-DD HH24:MI:SS')";
SQL>alter database open resetlogs;

2 基於 SCN:
SQL>startup mount force;
SQL>restore database until scn XXXX;
SQL>recover database until scn XXXX;
SQL>alter database open resetlogs;

3 基於日誌序列
SQL>startup mount force;
SQL>restore database until SEQUENCE 100 thread 1; //100是日誌序列
SQL>recover database until SEQUENCE 100 thread 1;
SQL>alter database open resetlogs;

相關推薦

恢復特定時間scn日誌序列rman完全恢復

將資料庫、表空間、資料檔案等恢復至恢復備份集儲存時間中的任何一個時間點/SCN/日誌序列(一般是日誌挖掘找到誤操作點),但須謹慎,操作前一定需要做好備份,具備條件的情況下最好先恢復到異機,避免業務停機時間。 前提:已經有資料庫備份 (作者已經提前準備了備份,這裡不進行備

RMAN完全恢復方法恢復到資料庫某一時間

RMAN不完全恢復方法 試驗目的:利用RMAN完成對資料庫的不完全恢復(將資料庫恢復到某個時間點) 試驗步驟:         1.RMAN備份資料庫:backup database;   2. 記錄當前時間: SQL> select to_c

binlog-rollback.pl基於binlog位置時間恢復delete誤刪語句

基於位置點和時間點恢復delete誤刪一、基於binlog位置點的恢復 為了演示,刷新一個新的binlog文件,讓它單獨記錄delete刪除語句: MySQL [zhangyou]> flush logs Query OK, 0 rows affected (0.09 sec) MySQL [zhan

ARCHIVELOG模式下使用者管理的完全恢復—基於時間完全恢復

基於時間點的恢復主要使用於以下情況:誤刪除表、誤截斷表、提交了錯誤的資料。(從oracle 10g利用閃回更easy!)   首先關閉資料庫執行一個冷全備份(冷備份的時候使用者u1的t表中是有3條記錄的。) [sql] view plai

使用xtrbackup/mysqldump全量備份+binlog備份恢復到最近一個時間

先用xtrabackup做全備: innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=root --password=123 /home/backup/xtrabackup/ 全備完成之後新建sanguoyanyi表,並插入

oracle通過快照恢復資料到某個時間

1、如果是第一次對錶操作,先執行這sql ALTER TABLE TB_YOFISHDK_ORDER_LOAN_INFO ENABLE ROW MOVEMENT; --注:如果報錯ORA-08189: cannot flashback the table because ro

離群孤立異常值檢測方法

本文介紹了離群點(孤立點)檢測的常見方法,以及應用各種演算法時需要注意的問題。 離群點是什麼? 異常物件被稱作離群點。異常檢測也稱偏差檢測和例外挖掘。孤立點是一個明顯偏離與其他資料點的物件,它就像是由一個完全不同的機制生成的資料點一樣。 離群點檢測是資

[RMAN]使用RMAN備份將資料庫完全恢復到指定時間

RMAN作為Oracle強大的備份恢復工具,可以協助我們恢復資料庫到指定時間點,這便是Oracle不完全恢復的一種體現,通過這種方法可以找回我們曾經丟失的資料。這裡以找回誤TRUNCATE表資料為例給大家演示一下RMAN的不完全恢復功能。 1.調整資料庫為歸檔模式[emai

RMAN備份與恢復之基於時間完全恢復

一 不完全恢復講解         在上一篇文章(RMAN備份與恢復之UNDO表空間丟失)中,我們講到UNDO表空間丟失怎麼處理。UNDO表空間是不可離線的,同樣,SYSTEM表空間也是不可離線的,所以SYSTEM表空間丟失的處理辦法和UNDO表空間丟失的處理辦法類似,在

ORACLE將表中的資料恢復到某一個時間

執行如下SQL將test_temp表中的資料恢復到 2011 04 29  11:06:00 注意,這裡一定要先刪除全部資料,否則可能會導致資料重複或者新建一個表結構和test_temp結構相同的表,把資料匯入到新表中 delete from test_temp; ins

找出陣列中第k大的數時間複雜度分析C++程式碼實現. TopK in array. ( leetcode

找出陣列中第k大的數. TopK in array. ( leetcode - 215 ) 最近面試過程中遇到的一個題目,也是大資料時代常見的題目,就來總結一下。 面試題目: 1、10億數中,找出最大的100個數。用你能想到的最優的時間和空間效率。 2

Dlib提取人臉特徵68opencv畫圖

//女票被學妹約出去看電影了,所以有點無聊的我來寫部落格了。 主要在官網給的Demo基礎之上用Opencv把特徵點描繪出來了。 很早之前寫過一篇配置Dlib環境的部落格,現在來稍微梳理下提取特徵點的使用方法。 慣例先放效果圖吧: 動圖如下: 接著就是簡單粗

重灌系統快速恢復使用習慣各種圖示擺放位置環境變數C盤可能存放的檔案備份編輯器配置語言環境匯出

目錄 電腦重灌系統注意點 - 儘可能快速恢復你熟悉的 windows 基本使用場景 最好截圖的點 常見檔案拷貝 入口 檢視桌面圖示、快捷方式有哪些

實現多次完全恢復RAC環境需要將另一節點關閉

chang hang startup 節點 lec star med immediate 關閉 #查看以resetlogs打開的歷史SQL> SELECT a.INCARNATION#,a.RESETLOGS_CHANGE#,to_char(a.RESETLOGS_T

ARCHIVELOG模式下使用者管理的完全恢復—基於SCN完全恢復

當用戶執行不完全恢復時,如果能夠確定恢復點所對應的SCN值,那麼可以使用這種方法恢復!   首先關閉資料庫執行一個冷全備份 [sql] view plain copy print ?

mysql 開發進階篇系列 43 邏輯備份與恢復(基於時間和位置的完全恢復)

一. 概述          在上篇講到了邏輯備份,使用mysqldump工具來備份一個庫,並使用完全恢復還原了資料庫。在結尾也講到了誤操作是不能用完全恢復的。解決辦法是:我們需要恢復到誤操作之前的狀態,然後跳過誤操作語句。再恢復後面執行的語句,完成我們的恢復,這種恢復叫“不完全恢復”。在mysql 中,不完

vc CTime 儲存時間的格式時間怎麼儲存在CTime變數中的

CTime的儲存時間的形式: 構造一個CTime變數後,單步除錯時,變數的值是一整數,而這年月日時分秒是怎麼轉化成這個整數的? CTime的值 =  年 *12 *30* 24 * 60 * 60   +    月*30* 24 * 60 * 60   +   日* 24

基於時間完全恢復rman

SQL> select sysdate from dual; SYSDATE ------------------- 2013-07-31 22:36:51 run{ sql 'alter session nls_date_format="yyyy-mm-dd hh

HDU 4920杭電多校訓練#5 1010 題 Matrix multiplication(知道該掛個什麽帽子。。。

預處理 ica ref 循環 ring sca esp 題解 code 題目地址:HDU 4920 對這個題簡直無語到極點。。。竟然O(n^3)的復雜度能過。。。。方法有三。。 1:進行輸入優化和輸出優化。。(前提是你的輸入優化不能太搓。。。) 2:利用緩存優化。。詳情