Data Base_Oracle/SQL
-
SQL_OBJECT PRIVILEGE 개요 & DATA DICTIONARYData Base_Oracle/SQL 2020. 1. 13. 17:11
OBJECT PRIVILEGE 객체 권한 계정별로 관리하는 테이블, 뷰, 시퀀스, 동의어, 인덱스 등에 관련된 권한 OBJECT PRIVILEGE_DATA DICTIONARY ※ table_privilege_map 객체 권한 종류를 조회할 수 있는 Oracle 시스템 테이블 일반 계정에서도 조회 가능 PRIVILEGE NAME 0 ALTER 1 AUDIT 2 COMMIT 주석, 툴(exerd, erwin etc.)로 테이블 설계시 필요 3 DELETE 4 GRANT, 권한 부여 5 INDEX 6 INSERT, 데이터 입력 7 LOCK 8 RENAME, 테이블, 필드 이름 변경 PRIVILEGE NAME 9 SELECT 보안 때문에 잘 부여하지 않음, 대신에 보통 VIEW 실행 권한을 줌 10 UPDATE..
-
SQL_With Admin Option 시스템 권한 위임Data Base_Oracle/SQL 2020. 1. 13. 17:06
With Admin Option_시스템 권한 위임 관리자가 권한의 일부를 임시로 빌려주는 것 § 형식 [ SQL> grant 권한,,, to 계정,,,, [with admin option]; ] ※ 관리자로부터 부여받은 권한을 다른 계정에 부여할 수 있게 됨 # 예제 _ 시나리오 ① 관리자 계정으로 3개의 계정 생성(aaa, bbb, ccc), 암호도 계정명과 동일하게 부여 ▷ [ SQL> create user aaa identified by aaa; create user bbb identified by bbb; create user ccc identified by ccc; ] ② aaa계정에 로그인, 테이블을 생성 권한 부여 ccc에는 권한을 부여하지 않음 ▷ [ SQL> grant connect, r..
-
SQL_ROLE 생성, 부여, 삭제Data Base_Oracle/SQL 2020. 1. 10. 17:09
ROLE 생성 관리자만 생성 가능 § 형식 [ SQL> create role 롤명; ] # 예제 ▷ usercreate라는 이름을 가진 롤 생성 [ SQL> create role usercreate; 롤이 생성되었습니다. select * from dba_roles where role='USERCREATE'; ] ROLE PASSWORD AUTHENTICAT USERCREATE NO NONE ROLE 권한 입력 동일한 권한을 여러 개의 롤에 동시에 부여 가능 § 형식 [ SQL> grant 권한명,,, to 롤명,,,; ] # 예제 ▶ usercreate 롤에 로그인, 계정 생성, 계정 수정 권한 입력 [ SQL> grant create session, create user, alter user to us..
-
SQL_ROLE 개요 & DATA_DICTIONARYData Base_Oracle/SQL 2020. 1. 10. 16:58
ROLE 목적에 맞는 권한들을 여러 가지 모아둔 권한 묶음 ROLE 사용 목적 편리성 추구 많은 권한들을 여러 계정에 한 번에 부여 / 회수 가능 ex) create table, create view, create session 권한들을 하나의 ROLE로 묶어서 한 번에 부여 가능 ROLE 종류 ROLE 설명 CONNECT 접속 권한, create session이 포함되어 있음 RESOURCE 테이블 관리 권한, create table 포함 DBA 관리자 ROLE ... ... ROLE _ DATADICTIONARY ※ dba_roles 롤의 대략적인 정보가 담겨있는 Oracle 자체 테이블, 관리자만 열람 가능 ROLE PASSWORD AUTHENTICAT CONNECT NO NONE RESOURCE ..
-
SQL_PRIVILEGE 계정 관리 (2)Data Base_Oracle/SQL 2020. 1. 10. 16:51
계정 관리_SYSTEM PRIVILEGE ACCOUNT LOCK | UNLOCK _ 계정 잠금 임시로 휴직, 퇴직한 경우에 계정을 사용하지 못하도록 설정 → 계정을 삭제하면 다시 생성해야하기 때문에 잠궈두는 것이 편리함 § 형식 ▶ 계정을 이미 사용한 적이 있는 경우 [ SQL> alter user 계정명 account lock | unlock; ] ※ 관리자 계정으로만 사용 가능 lock : 계정 잠금 unlock : 계정 잠금 해제 ▶ 계정을 한 번도 사용하지 않은 경우 [ SQL> alter user 계정명 identified by 비밀번호 account unlock password expire ; ] ※ password expire를 같이 작성할 수 있음 # 예제 _ UNLOCK ▷ Oracle ..
-
SQL_PRIVILEGE 개요 & 계정 관리 (1)Data Base_Oracle/SQL 2020. 1. 10. 16:41
Privilege_권한 관리자로부터 부여받는 계정별 작업 가능 범위 Privilege 종류 시스템 권한 : 관리자가 주로 작업 ex) 계정 관리(생성, 수정, 삭제), 공용 동의어 생성 등 객체 권한 : 각 계정별로 관리 ex) 테이블, 뷰, 시퀀스 사용 권한 SYSTEM PRIVILEGE _ DATA DICTIONARY ※ system_privilege_map 일반 계정에서는 조회가 불가능하며 시스템 권한의 종류가 담겨있는 Oracle 자체 테이블 PRIVILEGE NAME PROPERTY -3 ALTER SYSTEM 0 -4 AUDIT SYSTEM 0 -5 CREATE SESSION 0 ... ... ... SYSTEM PRIVILEGE 종류 권한 설명 CREATE SESSION 로그인 권한 CREA..
-
SQL_SYNONYM 생성/삭제 & DATA DICTIONARYData Base_Oracle/SQL 2020. 1. 10. 16:31
SYNONYM 생성_PRIVATE 동의어를 생성하기 위해서는 관리자로부터 create synonym 권한을 부여받아야 함 § 형식 [ SQL> create synonym 동의어이름 for 대상객체명(=테이블명); ] # 예제 ▶ b_dept2에 buser라는 동의어 생성 [ SQL> create synonym buser for b_dept2; 동의어가 생성되었습니다. select * from tab; ] TNAME TABTYPE CLUSTERID BUSER SYONONYM ... ... ... ▷ buser 테이블 확인 [ SQL> select * from buser; ] DEPTNO DNAME LOC 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAG..
-
SQL_SYNONYM 개요 & 테이블 접근 권한 설정Data Base_Oracle/SQL 2020. 1. 10. 16:23
SYNONYM 개요 SYNONYM(동의어) : 단어는 다르지만 의미가 같은 별칭 SYNONYM 사용 목적 일반적으로 오라클은 계정별로 다른 작업 테이블들을 가짐 계정 간의 테이블 공유를 위해 DCL로 권한을 부여해야 함 서로 다른 계정에서 특정 계정의 테이블을 사용하려고 할 때, 테이블명 앞에 소유자명을 작성해야하는데 그것이 불편하기 때문에 해당 테이블의 이름을 사용자가 쓰기 편한 이름으로 설정하기 위함 SYNONYM 특징 대상객체와 동일한 테이블에 접근 가능하도록 함 테이블은 하나이지만 이름이 2개가 됨 동의어를 사용해서 DML 작성 가능 Oracle 객체 SYNONYM 종류 Private Synonym : 개인용 동의어(전용 동의어), 각 계정별로 따로 만들어서 사용 ex) scott에서 생성한 개인..