728x90
<RESOURCE_LIMIT>
- 자원 제한 시행을 enable하거나 disable하려면 초기화 파일에 들어있는 RESOURCE_LIMIT 파라미터를 수정한 후 인스턴스를 재시작 해야 합니다.
- TRUE : enable - FALSE: disable(기본값)- 데이터베이스를 종료할 수 있을 때 사용 합니다.
- ALTER SYSTEM SET RESOURCE_LIMIT = TRUE SCOPE=BOTH;
- ALTER SYSTEM을 사용하여 지정된 설정은 또다시 수정되거나 데이터베이스가 종료될 때까지 유효하게 남아 있습니다.
--PROFILE : 사용자가 사용가능한 세스템 자원의 한계를 관리하고, 암호에 대한 복잡성을 관리, 시스템 자원과 암호 제한 집합
<KERNAL>
COMPOSITE_LIMIT : 복합 한계, session당 총 source 사용량 제한
SESSIONS_PER_USER : 각 User이름에 허용되는 동시 Session 수 (하나의 사용자 계정으로 몇 명의 사용자가 동시에 접속 할 수 있는지를 설정)
CPU_PER_SESSION : 1/100초 단위로 측정한 총 CPU시간, 하나의 세션이 CPU를 연속적으로 사용할 수 있는 최대 시간 (무한루프 쿼리가 작동 시 혼자서 CPU를 연속적 점유 1/100초 단위 차단)
CPU_PER_CALL : 하나의 call 당 cpu를 점유할 수 있는 시간 (1/100초 단위), 1/100 초 단위로 측정한 Call당 CPU 시간
LOGICAL_READS_PER_SESSION : 한 session 에서 사용 가능한 최대 block 수, Data block 수 (물리적 및 논리적 읽기)
LOGICAL_READS_PER_CALL : 하나의 call 당 읽을 수 있는 block의 개수 지정, Call당 읽을 수 있는 Data block 수, 메모리와 디스크 모두 에게서 읽는 총 횟수를 제한
IDLE_TIME : 지정 IDLE TIME 이후 접속을 해제, 분단위로 측정한 비활성 시간, 로그인 하고 아무것도 안하는 시간 (IDLE_TIME 5 = 5분 동안 활동이 없는 세션은 강제로 접속종료)
CONNECT_TIME : 하루 동안 DB Server에 접속을 허락하는 총 시간 (단위 = 분), 분 단위로 측정한 연결 경과 시간
PRIVATE_SGA : MTS / SHARED SERVER 일 경우 해당 session의 SGA 사용량을 bytes 단위로 설정, 바이트 단위로 측정한 SGA의 전용 공간 (Shared Server 전용)
<자원 관리>
자원 관리 제한 = Session 레벨, Call 레벨, 두 레벨 모두
- Session 레벨 : 각 데이터베이스 접속 시에 제한, 유저가 로그인을 해서 로그아웃을 할때까지 세션을 가지고 있는동안 제한
※ Session 제한을 초과하면 다음과 같이 오류가 발생하면서 Oracle Server는 User의 연결을 해제합니다.
ORA-02391: execeeded simultaneous SESSIOn_PER_USER limit
- Call 레벨 : SQL문이 수행될 때 실행, 명령어에 대한 제한
---Session 레벨에서 자원 제한 설정
SESSIONS_PER_USER
CPU_PER_SESSION
LOGICAL_READS_PER_SESSION
IDLE_TIME
CONNECT_TIME
PRIVATE_SGA
---Call 레벨에서 자원 제한 설정
CPU_PER_CALL
LOGICAL_PEADS_PER_CALL
Call 레벨 제한 효과
- 명령문 처리를 중지합니다.
- 명령문을 rollback 합니다.
- 이전 명령문은 모두 그대로 남아 있습니다.
- User의 Session은 연결한 상태로 남아 있습니다.
<PASSWORD>
FAILED_LOGIN_ATTEMPTS : Login Failure 의 횟수, 설정된 횟수만큼 로그인 시도 실패시 계정 잠금 (failed_login_attemps 3 = 3번 실패하면 4번째부턴 로그인 못함)
PASSWORD_LIFE_TIME : 동일한 암호를 며칠간 사용하게 할 것인지 설정하는 파라미터 (단위 = 일(DAY), 기간 이후 다음 로그인할 때 강제로 바꾸게 프롬프트를 보여줌)
PASSWORD_REUSE_TIME : 현재 패스워드를 설정된 기간동안 다시 사용할 수 없도록 설정, 주어진 일 수 동안 암호를 재사용할 수 없도록 지정 (단위는 일(DAY), 동일한 암호를 해당 기간동안 재사용 금지)
PASSWORD_REUSE_MAX : 암호를 재사용할 수 있기 전에 필요한 최대 변경 횟수, 암호 설정 시 지정한 횟수만큼 다른 패스워드를 사용해야 함 (이전 패스워드를 재사용 못함)
PASSWORD_VERIFY_FUNCTION : 암호 할당 전에 암호 복잡성을 검사하는 PL/SQL 함수, 암호를 보다 복잡하게 만들기 위해서 특정 함수를 적용시켜 사용자의 암호를 점검, 오라클 제공 함수 verify_function을 사용 or 사용자 별도 함수 적용
PASSWORD_LOCK_TIME : Login Failure 횟수 초과 이후 계정이 잠기는 (단위 = 일(DAY))
PASSWORD_GRACE_TIME : 패스워드 만료 날짜가 가까워 졌음을 미리 알려 주는 기간, 암호 만기 후 처음 Login할 때부터 시작 되는 암호 변경을 위한 유예기간 (단위 = 일(DAY))
INACTIVE_ACCOUNT_TIME :
※ FAILED_LOGIN_ATTEMPTS 값에 도달하면 Oracle Server가 자동으로 계정을 Locking 하며,
이 계정은 PASSWORD_LOCK_TIME이 정의한 시간이 지나면 자동으로 Lock을 해제하거나
Database 관리자가 ALTER USER 명령을 사용하여 Lock 을 해제해야 합니다.
※ 유예 기간이 지날 때까지는 User가 Login할 때마다 경고 메시지를 생성하므로 유예 기간 안에 암호를 변경합니다.
---암호 계정 Locking
FAILED_LOGIN_ATTEMPTS
PASSWORD_LOCK_TIME
---암호 만기일 기능 및 암호 만기
PASSWORD_LIFE_TIME
PASSWORD_GRACE_TIME
---암호 기록
PASSWORD_REUSE_TIME
PASSWORD_REUSE_MAX
PASSWORD_VERIFY_FUNCTION
---verify_function 함수 사용 시
암호는 최소한 4글자 이상
암호는 사용자 계정과 다르게
암호는 하나의 특수문자나, 알파벳 , 숫자가 포함
암호는 이전 암호와 3글자 이상 다르게
---암호 Parameter를 하루 미만으로 설정하려면
1시간 : PASSWORD_LOCK_TIME = 1/24
10분 : PASSWORD_LOCK_TIME = 10/1440
5분 : PASSWORD_LOCK_TIME = 5/1440
--PROFILE 생성
CREATE PROFILE <PROFILE_NAME> LIMIT
IDLE_TIME 10
FAILED_LOGIN_ATTEMPTS 6
PASSWORD_LIFE_TIME 90
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX 4
PASSWORD_VERIFY_FUNCTION ORA12C_VERIFY_FUNCTION
PASSWORD_LOCK_TIME 1
PASSWORD_GRACE_TIME 7
;
--PROFILE 조회
SELECT * FROM DBA_PROFILES WHERE PROFILE='<PROFILE_NAME>';
SELECT * FROM DBA_PROFILES;
--PROFILE 삭제
DROP PROFILE <PROFILE_NAME> CASCADE;
※현재 사용자에게 할당이 되어 있는 PROFILE 은 기본적으로 삭제 안됨. CASCADE 옵션으로 삭제. 해당 프로파일은 DEFAULT PROFILE 사용하게 됨.
--PROFILE 수정
ALTER PROFILE <PROFILE_NAME> LIMIT [SESSIONS_PER_USER] UNLIMITED;
ALTER USER <USER_NAME> PROFILE <PROFILE_NAME>;
728x90
'ORACLE' 카테고리의 다른 글
[ORACLE] Oradim - Windows 서비스 등록 방법 (0) | 2022.06.27 |
---|---|
[ORACLE] CLSRSC-214 CRS-2101 (0) | 2022.05.31 |
[ORACLE] ORA-03135: connection lost contact / Oracle Database Session Timeout (0) | 2022.05.23 |
[ORACLE] RAC 삭제 (0) | 2022.05.23 |
[ORACLE] INS-08101 (0) | 2022.05.23 |