異常數據庫
在從庫發現DG同步有延遲時執行recover失敗,後臺日誌會報以下異常:服務器
解決oracle
根據源端地址和本地數據文件存放路徑,整理語句以下:app
alter system set STANDBY_FILE_MANAGEMENT='MANUAL' scope=both; alter database rename file '/data/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00243' to '/data/app/oracle/oradata/PSPROD/PSPRODDG/datafile/o1_mf_gpapp_h4dnw6m6_.dbf'
此時報錯以下:ide
此時須要注意,o1_mf_gpapph4dnw6m6.dbf,這種命名數據文件的方式很奇怪,通常這種方式多出如今ASM磁盤中,由數據庫定義名稱,此時我就想到了OMF,查看相關參數,確認此庫爲OMF管理方式管理數據文件。操作系統
此處驗證證實了個人猜測,因此修改語句從新執行,修復了此問題。日誌
alter database create datafile '/data/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00243' as new; alter system set STANDBY_FILE_MANAGEMENT='AUTO' scope=both;
分析code
在備用數據庫中建立文件爲UNNAMED的緣由有不少,這次是由於備庫上的磁盤空間不足致使的。blog
STANDBY_FILE_MANAGEMENT 在啓用自動備用文件管理後,將在備用數據庫上覆制主數據庫上的操做系統文件添加和刪除。此時,咱們在主服務器上添加數據文件,而恢復過程(MRP)正在嘗試應用存檔,因爲該參數設置,它將在$ ORACLE_HOME / dbs中建立一個未命名的文件將致使殺死MRP進程,錯誤以下所示。進程
當數據庫由OMF管理時,修改路徑時可使用 new 來代替路徑的位置,修改 redo 除外。