程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 表空間_臨時表空間引起的錯誤:ora-01652小例

表空間_臨時表空間引起的錯誤:ora-01652小例

編輯:Oracle教程

表空間_臨時表空間引起的錯誤:ora-01652小例


報臨時表空間不足錯誤:ora-01652

在進行insert操作的時候,遇到報錯如下:提示臨時表空間不足問題。

\

錯誤信息如下:

\

查看臨時表空間的擴展,已經自動擴展到32G。

回顧一下臨時表空間的使用場合:

對於臨時表空間的作用,排序操作可能是會使用到臨時表空間的。當sort area內存不足會用到臨時表空間。對於排序的情況,使用到排序的操作有: create index,order by ,group by ,收集統計信息時,都可能會用臨時表空間。排序操作首先會在sort area 內存中進行排序,一旦sort area(內存排序區)內存不足,則會使用到臨時表空間 sort in disk(磁盤排序,即臨時表空間)。

而這次報錯的可能性,有可能是插入時需要同時創建索引,於是需要大量使用臨時表空間。並且本次插入,為了增加速度,並行啟動了多個插入任務,於是出現了臨時表空間不足的情況。

 

解決:

遭遇錯誤後,停止了所有的數據插入操作。計劃進行了如下調整:

1、擴展臨時表空間大小;

2、減少並行任務數量;

3、刪除索引,待數據全部插入後,重新創建索引;

4、任務完成後,回收臨時表空間;

 

實際中先嘗試了前兩個步驟,問題成功規避:

1、擴展臨時表空間至60G。

2、然後減少並發量有4個降到2個,采取執行插入動作,逐一執行。

結果:最後大數據量數據被成功插入。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved