요즘 TABLESPACE 를 DATA 영역과 INDEX 를 분리하는 곳이 많다.
아래 가이드를 참고하여, 많은 분들의 도움이 되시면 좋을 것 같습니다.
두 가지 방안으로 Tablespace 를 구성할수 있으며, 방식은 동일하다.
1) sys 권한을 가진 계정을 이용한 Tablespace 생성 후 user 계정을 생성하여 설정
2) Tablespace 를 생성하여, 기존에 생성된 user 계정에게 설정
1. Tablespace (테이블스페이스) 생성
oracle@MIN ~]# sqalplus / as sysdba or oracle@MIN ~]# sqlplus "/as sysdba" |
○ UMF 방식 (User Managed File) 으로 진행하였으며, OMF 방식으로도 구성 가능
- DATA TABLESPACE 생성
SQL> CREATE TABLESPACE 테이블스페이스명 --> 테이블 스페이스 생성 DATAFILE '/경로/데이터파일명.dbf' SIZE 1G --> 데이터파일 경로 및 사이즈 설정 AUTOEXTEND ON NEXT 100M; --> Autoextend 설정 ( 회사 별로 설정 상이) ex) create tablespace TS_min_DATA datafile '/oradata/MINDB/TS_min_DATA_datafile_01.dbf' size 10G autoextend on next 100M; -> Tablespace TS_min_DATA 생성 -> Tablespace datafile 경로 : /oradata/MINDB/TS_min_DATA_datafile_01.dbf -> datafile size : 10 GB (10GB 로 초기 생성 / 100M , 1G 등 사용자에 맞게 생성한다.) -> autoextend : 초기값 10GB 사용 이후 100M 씩 자동으로 tablespace용량 증가 |
- INDEX TABLESPACE 생성
SQL> CREATE TABLESPACE 테이블스페이스명 --> 테이블 스페이스 생성 DATAFILE '/경로/데이터파일명.dbf' SIZE 1G --> 데이터파일 경로 및 사이즈 설정 AUTOEXTEND ON NEXT 100M; --> Autoextend 설정 ( 회사 별로 설정 상이) ex) create tablespace TS_min_INDEX datafile '/oradata/MINDB/TS_min_INDEX_datafile_01.dbf' size 10G autoextend on next 100M; -> Tablespace TS_min_INDEX 생성 -> Tablespace datafile 경로 : /oradata/MINDB/TS_min_INDEX_datafile_01.dbf -> datafile size : 10 GB (10GB 로 초기 생성 / 100M , 1G 등 사용자에 맞게 생성한다.) -> autoextend : 초기값 10GB 사용 이후 100M 씩 자동으로 tablespace용량 증가 |
2. 계정에 생성 및 TABLESPACE 할당
SQL> CREATE USER 유저명 IDENTIFIED BY 패스워드 DEFAULT TABLESPACE 테이블 스페이스명 QUOTA UNLIMITED ON 데이터 테이블 스페이스명 --> 테이블스페이스 사용 용량 설정 QUOTA UNLIMITED ON 인덱스 테이블 스페이스명; --> 테이블스페이스 사용 용량 설정 ex) create user min identified by 1 default tablespace TS_min_DATA quota unlimited on TS_min_DATA quota unlimited on TS_min_INDEX ; -> min 유저 패스워드 1로 생성하며, default tablespace 를 TS_min_DATA 로 설정 -> min 계정은 TS_min_DATA / TS_min_INDEX TABLESPACE 에 대해 용량 제한없이 사용가능하도록 설정 |
해당 설정이 완료 된 후 min 계정은 연결된 테이블스페이스 2개를 사용할수 있으며,
DATA / INDEX 구성시 두개의 TABLESPACE 를 사용하도록 구성하면 된다.
이후 추가적인 권한이 필요할 수 있으므로, 각 업무에 정책에 따라 부여하면 됩니다.
ex) GRANT RESOURCE, CONNECT, DBA TO USER명
3, 기존 생성된 계정에 TABLESPACE 할당
SQL> ALTER USER 유저명 DEFAULT TABLESPACE 테이블 스페이스명; --> 테이블 스페이스 할당 QUOTA UNLIMITED ON 데이터 테이블 스페이스명 --> 테이블스페이스 사용 용량 설정 QUOTA UNLIMITED ON 인덱스 테이블 스페이스명; --> 테이블스페이스 사용 용량 설정 ex) alter user min default tablespace TS_min_DATA quota unlimited on TS_min_DATA quota unlimited on TS_min_INDEX ; -> user min 계정에게 default tablespace TS_min_DATA 설정 -> in 계정은 TS_min_DATA / TS_min_INDEX TABLESPACE 에 대해 용량 제한없이 사용가능하도록 설정 |
별첨) USER의 TABLESPACE 구성 확인 쿼리
4. Default Tablespace 확인
- user 계정으로 조회
SQL> sqlpus / as sysdba SQL> conn min password : 1 SQL> select * from user_users; |
별첨1) Default Tablespace 설정 전
별첨2) Default Tablespace 설정 후
'IT-Infra, Network > IT-Oracle' 카테고리의 다른 글
ORA-01045 (로그인 실패/권한 부족) (0) | 2020.01.20 |
---|---|
Oracle bash_profile (기본 프로파일) (0) | 2020.01.20 |
Oracle 계정 생성 및 권한 설정과 해제 (create user, grant, revoke) (0) | 2020.01.20 |
Oracle Spfile / Pfile 기동 파라미터 확인 및 생성 (0) | 2020.01.20 |
Oracle Tablespace (테이블스페이스) 생성 (0) | 2020.01.20 |