select * from dba_profiles
where RESOURCE_TYPE='PASSWORD';
CREATE PROFILE app_user2 LIMIT
FAILED_LOGIN_ATTEMPTS 5
PASSWORD_LIFE_TIME 60
PASSWORD_REUSE_TIME 60
PASSWORD_REUSE_MAX 5
PASSWORD_VERIFY_FUNCTION verify_function
PASSWORD_LOCK_TIME 1/720
PASSWORD_GRACE_TIME 10;
ALTER PROFILE DEFAULT limit PASSWORD_GRACE_TIME UNLIMITED ;
ALTER PROFILE DEFAULT limit FAILED_LOGIN_ATTEMPTS UNLIMITED ;
ALTER PROFILE DEFAULT limit PASSWORD_LIFE_TIME UNLIMITED ;
ALTER PROFILE DEFAULT limit PASSWORD_LOCK_TIME UNLIMITED ;
ALTER PROFILE app_user2 limit FAILED_LOGIN_ATTEMPTS 2 ;
ALTER PROFILE app_user2 limit PASSWORD_LIFE_TIME 1/1440;
ALTER PROFILE app_user2 limit PASSWORD_LOCK_TIME 1;
ALTER PROFILE app_user2 limit PASSWORD_GRACE_TIME 1/24;
ALTER PROFILE app_user2 limit PASSWORD_REUSE_TIME UNLIMITED ;
ALTER PROFILE app_user2 limit PASSWORD_REUSE_MAX UNLIMITED ;
alter user scott2 identified by "password1$";
alter user scott2 account unlock;
SELECT * FROM dba_profiles where PROFILE='APP_USER2' and RESOURCE_TYPE='PASSWORD' ;
SELECT * FROM dba_profiles where PROFILE='DEFAULT' and RESOURCE_TYPE='PASSWORD' ;
/*
공통사항
설정값이 시간으로 되어있는 RESOURCE는 단위가 일(하루) 이다.
(PASSWORD_LIFE_TIME 1 로 할 시 설정 값은 하루가 된다.)
이때 설정값에 분수를 넣으면 시간단위, 분 ,초 단위로 설정할 수 있다.
(PASSWORD_LIFE_TIME 1/1440 로 할 시 설정된 값은 1분이다. )
(PASSWORD_LIFE_TIME 1/86400 로 할 시 설정된 값은 1초이다. )
------------------------------------------------------------------------------------------------------------------------------------------
FAILED_LOGIN_ATTEMPTS
: 로그인을 실패했을 경우에 대한 제한 횟수
비밀번호를 지정된 횟수만큼 틀리면 계정이 잠긴다.
DEFAULT값은 10(회)
------------------------------------------------------------------------------------------------------------------------------------------
PASSWORD_LIFE_TIME
: 암호 사용기간설정
암호를 설정하고, 사용기한이 지나면 경고가 뜬다.
ERROR:
ORA-28002: the password will expire within 10 days
10일뒤에 암호가 만료됩니다.
사용기한이후 비밀번호를 변경하라는 경고가 뜨고 무시 할경우
암호가 만료된다.
암호가 만료되면 2가지 해결책이 있다.
-만료된 비밀번호 다른 비밀번호로 변경.
-비번 만료기한을 무제한(unlimited)으로 바꾼뒤 계정의 락을 헤제한다.
DEFAULT값은 180(일)
------------------------------------------------------------------------------------------------------------------------------------------
PASSWORD_REUSE_TIME
: 사용했던 암호를 다시 사용 할 수있게되는 기간(이 기간동안 암호를 재사용할 수 없다.)
DEFAULT값은 UNLIMITED(제한없음)
PASSWORD_REUSE_MAX
: 현재 암호를 재사용하기 전에 필요한 암호 변경 횟수를 지정(이 횟수를 넘겨서 변경하지 않는 이상 암호는 재사용 할 수 없다.)
DEFAULT값은 UNLIMITED(제한없음)
password_reuse_time과 password_reuse_max는 둘다 정수로 설정되어야 제대로 작동한다.
예를 들어, PASSWORD_REUSE_TIME을 30으로 지정하고 PASSWORD_REUSE_MAX를 10으로 지정하는 경우,
비밀번호가 이미 10번 변경된 경우 사용자는 30일 후에 비밀번호를 재사용할 수 있다.
만약 둘중 하나라도 값이 unlimited이면 사용자는 암호를 다시 사용 할 수 없다.
둘다 unlimited이면 database는 이것을 무시한다.
------------------------------------------------------------------------------------------------------------------------------------------
PASSWORD_VERIFY_FUNCTION
: 암호 복잡성 검사 설정
암호에 생성규칙(특수문자 의무적으로 사용, 문자수 제한, 숫자 의무적 사용)을
지정 할 수 있습니다.
사용자가 함수로 직접 생성 할 수도 있고, 오라클에서 제공하는 함수를 지정 할 수도 있다.
sql문으로 function을 조회할시 oracle이 기본적으로 제공하는 함수를 확인 할 수 있다.
SELECT distinct NAME
FROM USER_SOURCE
WHERE TYPE = 'FUNCTION'
and NAME like '%VERIFY_FUNCTION%'
ORDER BY NAME;
--기본제공 함수 확인
SELECT *
FROM USER_SOURCE
WHERE TYPE = 'FUNCTION'
and NAME like '%VERIFY_FUNCTION%'
ORDER BY NAME,line;
--함수 source code 확인
ORA12C_STIG_VERIFY_FUNCTION
ORA12C_STRONG_VERIFY_FUNCTION
ORA12C_VERIFY_FUNCTION
VERIFY_FUNCTION
VERIFY_FUNCTION_11G
등이 기본적으로 제공됩니다.
DEFAULT값은 UNLIMITED(제한없음)
------------------------------------------------------------------------------------------------------------------------------------------
PASSWORD_LOCK_TIME
: 암호를 지정된 횟수 만큼 틀렸을시 계정이 잠기는 기간
1로 설정할 시 사용자가 FAILED_LOGIN_ATTEMPTS 에서 지정한 로그인 횟수를 넘겨 로그인을 시도하면 계정이 하루동안 잠긴다.
DEFAULT값은 1(일)
------------------------------------------------------------------------------------------------------------------------------------------
PASSWORD_GRACE_TIME
: 암호 만료 경고 기간
암호 사용기한이 만료 되면, 경고를 일정 기간동안 띄울수 있다.
ERROR:
ORA-28002: the password will expire within 1 days
ERROR:
ORA-28002: the password will expire within 10 days
ERROR:
ORA-28002: the password will expire within 0 days
경고기한을 마음대로 설정할 수 있다. 허나,
기한을 시간단위로 설정할 수 있지만 경고에는 날짜단위로만 경고가 뜬다.
DEFAULT값은 7(일)
------------------------------------------------------------------------------------------------------------------------------------------
INACTIVE_ACCOUNT_TIME
: 지정된 일 수 후에 사용자 계정을 자동으로 잠금
DEFAULT값은 UNLIMITED
------------------------------------------------------------------------------------------------------------------------------------------
PASSWORD_ROLLOVER_TIME
:이전암호와 새암호 혼용가능한 기한
지정 할 수 있는 최소값은 1/24(1시간) 이다.
암호가 변경되어도 이 기간동안은 이전함호, 새암호 둘다 사용가능하다.
기간이 지나면 새암호만 사용가능
------------------------------------------------------------------------------------------------------------------------------------------
ORACLE DOCS 19c /create profile
ORACLE DOCS 10g /create profile
https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_6010.htm
*/
'오라클 > 오라클 실무' 카테고리의 다른 글
RMAN 백업셋팅 (0) | 2022.08.18 |
---|---|
RAC 명령어 (0) | 2022.08.12 |
Impdp 가 실행 되었을 때 처리 순서 (0) | 2022.08.01 |
AWR(Automatic Workload Repository) (0) | 2022.07.15 |
archive log (0) | 2022.07.05 |