Akashic Records

Chapter 3 Oracle 사용자 관리 - PLT 3.1 사용자 생성 본문

오래된글/DataBase

Chapter 3 Oracle 사용자 관리 - PLT 3.1 사용자 생성

Andrew's Akashic Records 2018. 4. 15. 22:29
728x90

데이터베이스 시스템에서 사용자도 하나의 개체로서 데이터베이스관리자(DBA)에 의해 생성 또는 제거되고, 적절한 권한 부여와 자원 사용에 대한 제한 사항이 관리된다. 사용자 관리는SQL*Plus를 통해 SQL 명령문으로 수행할 수 있고, Oracle Navigator라는 툴을 통해서 직관적으로 쉽게 관리하는 방법이 있다. 본 장에서는 DBA가 새로운 사용자를 SQL*Plus를 통해서 생성하고 권한 또는 롤을 부여하는 방법을 알아본다.

PLT 3.1 사용자 생성

새로운 USER를 생성하기 위해서는 CREATE USER문을 이용하면 됩니다. USER를 생성하기 위해서는 USER생성 권한이 있는 사용자로 접속해야 합니다. Oracle에서 사용자를 생성할 때 기본적으로 사용자명과 비밀번호를 명시해 주게 되며, 선택사항으로 생성되는 사용자가 사용할 메모리스페이스 명과 사용 가능한 최대 메모리 양을 제한 할 수 가있습니다. 사용자 생성 및 제거 명령에 대한 문법은 다음과 같다.

CREATE USER user_name

IDENTIFIED BY [password  | EXTERNALLY]

[ DEFAULT TABLESPACE tablespace ]

[ TEMPORARY TABLESPACE tablespace ]

[ QUOTA { integer [ K | M ] UNLIMITED} on tablespace ]

[PASSWORD EXPIRE]

[ ACCOUNT { LOCK | UNLOCK } ]

[ PROFILE { profile | DEFAULT } ]


  • user_name : 사용자 이름

  • BY password : 사용자가 데이터베이스에 의해 인증되도록 지정하며, 데이터베이스 유저 로그온 시 사용하는 비밀번호 입니다.

  • EXTERNALLY : 사용자가 운영 체제에 의해서 인증되도록 지정합니다.

  • DEFAULT TABLESPACE는 사용자 스키마를 위한 기본 테이블 스페이스를 지정 합니다.

  • TEMPORARY TABLESPACE는 사용자의 임시 테이블 스페이스를 지정합니다.

  • QUOTA절을 사용하여 사용자가 사용할 테이블 스페이스의 영역을 할당합니다.

  • PASSWORD EXPIRE : 사용자가 SQL*PLUS를 사용하여 데이터베이스에 로그인할  때 암호를 재설정하도록 합니다.(사용자가 데이터베이스에 의해 인증될 경우에만 적합한 옵션입니다.)

  • ACCOUNT LOCK/UNLOCK :  사용자 계정을 명시적으로 잠그거나 풀 때 사용할 수  있습니다.(UNLOCK이 기본값입니다.)

  • PROFILE: 자원 사용을 제어하고 사용자에게 사용되는 암호 제어 처리 방식을 지정하는데 사용됩니다.

임시 테이블스페이스를 지정해 주지 않으면 시스템 테이블스페이스가 기본으로 지정 되지만 시스템 테이블스페이스에 단편화가 발생할 수 있으므로 사용자를 생성할 때 임시테이블스페이스를 따로 지정해 주는 것이 좋습니다. 또한 DEFAULT TABLESPACE도 사용자를 생성할 때 지정해 주지 않으면 기본적으로 시스템 테이블스페이스가 지정이 됩니다. 하지만 사용자를 생성할 때DEFAULT TABLESPACE를 지정을 해서 사용자가 소유한 데이터와 객체들의 저장 공간을 별도로 관리를 해야 합니다. 시스템 테이블스페이스는 본래의 목적(모든 데이터 사전 정보와, 저장 프로시저, 패키지, 데이터베이스 트리거등을 저장)을 위해서만 사용되어져야 하지 일반사용자의 데이터 저장용으로 사용 되어서는 안됩니다.

PLT 3.2 사용자 변경과 삭제

사용자 변경

USER 변경하기 위해서는 ALTER USER문을 사용합니다. ALTER USER문으로 변경 가능한 옵션은 다음과 같습니다.

  • 비밀번호

  • 운영체제 인증

  • 디폴트 테이블 스페이스

  • 임시 테이블 스페이스

  • 테이블 스페이스 분배 할당

  • 프로파일 및 디폴트 역할

ALTER USER user_name

[ IDENTIFIED { BY password | EXTERNALLY } ]

[ DEFAULT TABLESPACE tablespace ]

[ TEMPORARY TABLESPACE tablespace ]

[ PASSWORD EXPIRE ]

[ ACCOUNT { LOCK | UNLOCK} ]


사용자 삭제

DROP USER usr_name [ CASCADE ]

CASCADE를 사용하게 되면 사용자 이름과 관련된 모든 데이터베이스 스키마가 데이터 사전으로부터 삭제되며 모든 스키마 객체들 또한 물리적으로 삭제 됩니다.


728x90
Comments