DBCS TABLESPACE
* ORACLE CLOUD에서 사용되는 DB 즉.. DBCS 에서의 테이블 스페이스 조회/생성 등에 대해서 알아봅니다.
* 클라우드에서 제공되는 DBCS(Database Cloud Service)의 파일구조는 구축형으로 사용하는 ORACLE과는 다른듯 하다.
* 그동안 겪었던 상황을 정리해 봅니다.
1.테이블 스페이스 조회
SELECT A.TABLESPACE_NAME, A.FILE_NAME,
ROUND((A.BYTES - B.FREE)/1024/1024/1024, 2) || 'GB' AS USED_SIZE,
ROUND(B.FREE/1024/1024/1024, 2) || 'GB' AS FREE_SIZE,
ROUND(A.BYTES/1024/1024/1024, 2) || 'GB' AS TOTAL_SIZE,
TO_CHAR( (B.FREE / A.BYTES * 100) , '999.99')||'%' AS FREE_RATE
FROM
(
SELECT FILE_ID,TABLESPACE_NAME,FILE_NAME,SUM(BYTES) BYTES
FROM DBA_DATA_FILES
GROUP BY FILE_ID,TABLESPACE_NAME,FILE_NAME
)A,
(
SELECT TABLESPACE_NAME,FILE_ID,SUM(NVL(BYTES,0)) FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME,FILE_ID
)B
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME
AND A.FILE_ID = B.FILE_ID
;
조회되는 결과는 아래와 같다.
테이블스페이스명 / 파일경로및이름 / 사용된용량 / 여유용량 / 총 용량 / 여유용량 비율 의 순으로 조회
2.테이블 스페이스 생성
- 위에서 얘기한것 처럼 DBCS의 파일구조는 일반 ORACLE 설치형과는 달라서 데이터베이스 파일명을 우리가 지정하지 않아도 된다.(지정이 따로 안되는듯.. ). 그냥 아래와 같이 '+DATA'만 쓰면 됨.
- CREATE TABLESPACE 테이블스페이스명 DATAFILE '+DATA' SIZE 파일초기용량 옵션;
* 테이블 스페이스 TS_TEST_D01 를 10G DATAFILE을 생성하고 32G(파일당 최고용량) 까지 자동증가의 옵션으로 테이블 스페이스 생성
CREATE TABLESPACE TS_TEST_D01 DTAFILE '+DATA' SIZE 10G AUTOEXTEND ON;
이렇게만 해 줘도 되는데 AUTOEXTEND, 즉 파일이 자동으로 늘어날때 크기를 지정해 주고 싶으면 NEXT 사이즈를 입력
CREATE TABLESPACE TS_TEST_D01 DTAFILE '+DATA' SIZE 10G AUTOEXTEND ON NEXT 100M;
3.테이블 스페이스 용량 자동증가
기본 문법은
ALTER DATABASE DATAFILE '파일경로' AUTOEXTEND ON NEXT 용량(M/G);
- 이때 파일경로는 1.테이블 스페이스 조회의 쿼리로 확인한 FILE_NAME을 복사해서 넣어준다.
ALTER DATABASE DATAFILE '+DATA/CSPPRDDB_CSPPRD/D67A436459F26A11E0539B06000A8811/DATAFILE/ts_cprotest_d01.304.1095638813' AUTOEXTEND ON
또는
ALTER DATABASE DATAFILE '+DATA/CSPPRDDB_CSPPRD/D67A436459F26A11E0539B06000A8811/DATAFILE/ts_cprotest_d01.304.1095638813' AUTOEXTEND ON NEXT 100M
4.테이블 스페이스 파일 추가
- 데이터베이스를 운영하다가 보면 하나의 파일이 32G까지 꽉 차서 더이상 TABLESPACE 공각을 늘리지 못하는 경우생김. 이때는 테이블 스페이스에 물리적인 파일을 하나 더 생성해 주면됨.
- 이것 또한 DBCS는 일반 ORACLE 구축형과는 틀림
* 위에서 생성한 테이블 스페이스 TS_TEST_D01에 파일을 추가하는 방법은
ALTER TABLESPACE 테이블스페이스명 ADD DATAFILE SIZE 용량
ALTER TABLESPACE TS_TEST_D01 ADD DATAFILE SIZE 10G;
이렇게 해 주면 된다.
* 회사에서 직접 DB를 운영하고 클라우드를 처음 도입해서 DBCS를 사용하시는 분들에게 도움이 되었으면 합니다.