DB 사용자 생성

Databases 2011. 3. 28. 13:58
@ 새로운 USER를 생성하기 위해서는 CREATE USER문을 이용하며, USER를 생성하기 위해서는
    USER생성 권한이 있는 사용자로 접속해야 됩니다.

사용자 생성 문법(Syntax)


 - user_name : 사용자 이름
 - BY password : 사용자가 데이터베이스에 의해 인증되도록 지정하며, 로그온시 사용하는 비밀번호
 - EXTERNALLY : 사용자가 운영 체제에 의해서 인증되도록 지정
 - DEFAULT TABLESPACE : 사용자 스키마를 위한 기본 테이블 스페이스 지정
 - TEMPORARY TABLESPACE : 사용자의 임시 테이블 스페이스지정
 - QUOTA : 절을 사용하여 사용자가 사용할 테이블 스페이스의 영역할당
 - PASSWORD EXPIRE : 사용자가 SQL*PLUS를 사용하여 데이터베이스에 로그인할  때 암호를 재설정
                                      (사용자가  데이터베이스에 의해  인증될 경우에만 적합한 옵션)
 - ACCOUNT LOCK/UNLOCK :  사용자 계정을 명시적으로 잠그거나 풀 때 사용 (기본값:UNLOCK)
 - PROFILE : 자원 사용을 제어하고 사용자에게 사용되는 암호 제어 처리 방식을 지정하는데 사용

[보강 1]
 * 사용자를 생성할때 임시테이블스페이스를 따로 지정하는 것을 권장
     - 임시 테이블스페이스를 지정해 주지 않으면 시스템 테이블스페이스가 기본으로 지정 되지만
       시스템 테이블스페이스에 단편화를 방지

 사용자를 생성할때 DEFAULT TABLESPACE를 지정을 해서 사용자가 소유한 데이터와 객체들의
     저장 공간을 별도로 관리
     - 
DEFAULT TABLESPACE도 사용자를 생성할때 지정하지 않으면 기본적으로 시스템 테이블스페이스가
       지정되므로 단편화를 방지

 * 시스템 테이블스페이스는 본래의 목적(모든 데이터 사전 정보와, 저장 프로시저, 패키지, 데이터베이스 트리거등을 저장)을 위해서만 사용되어져야 하지 일반사용자의 데이터 저장용으로 사용 되어서는 안됩니다.

[보강 2]
테이블 스페이스란 ?
 - 오라클 서버가 테이터를 저장하는 논리적인 구조
 - 테이블스페이스는 하나 또는 여러개의 데이터파일로 구성되는 논리적인 데이터 저장 구조 


사용자 생성 예제

SQL PLUS를 실행시키고 SCOTT/TIGER로 접속을 합니다.
.
SQL>CREATE USER TEST IDENTIFIED BY TEST;

1행에 오류:
ORA-01031: 권한이 불충분합니다

SCOTT USER는 사용자 생성 권한이 없어서 사용자를 생성할 수 없습니다.
 
SQL>CONN SYSTEM/MANAGER       -- DBA Role이 있는 유저로 접속합니다.

SQL>CREATE USER TEST IDENTIFIED BY TEST;    -- USER를 다시 생성합니다.
 사용자가 생성되었습니다. 


 새로 생성한 USER로 접속해 볼까요..

SQL>
CONN TEST/TEST

ERROR:
ORA-01045: 사용자 TEST는 CREATE SESSION 권한을 가지고있지 않음; 로그온이
거절되었습니다

-  새로 생성한 TEST USER는 권한이 없어서 접근할 수가 없습니다.
-  모든 USER는 권한이 있고 권한에 해당하는 역할만 할 수 있습니다.
-  TEST라는 USER를 사용하기 위해서도 권한을 부여해주어야 합니다.


SQL> CONN SYSTEM/MANAGER
연결되었습니다.

SQL> GRANT connect, resource TO TEST ;
권한이 부여되었습니다.

SQL> CONN TEST/TEST
연결되었습니다.


'Databases' 카테고리의 다른 글

DB 사용자 변경(수정/삭제)  (0) 2011.03.28
DB 사용자 확인  (0) 2011.03.28
SQL의 종류(쿼리의 종류)  (0) 2011.03.28
AND