article thumbnail image
Published 2022. 1. 5. 23:15
728x90

권한(Privilege)은 특정 SQL 문장을 실행하기 위한 권리 입니다.

데이터베이스 관리자(DBA) 는 데이터베이스와 그 객체에 대한 엑세스를 사용자에게 부여하는 능력을 갖춘 상급 사용자입니다.

사용자는 데이터베이스에 엑세스하기 위해 시스템 권한( System Privilege)이 필요하고 데이터베이스에서 객체의 내용을 조작하기 위해 객체 권한(Object Privilege) 이 필요합니다.

 

사용자는 관련 관한들의 이름 있는 그룹인 Role 이나 다른 사용자에게 추가로 권한을 부여하기 위해 권한을 가질 수 있습니다.

사용자와 롤에 대해 시스템 권한과 객체 권한을 부여할 수 있습니다.

시스템 권한은 대게 데이터베이스 관리자 (DBA) 에 의해 제공됩니다. 객체 권한은 대게 객체의 소유주에 의해 제공됩니다.


사용자 계정 생성

 

DBA는 CREATE USER 문장을 실행하여 사용자를 생성합니다. 사용자는 이때에는 어떤 권한도 가지지 않습니다. DBA는 이때 그 사용자에게 여러 권한을 부여합니다. 이 권한은 데이터베이스 수준에서 사용자가 할 수 있는 것이 무엇인가를 결정합니다. 슬라이드는 사용자 생성을 위해 요약된 구문을 제공합니다. 

CREATE USER     user_name

INDENTIFIED BY  passward;

구문 형식에서...

--- user_name : 생성되어야 하는 사용자 이름(아이디)입니다.

--- password :  사용자의 로그인 비밀번호를 지정합니다.

 

다음 구문은 사용자를 생성합니다. 사용자를 생성하기 위해서 DBA 권한을 가진 사용자로 접속해야 합니다. 


시스템 권한 역활(ROLE)

 

생성된 계정에 권한 부여

 

일단 사용자가 생성되었다면, DBA는 사용자에 대한 특정 시스템 권한을 부여할 수 있습니다.

DBA는 사용자에게 시스템 권한을 부여하기 위해  GRANT 문장을 사용합니다. 일단 사용자가 권한을 부여받았으면, 사용자는 즉시 그 권한을 사용할 수 있습니다.

다음 구문은 DBA 사용자가 heojk 사용자에게 디폴트 테이블 스페이스를 USERS 테이블 스페이스로 지정합니다. USERS테이블 스페이스를 사용할 수 있는 용량의 최대 제한이 설정합니다.

롤을 사용하려면 우선 DBA는 롤을 생성해야 합니다. 롤이 생성되면, DBA는 롤에 대한 권한뿐만 아니라 롤을 사용자에게 할당하기 위한 GRANT 문장을 사용할 수 있습니다.

CREATE ROLE role_name;

구문형식에서...

role_name : 생성되어야 할 롤의 이름입니다.

 

*오라클에 디폴트로 존재하는 CONNECT, RESOURCE, DBA 롤 등을 이용하면 해당 롤을 이용해서 쉽게 사용자에게 권한을 부여할 수 있습니다. 

 

사용자를 생성해서 테이블을 생성하고 사용할 수 있습니다.

아래 방법은 SYSTEM계정으로 사용자계정 생성과 권한 부여를 초간단 하게 하는 방법입니다.

 

CREATE user jsp INENTIFIED BY jsp;

--이미 지정된 권한 부여(테이블, 시퀸스,뷰)

GRANT connect, resource TO jsp;

 


비밀번호 변경

 

사용자 계쩡이 생성되었을 때, 각 사용자는 DBA 가 초기화한 비밀번호를 갖게 됩니다.

사용자는 ALTER USER 문장을 사용하여 자신의 비밀번호를 수정할 수 있습니다. 

ALTER USER user_name

IDENTIFIED BY password;

 

구문 형식에서 

- user_name: 사용자 이름입니다.

- password : 새 비밀번호를 지정합니다.

 

728x90

'DB' 카테고리의 다른 글

PL/SQL 이란  (0) 2022.01.10
데이터베이스 모델링 -1  (0) 2022.01.07
SQUENCE INDEX(순차 적으로 증가하는 값)  (0) 2022.01.05
뷰(View)  (0) 2022.01.05
DML-1  (0) 2022.01.04
복사했습니다!