ERROR CODE / 설명
: 테이블 스페이스에 연결된 DATAFILE에 사용가능한 공간을 모두 소진하여 데이터를 입력하지 못하는 경우 발생하는 에러
ORA-01652 : unable to extend temp segment by 1280 in tablespace TS_BIG_D01;
발생 원인
[1] 테이블 생성 시도
: SQL을 수행하는 접속계정의 DEFAULT TABLESPACE는 TS_BIG_D01
CREATE TABLE TB_ADMDONG_PASSENGER_TEST AS SELECT * FROM TB_ADMDONG_PASSENGER_TOT; `
[2] ERROR 발생
ORA-01652 : unable to extend temp segment by 1280 in tablespace TS_BIG_D01;
[3] 테이블 스페이스와 관련된 DATAFILE 정보 확인
1) 테이블 스페이스 정보
SELECT TABLESPACE_NAME
, EXTENT_MANAGEMENT
, SEGMENT_SPACE_MANAGEMENT
, ALLOCATION_TYPE
, STATUS
, CONTENTS
, ( INITIAL_EXTENT / 1024 / 1024 )||'MB' AS INITIAL_EXTENT
, ( NEXT_EXTENT / 1024 / 1024 )||'MB' NEXT_EXTENT
, BIGFILE
FROM DBA_TABLESPACES
WHERE TABLESPACE_NAME = 'TS_BIG_D01';
2) DATAFILE 정보
SELECT TABLESPACE_NAME
, FILE_NAME
, BYTES / POWER(1024,2)||' MB' AS BYTES
, USER_BYTES / POWER(1024,2) ||' MB' AS USER_BYTES
, MAXBYTES / POWER(1024,2) ||' MB' AS MAXBYTES
, AUTOEXTENSIBLE
FROM DBA_DATA_FILES A
WHERE TABLESPACE_NAME = 'TS_BIG_D01';
해결방법
: 아래 SQL을 수행하여 DataFile의 Maxbyte를 늘려 데이터가 유입되도록 한다.
데이터가 계속 유입되면 USER_BYTES가 증가 할 것이다.
( 단, USER_BYTE는 FILE BYTES를 초과할수 없고 FILE BYTES는 MAXBYTE를 초과 할수 없다. )
ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/ORCLCDB/TS_BIG_D01.dbf' AUTOEXTEND ON MAXSIZE 2G;
정상확인
[1] 테이블 생성 -> 정상
CREATE TABLE TB_ADMDONG_PASSENGER_TEST
AS
SELECT * FROM TB_ADMDONG_PASSENGER_TOT;
[2] DATAFILE 정보
SELECT TABLESPACE_NAME
, FILE_NAME
, BYTES / POWER(1024,2)||' MB' AS BYTES
, USER_BYTES / POWER(1024,2) ||' MB' AS USER_BYTES
, MAXBYTES / POWER(1024,2) ||' MB' AS MAXBYTES
, AUTOEXTENSIBLE
FROM DBA_DATA_FILES A
WHERE TABLESPACE_NAME = 'TS_BIG_D01';
'ORACLE > ERROR CODE' 카테고리의 다른 글
ORA-00001 : unique constraint (constraint_name) violated (0) | 2024.04.19 |
---|---|
ORA-28040 : NO matching authentication protocol (0) | 2024.01.09 |
ORA-01795 : maximum number of expressions in a list is 1000 (0) | 2024.01.08 |
ORA-01438 : value larger than specified precision allowed for this column (0) | 2024.01.08 |
ORA-01704 : string literal too long (2) | 2024.01.07 |