728x90
Oracle Database의 TableSpace 관리 中 용량 확인 및 확장하는 방법에 대해 정리하여 공유합니다.
■ TableSpace 용량 확인 (MB 단위)
SELECT A.TABLESPACE_NAME "TABLESPACE Name",
ROUND(MAXBYTES/1048576,2) "최대용량(MB)",
ROUND(A.BYTES_ALLOC / 1024 / 1024, 2) "할당용량(MB)",
ROUND(NVL(B.BYTES_FREE, 0) / 1024 / 1024, 2) "여유용량(MB)",
ROUND((A.BYTES_ALLOC - NVL(B.BYTES_FREE, 0)) / 1024 / 1024, 2) "사용량(MB)",
ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_ALLOC) * 100,2) "여유%",
100 - ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_ALLOC) * 100,2) "사용%"
FROM ( SELECT F.TABLESPACE_NAME,
SUM(F.BYTES) BYTES_ALLOC,
SUM(DECODE(F.AUTOEXTENSIBLE, 'YES',F.MAXBYTES,'NO', F.BYTES)) MAXBYTES
FROM DBA_DATA_FILES F
GROUP BY TABLESPACE_NAME) A,
( SELECT F.TABLESPACE_NAME,
SUM(F.BYTES) BYTES_FREE
FROM DBA_FREE_SPACE F
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME (+)
UNION
SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES_USED + BYTES_FREE) / 1048576, 2),
ROUND(SUM(BYTES_FREE) / 1048576,2),
ROUND(SUM(BYTES_USED) / 1048576,2),
ROUND((SUM(BYTES_FREE) / SUM(BYTES_USED + BYTES_FREE)) * 100,2) FREE_RATE,
100 - ROUND((SUM(BYTES_FREE) / SUM(BYTES_USED + BYTES_FREE)) * 100,2) USED_RATE,
ROUND(MAX(BYTES_USED + BYTES_FREE) / 1048576, 2)
FROM SYS.V_$TEMP_SPACE_HEADER
GROUP BY TABLESPACE_NAME
ORDER BY 1;
■ TableSpace 용량 확장 방법 (파일 추가)
1. 테이블스페이스 정보 확인 (이름 및 용량 등)
SELECT * FROM DBA_TABLESPACES;
2. DATA 파일 및 테이블스페이스 확인
- 테이블스페이스 경로 및 파일명 확인
- 자동증가 설정 확인
SELECT * FROM DBA_DATA_FILES ORDER BY file_name;
3. TableSpace 파일 추가
- 명령어 구성
ALTER TABLESPACE 테이블스페이스명 add datafile '/경로/추가할 테이블스페이스 파일명.dbf' SIZE 용량; |
- 예제 쿼리
-- DATA 파일 추가
ALTER TABLESPACE tbs ADD DATAFILE '/data/oracle/oradata/orcl/tbs6.dbf' SIZE 10240M;
4. TableSpace 최대용량 및 자동증가 설정
- 명령어 구성
alter database datafile '/경로/추가한 테이블스페이스 파일명.dbf' autoextend on next 자동증가용량 maxsize 최대설정용량; |
- 예제 쿼리
-- DATA 파일을 가지고 속성 변경 (자동증가/Max 사이즈)
ALTER DATABASE DATAFILE '/data/oracle/oradata/orcl/tbs6.dbf' AUTOEXTEND ON NEXT 100M MAXSIZE 10240M;
※ 테이블스페이스 용량 부족 시,
기존 TableSpace 용량을 확장하는 경우도 있지만 대용량의 Database의 경우 다수의 파일로 관리하는것이 용이합니다.
반응형
'■ IT 가이드 > Oracle DB' 카테고리의 다른 글
[Oralce] ASM|FS 데이터베이스에서 사용하는 저장 영역 유형을 지정하십시오. (0) | 2022.01.23 |
---|---|
[Oracle] 설치 시 Database Configuration Assistant 에서 넘어가지 않는 오류 (PRCT-1400 / ORA-27102) (0) | 2022.01.23 |
[Oracle] Session/Process 확인 및 설정 가이드 (0) | 2022.01.22 |
[Oracle] ORA-30036 : 세그먼트를 8만큼 실행 취소 테이블스페이스 'xxx'에서 확장할수 없음 (0) | 2022.01.22 |
[Oracle] ORA-28000 : the account is locked (계정잠김) (0) | 2022.01.21 |
댓글