티스토리 뷰

Oracle

Oracle 테이블스페이스 증설

자바바라 2025. 1. 16. 23:39

Oracle 데이터베이스에서 테이블스페이스(Tablespace)를 증설하는 작업은 
데이터 증가에 따른 저장 공간 확보를 위해 필수.

---

 1. 현재 테이블스페이스 사용 현황 확인
 1.1 테이블스페이스 사용량 조회

SELECT 
    tablespace_name, 
    file_name, 
    bytes/1024/1024 AS "Current Size (MB)",
    maxbytes/1024/1024 AS "Max Size (MB)",
    autoextensible 
FROM dba_data_files 
WHERE tablespace_name = 'YOUR_TABLESPACE_NAME';

 1.2 남은 공간 확인

SELECT 
    tablespace_name,
    SUM(bytes)/1024/1024 AS "Free Space (MB)"
FROM dba_free_space 
WHERE tablespace_name = 'YOUR_TABLESPACE_NAME'
GROUP BY tablespace_name;

---

 2. 증설 방법
 2.1 기존 데이터 파일 크기 확장 (Resize)
- AUTOEXTEND 옵션 활성화:  
  
  ALTER DATABASE DATAFILE '/path/to/datafile.dbf' 
  AUTOEXTEND ON 
  NEXT 100M  -- 자동 확장 시 증가 크기
  MAXSIZE UNLIMITED;  -- 또는 MAXSIZE 2048M (최대 크기 지정)


- 수동으로 크기 변경:  
  
  ALTER DATABASE DATAFILE '/path/to/datafile.dbf' 
  RESIZE 2048M;  -- 새로운 크기 지정


 2.2 새로운 데이터 파일 추가

  ALTER TABLESPACE YOUR_TABLESPACE_NAME 
  ADD DATAFILE '/path/to/new_datafile.dbf' 
  SIZE 1024M 
  AUTOEXTEND ON 
  NEXT 100M 
  MAXSIZE UNLIMITED;


 2.3 TEMP 테이블스페이스 증설

- TEMP 테이블스페이스는 정렬 작업이나 임시 데이터 처리를 위해 사용된다.   
- TEMP 테이블스페이스 정보 확인
  SELECT

     TABLESPACE_NAME,

      FILE_NAME,

      BYTES/1024/1024 AS SIZE_MB
  FROM DBA_TEMP_FILES;
  
- TEMP 테이블스페이스 증설
  ALTER DATABASE
  TEMPFILE '/path_to_tempfile/tempfile01.dbf'
  RESIZE 1G;
  
- TEMP 파일 추가
  ALTER TABLESPACE TEMP
  ADD TEMPFILE '/path_to_tempfile/tempfile02.dbf'
  SIZE 500M AUTOEXTEND ON NEXT 100M MAXSIZE 5G;

---

 3. 작업 후 검증
 3.1 변경 사항 확인

-- 테이블스페이스 크기 및 자동 확장 여부 확인
  SELECT 
    tablespace_name, 
    file_name, 
    bytes/1024/1024 AS "Size (MB)",
    autoextensible 
  FROM dba_data_files 
  WHERE tablespace_name = 'YOUR_TABLESPACE_NAME';


-- Tablespace 사용량 확인
  SELECT 
    tablespace_name,
    used_space,
    free_space,
    total_space
  FROM DBA_TABLESPACE_USAGE_METRICS;


 3.2 OS 레벨에서 데이터 파일 확인
  $ ls -lh /path/to/datafile.dbf -- 파일 크기 확인

---

 4. 주의사항
  1. 용량 계획:  
     - 디스크 여유 공간을 사전에 확인.  
     - `MAXSIZE`를 무제한(`UNLIMITED`)으로 설정하면 디스크 공간 고갈 위험이 있으므로 주의.
  
  2. 성능 영향:  
     - 대용량 데이터 파일 추가/확장 시 I/O 부하가 발생할 수 있다.  
     - Bigfile Tablespace 사용 시 단일 대용량 파일 관리가 가능.
  
  3. 백업:  
     - 테이블스페이스 구조 변경 전 반드시 백업을 수행.
  
  4. ASM 사용 시:  
     - ASM(Automatic Storage Management)을 사용하는 경우, 데이터 파일 경로는 `+DISKGROUP` 형식으로 지정.

---

 5. 자동화 스크립트 예시

-- 1. 테이블스페이스 증설 (새 데이터 파일 추가)
  ALTER TABLESPACE users 
  ADD DATAFILE '+DATA' 
  SIZE 2G 
  AUTOEXTEND ON 
  NEXT 500M 
  MAXSIZE 10G;

-- 2. 기존 데이터 파일 확장
  ALTER DATABASE DATAFILE '+DATA/orcl/users02.dbf' 
  RESIZE 5G;

---

 6. 문제 해결
- ORA-03297: 파일 크기 초과:  
  `RESIZE` 시 지정한 크기가 파일 시스템의 여유 공간을 초과하면 발생합니다.  
  → 디스크 공간을 확보한 후 재시도합니다.

- ORA-01144: 파일 크기 초과 (블록 크기 한계):  
  데이터 파일 크기가 Oracle 블록 크기 한도를 초과할 때 발생합니다.  
  → `MAXSIZE` 값을 조정하거나 추가 데이터 파일을 생성합니다.

---

이 절차를 따라 테이블스페이스를 안전하게 증설할 수 있다. 

운영 환경에서는 반드시 테스트 후 실행하고, 필요 시 DBA와 협업.

'Oracle' 카테고리의 다른 글

Oracle 동적 성능 뷰(Dynamic Performance Views)  (1) 2025.02.01
Oracle Temp Tablespace 증설 작업  (1) 2025.02.01
Oracle 아카이브 로그 삭제  (0) 2025.01.16
V$PROCESS  (1) 2025.01.16
V$INSTANCE  (0) 2025.01.16
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함