본문 바로가기

SQL

오라클 유저 생성

< USER 생성 >
1. USER 생성 구문

 create user user_name     // 사용자 이름
 identified by password     //  비밀번호 지정
 default tablespace users    //  users 그룹에 사용자 스키마를 위한 기본 테이블 스페이스를 지정
 temporary tablespace temp   //  temp 에 사용자의 임시 테이블 스페이스를 지정
 quota 100m on users;     // 사용자가 사용할 테이블 스페이스의 영역 할당( 100 메가)
 그 외에도..
  - externally : 사용자가 운영 체제에 의해서 인증 될수 있도록 지정 하는 명령어
  - password expire : sqlplus 를 사용하여 db에 로그인 할 때 암호를 재설정 할수 있도록 함.
  - account lock/unlock : 계정의 잠금,잠금해제(default)시.
 




 

2. USER 생성 예제

 // scott 는 user 생성권한이 없기 때문에 sys, system 으로 접속해야함
 C:\> SQLPLUS /NOLOG
 
 SQL> CONN SYSTEM/ORACLE          // DBA Role 을 가지고 있는 계정(user)으로 접속
 연결되었습니다.
 SQL> CREATE USER TEST IDENTIFIED BY TEST;    // USER 생성
 
 사용자가 생성되었습니다.
 
 SQL> CONN TEST/TEST;
 ERROR:
 ORA-01045: user TEST lacks CREATE SESSION privilege; logon denied
   // TEST 유저는 세션을 생성할 관한이 없어서 발생하는 ERROR
   --> 모든 USER 에 권한을 설정할 수 있고 그 권한이 허용하는 부분만 사용가능
     그러므로 권한을 부여해 주면 됨
 
 경고: 이제는 ORACLE에 연결되어 있지 않습니다.
 
 SQL> CONN SYSTEM/ORACLE;
 연결되었습니다.
 SQL> GRANT CONNECT, RESOURCE TO TEST;
 
 권한이 부여되었습니다.

 SQL> CONN TEST/TEST
 연결되었습니다.
 
< USER 변경 >
 1. USER 변경 구문
 ALTER USER TEST IDENTIFIED BY GOOD;   // TEST 유저의 비밀번호를 GOOD 로 수정
 
 2. USER 수정 예제
 SQL> CONN SYSTEM/ORACLE          // DBA Role 을 가지고 있는 계정(user)으로 접속
 연결되었습니다.
 
 ALTER USER TEST IDENTIFIED BY GOOD;   // TEST 유저의 비밀번호를 GOOD 로 수정
 사용자가 변경되었습니다.
 
 SQL> CONN TEST/GOOD;
 연결되었습니다.
 
 SQL> CONN SYSTEM/ORACLE;
 연결되었습니다.
 
 SQL> ALTER USER TEST IDENTIFIED BY TEST; // 원상복귀 함
 
 사용자가 변경되었습니다.
 
 
 
 3. 변경가능 option
  - password
  - 운영체제 인증
  - default tablespace
  - temp tablespace
  - tablespace  분배 할당
  - profile , default Role
  
 
< USER 삭제 >
 DROP USER TEST                   // TEST 삭제
   - CASCADE : option 으로 붙일수 있는데 사용자 이름과 관련된 모든 데이터베이스 스키마가
        데이터 사전으로부터 삭제된다.