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

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

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

    posts - 495,comments - 227,trackbacks - 0
    http://maincoolbo.javaeye.com/blog/568519

    我們都都知道在controlfile中記錄著每一個(gè)archivelog的相關(guān)信息,當(dāng)然們?cè)贠S下把這些物理文件delete掉后,在我們的

    controlfile中仍然記錄著這些archivelog的信息,在oracle的OEM管理器中有可視化的日志展現(xiàn)出,當(dāng)我們手工清除 archive目錄下的文件后,這些記錄并沒(méi)有被我們從controlfile中清除掉,也就是oracle并不知道這些文件已經(jīng)不存在了!這時(shí)候我們要 做手工的清除的話,下面我經(jīng)過(guò)實(shí)驗(yàn),可以嘗試這種方法:

    1. 進(jìn)入rman 

    2. connect target /

    3. crosscheck archivelog all;

    4. delete expired archivelog all;

    這時(shí)候我們?cè)偃EM中看就一定看不到,如果你的從來(lái)沒(méi)有做過(guò)這個(gè)動(dòng)作的話,我們可以比較從這個(gè)動(dòng)作前的controlfile后動(dòng)作后的 controlfile的大小!

    ORACLE正確刪除歸檔并回收空間的方法

    ORACLE正確刪除歸檔并回收空間的方法

    一個(gè)ORACLE歸檔日志經(jīng)常滿,表現(xiàn)為/oraarchive 這個(gè)文件空間占用100%大家一定抱怨ORACLE為何沒(méi)有歸檔維護(hù)工具,很多人直接刪除了事,錯(cuò)了,ORACLE有,而且很智能,可以正確的刪除歸檔和 FLASHBACK,不過(guò)切記,ORACLE歸檔日志對(duì)于ORACLE的數(shù)據(jù)恢復(fù)和備份非常重要,不到萬(wàn)不得已不要?jiǎng)h除歸檔日志。

    刪除歸檔日志的過(guò)程

    以O(shè)RACLE用戶身份登錄到數(shù)據(jù)庫(kù)服務(wù)器主機(jī)或通過(guò)網(wǎng)絡(luò)連接

    進(jìn)入ORACLE數(shù)據(jù)備份工具

    rman target/

    或rman target/@orcl

    在命令窗口里面執(zhí)行

    DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

    說(shuō)明

    SYSDATA-7,表明當(dāng)前的系統(tǒng)時(shí)間7天前,before關(guān)鍵字表示在7天前的歸檔日志,如果使用了閃回功能,也會(huì)刪除閃回的數(shù)據(jù)。

    同樣道理,也可以刪除從7天前到現(xiàn)在的全部日志,不過(guò)這個(gè)命令要考慮清楚,做完這個(gè)刪除,最好馬上進(jìn)行全備份數(shù)據(jù)庫(kù)

    DELETE ARCHIVELOG FROM TIME 'SYSDATE-7';



    UNIX/LINUX下也可以通過(guò)FIND找到7天前的歸檔數(shù)據(jù),使用EXEC子操作刪除



    find /oraarchive -xdev -mtime +7 -name "*.dbf" -exec rm -f {} ;

    這樣做仍然會(huì)在RMAN里留下未管理的歸檔文件

    仍需要在RMAN里執(zhí)行下面2條命令

    crosscheck archivelog all;

    delete expired archivelog all;

    所以還不如上面的方法好用,不過(guò)用FIND的好處就是,可以在條件上,和EXEC子項(xiàng)上做很多操作,實(shí)現(xiàn)更復(fù)雜的功能

    3.簡(jiǎn)要介紹一下report obsolete命令



    使用report obsolete命令報(bào)告過(guò)期備份

    RMAN> report obsolete;

    RMAN retention policy will be applied to the command

    RMAN retention policy is set to redundancy 1

    Report of obsolete backups and copies

    Type                 Key    Completion Time    Filename/Handle

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

    Backup Set           125    01-NOV-04

    Backup Piece       125    01-NOV-04          /data1/oracle/orabak/full_1_541045804

    Backup Set           131    04-NOV-04

    Backup Piece       131    04-NOV-04          /data1/oracle/orabak/full_AVATAR2_20041104_131

    ....

    Backup Set           173    06-DEC-04

    Backup Piece       173    06-DEC-04          /data1/oracle/orabak/full_AVATAR2_20041206_173

    Backup Set           179    11-DEC-04

    Backup Piece       179    11-DEC-04          /data1/oracle/orabak/arch544588206.arc

    .....

    Backup Piece       189    17-DEC-04          /data1/oracle/orabak/arch545106606.arc

    Backup Set           190    17-DEC-04

    Backup Piece       190    17-DEC-04          /data1/oracle/orabak/arch545106665.arc

    Backup Set           191    20-DEC-04

    Backup Piece       191    20-DEC-04          /data1/oracle/orabak/arch_AVATAR2_20041220_194

    Archive Log          2973   20-DEC-04          /opt/oracle/oradata/avatar2/archive/1_2985.dbf

    Archive Log          2971   20-DEC-04          /opt/oracle/oradata/avatar2/archive/1_2984.dbf

    .....

    Archive Log          2705   17-DEC-04          /opt/oracle/oradata/avatar2/archive/1_2717.dbf

    Archive Log          2704   17-DEC-04          /opt/oracle/oradata/avatar2/archive/1_2716.dbf

    Archive Log          2703   17-DEC-04          /opt/oracle/oradata/avatar2/archive/1_2715.dbf

    Archive Log          2702   17-DEC-04          /opt/oracle/oradata/avatar2/archive/1_2714.dbf



    4.使用delete obsolete命令刪除過(guò)期備份:



    RMAN> delete obsolete;



    RMAN retention policy will be applied to the command

    RMAN retention policy is set to redundancy 1

    using channel ORA_DISK_1

    Deleting the following obsolete backups and copies:

    Type                 Key    Completion Time    Filename/Handle

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

    Backup Set           125    01-NOV-04

    Backup Piece       125    01-NOV-04          /data1/oracle/orabak/full_1_541045804

    ....

    Archive Log          2704   17-DEC-04          /opt/oracle/oradata/avatar2/archive/1_2716.dbf

    Archive Log          2703   17-DEC-04          /opt/oracle/oradata/avatar2/archive/1_2715.dbf

    Archive Log          2702   17-DEC-04          /opt/oracle/oradata/avatar2/archive/1_2714.dbf



    Do you really want to delete the above objects (enter YES or NO)? yes

    deleted backup piece

    backup piece handle=/data1/oracle/orabak/full_AVATAR2_20041206_173 recid=173 stamp=544156241

    .....

    deleted archive log

    archive log filename=/opt/oracle/oradata/avatar2/archive/1_2715.dbf recid=2703 stamp=545108268

    deleted archive log

    archive log filename=/opt/oracle/oradata/avatar2/archive/1_2714.dbf recid=2702 stamp=545107659

    Deleted 286 objects





    RMAN> crosscheck archivelog all;



    released channel: ORA_DISK_1

    allocated channel: ORA_DISK_1

    channel ORA_DISK_1: sid=19 devtype=DISK

    specification does not match any archive log in the recovery catalog





    5 在rman中用crosscheck檢查歸檔日志,2個(gè)歸檔日志都是失敗的:

    RMAN> crosscheck archivelog all;



    釋放的通道: ORA_DISK_1

    分配的通道: ORA_DISK_1

    通道 ORA_DISK_1: sid=14 devtype=DISK

    對(duì)歸檔日志的驗(yàn)證失敗

    存檔日志文件名 =D:ORACLEORADATATESTARCHIVE1_47.DBF 記錄 ID=1 時(shí)間戳 =572866

    683

    對(duì)歸檔日志的驗(yàn)證失敗

    存檔日志文件名 =D:ORACLEORADATATESTARCHIVE11_48.DBF 記錄 ID=2 時(shí)間戳 =57286

    6931

    已交叉檢驗(yàn)的 2 對(duì)象



    6 試著同步一下,看行不行,結(jié)果不行,crosscheck還是失敗:

    RMAN> resync catalog;



    正在啟動(dòng)全部恢復(fù)目錄的 resync

    完成全部 resync



    RMAN> crosscheck archivelog all;



    釋放的通道: ORA_DISK_1

    分配的通道: ORA_DISK_1

    通道 ORA_DISK_1: sid=14 devtype=DISK

    對(duì)歸檔日志的驗(yàn)證失敗

    存檔日志文件名 =D:ORACLEORADATATESTARCHIVE1_47.DBF 記錄 ID=1 時(shí)間戳 =572866

    683

    對(duì)歸檔日志的驗(yàn)證失敗

    存檔日志文件名 =D:ORACLEORADATATESTARCHIVE11_48.DBF 記錄 ID=2 時(shí)間戳 =57286

    6931

    已交叉檢驗(yàn)的 2 對(duì)象



    7 用list expired看看是否有失效的archive log,證明沒(méi)有失效的archive log:

    RMAN> list expired archivelog all;



    說(shuō)明與恢復(fù)目錄中的任何存檔日志均不匹配



    8 更改語(yǔ)言環(huán)境試試,結(jié)果再次crosscheck,2個(gè)archive log 都成功了:

    RMAN> exit





    恢復(fù)管理器完成。



    C:>set nls_lang=american_america.zhs16gbk



    C:>rman catalogrman/rman@safetarget /



    Recovery Manager: Release 9.2.0.1.0 - Production



    Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.



    connected to target database: TEST (DBID=1870953724)

    connected to recovery catalog database



    RMAN> crosscheck archivelog all;



    allocated channel: ORA_DISK_1

    channel ORA_DISK_1: sid=9 devtype=DISK

    validation succeeded for archived log

    archive log filename=D:ORACLEORADATATESTARCHIVE1_47.DBF recid=1 stamp=57286

    6683

    validation succeeded for archived log

    archive log filename=D:ORACLEORADATATESTARCHIVE11_48.DBF recid=2 stamp=5728

    66931

    Crosschecked 2 objects


    ====================================
    oracle隱藏參數(shù)字典 x$ksppi x$ksppstvl 
    oracle的隱藏參數(shù)字典是 x$ksppi,x$ksppstvl基表中,有關(guān)隱含參數(shù)說(shuō)明,可以查詢這個(gè)基表

    SQL> desc x$ksppi
    名稱 是否為空? 類型
    ------    -----
    ADDR      RAW(4)
    INDX      NUMBER
    INST_ID   NUMBER
    KSPPINM   VARCHAR2(64)
    KSPPITY   NUMBER
    KSPPDESC  VARCHAR2(64)
    KSPPIFLG  NUMBER

    SQL>

    SQL> desc x$ksppcv
    名稱 是否為空? 類型
    ----------------------------------------- -------- ----------------------------

    ADDR RAW(4)
    INDX NUMBER
    INST_ID NUMBER
    KSPPSTVL VARCHAR2(512)
    KSPPSTDF VARCHAR2(9)
    KSPPSTVF NUMBER
    KSPPSTCMNT VARCHAR2(255)

    SQL>

    比如我現(xiàn)在要查詢隱含參數(shù)
    _allow_resetlogs_corruption /// 這個(gè)參數(shù)說(shuō)明允許數(shù)據(jù)庫(kù)在不一致的條件下,進(jìn)行數(shù)據(jù)庫(kù)打開(kāi)


    查看隱含參數(shù)的值,方式是


    SQL> col ksppinm format a30
    SQL> col ksppstvl format a30
    SQL> select ksppinm,ksppstvl from x$ksppcv cv,x$ksppi pi where cv.indx=pi.indx a
    nd pi.ksppinm like '_allow%';

    KSPPINM KSPPSTVL
    ------------------------------ ------------------------------
    _allow_error_simulation FALSE
    _allow_resetlogs_corruption FALSE
    _allow_terminal_recovery_corru FALSE
    ption

    _allow_read_only_corruption FALSE

    SQL>

    這個(gè)參數(shù)一般在數(shù)據(jù)庫(kù)正常無(wú)法恢復(fù)了,可以用它來(lái)強(qiáng)行打開(kāi)數(shù)據(jù)庫(kù),把數(shù)據(jù)文件先備份出來(lái),這是
    一個(gè)比較好的辦法。
    posted on 2010-04-21 15:14 SIMONE 閱讀(5005) 評(píng)論(0)  編輯  收藏 所屬分類: oracle
    主站蜘蛛池模板: 免费视频成人国产精品网站| 97在线视频免费播放| 亚洲国产成人久久| 亚洲一区无码精品色| 思思99re66在线精品免费观看| 久99久精品免费视频热77| 五级黄18以上免费看| 国产综合成人亚洲区| 亚洲综合色丁香婷婷六月图片| 亚洲网站视频在线观看| 亚洲国产成人久久综合区| 成人毛片免费观看视频在线| 97人妻无码一区二区精品免费| 一个人免费日韩不卡视频| 日韩一区二区a片免费观看| 日本免费人成在线网站| 91精品免费在线观看| 日韩电影免费在线| 妞干网手机免费视频| 亚洲综合区小说区激情区 | 国产区卡一卡二卡三乱码免费| 无码人妻一区二区三区免费| 三年片在线观看免费观看高清电影 | 国产精品国产亚洲区艳妇糸列短篇 | 97无码免费人妻超级碰碰碰碰| 亚洲成年人啊啊aa在线观看| 亚洲国产一区二区a毛片| 亚洲av午夜福利精品一区| 亚洲AV永久无码区成人网站| 亚洲日韩亚洲另类激情文学| 亚洲色偷偷偷综合网| 男人的天堂av亚洲一区2区| 国产精品亚洲专区无码不卡| 久久国产乱子免费精品| 中文字幕免费观看| 亚洲AV永久无码精品一区二区国产| 亚洲成熟xxxxx电影| 亚洲人成电影网站| 九九99热免费最新版| 免费毛片a线观看| 最近免费中文在线视频|