Oracle

從 12.1 升級到 12.2 後 Oracle PDB 損壞

  • March 11, 2018

我們將開發環境 Oracle 12.1 RDBMS 升級到 12.2 版本。CDB 包含 3 個 PDB,其中 2 個升級良好,1 個沒有升級。結果是在升級過程中 SYSTEM 和 SYSAUX 表空間空間不足,導致所有包等也失敗。現在我們無法重建內部,因為空間不足(ORA-65114:容器中的空間使用率太高),並且由於系統數據損壞,我們無法擴展/添加或坦率地進行任何操作,例如:

SQL> alter pluggable database storage unlimited;
alter pluggable database storage unlimited
*
ERROR at line 1:
ORA-04088: error during execution of trigger 'LBACSYS.LBAC$BEFORE_ALTER'
ORA-00604: error occurred at recursive SQL level 2
ORA-65114: space usage in container is too high
ORA-06508: PL/SQL: could not find program unit being called:
"LBACSYS.LBAC_EVENTS"
ORA-06512: at line 2

我們嘗試從失敗的 PDB 創建一個新的 PDB(沒有工作)並創建一個新的 PDB 並將舊 PDB 的 USERS 表空間文件移動到新的 PDB 下(使用相同的名稱,但由於校驗和不匹配也沒有工作) PDB 啟動)。

PDB 似乎可供最終使用者使用,但無法執行任何管理活動(expdp 甚至只是查看 Sqldeveloper 中的表元數據)。

是否有任何恢復的機會,還是我們應該開始查找備份?

正如 Balazs Papp 所建議的那樣,在 UPGRADE 模式下打開 PDB 就可以了。之後,我能夠設置儲存限制、調整表空間大小並重建損壞的包。

引用自:https://dba.stackexchange.com/questions/199694