ORA-01652: unable to extend temp segment by 128 in tablespace *** 數據庫
臨時表空間的做用: oracle
臨時表空間主要用途是在數據庫進行排序運算[如建立索引、order by及group by、distinct、union/intersect/minus/、sort-merge及join、analyze命令],管理索引[如建立索引、IMP進行數據導入]、訪問視圖等操做時提供臨時的運算空間,當運算完成以後系統會自動清理。 app
當臨時表空間不足時,表現爲運算速度異常的慢,而且臨時表空間迅速增加到最大空間(擴展的極限),而且通常不會自動清理了。 spa
若是臨時表空間沒有設置爲自動擴展,則臨時表空間不夠時事務執行將會報ora-01652沒法擴展臨時段的錯誤,固然解決方法也很簡單: 一、設置臨時數據文件自動擴展, 或者 二、增大臨時表空間。 排序
臨時表空間的相關操做: 索引
查詢默認臨時表空間: 事務
SQL> select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE'; it
PROPERTY_NAME io
------------------------------ table
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
DEFAULT_TEMP_TABLESPACE
TEMP
Name of default temporary tablespace
查詢臨時表空間狀態:
SQL> select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;
TABLESPACE_NAME
——————————
FILE_NAME
——————————————————————————–
FILE_SIZE AUT
———- —
TEMP
/u01/app/oracle/oradata/orcl/temp01.dbf
100 YES
擴展臨時表空間:
方法1、增大臨時文件大小:
SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp01.dbf’ resize100m;
Database altered.
方法2、將臨時數據文件設爲自動擴展:
SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp01.dbf’ autoextend on next5mmaxsize unlimited;