簡體   English   中英

ORACLE 數據庫 | 刪除缺少數據文件的表空間

[英]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;

參考

https://blogs.oracle.com/robertgfreeman/pdb-recovery-your-pdb-wont-open-because-a-datafile-is-missing

您可以按照此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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM