22_System_Role.sql(참고)
-권한 , 롤(역할)
-DBA (관리자)
-유저만들기(계정생성), 권한부여
Oracle DB 기본관리자 : system (sys(최고관리자))
역할) 거의 대부분의 작업을 수행 : 계정생성, 권한주기 등
◈ 예제 1) usertest01 유저를 만들고 암호를 pass1 라고 지정하세요
▶사용법) CREATE USER 계정명 IDENTIFIED BY 패스워드;
CREATE USER usertest01 IDENTIFIED BY PASS1;
◈ 예제 2) 위에서 만든 usertest01 유저에 접속 권한을 주세요
▶사용법) GRANT TO 유저명;
GRANT CREATE SESSION TO usertest01;
GRANT CREATE SESSION TO usertest01;
GRANT CREATE TABLE TO usertest01;
GRANT UNLIMITED TABLESPACE TO usertest01;
◈ 예제 3) 권한들의 집합 == ROLE(롤, 역할)
① 접속 권한들의 집합 : CONNECT
② 테이블,인덱스,함수등을 사용할수 있는 권한집합 : RESOURCE
③ View 생성 권한 : CREATE VIEW 권한
GRANT CONNECT, RESOURCE, CREATE VIEW TO usertest01;
◈ 예제 4) 계정 삭제
▶사용법) **DROP USER 계정명;**
DROP USER usertest01;
◈ (참고) 동의어 : SYNONYM
의미 : 다른 계정의 테이블, 인덱스 등에 간단 별명을 붙여 사용성을 높인것
예) SELECT FROM 계정명.테이블명; -- 테이블명 앞에 계정명 붙임
=> 동의어 이용 : 계정명.테이블명 => 테이블명 (동의어 생성)
SELECT FROM 테이블명; -- (동의어 활용)
SAMPLETBL
CREATE TABLE SAMPLETBL(
MENO VARCHAR2(50)
);
INSERT INTO SAMPLETBL VALUES('오월은 푸르구나');
INSERT INTO SAMPLETBL VALUES('최선을 다합시다');
COMMIT;
SELECT * FROM SAMPLETBL;
GRANT SELECT ON 테이블명 TO 유저명;GRANT SELECT ON SAMPLETBL TO scott;
GRANT CREATE SYNONYM TO scott;
2) scott 계정으로 접속해서 관리자 계정 테이블 조회 + 동의어로도 조회
◈ 예제 3) 관리자 계정 테이블 조회
SELECT * FROM SYSTEM.SAMPLETBL;
4) 동의어(별명) 생성
▶사용법) **REATE SYNONYM 테이블명 FOR 계정명.테이블명;**
CREATE SYNONYM SAMPLETBL FOR SYSTEM.SAMPLETBL;
▶ 재조회
SELECT * FROM SAMPLETBL; -- 동의어 조회
-- 예제 5) 동의어 삭제
▶사용법) OP SYNONYM 동의어명;
DROP SYNONYM SAMPLETBL;