因在oracle db 測試機,ERP 同仁需要還原某一天資料進行測試
將資料庫DMP檔案上傳後執行import 作業操作
會卡在如下訊息不動
processing object type schema_export/table/index/index
查詢log
/u01/app/oracle/diag/rdbms/db2/db2/alert/log.xml
發現有下列訊息,請教比較熟悉oracle DB同仁後,可能是tempfile 滿了,所以import 資料卡住
<msg time='2025-03-08T23:36:55.267+08:00' org_id='oracle' comp_id='rdbms' type='UNKNOWN' level='16' host_id='db10.abc.com' host_addr='X.X.X.X' module='DBMS_SCHEDULER' pid='1941267'> <txt>ORA-1652: unable to extend temp segment by 128 in tablespace TEMP </txt> </msg>
另外
使用sql指令
SQL>SELECT TABLESPACE_NAME, TABLESPACE_SIZE/1024/1024 AS “TOTAL_MB”,
ALLOCATED_SPACE/1024/1024 AS “USED_MB”,
FREE_SPACE/1024/1024 AS “FREE_MB”
FROM DBA_TEMP_FREE_SPACE;
發現TEMP 果然已經爆了
另外再查一下temp是否有設定自動extend ,發現沒有
SQL> SELECT tablespace_name, file_name, bytes/1024/1024 AS size_MB,
maxbytes/1024/1024 AS max_size_MB, autoextensible
FROM dba_temp_files;
FROM dba_temp_files;
2 3
TABLESPACE_NAME
——————————
FILE_NAME
——————————————————————————–
SIZE_MB MAX_SIZE_MB AUT
———- ———– —
TEMP
/u01/app/oracle/oradata/DB2/temp01.dbf
433 0 NO
解決方式
先將temp.dbf 放大,然後設定自動長大
ALTER DATABASE TEMPFILE ‘/u01/app/oracle/oradata/DB2/temp01.dbf’ RESIZE 1024M;
ALTER DATABASE TEMPFILE ‘/u01/app/oracle/oradata/DB2/temp01.dbf’ AUTOEXTEND ON NEXT 100M;
