ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터베이스 사용자 계정 생성
    prev/ORACLE 2007. 1. 25. 10:57

    머리가 나뻐 외우지 못하고

    할때마다 검색해서 매번 다시 하는 내가 싫어져서

    오늘은 정리 좀 할려고 합니다...^^


    오라클은 사용자 마다 데이터베이스상에 서로 다른 영역을 가지게 하기 위해서

    테이블 스페이스(Table space) 라는 개념을 사용한다.

    데이터베이스 사용자 간에 독립적인 작업이 가능하게 해주기 위해서는

    사용자 마다 테이블 스페이스를 마련해주는 것이 좋다.

    다른 사용자가 같은 테이블 스페이스를 사용하더라도 스키마의 개념을 적용해 테이블 명 앞에

    사용자의 스키마를 적용하여 구분 가능하다.

    즉, 같은 스페이스를 갖는 user1, user2가 같이 testTable이라는 테이블을 생성한다면

    오라클은 user1.testTable, user2.testTable 의 형태로 테이블 명에 사용자 스키마 접두어를 두어 구분하게 된다.

    하지만 실습용으로 일시에 여러 사용자를 생성해야하는 경우가 아니라면은

    사용자 마다 테이블 스페이스를 따로 지정해주는 것이 좋다.


    따라서 오라클에서는 데이터 베이스 사용자를 추가하려면은 그 사용자만의 테이블 스페이스를

    추가해주고 그 다음에 사용자 계정을 추가하여 사용 테이블 스페이스를 앞서 생성한 테이블 스페이스로 지정해 주어야 한다.


    테이블 스페이스와 사용자 생성에는 상당히 많은 옵션이 존재하지만

    어설프게 알고 옵션을 너무 많이 난무하면 자칫 돌이킬 수 없는 상황이 되어버리기 때문에

    꼭 필요한 옵션 몇가지만을 가지고 테이블 스페이스를 생성하고

    사용자 계정을 생성한다.

    디폴트 값이라는게 괜히 있는게 아니라고 생각한다.

    오랜 연구끝에 알아낸 확률상 최적의 값이다... ^^ㅋ



    테이블 스페이스 생성

    CREATE tablespace TS_USER1 
    DATAFILE '/oracle/oradata/test/TS_TESTDS.dbf'  SIZE 50M
    AUTOEXTEND ON
    NEXT 1M
    MAXSIZE 100M

    ;


    임시 테이블 스페이스 생성

    // 인덱싱이나 클러스터링 등 부수적인 작업을 위해서 사용된다.

    CREATE temporary tablespace TS_USER1_TEMP

    TEMPFILE '/oracle/oradata/test/TS_USER1_TEMP.dbf' size 100M

    EXTENT management local uniform size 128k

    ;


    //사용자 계정 생성

    //계정명은 user1이고 테이블 스페이스는 TS_USER1을 사용하며

    //임시 테이블 스페이스는 TS_USER1_TEMP를 사용한다.

    CREATE USER user1 IDENTIFIED BY passwduser1

    DEFAULT TABLESPACE TS_USER1

    TEMPORARY TABLESPACE TS_USER1_TEMP

    ;


    //권한 지정

    Grant connect, resource to USER1

    ;


    이렇게 하면 USER1 이라는 사용자 계정을 위해서

    TS_USER1이라는 테이블 스페이스를 생성하고

    TS_USER_TEMP라는 템포러리 테이블 스페이스를 생성하여 맵핑 시켜주게 된다.

    아..물론.. 오라클에 관리자 계정 (system 혹은 sys)으로 로그인해서 sqlplus를 실행하여야

    하는건 당빠일꺼다.... ^^ㅋ

    'prev > ORACLE' 카테고리의 다른 글

    Primary Key / Foreign Key  (0) 2007.01.25
    oracle user 설정,권한부여,변경 및 삭제  (0) 2007.01.25
    특정사용자 lock풀기  (0) 2007.01.16
    length(to_char(1234,'09999')) 가 6이 나오는 이유  (0) 2006.12.20
    날짜 계산  (0) 2006.12.20
Designed by Tistory.