臨時表空間資料檔案損壞的解決
臨時表空間資料檔案丟失的恢復
臨時表空間資料檔案丟失資料庫可以開啟,可以通過重建一個臨時表空間並設定為預設或者新建一個屬於臨時表空間的資料檔案,並刪除已經丟失的資料的方法來恢復。
1.丟失臨時表空間的資料檔案 ,資料庫可以正常開啟。
SQL> col file for a25
SQL> select f.file#,t.ts#,f.name "file",t.name"tablespace" from v$tempfile f,v$tablespace t where f.ts#=t.ts#;
FILE# TS# file tablespace
---------- ----------------------------------- ------------------------------
1 3 E:\SYSORADATA\TEMP01.DBF TEMP
SQL> show user
USER 為 "SYS"
SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> host move e:\sysoradata\temp01.dbf e:\sysoradata\temp01.dbfa
SQL> startup;
ORACLE 例程已經啟動。
Total System Global Area 431038464 bytes
Fixed Size 1375088 bytes
Variable Size 331351184 bytes
Database Buffers 92274688 bytes
Redo Buffers 6037504 bytes
資料庫裝載完畢。
資料庫已經開啟。
SQL> select tablespace_name,status,contents,extent_management from dba_tablespaces;
TABLESPACE_NAME STATUS CONTENTS EXTENT_MAN
-------------------- --------- -------------------
SYSTEM ONLINE PERMANENT LOCAL
SYSAUX ONLINE PERMANENT LOCAL
UNDOTBS1 ONLINE UNDO LOCAL
TEMP ONLINE TEMPORARY LOCAL
USERS ONLINE PERMANENT LOCAL
BYS_UNDO ONLINE UNDO LOCAL
資料庫OPEN階段部分ALERT日誌:SMON: enabling tx recovery
Re-creating tempfileE:\SYSORADATA\TEMP01.DBF
Database Characterset is ZHS16GBK
No Resource Manager plan active
##########################################################
2.不停機維護臨時表空間
如大規模排序的SQL語句查詢時臨時檔案出問題,臨時表空間對應資料檔案出錯引起ORACLE出錯。
此時,可以為臨時表空間增加一個資料檔案,並且刪除出錯的原臨時表空間資料檔案。
SQL> selecttablespace_name,status,contents,extent_management from dba_tablespaces;
TABLESPACE_NAME STATUS CONTENTS EXTENT_MAN
-------------------- --------- -------------------
SYSTEM ONLINE PERMANENT LOCAL
SYSAUX ONLINE PERMANENT LOCAL
UNDOTBS1 ONLINE UNDO LOCAL
TEMP ONLINE TEMPORARY LOCAL
USERS ONLINE PERMANENT LOCAL
BYS_UNDO ONLINE UNDO LOCAL
SQL> alter tablespace temp add tempfile 'e:\sysoradata\temp02.dbf' size 20m;
表空間已更改。
SQL> select f.file#,t.ts#,f.name"file",t.name "tablespace" from v$tempfile f,v$tablespace t where f.ts#=t.ts#;
FILE# TS# file tablespace
---------- ----------------------------------- ------------------------------
2 3 E:\SYSORADATA\TEMP02.DBF TEMP
1 3E:\SYSORADATA\TEMP01.DBF TEMP
SQL> selecttablespace_name,status,contents,extent_management from dba_tablespaces;
TABLESPACE_NAME STATUS CONTENTS EXTENT_MAN
-------------------- --------- -------------------
SYSTEM ONLINE PERMANENT LOCAL
SYSAUX ONLINE PERMANENT LOCAL
UNDOTBS1 ONLINE UNDO LOCAL
TEMP ONLINE TEMPORARY LOCAL
USERS ONLINE PERMANENT LOCAL
BYS_UNDO ONLINE UNDO LOCAL
SQL> alter tablespace temp drop tempfile 'e:\sysoradata\temp01.dbf';
表空間已更改。
SQL> select f.file#,t.ts#,f.name"file",t.name "tablespace" from v$tempfile f,v$tablespace t where f.ts#=t.ts#;
FILE# TS# file tablespace
---------- ----------------------------------- ------------------------------
2 3E:\SYSORADATA\TEMP02.DBF TEMP
SQL> select tablespace_name,status,contents,extent_management from dba_tablespaces;
TABLESPACE_NAME STATUS CONTENTS EXTENT_MAN
-------------------- --------- -------------------
SYSTEM ONLINE PERMANENT LOCAL
SYSAUX ONLINE PERMANENT LOCAL
UNDOTBS1 ONLINE UNDO LOCAL
TEMP ONLINE TEMPORARY LOCAL
USERS ONLINE PERMANENT LOCAL
BYS_UNDO ONLINE UNDO LOCAL
SQL> col tablespace for a20
SQL> select f.file#,t.ts#,f.name"file",t.name "tablespace",bytes/1024/1024 MB from v$tempfile f,v$tablespace t wheref.ts#=t.ts#;
FILE# TS# file tablespace MB
---------- ----------------------------------- -------------------- ----------
2 3E:\SYSORADATA\TEMP02.DBF TEMP 20
相關ALERT日誌 :
alter tablespace temp add tempfile'e:\sysoradata\temp02.dbf' size 20m
Completed: alter tablespace temp addtempfile 'e:\sysoradata\temp02.dbf' size 20m
Sun Feb 10 20:16:44 2013
alter tablespace temp drop tempfile'e:\sysoradata\temp01.dbf'
WARNING: Cannot delete fileE:\SYSORADATA\TEMP01.DBF
Errors in filec:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_1716.trc:
ORA-01265: 無法刪除 TEMP FILE E:\SYSORADATA\TEMP01.DBF
ORA-27056: 無法刪除檔案
OSD-04024: 無法刪除檔案。
O/S-Error: (OS 32) 另一個程式正在使用此檔案,程式無法訪問。
Completed: alter tablespace temp drop tempfile 'e:\sysoradata\temp01.dbf'
相關文章
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle
- MySQL 磁碟空間滿導致表空間相關資料檔案損壞故障處理MySql
- oracle 普通表空間資料檔案壞塊Oracle
- PostgreSQL資料庫toast表損壞解決SQL資料庫AST
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- 臨時表空間ORA-1652問題解決
- Oracle單個資料檔案損壞,在Rman命令裡設定表空間、資料檔案offline方式來恢復最方便Oracle
- MYSQL造資料佔用臨時表空間MySql
- Oracle 控制檔案損壞解決方案Oracle
- 表空間和資料檔案的管理
- 臨時表空間使用率過高的解決辦法
- mysql臨時表,臨時表空間,ibtmp1表空間暴增原因初探MySql
- [20190410]dg建立臨時表檔案資料檔案.txt
- 新建的表空間(或資料檔案)丟失以及控制檔案丟失,有新建表空間(或資料檔案)前的控制文
- system資料檔案頭損壞修復
- oracle臨時表空間相關Oracle
- 4.2.1.8規劃臨時表空間
- 刪除臨時表空間組
- MySQL InnoDB臨時表空間配置MySql
- 表空間(資料檔案shrink)收縮示例
- InterBase資料庫檔案損壞的修復方法資料庫
- 消除臨時表空間暴漲的方法
- PostgreSQL在不同的表空間移動資料檔案SQL
- 表空間與資料檔案的offline和online操作
- u盤檔案損壞怎麼恢復資料 u盤恢復損壞資料的有效方法
- 2.5.7 建立預設臨時表空間
- MySQL InnoDB系統表空間資料檔案配置MySql
- Oracle資料檔案和臨時檔案的管理Oracle
- MySQL 5.7 新特性 共享臨時表空間及臨時表改進MySql
- 臨時表空間和回滾表空間使用率查詢
- oracle 臨時表空間的增刪改查Oracle
- oracle建立使用者,表空間,臨時表空間,分配許可權步驟詳解Oracle
- oracle11g 查詢臨時表空間的使用率和正在使用臨時表空間的使用者Oracle
- ibdata1檔案損壞時恢復InnoDB單表測試
- 2.5.9 在資料庫建立期間支援大檔案表空間資料庫
- 2.5.4 為 SYSAUX 表空間指定資料檔案屬性UX
- SQLServer如何釋放tempdb臨時表空間SQLServer
- 解決Adobe Acrobat開啟PDF檔案時已損壞無法修復的問題BAT
- 關於丟失表空間資料檔案的處理方式