當前位置:成語大全網 - 書法字典 - 如何刪除oracle數據文件

如何刪除oracle數據文件

壹、離線數據文件的使用方法

非歸檔模式使用:更改數據庫數據文件“...”線下掉線;

存檔模式使用:更改數據庫數據文件' ...'線下;

描述:

1)以上命令只是將數據文件脫機,而不是刪除數據庫中的數據文件。該數據文件的信息仍然存在於控制文件中。查詢v$datafile,仍然會顯示該文件。

2)在存檔模式下,離線和離線刪除具有相同的效果。

3)脫機後,將無法訪問此數據文件中存在的對象。

4)在Noarchivelog模式下,只要在線重做日誌沒有被重寫,文件就可以被恢復用於在線操作。

實際使用案例:

解決直接刪除數據文件後無法進入系統的問題。

在正常情況下,刪除表空間的正確方法是:

刪除表空間tablespace_name,包括內容和數據文件;

如果不使用上述刪除命令直接刪除數據文件,將無法打開數據庫。

如果數據文件被直接刪除

當普通用戶登錄時,會報告壹個錯誤:

ORA-01033: ORACLE正在初始化或關閉

Sys用戶可以正常登錄。

但是在操作時(從user _ tables中選擇count (1)),會報告壹個錯誤:

ORA-01219:數據庫未打開:僅在固定表/視圖中允許查詢。

如果執行alter database open命令來打開數據庫,則會報告以下錯誤:

ORA-01157:無法識別/鎖定數據文件12-請參考DBWR跟蹤文件。

ORA-01110:數據文件12:' e:/Oracle/product/10 . 2 . 0/oradata/orcl/ts test 001 . DBF '

這意味著數據庫沒有找到這個數據文件。

因為數據文件在沒有離線的情況下被物理刪除,導致oracle的數據不壹致,所以啟動失敗。

可以通過以下方法解決

解決方案:

sqlplus sys/orcl@orcl作為sysdba

SQL & gt更改數據庫數據文件' E:/ORACLE/PRODUCT/10 . 2 . 0/ORADATA/ORCL/ts test 001。DBF的線下滴滴;

SQL & gt打開數據庫;

SQL & gt刪除表空間CTBASEDATA

二、從Oracle 10G R2開始,可以使用:alter tablespace _ name drop datafile _ name;刪除壹個空的數據文件,相應的數據字典信息將被清除:

sys @ ORCL & gt從dba_data_files中選擇文件id,文件名,表空間名

2其中表空間名= '用戶';

文件ID文件名表空間名

- - -

4/u 01/app/Oracle/oradata/orcl/USERS 01 . DBF用戶

sys @ ORCL & gt更改表空間用戶添加數據文件

2 '/u 01/app/Oracle/oradata/orcl/users 02 . DBF ' size 5M auto extend off;

表空間已更改。

sys @ ORCL & gt從dba_data_files中選擇文件id,文件名,表空間名

2其中表空間名= '用戶';

文件ID文件名表空間名

- - -

4/u 01/app/Oracle/oradata/orcl/USERS 01 . DBF用戶

9/u 01/app/Oracle/oradata/orcl/USERS 02 . DBF用戶

sys @ ORCL & gt落臺試驗;

桌子掉了。

sys @ ORCL & gt創建表測試表空間用戶

2作為

3 select * from dba _ objects

表已創建。

sys @ ORCL & gt從dba_extents中選擇段名、文件ID、塊

2其中file _ id = 9;

段名文件標識塊

- - -

測試9 8

測試9 8

測試9 8

測試9 8

測試9 8

測試9 8

測試9 8

測試9 8

測試9 8

測試9 8

測試9 8

測試9 8

測試9 8

測試9 8

測試9 8

測試9 128

測試9 128

選擇了17行。

sys @ ORCL & gtalter table test move表空間PERFSTAT-將表移動到另壹個表空間。

表格已更改。

sys @ ORCL & gt從dba_extents中選擇段名、文件ID、塊

2其中file _ id = 9;

未選擇任何行

sys @ ORCL & gt更改表空間用戶刪除數據文件

2 '/u 01/app/Oracle/oradata/orcl/users 02 . DBF ';

表空間已更改。

sys @ ORCL & gt從dba_data_files中選擇文件id,文件名,表空間名

2其中表空間名= '用戶';

文件ID文件名表空間名

- - -

4/u 01/app/Oracle/oradata/orcl/USERS 01 . DBF用戶

第三,oracle 10g可以刪除臨時表空間中的文件。

請將數據庫tempfile“/home/Oracle/temp 01 . DBF”刪除,包括數據文件;