中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle中adg主庫通過rman無法刪除歸檔怎么辦

發布時間:2021-11-02 09:37:51 來源:億速云 閱讀:540 作者:小新 欄目:MySQL數據庫

這篇文章將為大家詳細講解有關oracle中adg主庫通過rman無法刪除歸檔怎么辦,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

oracle 11.2.0.4 ADG環境

主庫os空間緊張,發現歸檔日志占用很大的一個比例!但是我們的備份腳本中每天都執行

CROSSCHECK ARCHIVELOG ALL;

DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-31';

也就是保留了31天的,那么31天的怎么會這么大呢?

SQL> archive log list;

Database log mode        Archive Mode

Automatic archival        Enabled

Archive destination        /data/oradata/ctidb/arch/

Oldest online log sequence     1319

Next log sequence to archive   1321

Current log sequence        1321

SQL> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

[oracle@BJ-CTI-17 ctidb]$ cd /data/oradata/ctidb/arch/

[oracle@BJ-CTI-17 arch]$ ll -rt  

-rw-r----- 1 oracle oinstall 369649664 Nov  8  2017 1_303_950667461.dbf

-rw-r----- 1 oracle oinstall     56832 Nov  8  2017 1_304_950667461.dbf

-rw-r----- 1 oracle oinstall      1024 Nov  8  2017 1_305_950667461.dbf

-rw-r----- 1 oracle oinstall 377382400 Nov  9  2017 1_306_950667461.dbf

-rw-r----- 1 oracle oinstall     55808 Nov  9  2017 1_307_950667461.dbf

-rw-r----- 1 oracle oinstall      1024 Nov  9  2017 1_308_950667461.dbf

-rw-r----- 1 oracle oinstall 305280000 Aug 10  2017 1_30_950667461.dbf

-rw-r----- 1 oracle oinstall 373349376 Nov 10  2017 1_309_950667461.dbf

-rw-r----- 1 oracle oinstall    141824 Nov 10  2017 1_310_950667461.dbf

-rw-r----- 1 oracle oinstall      1024 Nov 10  2017 1_311_950667461.dbf

發現居然還有一年之前的歸檔日志文件,那就奇怪了?

1)查看控制文件中記錄的歸檔的文件信息

SQL> select name ,SEQUENCE# from v$archeved_log;

name                                                                        SEQUENCE#

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

accdbdg                                                                        1268

                                                                                      1268

accdbdg                                                                         1269

/caadb/oradata/arch/accdb/1_1269_943625125.dbf     1269

accdbdg                                                                         1270

/caadb/oradata/arch/accdb/1_1270_943625125.dbf     1270

accdbdg                                                                         1271

2)rman中查看31天前的歸檔,顯示為空。說明控制文件沒有記錄相關的信息

RMAN>  list archivelog all completed before 'sysdate-31';

3)rman中查看30天前的歸檔,就有了!說明記錄了倒數31天的信息

RMAN>  list archivelog all completed before 'sysdate-30';

List of Archived Log Copies for database with db_unique_name ACCDB

=====================================================================

Key     Thrd Seq     S Low Time

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

2536    1    1269    A 05-JUL-18

        Name: /caadb/oradata/arch/accdb/1_1269_943625125.dbf

2538    1    1270    A 06-JUL-18

        Name: /caadb/oradata/arch/accdb/1_1270_943625125.dbf

2540    1    1271    A 06-JUL-18

        Name: /caadb/oradata/arch/accdb/1_1271_943625125.dbf

再次查看歸檔目錄中的歸檔文件,發現確實是保留了最近31天的歸檔,原來是在歸檔SEQUENCE#為1268開始有了adg,這之前包括1268的歸檔主庫的控制文件都不記錄了!因此執行下列命令是沒辦法刪除;

CROSSCHECK ARCHIVELOG ALL;

DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-31';

解決辦法是通過find命令從os層面刪除歸檔!

[oracle@BJ-CTI-17 arch]$ find /data/oradata/ctidb/arch   -name "*.dbf" -mtime +30 -exec rm -f {} \;

一:關于adg的主庫歸檔刪除策略:

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

該策略對應三個值:

1)NONE :設置為該值時,則不啟用歸檔文件的刪除策略。默認情況下就是NONE。 

2)APPLIED ON STANDBY : 

設置為該值時,會強制檢查待刪除的log 是否已經在備庫apply,只有apply后的log才能刪除。 

當通過附加的 DELETE INPUT 子句刪除Standby數據庫仍需要的日志時,會提示RMAN-08137錯誤而無法刪除。 不過仍然可以手動地通過 DELETE ARCHIVELOG 方式刪除。

3) SHIPPED TO ALL STANDBY:  

RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;

using target database control file instead of recovery catalog

new RMAN configuration parameters:

CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;

new RMAN configuration parameters are successfully stored

注意:如果設置APPLIED ON STANDBY,當歸檔已經正常傳給了standby,那么是可以手工地通過 DELETE ARCHIVELOG 方式刪除,但是由于網絡問題導致沒有傳給standby,這樣你DELETE ARCHIVELOG 就無法刪除了!

二:刪除歸檔的方法:

1.刪除os目錄上不存在的歸檔,也就是刪除控制文件中記錄的信息

RMAN>crosscheck archivelog all;

RMAN> delete expired archivelog all;

2.刪除超過恢復策略的歸檔

RMAN>delete noprompt obsolete;    #不僅僅刪除過期的備份,相關的歸檔也會刪除!

RMAN腳本中使用 “delete noprompt obsolete;” 刪除超出保存策略的備份。

以前我的備份腳本中處理歸檔日志時都是“plus archivelog delete all input”,備份完archivelog后馬上刪除,總以為“delete noprompt obsolete;” 只刪除備份集不刪歸檔。

在做DataGuard時候,Primary需要保存最近的archivelog,以便standby出現archivelog gap時過來取。

實驗中發現它也會將obsolete backupset相關的archivelog一并刪掉。

所有dataguard不能用delete noprompt obsolete;這個命令刪除。

那需要用什么命令刪除呢?

delete archivelog until time 'sysdate-7' ; 刪除截止到前7天的所有archivelog

3.刪除n天前的歸檔,

delete archivelog all completed before 'sysdate-N'

注意:

list archivelog until time 'sysdate-1'; 此時是按照歸檔日志開始時間即fisrt_time作為截止時間

list archivelog all completed before 'sysdate-1' 是按照歸檔日志完成時間即completion_time作為截止時間

試想如果刪除歸檔日志,還是采用delete archivelog all completed before 'sysdate-N'

4.通過os命令刪除30天前的歸檔

[oracle@BJ-CTI-17 arch]$ find /data/oradata/ctidb/arch   -name "*.dbf" -mtime +30 -exec rm -f {} \;

關于“oracle中adg主庫通過rman無法刪除歸檔怎么辦”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節
推薦閱讀:
  1. Oracle Rman
  2. adg 歸檔問題

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

祁门县| 龙口市| 南宫市| 顺昌县| 确山县| 休宁县| 西城区| 绵阳市| 上杭县| 古蔺县| 敦化市| 屯门区| 庐江县| 利川市| 平顶山市| 临漳县| 永和县| 全南县| 湘阴县| 同心县| 米脂县| 阿拉善盟| 龙岩市| 肃宁县| 体育| 隆德县| 县级市| 洪江市| 石阡县| 大洼县| 汉阴县| 永修县| 文山县| 呼玛县| 新龙县| 济南市| 伽师县| 武强县| 霍邱县| 阳信县| 隆回县|