행위

오라클 PROFILE

DB CAFE

thumb_up 추천메뉴 바로가기


1 Profile[편집]

사용자가 관리하는 암호나, resource(시스템자원) 제한을 말함



1.1 Password Profile[편집]

- CREATE USER / ALTER USER 명령어를 통해 계정을 lock, unlock, expire 등을 할 수 있음

- 수동으로 DB를 생성했다면, SYS 계정에서 utlpwdmg.sql 스크립트를 통해 관리할 수 있음.


1.2 Profile 리소스별 설명[편집]

1.2.1 CPU LIMIT[편집]

1.2.1.1 CPU_PER_CALL[편집]

  1. parse ,execute ,fetch call에 대한 cpu시간(1/100초)

1.2.1.2 CPU_PER_SESSION[편집]

  1. 한 세션에게 할당된 cpu 시간(1/100초)

1.2.2 Connection LIMIT[편집]

1.2.2.1 CONNECT_TIME[편집]

  1. 한 세션에게 할당된 오라클 연결시간(분). 설정된 시간이 지나면 세션이 끊어짐

1.2.2.2 IDLE_TIME[편집]

  1. 연속적인 inactive time(idle time)(분).설정된 시간동안 call이 없으면 접속이 끊어지며 명령어 수행시 ora-02396 발생

1.2.2.3 SESSIONS_PER_USER[편집]

  1. 한 유저가 동시에 연결할수 있는 세션수

1.2.3 Password Account Locking[편집]

1.2.3.1 FAILED_LOGIN_ATTEMPTS[편집]

  1. 암호 입력 오류 횟수 지정
    계정을 잠그기 전까지 로그인 시도하다 실패한 횟수 , 설정 값에 도달하면 자동으로 계정 lock

eg) 3으로 설정하면, 3번 암호 입력 잘못하면 계정 잠김

1.2.3.2 PASSWORD_LOCK_TIME[편집]

  1. 로그인 실패후 계정 잠기는 시간, 단위는 DAY
eg) 10으로 설정했다면, 로그인 실패시 10일동안 계정잠김. 

기다리거나, DBA가 잠금 해제 해줄수 있다.

1.2.4 Password Expiration and Aging[편집]

1.2.4.1 PASSWORD_LIFE_TIME[편집]

  1. 동일한 암호 사용 가능한 기간 설정, 역시 단위는 DAY
eg) 30으로 설정하면, 한달 동안은 동일한 암호 사용 가능

1.2.4.2 PASSWORD_GRACE_TIME[편집]

  1. 암호가 만기되면 더 연장할 수 있는 시간을 설정, 잘 쓰진 않음

1.2.5 Password History[편집]

1.2.5.1 PASSWORD_REUSE_TIME[편집]

  1. 설정한 기간동안은 동일한 암호 사용 불가능, 설정 기간 지나면 동일한 암호 사용 가능해서 보안이 취약함

1.2.5.2 PASSWORD_REUSE_MAX[편집]

  1. 동일한 암호를 사용할 수 있는 횟수를 지정
eg) 1로 설정하면, 평생 같은 암호는 쓸 수 없게 됨.

1.2.6 Password Verification[편집]

1.2.6.1 PASSWORD_VERIFY_FUNCTION[편집]

  1. 암호가 복잡한지 안한지 검사 및 체크
 - 4글자 이상인지 아닌지 확인 (10g부터는 6글자)
 - 사용자 이름과 암호가 같으면 에러
 - 적어도 알파벳, 숫자, 특수문자 하나씩을 들어가야 함
 - 전 암호와 적어도 3글자는 달라야함
암호가 복잡하면 보안에는 좋지만 사용자는 기억못하는 단점

1.2.7 COMPOSITE LIMIT[편집]

1.2.7.1 COMPOSITE_LIMIT[편집]

  1. cpu_per_session,read_per_session,connect_time,private_sga의 전체 가중치를 제한

1.2.8 기타[편집]

1.2.8.1 PRIVATE_SGA[편집]

  1. 한 세션이 사용할수 있는 shared pool 영역의 private area 공간 (K,M btye)

1.2.8.2 LOGICAL_READS_PER_CALL[편집]

  1. 단위 call(쿼리)당 i/o 량이 설정값을 초과할경우 ora-02395 에러 발생

1.2.8.3 LOGICAL_READS_PER_SESSION[편집]

  1. 한 세션이 읽을수 있는 data block 수(memory,disk)

1.3 프로파일 생성/수정/삭제[편집]

1.3.1 Password Profile 생성하기[편집]

CREATE PROFILE 프로파일이름 LIMIT
PARAMETER값들 ;

1.3.2 Password Profile 수정하기[편집]

ALTER PROFILE 프로파일이름 LIMIT
수정할PARAMETER값들 ;

1.3.3 Password Profile DROP[편집]

DROP PROFILE 프로파일이름 ;

DROP PROFILE 프로파일이름 CASCADE ; -->사용자에 할당되어 사용되고 있더라도 강제 삭제,

Default Profile로 바뀜

1.4 Resource Limits[편집]

- 우선 resource profile의 파라미터 값을 적용하기 위해 설정해야 함

  • parameter file이 pfile일 경우에는 vi로 initSID.ora 파일을 vi로 열어
resource_limit = TRUE

를 추가해야함.

ALTER SYSTEM SET RESOURCE_LIMIT=TRUE ;


- 관련 Parameter 값

CPU_PER_SESSION -> 한 사용자가 CPU를 사용할 수 있는 시간, 100 = 1초

eg) 무한루프 쿼리가 실행되고 있으면 CPU를 계속 사용하고 있기 때문에 성능 ↓

설정한 시간이 되면 PMON이 쿼리 종료시키면서 종료된다.


SESSIONS_PER_USER -> 동시 접속 가능한 세션 수


IDLE_TIME -> 접속 후 아무 반응이 없으면 접속 끊는 시간 = 비활성화 시간 설정

eg) Internet Banking



- Resource Limit Profile 생성하기

CREATE PROFILE 프로파일이름 LIMIT
PARAMETER값들 ;

1.5 Profile 조회[편집]

SELECT * FROM dba_profiles
 WHERE PROFILE='프로파일명대문자'
 ORDER BY resource_type ;

1.6 Profile을 사용자에게 할당[편집]

ALTER USER 유저이름 PROFILE 프로파일이름 ;