오라클 데이터베이스를 운영하는 데 있어 테이블스페이스(TableSpace)는 데이터 저장의 핵심 요소입니다. 테이블스페이스의 용량 관리 및 설정은 데이터베이스 성능 최적화와 안정적인 운영을 위해 반드시 숙지해야 할 사항입니다. 이 글에서는 오라클 데이터베이스 테이블스페이스 관련 주요 관리 작업을 예제와 함께 정리합니다.
1. 테이블스페이스 정보 확인 (이름 및 용량)
데이터베이스의 모든 테이블스페이스 이름과 크기, 상태 등을 확인하려면 다음 쿼리를 실행합니다.
SELECT
TABLESPACE_NAME,
STATUS,
CONTENTS,
BLOCK_SIZE,
FILE_NAME,
BYTES / 1024 / 1024 AS SIZE_MB,
MAXBYTES / 1024 / 1024 AS MAX_SIZE_MB,
AUTOEXTENSIBLE
FROM
DBA_DATA_FILES;
주요 컬럼 설명:
- TABLESPACE_NAME: 테이블스페이스 이름.
- STATUS: 상태 (ONLINE, OFFLINE 등).
- BYTES: 현재 크기(바이트).
- MAXBYTES: 최대 크기(바이트).
- AUTOEXTENSIBLE: 자동 증가 여부 (YES/NO).
2. DATA 파일 및 테이블스페이스 확인
특정 테이블스페이스에 연결된 데이터 파일 정보를 조회하려면 다음 쿼리를 사용합니다.
SELECT
FILE_ID,
FILE_NAME,
TABLESPACE_NAME,
BYTES / 1024 / 1024 AS SIZE_MB,
MAXBYTES / 1024 / 1024 AS MAX_SIZE_MB,
AUTOEXTENSIBLE
FROM
DBA_DATA_FILES
WHERE
TABLESPACE_NAME = 'USERS'; -- 조회할 테이블스페이스 이름
실행 결과:
- FILE_ID: 데이터 파일 ID.
- FILE_NAME: 데이터 파일 경로.
- SIZE_MB: 현재 크기(MB).
- MAX_SIZE_MB: 최대 크기(MB).
3. 테이블스페이스에 데이터 파일 추가
테이블스페이스의 용량이 부족할 경우 새로운 데이터 파일을 추가하여 확장할 수 있습니다. 다음 명령어를 사용하세요:
ALTER DATABASE
ADD DATAFILE '/u01/app/oracle/oradata/DBNAME/users02.dbf'
SIZE 500M
AUTOEXTEND ON
NEXT 100M
MAXSIZE 5G;
명령어 설명:
- '/u01/app/oracle/oradata/DBNAME/users02.dbf': 새로 추가할 데이터 파일의 경로와 이름.
- SIZE 500M: 초기 크기.
- AUTOEXTEND ON: 자동 증가 활성화.
- NEXT 100M: 자동 증가 시 증가 크기.
- MAXSIZE 5G: 최대 크기.
4. 테이블스페이스 최대 용량 및 자동 증가 설정
4.1 자동 증가 설정
기존 테이블스페이스에 자동 증가를 활성화하려면 다음 명령을 사용합니다.
ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/DBNAME/users01.dbf'
AUTOEXTEND ON
NEXT 100M
MAXSIZE UNLIMITED;
4.2 자동 증가 비활성화
자동 증가를 비활성화하려면 아래 명령을 실행하세요:
ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/DBNAME/users01.dbf'
AUTOEXTEND OFF;
4.3 테이블스페이스 최대 크기 확인 및 변경
특정 테이블스페이스의 최대 크기를 조정하려면 다음 명령어를 사용합니다:
ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/DBNAME/users01.dbf'
RESIZE 2G;
5. 테이블스페이스 요약 및 관리 팁
- 모니터링 주기: 테이블스페이스 사용량은 정기적으로 확인하여 용량 부족을 사전에 방지합니다.
- 자동 증가 활용: 데이터 증가량이 예측하기 어려운 경우 AUTOEXTEND 설정으로 관리 부담을 줄입니다.
- 최대 크기 설정: 테이블스페이스가 데이터베이스 전체 공간을 잠식하지 않도록 MAXSIZE를 적절히 설정합니다.
6. 결론
테이블스페이스 관리는 오라클 데이터베이스 안정적 운영의 핵심입니다. 위에서 설명한 쿼리와 명령을 활용하여 테이블스페이스의 상태를 점검하고 필요한 조치를 취하세요. 데이터 파일 추가, 자동 증가 설정 등 주요 작업을 익혀, 효율적인 데이터베이스 운영 환경을 구축하세요.
위 내용을 바탕으로 여러분의 데이터베이스 관리에 실질적인 도움이 되길 바랍니다. 추가 질문은 댓글로 남겨주세요! 😊