Oracle Sqlplus –3.USER지정, 사용자의 권한 관리

Oracle Sqlplus –3.USER지정, 사용자의 권한 관리에 대해 알아 보겠습니다.

3. TABLESPACE의 USER지정

2장에서 만든 TABLESPACE를 각 유저에게 할당하므로써 TABLESPACE를 일일이 지정하는 번거러움을 해소할 수 있다.

(1) 이미 생성된 유저에게 TABLESPACE를 지정

다음과 같이 이미 생성된 유저의 TABLESPACE를 BUSSINESS로 변경함으로 일일이 TABLESPACE명을 지정해야 하는 번거로움을 피할 수 있다.

SQL>ALTER user HAN004 2 default tablespace BUSINESS

(2) 새로 생성하는 유저에게 TABLESPACE를 지정

HAN005 user를 password는 HAN005

temporary tablespace는 temporary_data를 사용하고

default tablespace는 BUSSINESS를 사용하도록 지정한다.

SQL>create user HAN004 identified by HAN004 2 default tablespace user_data사용자가 생성되었습니다.
SQL> connect system/manager
연결되었습니다.
SQL> select * from dba_users;

4. 사용자의 권한 관리

4-1. USER에 권한부여

각 유저의 권한을 직무에 맞게 조절하는 방법을 제시한다.

[예1] USER1이라는 유저를 생성 후 CREATE SESSION권한을 부여한다.

CREATE SESSION은 DATABASE에 연결할 수 있는 권한만을 부여받는다.

SQL> create user user1 identified by user1;사용자가 생성되었습니다.SQL> grant create session to user1;권한 부여 성공입니다.SQL> connect user1/user1연결되었습니다.

[예2] 생성된 user1에서 table을 생성해 본다.

user1은 db접속 권한은 있지만 table의 생성 권한이 없으므로 에러가 발생한다.

SQL> select * from tab;선택된 레코드가 없습니다.
SQL> create table test(dummy char(1));
create table test(dummy char(1))
*라인 1 에 오류:ORA-01031: 권한이 불충분합니다

[예3] user1에 부여된 권한을 확인한다.

SQL> select * from session_privs;
SQL> select * from user_sys_privs;
SQL> select default_tablespace,temporary_tablespace from user_users;

4-2. 시스템 수준의 권한

역 할권한
CONNECTALTER SESSION, CREATE CLUSTER, CREATE DATABASE LINK, CREATE SEQUENCE, CREATE SESSION, CREATE SYNONYM, CREATE TABLE, CREATE VIEW,
RESOURCECREATE CLUSTER, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE, CREATE TRIGER
DBASYSTEM LEVEL의 모든 권한

[예1] USER1에 CONNECT 권한 부여후 TABLE의 생성

SQL> grant CONNECT to user1;
SQL> connect user1/user1;
SQL> select * from tab;
SQL> select * from user_catalog;

4-3. USER의 quota

SQL> select * from user_ts_quotas;

선택된 레코드가 없습니다.

SQL> connect system/manager;
연결되었습니다.
SQL> l
1 alter user user1
2 default tablespace user_data
3* quota 5k on user_data;
사용자가 변경되었습니다.
SQL> connect user1/user1;
연결되었습니다.
SQL> l
1 create table test1
2* (udno number(10))
SQL> /
create table test1*라인 1 에 오류:ORA-01536: 테이블 영역 ‘USER_DATA’ 에 대한 영역 할당량이 초과됐습니다
SQL> connect system/manager;
연결되었습니다.
SQL> alter user user1 quota 5M on user_data 2 ;
사용자가 변경되었습니다.
SQL> select object_name, object_type from user_objects;
SQL> insert into test
2 (idno)
3 values
4* (100);
1 개의 행이 작성되었습니다.
SQL> connect system/manager;
연결되었습니다.
SQL> select * from user1.test;
IDNO
———
100

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다