◆ 스키마의 정의
스키마는 오브젝트들의 집합이다.
스키마는 특정 사용자가 만들어 놓은 결과물들이다. 예를 들어 scott 유저가 테이블, 인덱스, 뷰 등을 만들었다면 그것들은 scott의 스키마이다.
엄격히 말해서 스키마와 사용자는 구분된다.
기성 스키마라고 하면 기성이가 들은 적금, 기성이가 산 주식, 기성이가 보유한 재산 등 기성이와 기성 스키마는 구분됨을 확인할 수 있다.
◆ 유저 생성시 체크해야 할 부분
- 유저가 만든 오브젝트들이 저장될 테이블스페이스가 있는지 확인
- 각 테이블스페이스들의 사용량(Quota)을 정한다.
- 유저가 사용할 디폴트 테이블스페이스와 Temporary 테이블스페이스를 할당한다.
- 유저를 생성하면서 위의 것들을 같이 지정해준다.
- 유저가 누릴 권한과 롤을 부여한다.
◆ 유저 생성
SQL> create user 유저명
identified by 유저패스워드
default tablespace 테이블스페이스명
temporary tablespace 테이블스페이스명
quota 사이즈 on 테이블스페이스명;
테이블스페이스 지정까지는 필수로 해주는 게 좋다.identified by 유저패스워드
default tablespace 테이블스페이스명
temporary tablespace 테이블스페이스명
quota 사이즈 on 테이블스페이스명;
디폴트 테이블스페이스는 야구로 치면 홈구장과 같은 것임. scott 사용자의 테이블스페이스가 여러 개 있는데, 디폴트 테이블스페이스가 users이면, 개발자가 scott으로 로그인해서 테이블 만들면 users테이블스페이스 안에 저장됨.
◆ 유저의 테이블스페이스 사용량 변경
SQL> alter user 유저명
quota 사이즈 on 테이블스페이스명;
사이즈에 unlimited를 주면 해당 테이블스페이스를 최대 모든 공간을 사용할 수 있고, 0M로 주면 해당 테이블스페이스에서는 오브젝트를 생성할 수 없다.quota 사이즈 on 테이블스페이스명;
◆ 유저 삭제
SQL> drop user 유저명;
SQL> drop user 유저명 cascade;
CASCADE : 유저를 삭제하려면 유저가 만든 오브젝트들을 모두 지운 후에 가능한데, cascade옵션을 주면 줄줄이 삭제 가능함.SQL> drop user 유저명 cascade;
◆ 특정 테이블스페이스 지정하여 테이블 생성
SQL> create table test1
(no number(5))
tablespace insa;
원래 디폴트 테이블스페이스는 users라고 했을 때, 세번째 구문을 안써주면 users테이블스페이스 안에 저장되겠지만, 세번째 구문을 통해 insa테이블스페이스로 저장된다.(no number(5))
tablespace insa;
◆ 유저 관련 데이터 딕셔너리
- DBA_USERS
- DBA_TS_QUOTAS
◆ SCOTT 유저의 디폴트 테이블스페이스와 Temporary 테이블스페이스 조회
SQL> select username, default_tablespace, temporary_tablespace
from dba_users
where username='SCOTT';
from dba_users
where username='SCOTT';
◆ SCOTT 유저의 테이블스페이스 사용량 조회
SQL> select *
from dba_ts_quotas
where username='SCOTT';
from dba_ts_quotas
where username='SCOTT';
'오라클 > Admin' 카테고리의 다른 글
[Admin] Role (0) | 2010.09.04 |
---|---|
[Admin] Privilege (0) | 2010.09.04 |
[Admin] Profile (0) | 2010.09.04 |
[Admin] Table Reorganization (0) | 2010.09.03 |
[Admin] Extent와 Block과의 관계 (0) | 2010.09.02 |