backupdatabaseplusarchivelogdeleteallinput;insertintotestselect*fromtest;SQL>altersystem" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

ORACLE跨越時間點的恢復(fù)

系統(tǒng) 2587 0

在oracle10g之前使用resetlogs打開數(shù)據(jù)庫之后,之前的的備份就不能用于恢復(fù)了。即不能進行跨resetlogs時間點的恢復(fù)。所以要求執(zhí)行完之后馬上進行全庫備份。

Oracle10g以后允許跨越resetlogs時間點進行完全或者不完全恢復(fù)。實驗如下:

  1. 執(zhí)行全庫備份。

    RMAN> backup database plus archivelog delete all input;

    insert into test select * from test;

    SQL> alter system switch logfile;

    SQL> commit;

    Commit complete.

    SQL> alter system switch logfile;

    System altered.

    SQL> truncate table test;

    Table truncated.

    SQL> alter system switch logfile;

    System altered.

    SQL> select * from v$log_history;

    SQL> select recid,stamp,sequence#,first_change#,first_time,next_change# from v$log_history

    2 where recid >80;

    RECIDSTAMP FIRST_CHANGE# FIRST_TIME NEXT_CHANGE#

    ---------- ---------- ------------- ------------ ------------

    81 856723148 2130643 27-AUG-14 2130889

    82 856752323 2130889 27-AUG-14 2155374

    83 856753004 2155375 28-AUG-14 2175380

    84 856753636 2175380 28-AUG-14 2176030

    85 856754916 2176030 28-AUG-14 2177334

    86 856754945 2177334 28-AUG-14 2177347

    87 856755046 2177347 28-AUG-14 2178414

    88 856755142 2178414 28-AUG-14 2178471

    89 856755199 2178471 28-AUG-14 2178508

    90 856755243 2178508 28-AUG-14 2178543

    91 856755424 2178543 28-AUG-14 2178823

    RECIDSTAMP FIRST_CHANGE# FIRST_TIME NEXT_CHANGE#

    ---------- ---------- ------------- ------------ ------------

    92 856755456 2178823 28-AUG-14 2178836

    93 856755483 2178836 28-AUG-14 2178940

    13 rows selected.

  2. 關(guān)閉數(shù)據(jù)庫、刪除數(shù)據(jù)模擬故障

    刪除之后,執(zhí)行如下

    RMAN> startup mount;

    Oracle instance started

    database mounted

    Total System Global Area 599785472 bytes

    Fixed Size 2022600 bytes

    Variable Size 268436280 bytes

    Database Buffers 322961408 bytes

    Redo Buffers 6365184 bytes

    RMAN> run{

    set until sequence 12 thread 1;

    restore database;

    recover database;

    }

    這里判斷具體到那個sequence,當前查詢?nèi)缦?,歷史查看v$log_history的sequence#:

    Sql>archive log list;

    如果出現(xiàn)這個錯誤:

    SQL> recover database until cancel;

    ORA-00283: recovery session canceled due to errors

    ORA-01610: recovery using the BACKUP CONTROLFILE option must be done

    SQL> recover database BACKUP CONTROLFILE

    ORA-00905: missing keyword

    解決:

    recover database using backup controlfile until cancel;

    RMAN> alter database open resetlogs;

    查看序號是否復(fù)位:

    SQL> archive log list;

    Database log mode Archive Mode

    Automatic archival Enabled

    Archive destination USE_DB_RECOVERY_FILE_DEST

    Oldest online log sequence 0

    Next log sequence to archive 1

    Current log sequence 1

    SQL> create conn xzsp create tt able tt as select * from dba_users;

    Table created.

    SQL> alter system switch logfile;

    System altered.

    SQL> select count(*) from tt;

    COUNT(*)

    ----------

    26

    SQL> inert in sert into tt select * from tt;

    26 rows created.

    SQL> /

    52 rows created.

    SQL> /

    104 rows created.

    SQL> commit

    2 ;

    Commit complete.

    SQL> alter system switch logfile;

    System altered.

    SQL> select recid,stamp,first_change#,first_time,next_change# from v$log_history;

    RECID STAMP SEQUENCE# FIRST_CHANGE# FIRST_TIME NEXT_CHANGE#

    ---------- ---------- ---------- ------------- ------------ ------------

    100 856759449 1 2179277 28-AUG-14 2179707

    101 856759476 2 2179707 28-AUG-14 2179788

    102 856761071 1 2179621 28-AUG-14 2179920

    103 856761108 2 2179920 28-AUG-14 2179945

    103 rows selected.

    Oracle保留了resetlogs之前的日志序列號,并且日志recid繼續(xù)增長,控制文件也保留了歸檔日志的序列。所以可以跨RESETLOGS進行恢復(fù)。10g以前 是不能夠使用當前控制文件恢復(fù)之前的備份的。

    RMAN> run {

    2> restore database;

    3> recover database;

    4> }

    SQL> select count(*) from tt;

    COUNT(*)

    ----------

    208

    恢復(fù)能夠完成,還有l(wèi)og_archive_format有關(guān)系。

    Sql>show parameter log_archive_format

    log_archive_format string archive_%t_%s_%r.log

    這里的%R是oracle新增的參數(shù),是resetlogs的標志號.這一歸檔日志格式可以是不同Incarnation的數(shù)據(jù)庫歸檔日志避免相互覆蓋,從而跨越resetlogs恢復(fù)的日志基礎(chǔ)得以保證。

    ?

    ?

    思考:這里看到rman備份只有一次,是在resetlogs之前,第二次完全恢復(fù)是基于之前的備份。這里看到oracle10確實是越過了resetlog執(zhí)行了恢復(fù)。

ORACLE跨越時間點的恢復(fù)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 青海省| 大姚县| 鄂伦春自治旗| 临桂县| 沈阳市| 农安县| 牡丹江市| 东海县| 军事| 绵阳市| 曲阳县| 涪陵区| 扎兰屯市| 芮城县| 青神县| 休宁县| 马公市| 新密市| 临猗县| 郎溪县| 通城县| 房产| 五常市| 司法| 游戏| 西和县| 定远县| 鹤山市| 泸定县| 和平区| 搜索| 房产| 礼泉县| 丰都县| 诸城市| 光山县| 偏关县| 丁青县| 滨海县| 武山县| 通海县|