RMAN-03002 RMAN-06091,9i

寫了一個備份腳本:其中備份完之後,刪除過期備份,保證空間可用。

 

點擊(此處)摺疊或打開

  1. run{
  2.  allocate channel d1 device type disk;
  3.  allocate channel d2 device type disk;
  4.  backup as compressed backupset DATABASE include CURRENT controlfile;
  5.  delete noprompt obsolete redundancy 1; 
  6.  release channel d1;
  7.  release channel d2;
  8. }
原本 在 oracle 10g下運行良好。
可是在9i  中運行報錯
    
 RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of delete command at 12/30/2013 13:51:36
RMAN-06091: no channel allocated for maintenance (of an appropriate type)

沒有可用的維護通道,於是加入 ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE disk;
總是提示:
RMAN-00558: error encountered while parsing input commands
RMAN-01005: syntax error: found "for": expecting one of: "channel_id, double-quoted-string, identifier, single-quoted-string"
RMAN-01007: at line 5 column 18 file: standard input

查詢官方文檔明確指出: ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE disk; 是不包含在RUN塊中的

  • Execute this command only at the RMAN prompt. This command cannot be used within a RUN block.


但是又不想寫2個腳本。多次嘗試
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE disk; 這個放在RUN塊之外,最底層,問題解決了

正確的腳本:


點擊(此處)摺疊或打開

  1. ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE disk;
  2. run{
  3.  allocate channel d1 device type disk;
  4.  allocate channel d2 device type disk;
  5.  backup as compressed backupset DATABASE include CURRENT controlfile;
  6.  delete noprompt obsolete redundancy 1; 
  7.  release channel d1;
  8.  release channel d2;
  9. }
發佈了60 篇原創文章 · 獲贊 9 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章