OEasy
2006. 10. 26. 13:10
BULLETIN CATEGORY BULLETIN TOPIC |
: RDBMS : Oracle7 에서 User 등록 |
ORACLE SERVER MANAGER의 경우 V7.2이하에서는 SQLDBA이, V7.3이상에서는 SVRMGR이 사용되며 본 내용에서는 SVRMGR을 사용함을 알려드립니다.
1. USER 가 사용하고자하는 TABLESPACE 생성 한다. 만일 존재하는 TABLESPACE를사용하려면 이 단계는 생략한다. $ svrmgrl SVRMGR> connect internal SVRMGR> CREATE TABLESPACE data_ts DATAFILE '/usr/oracle/dbs/data_ts.dbf' SIZE 50M ;
2. USER 를 생성하면서 DEFAULT TABLESPACE,TEMPORARY TABLESPACE 등을 지정하고 각 TABLESPACE에 USER 가 사용 할수 있는 QUOTA 를 할당 한다. QUOTA는 해당 TABLESPACE를 생성되는 USER가 얼마만큼 사용할 것인가를 지정하는 것으로서 한 TABLESPACE를 여러 유저가 사용 시 일정한 양만큼 사용하게 관리할 목적으로 지정한다. 제한 없이 사용하게 할 경우 UNLIMITED를 쓴다.
SVRMGR > CREATE USER user1 IDENTIFIED BY user1_pass DEFAULT TABLESPACE data_ts TEMPORARY TABLESPACE temp QUOTA UNLIMITED on data_ts QUOTA UNLIMITED on temp ;
3. USER 에게 ROLE 을 GRANT 한다.ROLE은 여러 PRIVILEGE를 모아놓은 집합체로서 오라클에는 상당히 많은 PRIVILEGE종류가 있으나 이것을 하나하나 일일이 GRANT하는 것은 번거로울 수 있다. 많이 쓰이는 ROLE로 CONNECT,RESOURCE,DBA등이 있고 일단 초기 유저 생성시에는 CONNECT만 GRANT하면 접속하는데 문제가 없다. (V6 에서는 USER 가 TABLE 생성 및 ACESS 를 하려면 RESOURCE, CONNECT 권한을 부여하였으나 V7 에서는 CONNECT ROLE 만 부여하여도 된다.) SVRMGR > GRANT CONNECT TO user1;
4. DB 에 CONNECT 하여 사용한다. sqlplus user1/user1_pass SQL > CREATE TABLE test(col1 VARCHAR2(2) col2 NUMBER); 위와 같이 TABLESPACE 를 생략하고 TABLE 을 생성하는 경우 USER 의 DEFAULT TABLESPACE 인 data_ts 에 TABLE 이 생성된다.
* 만약 생성한 USER에게 아무런 ROLL도 부여하지 않았는데 해당 USER로 CONNECT가 된다면 이전에 PUBLIC에 CONNECT ROLE이 주어진 경우라 할 수 있다.
* 어느 유저에게 어느 ROLE이 부여 되었나를 확인하려면 다음SQL문을 이용한다. SVRMGR > SELECT grantee, granted_role FROM dba_role_privs ;
GRANTEE ----------------------- DBA DBA OP7 PUBLIC SCOTT SCOTT SYS SYS SYS SYS SYS SYSTEM |
GRANTED_ROLE ---------------------- EXP_FULL_DATABASE IMP_FULL_DATABASE DBA CONNECT CONNECT RESOURCE CONNECT DBA EXP_FULL_DATABASE IMP_FULL_DATABASE RESOURCE DBA | |
Oracle Korea Customer Support Technical Bulletins |