posts - 495,comments - 227,trackbacks - 0

           

          1、刪除多余的歸檔日志

          在ORACLE10G中,默認的歸檔路徑為$ORACLE_BASE/flash_recovery_area。對于這個路徑,ORACLE有一個限制,就是默認只能有2G的空間給歸檔日志使用,可以使用下面兩個SQL語句去查看它的限制:
          1. select * from v$recovery_file_dest;
          2. show parameter db_recovery_file_dest(這個更友好直觀一些)
          當歸檔日志數量大于2G時,那么就會由于沒有更多的空間去容納更多的歸檔日志會報無法繼續歸檔的錯誤。
          如:“RA-19809: limit exceeded for recovery files
          ORA-19804: cannot reclaim 10017792 bytes disk space from 2147483648 limit
          ARC0: Error 19809 Creating archive log file to '/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2007_04_30/o1_mf_1_220_0_.arc' ”這時我們可以修改它的默認限制,比如說將它增加到5G或更多,也可以將歸檔路徑重新置到別的路徑,就不會有這個限制了。

            更改限制語句如下:
          alter system set db_recovery_file_dest_size=5368709102  (這里為5G 5x1024x1024x1024=5G)
          alter system set db_recovery_file_dest_size=10737418240



          進入

          rman target username/password@database

           

          執行下邊的交叉校驗

          crosscheck archivelog all;

          此時可能會提示校驗失敗,類似下邊的提示:

          RMAN> crosscheck archivelog all;

          釋放的通道: ORA_DISK_1

          分配的通道: ORA_DISK_1

          通道 ORA_DISK_1: sid=14 devtype=DISK

          對歸檔日志的驗證失敗

          …………….

          這時,需要執行exit退出rman

          在命令提示符窗口下執行下邊的字符集設置

          C:>set nls_lang=american_america.zhs16gbk

          然后再進入rman  ,再執行crosscheck archivelog all;一般不會再出現這樣的問題了。

           

          在命令窗口里面執行

          DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

          說明

          SYSDATA-7,表明當前的系統時間7天前,before關鍵字表示在7天前的歸檔日志,如果使用了閃回功能,也會刪除閃回的數據。

          同樣道理,也可以刪除從7天前到現在的全部日志,不過這個命令要考慮清楚,做完這個刪除,最好馬上進行全備份數據庫

          DELETE ARCHIVELOG FROM TIME 'SYSDATE-7';

           

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

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

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

          仍需要在RMAN里執行下面2條命令

          crosscheck archivelog all;

          delete expired archivelog all;

          所以還不如上面的方法好用,不過用FIND的好處就是,可以在條件上,和EXEC子項上做很多操作,實現更復雜的功能

           

          2、report obsoletedelete obsolete刪除過期備份命令

          使用report obsolete命令報告過期備份

          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

          ....

           

          使用delete obsolete命令刪除過期備份:

          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

          .....

           

          注:在執行刪除的時候,可能會提示下邊的報錯信息:

          ORA-19554: 配置設備時出錯, 設備類型: SBT_TAPE, 設備名稱:

          ORA-27211: 未能加載介質管理庫

           

          解決方法,運行下邊的命令:

          RMAN> allocate channel for maintenance type disk;

          RMAN> crosscheck archivelog all;

          RMAN> delete obsolete;

           

           

          3Oracle RMANshow,list,crosscheck,delete

           

          Oracle RMANshow,list,crosscheck,delete 命令整理

          1SHOW命令:

             顯示rman配置: RMAN> show all;

          2、REPORT命令:

             2.1、RMAN> report schema                        報告目標數據庫的物理結構;

             2.2、RMAN>report need backup days=3;            報告最近3天沒有被備份的數據文件;

             2.3、RMAN> report need backup days 3 tablespace users;   USERS表空間上3天未備份的數據文件;

             2.4、RMAN> report need backup incremental 3;    報告恢復數據文件需要的增量備份個數超過3次的數據文件;

             2.5、RMAN> report need backup redundancy 2 database;           報告備份文件低于2份的所有數據文件;

                  RMAN>report need backup redundancy=2;

             2.6RMAN> report need backup recovery window of 6 days;    報告文件報表的恢復需要超過6天的歸檔日志的數據文件;

             2.7、RMAN> report unrecoverable;      報告數據庫所有不可恢復的數據文件;

             2.8、RMAN> report obsolete redunndancy 2; 報告備份次數超過2次的陳舊備份;

             2.9RMAN>report obsolete;          報告多余的備份;

          3、LIST命令:列出備份信息

             3.1、列出數據文件備份集

                  RMAN>list backup         列出詳細備份;

                  RMAN>list expired backup     列出過期備份;

                  RMAN> list backup of database;     列出所有數據文件的備份集;

                  RMAN> list backup of tablespace user01; 列出特定表空間的所有數據文件備份集;

             3.2、RMAN> list backup of controlfile     列出控制文件備份集;

             3.3RMAN> list backup of archivelog all      列出歸檔日志備份集詳細信息;

                  RMAN>list archivelog all;      列出歸檔日志備份集簡要信息

             3.4、RMAN> list backup of spfile              列出SPFILE備份集;

             3.5RMAN> list copy of datafile 5        列出數據文件映像副本;

             3.6、RMAN> list copy of controlfile           列出控制文件映像副本;

             3.7RMAN> list copy of archivelog all    列出歸檔日志映像副本;

             3.8、RMAN> list incarnation of database       列出對應物/列出數據庫副本;

             3.9、RMAN>list backup summary;    概述可用的備份;

                          B表示backup

                          F表示FULL

                          A表示archive log

                          0 1表示incremental backup

                          S說明備份狀態(A AVAILABLE   X EXPIRED )

              

             3.10RMAN>list backup by file    按備份類型列出備份;

                              按照數據文件備份,歸檔日志備份,控制文件備份,服務器參數文件備份 列出

          4CROSSCHECK命令:校驗備份信息

             4.1、RMAN> crosscheck backup             核對所有備份集;  

             4.2、RMAN> crosscheck backup of database      核對所有數據文件的備份集;  

             4.3RMAN> crosscheck backup of tablespace users      核對特定表空間的備份集;  

             4.4、RMAN> crosscheck backup of datafile 4    核對特定數據文件的備份集;  

             4.5、RMAN> crosscheck backup of controlfile   核對控制文件的備份集;  

             4.6RMAN> crosscheck backup of spfile    核對SPFILE的備份集;  

             4.7、RMAN> crosscheck backup of archivelog sequence 3 核對歸檔日志的備份集;  

             4.8、RMAN> crosscheck copy               核對所有映像副本;  

             4.9、RMAN> crosscheck copy of database       核對所有數據文件的映像副本;  

             4.10、RMAN> crosscheck copy of tablespace users       核對特定表空間的映像副本;  

             4.11、RMAN> crosscheck copy of datafile 6        核對特定數據文件的映像副本;  

             4.12、RMAN> crosscheck copy of archivelog sequence 4  核對歸檔日志的映像副本;  

             4.13RMAN> crosscheck copy of controlfile       核對控制文件的映像副本; 

             4.14、RMAN> crosscheck backup tag='SAT_BACKUP';

             4.15、RMAN> crosscheck backup completed after 'sysdate - 2'

             4.16、RMAN> crosscheck backup completed between 'sysdate - 5' and 'sysdate -2 '

             4.17RMAN> crosscheck backup device type sBT;

             4.18RMAN> crosscheck archivelog all;

             4.19RMAN> crosscheck archivelog like '%ARC00012.001'

             4.20、RMAN> crosscheck archivelog from sequence 12;

             4.21、RMAN> crosscheck archivelog until sequence 522;

          5、DELETE:刪除備份

             5.1、RMAN> delete obsolete;      刪除陳舊備份;

             5.2RMAN> delete expired backup; 刪除EXPIRED備份    

             5.3、RMAN> delete expired copy;   刪除EXPIRED副本;

             5.4、RMAN> delete backupset 19;   刪除特定備份集;

             5.5RMAN> delete backuppiece ''d:\backup\DEMO_19.bak''   刪除特定備份片;

             5.6、RMAN> delete backup      刪除所有備份集;

             5.7、RMAN> delete datafilecopy ''d:\backup\DEMO_19.bak''  刪除特定映像副本;

             5.8、RMAN> delete copy   刪除所有映像副本;

             5.9、RMAN> delete archivelog all delete input;

                  RMAN> delete backupset 22 format = ''d:\backup\%u.bak'' delete input

                                 在備份后刪除輸入對象;

             5.10RMAN> delete backupset id;

           

           

          4em控制臺對備份的操作

          使用sys用戶的sysdba權限進入em控制臺

          在“維護”模塊下,點擊進入到“管理當前備份”操作選項。

           在“管理當前備份”選項中可以列出所有的備份集

          如果要刪除備份,可以在下邊的列表中選中要刪除的備份集,執行“刪除”命令,這時會有一個確認提示的頁面:

          點擊“是”按鈕,進行刪除操作。如果提示操作“刪除”失敗,可以將上一步要執行的命令在命令提示符下使用rman命令來執行。

           

          5、小結

          像歸檔日志之類的備份,備份的文件夾是在一個叫flash_recovery_area的目錄下邊。

          1、歸檔日志備份在ARCHIVELOG 這個文件夾下邊,上邊對歸檔日志的操作基本上是對這個文件夾下的文件進行操作。

          2、obsolete刪除操作基本上是對AUTOBACKUP這個文件夾下的文件進行操作。(不是十分的確定)

          3delete backup操作基本上是對BACKUPSET文件夾和DATAFILE文件夾的內容進行操作的。

          4、在em管理后臺,最下邊有一個“相關鏈接”模塊,下有“作業”選項鏈接,可以看到所有數據庫備份操作歷史作業記錄,在此可以對相應的備份作業進行修改操作。

          另外如果要添加備份操作作業時,需要在“維護”模塊下找到“調試備份”鏈接,推薦使用“Oracle 建議的備份”來添加備份操作作業。


          Linux下查看文件夾大小的命令du -sh docname

           

          posted on 2010-11-05 11:08 SIMONE 閱讀(3978) 評論(0)  編輯  收藏 所屬分類: oracle
          主站蜘蛛池模板: 东兴市| 开化县| 奎屯市| 曲松县| 和田县| 突泉县| 新兴县| 黑河市| 茶陵县| 嘉义县| 新河县| 东台市| 正宁县| 商洛市| 岫岩| 陇南市| 博乐市| 读书| 黔东| 定边县| 封丘县| 宁河县| 和静县| 泽库县| 滕州市| 读书| 澎湖县| 克拉玛依市| 乳山市| 耒阳市| 内丘县| 施秉县| 泗水县| 蓝田县| 商水县| 营山县| 武功县| 黎平县| 玛曲县| 奉贤区| 娄底市|