2021. 11. 27. 01:03ㆍStudy/Database

1. 테이블스페이스 생성
사용자 계정만 만들었다고 바로 테이블 생성하고 쓸 수 있는게 아니다.
테이블을 생성하고 데이터를 적재할 공간을 만들어줘야 하는데, 그 공간이 TABLESPACE 이다.
물리적인 저장 공간이라고 생각하면 될 것 같다.
우선, 기본 옵션들로만 TABLESPACE 를 생성해 보았다.
CREATE TABLESPACE TABLESPACE_NAME -- TABLESPACE 이름 지정
DATAFILE 'ORACLE설치경로\oradata\TABLESPACE_NAME.dbf' -- TABLESPACE 데이터 저장 경로
SIZE 512M -- 초기 사이즈
AUTOEXTEND ON NEXT 10M -- 초기 사이즈가 다 찼을 경우, 10M씩 용량을 늘려감
MAXSIZE 4096M -- 최대 용량(4GB)까지만 AUTOEXTEND 할 수 있음
UNIFORM SIZE 1M; -- EXTENT 한개 크기
이 외에도 다른 옵션들이 많지만,
기본으로 이정도만 세팅해줘도 별다른 이상 없이 DB기능을 사용할 수 있다.
용량은 개인 PC 환경에 따라(서버환경에 맞춰서) 정해주면 된다.

테이블 스페이스 생성이 완료되면 DATAFILE 에 지정해준 경로에 DBF 파일이 생성된다.
※ DATAFILE 경로의 경우, 굳이 oradata 하위 경로가 아니어도 되나
관리의 편이성을 위해서 [ oracle 설치경로 > oradata 하위 ] 로 지정하는게 좋다.
SELECT * FROM DBA_TABLESPACES;
전체 테이블스페이스 정보도 조회 가능함
2. 생성된 테이블스페이스에 사용자 설정
테이블 스페이스만 만들어 놓는다고 또 바로 테이블 만들고 데이터처리를 할 수 있는게 아니다.
이 테이블 스페이스를 어떤 사용자에게 할당할 것인지 아직 지정해주지 않았음!
테이블 스페이스에 사용자를 설정해준다.
ALTER USER USERNAME
DEFAULT TABLESPACE TABLESPACE_NAME;
3. 임시 테이블스페이스 설정
테이블 정렬과 같은 임시 작업을 수행할 때 사용하는 작업공간으로,
초기 생성 시, 기본 TEMPORARY TABLESPACE가 할당되어 있다.

로컬환경과 같이 작업량이 적은 DB에서는 기본으로 세팅된 DEFAULT TEMP SPACE를 사용해도 되겠지만,
SYSTEM 에 할당된 DEFAULT TEMPORARY TABLESPACE를 사용하는 것이기 때문에
작업량이 많아지는 경우 SYSTEM TABLESPACE 에 단편화가 발생할 수 있다.
SYSTEM TABLESPACE는 ORACLE SYSTEM 실행에 있어서 필요한 기본 공간이기 때문에
가능한 최상의 성능을 갖춰줘야 할 필요가 있다!
때문에 이런 임시 작업을 할 때 사용할 공간을 각 TABLESPACE 별로 따로 만들어주는 것이 좋다.
참고로, 임시작업용 공간이기 때문에, 초기 사이즈를 쓸데없이 크게 만들면 공간낭비가 될 수 있다.
CREATE TEMPORARY TABLESPACE TABLESPACE_TMP_NAME -- TABLESPACE_TMP 이름 지정
TEMPFILE 'ORACLE설치경로\oradata\TABLESPACE_TMP_NAME.dbf' -- TABLESPACE_TMP 데이터 저장 경로
SIZE 100M -- 초기 사이즈
AUTOEXTEND ON NEXT 100M -- 초기 사이즈가 다 찼을 경우, 100M씩 용량을 늘려감
MAXSIZE 1024M; -- 최대 용량(1GB)까지만 AUTOEXTEND 할 수 있음
TEMPORARY TABLESPACE 생성이 성공하면, TABLESPACE와 마찬가지로 dbf 파일이 생성된다.

임시 테이블 스페이스에도 사용자를 설정해주면 끝!
ALTER USER USERNAME
TEMPORARY TABLESPACE TABLESPACE_TMP_NAME;
'Study > Database' 카테고리의 다른 글
[SQLP] 이론 6. 테이블 설계 (0) | 2021.12.08 |
---|---|
[SQLP] 이론 5. Transaction (0) | 2021.12.03 |
[SQL] VIEW (0) | 2021.12.03 |
[SQL] SELECT, INSERT, UPDATE, DELETE, MERGE (0) | 2021.12.02 |
[SQL] DDL, DML, DCL, TCL (0) | 2021.12.01 |
[Oracle] SQL Plus, 초기설정, 계정생성, 권한부여 (0) | 2021.11.27 |
Oracle 19C 설치 (54% 에서 설치가 멈추는 현상 해결, Windows 10 Pro 기준) (0) | 2021.11.26 |
[SQLP] 이론 4. DB Server Multiplexing (0) | 2021.11.18 |
[SQLP] 이론 3. What is Architecture? (0) | 2021.11.18 |
[SQLP] 이론 2. What is RDBMS and SQL? (0) | 2021.11.15 |