다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

Slides:



Advertisements
Similar presentations
데이터베이스 보안 : MS SQL SERVER 2000 보안기능 적용사례 DEMO in MS SQL SERVER 2000 이화여자대학교 정보과학대학원 정보보호전공 4 학기 황 혜 경.
Advertisements

Oracle DB 구조 및 트랜잭션 관리 이경화 Database 의 구조 Program Global Area (PGA) Instance Database Buffer Cache Redo Log Buffer Library Cache Shared.
오라클 백업과 복구.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
제 3장 오라클 소개 오라클 소개 오라클 설치 방법 오라클 구조 제 3 장 오라클 개요.
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
DB 프로그래밍 학기.
DB 프로그래밍 학기.
능력단위명 : 데이터베이스 구현( _14v2) 대분류 중분류 소분류 세분류 정보통신(20) 정보기술(01)
소리가 작으면 이어폰 사용 권장!.
You YOungseok 데이터베이스 테이블 및 인덱스 You YOungseok.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
데이터 베이스 설계 및 실습 #1 - 오라클 설치 및 SQL 기본.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
You YoungSEok 고급 SQL You YoungSEok
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
12장 데이터 읽기 일관성과 락.
Toad for Oracle 설치 방법.
6장 Mysql 명령어 한빛미디어(주).
MySQL 및 Workbench 설치 데이터 베이스.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
Chapter 01 데이터베이스 시스템.
14장 질의응답 한빛미디어(주).
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
11 테이블 관리와 데이터 딕셔너리 데이터베이스 응용 프로젝트 개발 테이블 구조 변경 데이터 딕셔너리.
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
5장 Mysql 데이터베이스 한빛미디어(주).
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
1장 데이터베이스 개념과 오라클 설치.
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
9장 테이블 생성 및 변경, 삭제하기(DDL).
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
시스템 보안 정보 보안 개론 9장.
KHS JDBC Programming 4 KHS
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
5장 Mysql 데이터베이스 한빛미디어(주).
KIM HEESANG PL/SQL 2 KIM HEESANG
DB연동하기 원격db접속.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
You YoungSEok Oracle 설치 You YoungSEok
3장. CentOS 리눅스 설치.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
환경 설정 예제 데이터베이스 생성 - 그림 3.34의 SQL Server 관리 스튜디오 창의 왼쪽 영역의 데이터베
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
JDBC Lecture 004 By MINIO.
View(뷰) 1 가상 테이블(Virtual Relation)
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
15 사용자 권한 제어 데이터베이스 보안 권한 롤 동의어.
문성우 SQL 실습 Part Ⅰ 문성우.
STS 에서 웹 서버 설치 방법.
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
오라클 11g 보안.
14 뷰(View) 뷰의 개념 뷰 관리.
제 23 장 오라클에서 보안 기능.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
maria db JDBC PROGRAMMING 5
14 뷰(View) 뷰의 개념 뷰 관리.
 6장. SQL 쿼리.
임시테이블과 테이블변수 SQLWorld Study Group - 최명환 -.
11장. 보안과 권한 관리 보안 권한 관리. 11장. 보안과 권한 관리 보안 권한 관리.
7 생성자 함수.
BoardGame 보드게임 따라가기.
Presentation transcript:

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 서진수 저

13장 사용자 관리를 배웁니다 1

13. 사용자 관리를 배웁니다 1. User와 Schema(스키마)에 대해서 알아봅니다 Schema : 특정 User 가 만든 Object 들의 모음을 의미 일반적으로 혼용해서 많이 사용함. 2

13. 사용자 관리를 배웁니다 2. PROFILE 관리하기 1) PASSWORD PROFILE 관련 파라미터 (1) FAILED_LOGIN_ATTEMPTS : 로그인 실패 할 경우 계정이 잠기는데 허용될 횟수를 지정 (2) PASSWORD_LOCK_TIME : 위 1번의 상황에서 계정이 잠길 기간 설정 (3) PASSWORD_LIFE_TIME : 암호를 변경 없이 사용할 수 있는 기간 설정 (4) PASSWORD_GRACE_TIME : 암호 변경 추가 시간 설정 (5) PASSWORD_REUSE_TIME : 동일한 암호를 쓸 수 없는 기간 설정 (6) PASSWORD_REUSE_MAX : 동일한 암호를 쓸 수 없는 횟수 설정 3

