久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

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

150次閱讀
沒有評論

共計 4124 個字符,預計需要花費 11 分鐘才能閱讀完成。

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

oracle 11.2.0.4 ADG 環(huán)境

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

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

發(fā)現(xiàn)居然還有一年之前的歸檔日志文件,那就奇怪了?

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 天前的歸檔,就有了!說明記錄了倒數(shù) 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

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

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 是否已經(jīng)在備庫 apply,只有 apply 后的 log 才能刪除。 

當通過附加的 DELETE INPUT 子句刪除 Standby 數(shù)據(jù)庫仍需要的日志時,會提示 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,當歸檔已經(jīng)正常傳給了 standby,那么是可以手工地通過 DELETE ARCHIVELOG 方式刪除,但是由于網(wǎng)絡問題導致沒有傳給 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 出現(xiàn) archivelog gap 時過來取。

實驗中發(fā)現(xiàn)它也會將 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 無法刪除歸檔怎么辦”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創(chuàng)文章,由 丸趣 2023-07-27發(fā)表,共計4124字。
轉(zhuǎn)載說明:除特殊說明外本站除技術相關以外文章皆由網(wǎng)絡搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 隆子县| 金乡县| 大渡口区| 乐亭县| 怀柔区| 堆龙德庆县| 石台县| 开江县| 金门县| 凤翔县| 连平县| 彝良县| 丹阳市| 安义县| 保康县| 隆回县| 庆云县| 五台县| 镇原县| 夏邑县| 永吉县| 依兰县| 浦北县| 正定县| 苏尼特左旗| 新干县| 佛学| 类乌齐县| 宁津县| 石门县| 广元市| 当雄县| 益阳市| 滨海县| 梨树县| 成武县| 新源县| 辽宁省| 龙口市| 常德市| 古浪县|