[英]ORACLE Database | remove tablespace with missing datafile
我在刪除表空間之前錯誤地刪除了數據文件。 但是表空間占用了很大的空間。 我需要刪除它,有什么方法嗎?
它發生:
DROP TABLESPACE abc;
*
ERROR at line 1:
ORA-01116: error in opening database file 8
ORA-01110: data file 8: '/data/oradata/oracle/abc.dbf'
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
如果您的數據文件保存在 PDB 中。
您將必須遵循以下命令:
SHUTDOWN ABORT
STARTUP
ALTER PLUGGABLE DATABASE $MyPDB OPEN;
在最后一條命令中,它應該會失敗並出現 ORA-01110 錯誤。
如果你嘗試ALTER DATABASE DATAFILE $datafileNumber OFFLINE DROP;
您將遇到 ORA-01516。
這是因為您試圖在 CDB 而不是 PDB 上刪除數據文件。
要正確執行此操作,您必須修改會話以定位 PDB :
ALTER SESSION SET CONTAINER=$MyPDB;
現在您可以刪除數據文件並打開數據庫:
ALTER DATABASE DATAFILE $datafileNumber OFFLINE DROP;
ALTER PLUGGABLE DATABASE $MyPDB OPEN;
您可以按照此Oracle 論壇中給出的步驟操作:
請按照以下步驟操作:-
1) 關機中止
2) sqlplus sys/xxx 作為 sysdba
3) 改變數據庫掛載
4)alter database datafile ''離線刪除;
5)改變數據庫打開
嘗試恢復數據文件,識別表空間的名稱
select tablespace_name from dba_data_files where file_id = 8;
將表空間的狀態更改為 offline ,以便您可以運行 RMAN(恢復管理器)
alter tablespace test offline immediate;
之后,您必須運行 RMAN 來恢復文件。有關如何執行此操作的更多信息,請閱讀有關 RMAN Burleson 的更多信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.