ORA-01114錯誤原因及解決方法(臨時表空間壞掉、或者滿了)
今天應用伺服器後臺報一下錯誤:
java.sql.SQLException: ORA-01114: 將塊寫入檔案 201 時出現 IO 錯誤 (塊 # 1015305)
ORA-27069: skgfdisp: 嘗試在檔案範圍外執行 I/O
OSD-04026: 傳遞的引數無效。 (OS 1015311)
ORA-01114: 將塊寫入檔案 201 時出現 IO 錯誤 (塊 # 1015305)
ORA-27069: skgfdisp: 嘗試在檔案範圍外執行 I/O
OSD-04026: 傳遞的引數無效。 (OS 1015311)
在網上找資料說,是資料庫臨時表空間滿了或者壞掉了。
查詢臨時表空間的大小
select name, bytes/1024/1024 as "大小(M)" from v$tempfile order by bytes;
看到系統中最大資料檔案D:\Oracle\ORADATA\TFJS\TEMP.DBF 大小為8G,初步估計是temp表空間無法擴充套件的原因。
解決辦法:
1、查詢該使用者下的預設臨時表空間
select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';
2、建立新的臨時表空間
create temporary tablespace temp01 tempfile 'D:\ORACLE\ORADATA\TFJS\TEMP01.DBF'
size 1000M autoextend on;
3、修改預設表空間
alter database default temporary tablespace temp01;
網上的達人都說發生這種問題是因為表空間不夠或者目錄數過多導致,結果登上伺服器發現一切都正常。
經過半天的Google,後來在一個老外的技術文章中找到解決問題的方法:
The solution is (as proposed on this thread):
alter system set events '10046 trace name context off';
alter system set timed_statistics=false;
執行完這兩條指令碼,問題果然解決
相關文章
- ORACLE 臨時表空間滿了的原因解決方案Oracle
- 臨時表空間已滿的解決方法
- ORACLE臨時表空間使用率過高的原因及解決方法Oracle
- 臨時表空間被佔滿的原因查詢
- 解決Oracle臨時表空間佔滿的問題Oracle
- 刪掉Oracle臨時表空間Oracle
- 臨時表空間過大的解決方法
- ORACLE 臨時表空間使用率過高的原因及解決方案Oracle
- 臨時表空間資料檔案損壞的解決
- 表空間滿的解決方法
- UNDO表空間損壞,爆滿,ORA-600[4194]/[4193]錯誤解決
- 收縮臨時表空間收縮方法及ORA-03297錯誤處理
- 【實驗】重建臨時表空間解決臨時表空間過大問題
- mysql臨時表,臨時表空間,ibtmp1表空間暴增原因初探MySql
- system表空間爆滿解決方法
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle
- 【臨時表空間組】臨時表空間組的建立、維護及應用
- 【儲存管理】建立臨時表空間組、建立臨時表空間組及使用
- oracle的臨時表空間寫滿磁碟空間,解決改問題的具體步驟Oracle
- 【實驗】RESIZE方法解決臨時表空間過大問題
- 【TEMP】臨時表空間的工作原理及維護方法
- 【臨時表空間】11g中使用 SHRINK方法縮小臨時表空間和臨時檔案
- ORACLE 中undo表空間爆滿的解決方法Oracle
- oracle臨時表空間過大的原因&&處理Oracle
- 【臨時表空間】11g中使用 SHRINK方法縮小臨時表空間和臨時檔案(續)
- MySQL 5.7 新特性 共享臨時表空間及臨時表改進MySql
- undo 表空間滿了的處理方法
- oracle 臨時表空間Oracle
- oracle臨時表空間Oracle
- 臨時表空間ORA-1652問題解決
- 轉:Oracle 臨時表空間過大問題解決Oracle
- 收縮表空間ORA-03297錯誤解決
- oracle之EXP匯出表空間錯誤解決Oracle
- 批量處理時臨時增加回滾表空間臨時表空間檔案
- 臨時表空間的建立、刪除,設定預設臨時表空間
- oracle的臨時表空間解決問題的步驟Oracle
- Oracle 臨時表空間概念Oracle
- oracle臨時表空間組Oracle