DB 사용자 확인

Databases 2011. 3. 28. 14:22
데이터베이스에 등록된 사용자를 조회하기 위해서는 DBA_USERS 라는 데이터사전을 조회
 

SQL*Plus를 실행시켜  system/manager 로 접속 
 
SQL>SELECT username, default_tablespace, temporary_tablespace
        FROM DBA_USERS;
    
USERNAME      DEFAULT_TABLESPACE      TEMPORARY_TABLES
---------------- -------------------        ----------------
SYS                    SYSTEM                       TEMP
SYSTEM             TOOLS                          TEMP
OUTLN                SYSTEM                        SYSTEM
DBSNMP              SYSTEM                       SYSTEM
ORDSYS              SYSTEM                       SYSTEM
ORDPLUGINS       SYSTEM                        SYSTEM
MDSYS               SYSTEM                        SYSTEM
CTXSYS              DRSYS                          DRSYS
SCOTT                SYSTEM                       SYSTEM
TEST                  TEST                            SYSTEM
STORM               STORM                         SYSTEM
KJS                    SYSTEM                        SYSTEM
OEM                   OEM_REPOSITORY         TEMP
 
 위 처럼 유저와 테이블 스페이스에 대한 정보가 화면에 나옵니다.


'Databases' 카테고리의 다른 글

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

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

1.DDL (Data Definition Language) : 데이터와 그 구조를 정의

SQL문

내 용

CREATE

데이터베이스 객체 생성

DROP

데이터베이스 객체 삭제

ALTER

기존에 존재하는 데이터베이스 객체를 재정의



2. DML (Data Manipulation Language) : 데이터의 검색과 수정등의 처리

SQL문

내 용

INSERT

데이터베이스 객체에 데이터를 입력

DELETE

데이터베이스 객체에 데이터를 삭제

UPDATE

기존에 존재하는 데이터베이스 객체안의 데이터 수정

SELECT

데이터베이스 객체로부터 데이터를 검색



3.DCL (Data Control Language) : 데이터베이스 사용자의 권한을 제어

SQL문

내 용

GRANT

데이터베이스 객체에 권한 부여

REVOKE

이미부여된 데이터베이스 객체의 권한을 취소


'Databases' 카테고리의 다른 글

DB 사용자 변경(수정/삭제)  (0) 2011.03.28
DB 사용자 확인  (0) 2011.03.28
DB 사용자 생성  (0) 2011.03.28
AND