13. 사용자 관리를 배웁니다 (7) PASSWORD_VERIFY_FUNCTION : 암호를 복잡하게 만드는 함수 사용 * 암호는 최소한 4글자 이상 되어야 합니다. * 암호는 사용자 계정과 달라야 합니다. * 암호는 하나의 특수문자나, 알파벳 , 숫자가 포함되어야 합니다. * 암호는 이전 암호와 3글자 이상 달라야 합니다. 4

13. 사용자 관리를 배웁니다 예제 1. Password 관련 PROFILE 생성하기 - 조건 1: 로그인 시도 3회 실패 시 계정을 5일 동안 사용 못하게 할 것 - 조건 2: 계정의 암호는 15일에 한번씩 변경하게 할 것 - 조건 3: 동일한 암호는 15일 동안 사용 못하게 할 것 SYS>CREATE PROFILE sample_prof LIMIT 2 FAILED_LOGIN_ATTEMPTS 3 3 PASSWORD_LOCK_TIME 5 4 PASSWORD_LIFE_TIME 15 5 PASSWORD_REUSE_TIME 15 ; 5

13. 사용자 관리를 배웁니다 2) RESOURCE PROFILE 관련 파라미터 RESOURCE_LIMIT = true ALTER SYSTEM SET RESOURCE_LIMIT = true; - CPU_PER_SESSION : 1 세션당 CPU 를 쓸 수 있는 시간 지정(1/100 초) - SESSIONS_PER_USER : 1 유저당 동시 접속 가능한 세션 수 지정 - CONNECT_TIME : 접속 가능한 시간 지정 ( 분 단위 ) - IDLE_TIME : 휴면 시간 지정 ( 분 단위 ) - LOGICAL_READS_PER_SESSION : 1 세션에서 사용 가능한 Block 수 지정 - PRIVATE_SGA : MTS / Shared Server 의 경우 세션당 SGA 사용 가능량 지정 - CPU_PER_CALL : 1 세션당 사용 가능한 CPU 시간 지정 - LOGICAL_READS_PER_CALL : 1 call 당 사용 가능한 Block 수 지정 6

13. 사용자 관리를 배웁니다 * 예제 2: RESOURCE 관련 PROFILE 만들기 SYS>ALTER SYSTEM SET RESOURCE_LIMIT=true ; - 조건 1: 1명당 연속적으로 CPU를 사용할 수 있는 시간을 10초로 제한할 것. - 조건 2: 하루 중 8시간만 DB에 접속 가능하게 할 것. - 조건 3: 10분 동안 사용하지 않으면 강제로 접속을 끊을 것 SYS>CREATE PROFILE RE_SAMPLE_PROF LIMIT 2 CPU_PER_SESSIN 1000 3 CONNECT_TIME 480 4 IDLE_TIME 10 ; 7

13. 사용자 관리를 배웁니다 3) 사용자에게 PROFILE 할당하기 SYS>SELECT username "사용자명" , profile "적용 프로파일" 2 FROM dba_users 3 WHERE username=’SCOTT’ ; (2) 해당 PROFILE 에 어떤 내용이 있는지 확인하기 SYS>SELECT * FROM dba_profiles 2 WHERE PROFILE='SAMPLE_PROF' ; SYS> SELECT * FROM dba_profiles 2 WHERE profile='RE_SAMPLE_PROF' ; 8

13. 사용자 관리를 배웁니다 4) 사용자에게 PROFILE 적용시키고 확인하기 9 SYS>ALTER USER scott PROFILE sample_prof; SYS>ALTER USER scott PROFILE re_sample_prof; SYS>SELECT username, profile 2 FROM dba_users 3 WHERE username='SCOTT'; USERNAME PROFILE ------------------ -------------------------- SCOTT RE_SAMPLE_PROF 9

13. 사용자 관리를 배웁니다 (4) 사용 안 하는 PROFILE 삭제하기 SYS>DROP PROFILE re_sample_prof; drop PROFILE re_sample_prof * ERROR at line 1: ORA-02382: PROFILE RE_SAMPLE_PROF has users assigned, cannot drop without CASCADE SYS>DROP PROFILE re_sample_prof CASCADE; SYS>SELECT username, PROFILE 2 FROM dba_users 3 WHERE username='SCOTT'; 10

