22_System_Role : 주로 DBA(관리자)의 역할
1. 유저 생성 : System(sys) 최고관리자만 가능 (거의 대부분의 작업을 수행 : 계정생성, 권한주기 등)
예제 1) usertest01 유저를 만들고 암호를 pass1라고 지정하세요 (암호에 특수문자 포함이면 " " 사용)
[사용법]
CREATE USER 계정명 IDENTIFIED BY 패스워드;
CREATE USER usertest01 IDENTIFIED BY pass1;
2. 권한 부여 : GRANT 권한명 TO 유저명;
예제 2) 위에서 만든 usertest01 유저에 접속 권한을 주세요
[사용법]
GRANT CREATE SESSION TO 유저명; : 접속 권한 주기
GRANT CREATE SESSION TO usertest01;
[사용법]
GRANT CREATE TABLE TO 유저명; : 테이블 생성 권한 주기
GRANT CREATE TABLE TO usertest01;
[사용법]
GRANT UNLIMITED TABLESPACE TO 유저명; : 공간에 대한 사용 권한 주기(무한으로 풀어놓음)
GRANT UNLIMITED TABLESPACE TO usertest01;
3. 유저에 롤 주기 (ROLE, 권한들의 집합)
1. 접속권한들의 집합 : CONNECT
2. 테이블, 인덱스, 함수 등을 사용할 수 있는 권한들의 집합 : RESOURCE
3. View 생성 권한 : CREATE VIEW
GRANT CONNECT, RESOURCE, CREATE VIEW TO usertest01;
usertest01 계정으로 접속
4. 계정 삭제 : 테스트 계정 - 오른쪽 마우스 - 접속 해제 이후 삭제하기
[사용법]
DROP USER 유저명;
DROP USER usertest01;
(참고) 동의어 : SYNONYM : 다른 계정의 테이블, 인덱스 등에 간단 별명을 붙여 사용성을 높임
1. 동의어 생성
SELECT * FROM 계정명.테이블명; -- 우리는 우리 계정의 테이블만 조회했어서 생략했었던 것
동의어 이용 : 계정명.테이블명 -> 테이블명 (동의어 생성)
SELECT * FROM 테이블명; -- 동의어 활용
[사용법]
CREATE SYNONYM 테이블명 FOR 계정명.테이블명;
예제 1-1) 관리자 계정으로 테이블(SAMPLETBL) 생성, scott 계정에 그 테이블 조회권한 부여하기
-- 1. 테이블 생성
CREATE TABLE SAMPLETBL(
MEMO VARCHAR2(50)
);
-- 2. 값 넣기
INSERT INTO SAMPLETBL VALUES('오월은 푸르구나');
INSERT INTO SAMPLETBL VALUES('최선을 다합시다');
-- 3. 데이터 조회
SELECT * FROM SAMPLETBL;
-- 4. 확정
COMMIT;
SELECT 권한 부여 : GRANT SELECT ON 테이블명 TO 유저명;
동의어 생성 권한 : GRANT CREATE SYNONYM TO 유저명;
-- 1. SELECT 권한(조회) 부여
GRANT SELECT ON SAMPLETBL TO scott;
-- 2. 동의어 생성 권한
GRANT CREATE SYNONYM TO scott;
예제 1-2) scott 계정으로 접속해서 관리자 계정 테이블 조회 + 동의어로도 조회
-- 1. 관리자 계정의 테이블 조회
SELECT * FROM SYSTEM.SAMPLETBL;
-- 2. 동의어(별명) 생성
CREATE SYNONYM SAMPLETBL FOR SYSTEM.SAMPLETBL;
-- 3. 동의어 재조회
SELECT * FROM SAMPLETBL;
2. 동의어 삭제
[사용법]
DROP SYNONYM 동의어명;
DROP SYNONYM SAMPLETBL;
< 계정생성, 권한부여 >
1. 계정 생성 : 관리자 계정으로 접속
CREATE USER 계정명 IDENTIFIED BY 패스워드;
2. 권한 주기 : 관리자 계정으로 접속
GRANT CREATE SESSION TO 유저명; : 접속 권한 주기
GRANT CREATE TABLE TO 유저명; : 테이블 생성 권한 주기
GRANT UNLIMITED TABLESPACE TO 유저명; : 공간에 대한 사용 권한 주기(무한으로 풀어놓음)
3. 유저에 롤 주기 : GRANT CONNECT, RESOURCE, CREATE VIEW TO 계정명; : 관리자 계정으로 접속
1) 접속권한들의 집합 : CONNECT
2) 테이블, 인덱스, 함수 등을 사용할 수 있는 권한들의 집합 : RESOURCE
3) View 생성 권한 : CREATE VIEW
4. 계정 삭제 : 로그인 테스트 후 접속 해제 후 관리자 계정으로 접속
DROP USER 유저명;
< 동의어 (SYNONYM) >
1. 동의어 생성
CREATE SYNONYM 테이블명 FOR 계정명.테이블명;
2. 동의어 삭제
DROP SYNONYM 동의어명;
'SQL' 카테고리의 다른 글
#49 [SQL] View (0) | 2024.03.07 |
---|---|
#49 [SQL] 계정, 권한 연습문제 (0) | 2024.03.07 |
#49 [SQL] SEQUENCE, INDEX 연습문제 (0) | 2024.03.07 |
#48 [SQL] SEQUENCE, INDEX (0) | 2024.03.06 |
#48 [SQL] 제약조건 연습문제 (0) | 2024.03.06 |