<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    不完全恢復(fù) - redo損壞

    恢復(fù):
        1. 完全恢復(fù)
    • 恢復(fù)的起點
      SQL> select file#,checkpoint_change# from v$datafile_header;

           
      FILE# CHECKPOINT_CHANGE#
      ---------- ------------------
               1            1191483
               
      2            1191483
               
      3            1191483
               
      4            1191483
               
      5            1191483
    • 恢復(fù)的終點
      SQL> select file#,checkpoint_change# from v$datafile;

           
      FILE# CHECKPOINT_CHANGE#
      ---------- ------------------
               1            1191483
               
      2            1191483
               
      3            1191483
               
      4            1191483
               
      5            1191483
    • 我們需要的是:橫向比較,各個文件之間進行比較
        2. 不完全恢復(fù)
    • 主動
      SQL> select * from t;
      ID                   SCN
      -------------------- ----------------------------------------
      1                    1168049
      2                    1168427
      3                    1168514
      4                    1168523
      5                    1168535

      SQL
      > set time on
      22:16:02 SQL> drop table t;
      表已刪除。
      22:16:18 SQL>
      -- 可以恢復(fù)到指定的時間(22:16:02)之前,可以主動要求
    • 被動 - 日志文件損壞,無法恢復(fù)“終點”
    添加新的日志成員 - 給日志文件做鏡像
    SQL> alter database add logfile member 'D:\app\Administrator\oradata\orcl\log\REDO01.LOG' to group 1;
    數(shù)據(jù)庫已更改。
    SQL
    > alter database add logfile member 'D:\app\Administrator\oradata\orcl\log\REDO02.LOG' to group 2;
    數(shù)據(jù)庫已更改。
    SQL
    > alter database add logfile member 'D:\app\Administrator\oradata\orcl\log\REDO03.LOG' to group 3;
    數(shù)據(jù)庫已更改。

    --======剛開始都是INVALID狀態(tài),因為沒有使用過======
    SQL> select group#, sequence#, members from v$log;
        
    GROUP#  SEQUENCE#    MEMBERS
    ---------- ---------- ----------
             1         28          2
             
    2         29          2
             
    3         27          2

    SQL
    > select status, member from v$logfile;
    STATUS         MEMBER
    -------------- --------------------------------------------------
                   D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG
                   D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.
    LOG
                   D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.
    LOG
    INVALID        D:\APP\ADMINISTRATOR\ORADATA\ORCL\
    LOG\REDO01.LOG
    INVALID        D:\APP\ADMINISTRATOR\ORADATA\ORCL\
    LOG\REDO02.LOG
    INVALID        D:\APP\ADMINISTRATOR\ORADATA\ORCL\
    LOG\REDO03.LOG

    --=====使用一次之后,就有狀態(tài)了====
    SQL> alter system switch logfile;
    系統(tǒng)已更改。
    SQL
    > select status, member from v$logfile;
    STATUS         MEMBER
    -------------- --------------------------------------------------
                   D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG
                   D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.
    LOG
                   D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.
    LOG
    INVALID        D:\APP\ADMINISTRATOR\ORADATA\ORCL\
    LOG\REDO01.LOG
    INVALID        D:\APP\ADMINISTRATOR\ORADATA\ORCL\
    LOG\REDO02.LOG
                   D:\APP\ADMINISTRATOR\ORADATA\ORCL\
    LOG\REDO03.LOG


    如果有日志文件有備份的鏡像(member 壞了一個,但是還有別的),則不影響數(shù)據(jù)庫的正常啟動。
    但是在跟蹤日志文件中,還是會有一些“警告”提示。
    NOTE一個member損害:
    1. drop鏡像,相當于沒有做過鏡像,修改控制文件...
      SQL> alter database drop logfile member '*****';

    增加/刪除日志組
    -- 沒有指明group#,系統(tǒng)會自動搜索&使用最小編號
    SQL> alter database add logfile  'E:\ORACLE\WPENG\WPENG\LOG\REDO04.LOG' size 10m;
    Database altered.

    SQL
    > select * from v$log;
        
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
    ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ------------
             1          1        133   52428800          2 YES INACTIVE               2837020 15-OCT-12
             
    2          1        134   52428800          2 NO  CURRENT                2837025 15-OCT-12
             
    3          1        132   52428800          2 YES INACTIVE               2837012 15-OCT-12
             
    4          1          0   10485760          1 YES UNUSED                       0

    -- 也可以自己指明所需要的group#
    SQL> alter database add logfile group 6 'E:\ORACLE\WPENG\WPENG\LOG\REDO05.LOG' size 10m;
    Database altered.

    SQL
    > select * from v$log;
        
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
    ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ------------
             1          1        133   52428800          2 YES INACTIVE               2837020 15-OCT-12
             
    2          1        134   52428800          2 NO  CURRENT                2837025 15-OCT-12
             
    3          1        132   52428800          2 YES INACTIVE               2837012 15-OCT-12
             
    4          1          0   10485760          1 YES UNUSED                       0
             
    6          1          0   10485760          1 YES UNUSED                       0
    可以看到,剛添加的日志組,狀態(tài)都是為UNUSED。
    --drop不會刪除物理日志文件
    SQL> alter database drop logfile group 6;
    Database altered.

    SQL
    > alter database drop logfile group 4;
    Database altered.

    recover database until ***
    • recover database until scn
    • recover database until time
    • recover database until sequence#

    ???
    恢復(fù)當下的 = 判別是否丟失數(shù)據(jù)
    --關(guān)閉數(shù)據(jù)
    SQL> shutdown immediate
    Database closed.
    Database dismounted.
    ORACLE instance shut down.

    --=====刪除當前日志文件組 group 3 所有的member file====

    --啟動數(shù)據(jù)庫到mount狀態(tài)
    SQL> startup mount
    ORACLE instance started.

    Total System Global Area 
    1319546880 bytes
    Fixed Size                  
    2114656 bytes
    Variable Size             
    503319456 bytes
    Database Buffers          805306368 bytes
    Redo Buffers                
    8806400 bytes
    Database mounted.

    --啟動數(shù)據(jù)庫到open狀態(tài)
    --
    失敗:找不到group 3 的 members
    SQL> alter database open;
    alter database open
    *
    ERROR at line 
    1:
    ORA
    -00313open failed for members of log group 3 of thread 1
    ORA
    -00312: online log 3 thread 1'E:\ORACLE\WPENG\WPENG\REDO03.LOG'
    ORA
    -00312: online log 3 thread 1'E:\ORACLE\WPENG\WPENG\LOG\REDO03.LOG'

    --嘗試刪除 group 3
    --
    失敗:group 3是當前日志組
    SQL> alter database drop logfile group 3 ;
    alter database drop logfile group 3
    *
    ERROR at line 
    1:
    ORA
    -01623log 3 is current log for instance wpeng (thread 1- cannot drop
    ORA
    -00312: online log 3 thread 1'E:\ORACLE\WPENG\WPENG\REDO03.LOG'
    ORA
    -00312: online log 3 thread 1'E:\ORACLE\WPENG\WPENG\LOG\REDO03.LOG'

    --嘗試切換當前日志組
    --
    失敗:數(shù)據(jù)庫沒有open
    SQL> alter system archive log current;
    alter system archive log current
    *
    ERROR at line 
    1:
    ORA
    -01109database not open

    恢復(fù)以前的數(shù)據(jù)文件
    -- 關(guān)閉數(shù)據(jù)
    SQL> shutdown immediate
    ORA
    -01109database not open
    Database dismounted.
    ORACLE instance shut down.

    -- ===刪除文件 + 使用用以前的備份文件====

    -- 啟動數(shù)據(jù)庫到 mount狀態(tài)
    SQL> startup mount
    ORACLE instance started.

    Total System Global Area 
    1319546880 bytes
    Fixed Size                  
    2114656 bytes
    Variable Size             
    503319456 bytes
    Database Buffers          805306368 bytes
    Redo Buffers                
    8806400 bytes
    Database mounted.

    -- 查看checkpoint_change#
    SQL> select file#, checkpoint_change# from v$datafile;

         
    FILE# CHECKPOINT_CHANGE#
    ---------- ------------------
             1            2839508
             
    2            2839508
             
    3            2839508
             
    4            2839508
             
    5            2839508

    SQL
    > select file#, checkpoint_change# from v$datafile_header;

         
    FILE# CHECKPOINT_CHANGE#
    ---------- ------------------
             1            2782605
             
    2            2782605
             
    3            2782605
             
    4            2782605
             
    5            2782605

    -- 啟動數(shù)據(jù)庫 open,報錯
    SQL> alter database open;
    alter database open
    *
    ERROR at line 
    1:
    ORA
    -01113file 1 needs media recovery
    ORA
    -01110: data file 1'E:\ORACLE\WPENG\WPENG\SYSTEM01.DBF'

    -- recover database until cancel
    SQL> recover database
    ORA
    -00279: change 2782605 generated at 09/27/2012 10:09:32 needed for thread 1
    ORA
    -00289: suggestion : E:\APP\WPENG\PRODUCT\11.1.0\FLASH_RECOVER_AREA\WPENG\ARCHIVELOG\2012_09_27\O1_MF_1_118_867GK3OW_
    .ARC
    ORA
    -00280: change 2782605 for thread 1 is in sequence #118


    Specify 
    log: {<RET>=suggested | filename | AUTO | CANCEL}

    ORA
    -00283: recovery session canceled due to errors
    ORA
    -00313open failed for members of log group 3 of thread 1
    ORA
    -00312: online log 3 thread 1'E:\ORACLE\WPENG\WPENG\LOG\REDO03.LOG'
    ORA
    -27041: unable to open file
    OSD
    -04002: unable to open file
    O
    /S-Error: (OS 2) The system cannot find the file specified.
    ORA
    -00312: online log 3 thread 1'E:\ORACLE\WPENG\WPENG\REDO03.LOG'
    ORA
    -27041: unable to open file
    OSD
    -04002: unable to open file
    O
    /S-Error: (OS 2) The system cannot find the file specified.
    ORA
    -01112: media recovery not started

    -- group 3 member刪除,只能cancel
    SQL> recover database until cancel
    ORA
    -00279: change 2839398 generated at 10/15/2012 09:17:16 needed for thread 1
    ORA
    -00289: suggestion : E:\APP\WPENG\PRODUCT\11.1.0\FLASH_RECOVER_AREA\WPENG\ARCHIVELOG\2012_10_15\O1_MF_1_138_%U_.ARC
    ORA
    -00280: change 2839398 for thread 1 is in sequence #138


    Specify 
    log: {<RET>=suggested | filename | AUTO | CANCEL}
    cancel
    Media recovery cancelled.

    -- resetlogs方式open database
    SQL> alter database open resetlogs;
    Database altered.

    -- ====刪除的member創(chuàng)建由系統(tǒng)創(chuàng)建===

    -- 5 commit的數(shù)據(jù),在當前group 3,由于被誤刪除,丟失,不完全恢復(fù)
    SQL> select * from t;
            ID
    ----------
             1
             
    2
             
    3
             
    4

    -- 由于resetlogs方式打開數(shù)據(jù)庫,所以log的sequence#重新開始了
    SQL> select * from v$log;
        
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
    ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ----------

             
    1          1          1   52428800          2 YES ACTIVE                 2839399 15-OCT-12
             
    2          1          2   52428800          2 YES ACTIVE                 2839935 15-OCT-12
             
    3          1          3   52428800          2 NO  CURRENT                2839937 15-OCT-12


    posted on 2012-10-14 23:06 鹽城小土包 閱讀(236) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    <2012年10月>
    30123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿

    隨筆檔案(14)

    文章分類(18)

    文章檔案(18)

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 又大又硬又粗又黄的视频免费看 | 成人爽A毛片免费看| 看全免费的一级毛片| 亚洲美女视频免费| 伊伊人成亚洲综合人网7777| 免费福利网站在线观看| 免费在线黄色电影| 亚洲av无码成人精品区一本二本 | 亚洲AV无码专区国产乱码不卡| 亚洲午夜福利精品久久| 18成禁人视频免费网站| 免费很黄无遮挡的视频毛片| 亚洲一卡2卡4卡5卡6卡在线99| 亚洲中文字幕第一页在线| 亚洲?v无码国产在丝袜线观看| 黄网站色在线视频免费观看| 国产日韩一区二区三免费高清| 在线播放免费人成视频网站| 久久精品国产亚洲AV天海翼| 亚洲成a人片在线看| 亚洲激情中文字幕| 亚洲国产精品一区二区第四页 | 亚洲国产亚洲片在线观看播放| 亚洲乱码日产一区三区| 日韩免费观看视频| 免费专区丝袜脚调教视频| 永久在线观看免费视频| 免费视频成人国产精品网站 | 在线看片韩国免费人成视频| 97国免费在线视频| 一级特黄录像免费播放肥| 日日摸夜夜添夜夜免费视频 | 亚洲精品和日本精品| 啊灬啊灬别停啊灬用力啊免费看| 曰批全过程免费视频在线观看| 最近中文字幕mv免费高清在线| 国产免费久久精品99久久| 亚洲av无码一区二区三区人妖| 2020亚洲男人天堂精品| 久久亚洲AV成人出白浆无码国产 | a级黄色毛片免费播放视频|