"오라클 PROFILE"의 두 판 사이의 차이
DB CAFE
(→Profile 리소스별 설명) |
(→Password Profile DROP) |
||
(같은 사용자의 중간 판 14개는 보이지 않습니다) | |||
15번째 줄: | 15번째 줄: | ||
== Profile 리소스별 설명 == | == Profile 리소스별 설명 == | ||
=== CPU LIMIT === | === CPU LIMIT === | ||
− | + | ==== CPU_PER_CALL ==== | |
− | # | + | # parse ,execute ,fetch call에 대한 cpu시간(1/100초) |
− | + | ==== CPU_PER_SESSION ==== | |
− | # | + | # 한 세션에게 할당된 cpu 시간(1/100초) |
+ | |||
+ | === Connection LIMIT === | ||
+ | ==== CONNECT_TIME ==== | ||
+ | # 한 세션에게 할당된 오라클 연결시간(분). 설정된 시간이 지나면 세션이 끊어짐 | ||
+ | ==== IDLE_TIME ==== | ||
+ | # 연속적인 inactive time(idle time)(분).설정된 시간동안 call이 없으면 접속이 끊어지며 명령어 수행시 ora-02396 발생 | ||
+ | |||
+ | ==== SESSIONS_PER_USER ==== | ||
+ | # 한 유저가 동시에 연결할수 있는 세션수 | ||
+ | |||
=== Password Account Locking === | === Password Account Locking === | ||
==== FAILED_LOGIN_ATTEMPTS ==== | ==== FAILED_LOGIN_ATTEMPTS ==== | ||
62번째 줄: | 72번째 줄: | ||
암호가 복잡하면 보안에는 좋지만 사용자는 기억못하는 단점 | 암호가 복잡하면 보안에는 좋지만 사용자는 기억못하는 단점 | ||
+ | |||
+ | === COMPOSITE LIMIT === | ||
+ | ==== COMPOSITE_LIMIT ==== | ||
+ | # cpu_per_session,read_per_session,connect_time,private_sga의 전체 가중치를 제한 | ||
+ | |||
+ | === 기타 === | ||
+ | ==== PRIVATE_SGA ==== | ||
+ | # 한 세션이 사용할수 있는 shared pool 영역의 private area 공간 (K,M btye) | ||
+ | ==== LOGICAL_READS_PER_CALL ==== | ||
+ | # 단위 call(쿼리)당 i/o 량이 설정값을 초과할경우 ora-02395 에러 발생 | ||
+ | ==== LOGICAL_READS_PER_SESSION ==== | ||
+ | # 한 세션이 읽을수 있는 data block 수(memory,disk) | ||
== 프로파일 생성/수정/삭제 == | == 프로파일 생성/수정/삭제 == | ||
=== Password Profile 생성하기 === | === Password Profile 생성하기 === | ||
− | + | <source lang=sql> | |
CREATE PROFILE 프로파일이름 LIMIT | CREATE PROFILE 프로파일이름 LIMIT | ||
− | |||
PARAMETER값들 ; | PARAMETER값들 ; | ||
− | + | </source> | |
− | |||
− | |||
− | |||
=== Password Profile 수정하기 === | === Password Profile 수정하기 === | ||
− | + | <source lang=sql> | |
ALTER PROFILE 프로파일이름 LIMIT | ALTER PROFILE 프로파일이름 LIMIT | ||
− | |||
수정할PARAMETER값들 ; | 수정할PARAMETER값들 ; | ||
− | + | </source> | |
− | |||
− | |||
− | |||
=== Password Profile DROP === | === Password Profile DROP === | ||
− | + | <source lang=sql> | |
DROP PROFILE 프로파일이름 ; | DROP PROFILE 프로파일이름 ; | ||
DROP PROFILE 프로파일이름 CASCADE ; -->사용자에 할당되어 사용되고 있더라도 강제 삭제, | DROP PROFILE 프로파일이름 CASCADE ; -->사용자에 할당되어 사용되고 있더라도 강제 삭제, | ||
− | + | </source> | |
Default Profile로 바뀜 | Default Profile로 바뀜 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Resource Limits == | == Resource Limits == | ||
107번째 줄: | 111번째 줄: | ||
- 우선 resource profile의 파라미터 값을 적용하기 위해 설정해야 함 | - 우선 resource profile의 파라미터 값을 적용하기 위해 설정해야 함 | ||
− | + | * parameter file이 pfile일 경우에는 vi로 initSID.ora 파일을 vi로 열어 | |
− | + | <source lang=c> | |
− | + | resource_limit = TRUE | |
+ | </source> | ||
+ | 를 추가해야함. | ||
+ | <source lang=sql> | ||
ALTER SYSTEM SET RESOURCE_LIMIT=TRUE ; | ALTER SYSTEM SET RESOURCE_LIMIT=TRUE ; | ||
− | + | </source> | |
− | |||
− | |||
140번째 줄: | 145번째 줄: | ||
- Resource Limit Profile 생성하기 | - Resource Limit Profile 생성하기 | ||
+ | <source lang=sql> | ||
CREATE PROFILE 프로파일이름 LIMIT | CREATE PROFILE 프로파일이름 LIMIT | ||
− | |||
PARAMETER값들 ; | PARAMETER값들 ; | ||
− | + | </source> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Profile 조회 == | == Profile 조회 == | ||
− | + | <source lang=sql> | |
− | |||
− | |||
SELECT * FROM dba_profiles | SELECT * FROM dba_profiles | ||
− | + | WHERE PROFILE='프로파일명대문자' | |
− | WHERE PROFILE='프로파일명대문자' | + | ORDER BY resource_type ; |
− | + | </source> | |
− | ORDER BY resource_type ; | ||
− | |||
− | |||
− | |||
− | |||
== Profile을 사용자에게 할당 == | == Profile을 사용자에게 할당 == | ||
− | + | <source lang=sql> | |
ALTER USER 유저이름 PROFILE 프로파일이름 ; | ALTER USER 유저이름 PROFILE 프로파일이름 ; | ||
− | + | </source> | |
[[Category:oracle]] | [[Category:oracle]] |
2023년 6월 26일 (월) 13:55 기준 최신판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
목차
- 1 Profile
- 1.1 Password Profile
- 1.2 Profile 리소스별 설명
- 1.3 프로파일 생성/수정/삭제
- 1.4 Resource Limits
- 1.5 Profile 조회
- 1.6 Profile을 사용자에게 할당
1 Profile[편집]
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[편집]
- parse ,execute ,fetch call에 대한 cpu시간(1/100초)
1.2.1.2 CPU_PER_SESSION[편집]
- 한 세션에게 할당된 cpu 시간(1/100초)
1.2.2 Connection LIMIT[편집]
1.2.2.1 CONNECT_TIME[편집]
- 한 세션에게 할당된 오라클 연결시간(분). 설정된 시간이 지나면 세션이 끊어짐
1.2.2.2 IDLE_TIME[편집]
- 연속적인 inactive time(idle time)(분).설정된 시간동안 call이 없으면 접속이 끊어지며 명령어 수행시 ora-02396 발생
1.2.2.3 SESSIONS_PER_USER[편집]
- 한 유저가 동시에 연결할수 있는 세션수
1.2.3 Password Account Locking[편집]
1.2.3.1 FAILED_LOGIN_ATTEMPTS[편집]
- 암호 입력 오류 횟수 지정
- 계정을 잠그기 전까지 로그인 시도하다 실패한 횟수 , 설정 값에 도달하면 자동으로 계정 lock
eg) 3으로 설정하면, 3번 암호 입력 잘못하면 계정 잠김
1.2.3.2 PASSWORD_LOCK_TIME[편집]
- 로그인 실패후 계정 잠기는 시간, 단위는 DAY
eg) 10으로 설정했다면, 로그인 실패시 10일동안 계정잠김.
기다리거나, DBA가 잠금 해제 해줄수 있다.
1.2.4 Password Expiration and Aging[편집]
1.2.4.2 PASSWORD_GRACE_TIME[편집]
- 암호가 만기되면 더 연장할 수 있는 시간을 설정, 잘 쓰진 않음
1.2.5 Password History[편집]
1.2.5.1 PASSWORD_REUSE_TIME[편집]
- 설정한 기간동안은 동일한 암호 사용 불가능, 설정 기간 지나면 동일한 암호 사용 가능해서 보안이 취약함
1.2.6 Password Verification[편집]
1.2.6.1 PASSWORD_VERIFY_FUNCTION[편집]
- 암호가 복잡한지 안한지 검사 및 체크
- 4글자 이상인지 아닌지 확인 (10g부터는 6글자)
- 사용자 이름과 암호가 같으면 에러
- 적어도 알파벳, 숫자, 특수문자 하나씩을 들어가야 함
- 전 암호와 적어도 3글자는 달라야함
암호가 복잡하면 보안에는 좋지만 사용자는 기억못하는 단점
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 프로파일이름 ;