13. 사용자 관리를 배웁니다 3. PRIVILEGE (권한) 관리하기 1) System 관련 주요 PRIVILEGE 11 대 분 류 PRIVILEGE 설 명 INDEX CREATE ANY INDEX 소유자에 상관없이 모든 테이블에 인덱스를 생성할 수 있는 권한 DROP ANY INDEX 소유자에 상관없이 모든 인덱스를 삭제할 수 있는 권한 ALTER ANY INDEX 소유자에 상관없이 모든 인덱스를 수정할 수 있는 권한 TABLE CREATE TABLE 자신 소유의 테이블을 생성할 수 있는 권한 CREATE ANY TABLE 소유자에 상관없이 다른 user 이름으로 테이블을 생성할 수 있는 권한 ALTER ANY TABLE 소유자에 상관없이 모든 테이블의 구조를 수정할 수 있는 권한 DROP ANY TABLE 소유자에 상관없이 모든 사용자의 테이블을 삭제할 수 있는 권한 UPDATE ANY TABLE 소유자에 상관없이 모든 사용자의 테이블을 업데이트 할 수 있는 권한 DELETE ANY TABLE 소유자에 상관없이 모든 사용자의 테이블의 데이터를 삭제 할 수 있는 권한 INSERT ANY TABLE 소유자에 상관없이 모든 사용자의 테이블에 데이터를 삽입 할 수 있는 권한 11

13. 사용자 관리를 배웁니다 12 SESSION CREATE SESSION 서버에 접속할 수 있는 권한 ALTER SESSION 접속 상태에서 환경값을 변경할 수 있는 권한 RESTRICTED SESSION Restricted 모드로 open 된 DB에 접속할 수 있는 권한 TABLESPACE CREATE TABLESPACE Tablespace를 만들 수 있는 권한 ALTER TABLESPACE Tablespace를 수정 할 수 있는 권한 DROP TABLESPACE Tablespace를 삭제 할 수 있는 권한 UNLIMITED TABLESPACE Tablespace 사용용량을 무제한으로 허용 하는 권한. 즉 quota 옵션 적용을 받지 않게 됨 12

13. 사용자 관리를 배웁니다 2) SYSOPER / SYSDBA PRIVILEGE 13 PRIVILEGE 할 수 있는 일 Startup / shutdown Alter database mount / open Alter database backup control file to ….. Recover database Alter database archivelog Restricted session SYSDBA SYSOPER PRIVILEGE with admin option Create database Alter tablespace … begin backup / end backup Recover database until 13

13. 사용자 관리를 배웁니다 3) SYSTEM 관련 권한 할당하기 / 해제하기 4) 사용자가 가지고 있는 권한 조회하기 14 SYS> GRANT CREATE TABLE, CREATE SESSION TO SCOTT; SYS> GRANT CREATE TABLE, CREATE SESSION TO SCOTT WITH ADMIN OPTION; SYS> REVOKE CREATE TABLE FROM SCOTT ; 4) 사용자가 가지고 있는 권한 조회하기 SYS>SELECT * FROM DBA_SYS_PRIVS 2 WHERE grantee='SCOTT'; 14

13. 사용자 관리를 배웁니다 - Object 관련 PRIVILEGE – 주로 DML 과 관련된 권한들임 -사용 예제 1: SCOTT 사용자에게 HR 사용자가 만든 EMPLOYEES 테이블을 SELECT 할 수 있도록 권한을 할당하세요. SYS> GRANT SELECT ON HR.EMPLOYEES TO SCOTT ; -사용 예제 2: SCOTT 사용자에게 HR 가 만든 EMPLOYEES 테이블을 UPDATE 할 수 있도록 하세요.그리고 SCOTT 사용자가 이 권한을 다른 사람에게 줄 수 있는 권한도 주세요. SYS> GRANT UPDATE ON HR.EMPLOYEES TO SCOTT WITH GRANT OPTION ; 15

13. 사용자 관리를 배웁니다 4. Role (롤) 관리하기 1) ROLE 생성하기 SYS>CREATE ROLE trole; 2) ROLE 에 CREATE SESSION , CREATE TABLE 권한 할당하기 SYS>GRANT CREATE SESSION , CREATE TABLE TO trole ; 3) SCOTT 사용자에게 trole 할당하기 SYS>GRANT trole TO SCOTT ; 4) 어떤 사용자가 어떤 ROLE 을 사용하는지 확인하기 SYS>SELECT * FROM dba_role_privs WHERE grantee='SCOTT'; 16

13. 사용자 관리를 배웁니다 5) 어떤 ROLE 에 어떤 권한이 있는지 확인하기 17 SYS>SELECT * FROM dba_sys_privs WHERE grantee ='CONNECT‘; SYS>SELECT * FROM dba_sys_privs WHERE grantee ='RESOURCE‘; 17