◆ 스키마의 정의
스키마는 오브젝트들의 집합이다.
스키마는 특정 사용자가 만들어 놓은 결과물들이다. 예를 들어 scott 유저가 테이블, 인덱스, 뷰 등을 만들었다면 그것들은 scott의 스키마이다.

엄격히 말해서 스키마와 사용자는 구분된다.
기성 스키마라고 하면 기성이가 들은 적금, 기성이가 산 주식, 기성이가 보유한 재산 등 기성이와 기성 스키마는 구분됨을 확인할 수 있다.


◆ 유저 생성시 체크해야 할 부분
  - 유저가 만든 오브젝트들이 저장될 테이블스페이스가 있는지 확인
  - 각 테이블스페이스들의 사용량(Quota)을 정한다.
  - 유저가 사용할 디폴트 테이블스페이스와 Temporary 테이블스페이스를 할당한다.
  - 유저를 생성하면서 위의 것들을 같이 지정해준다.
  - 유저가 누릴 권한과 롤을 부여한다.


◆ 유저 생성
SQL> create user 유저명
   identified by 유저패스워드
   default tablespace 테이블스페이스명
   temporary tablespace 테이블스페이스명
   quota 사이즈 on 테이블스페이스명;
테이블스페이스 지정까지는 필수로 해주는 게 좋다.
디폴트 테이블스페이스는 야구로 치면 홈구장과 같은 것임. scott 사용자의 테이블스페이스가 여러 개 있는데, 디폴트 테이블스페이스가 users이면, 개발자가 scott으로 로그인해서 테이블 만들면 users테이블스페이스 안에 저장됨.


◆ 유저의 테이블스페이스 사용량 변경
SQL> alter user 유저명
   quota 사이즈 on 테이블스페이스명;
사이즈에 unlimited를 주면 해당 테이블스페이스를 최대 모든 공간을 사용할 수 있고, 0M로 주면 해당 테이블스페이스에서는 오브젝트를 생성할 수 없다.


◆ 유저 삭제
SQL> drop user 유저명;

SQL> drop user 유저명 cascade;
CASCADE : 유저를 삭제하려면 유저가 만든 오브젝트들을 모두 지운 후에 가능한데, cascade옵션을 주면 줄줄이 삭제 가능함.


◆ 특정 테이블스페이스 지정하여 테이블 생성
SQL> create table test1
   (no number(5))
   tablespace insa;
원래 디폴트 테이블스페이스는 users라고 했을 때, 세번째 구문을 안써주면 users테이블스페이스 안에 저장되겠지만, 세번째 구문을 통해 insa테이블스페이스로 저장된다.


◆ 유저 관련 데이터 딕셔너리
  - DBA_USERS
  - DBA_TS_QUOTAS


◆ SCOTT 유저의 디폴트 테이블스페이스와 Temporary 테이블스페이스 조회
SQL> select username, default_tablespace, temporary_tablespace
   from dba_users
   where username='SCOTT';


◆ SCOTT 유저의 테이블스페이스 사용량 조회
SQL> select *
   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
Posted by 겨울섬
,