행위

"오라클 프로파일"의 두 판 사이의 차이

DB CAFE

(프로파일 생성)
(PROFILE 생성)
 
(사용자 2명의 중간 판 22개는 보이지 않습니다)
1번째 줄: 1번째 줄:
= 프로파일 생성 =
+
= 프로파일 =
 +
{| border="1" bordercolor="#808080" cellpadding="2" cellspacing="1" width="90%"
 +
|-
 +
! style="text-align:center;" | Resource
 +
! style="text-align:center;" | Description
 +
|-
 +
|  CPU_PER_SESSION || 1/100 초 단위로 측정한 총 CPU이용시간
 +
|-
 +
| CONNECT_TIME || 분 단위로 측정한, 경과된 접속시간
 +
|-
 +
| IDLE_TIME|| 분 단위로 측정한 비활동 시간 : 서버 프로세스에 대해서만 IDLE_TIME 계산.응용프로그램 작업은 포함되지 않음.
 +
IDLE_TIME은 오랜시간 수행되는 질의나 다른 작업들은 포함하지 않음.
 +
|-
 +
| LOGICAL_READS_PER_SESSION|| 데이터 블록 수 (물리적:디스크로부터,논리적:메모리로부터 읽은): LOGICAL_READS_PER_SESSION은 메모리와 디스크 모두 에게서 읽는 총 횟수를 제한.
 +
|-
 +
| PRIVATE_SGA || 바이트 단위로 측정한 SGA 내의 전용(private) 공간(MTS만) : PRIVATE_SGA는 다중 스레드 서버(MTS) 구성 일 때만 적용 .
 +
|}
 +
 
 +
== PROFILE 조회 ==
 +
<source lang=sql>
 +
SELECT *
 +
  FROM DBA_PROFILES;
 +
</source>
 
== PROFILE 생성 ==
 
== PROFILE 생성 ==
 +
PROFILE 은 사용자 계정의 행동에 제약사항 적용.
 +
예를 들어 5분 이상 활동이 없으면 접속을 강제 종료,1개월마다 암호를 다른 것으로 바꾸게 강제 적용.
 +
 +
1) PASSWORD PROFILE 관련 파라미터
 +
 +
(1) FAILED_LOGIN_ATTEMPTS : 설정된 횟수만큼 로그인 시도 실패시 계정 잠금.
 +
 +
예를 들어 failed_login_attemps 3 이렇게 하면 3번 실패하면 4번째부턴 로그인 못한다는 의미.
 +
 +
(2) PASSWORD_LOCK_TIME : 위 1번 에서 계정이 잠기면 '''며칠 동안 잠글 것 인지''' 기간을 정하는 파라미터.
 +
단위는 일(DAY)
 +
 +
(3) PASSWORD_LIFE_TIME : 동일한 암호를 며칠간 사용하게 할 것인지 설정하는 파라미터.
 +
단위는 일(DAY)
 +
이 기간이 지나도 안 바꾸면 다음 로그인할 때 강제로 바꾸게 프롬프트를 보여줌.
 +
 +
(4) PASSWORD_GRACE_TIME : 패스워드 만료 날짜가 가까워 졌음을 미리 알려 주는 기간.
 +
단위는 일(DAY)
 +
 +
(5) PASSWORD_REUSE_TIME : 현재 패스워드를 설정된 기간동안  다시 사용할 수 없도록 설정.
 +
단위는 일(DAY)
 +
즉 암호를 변경하라고 했는데 사용자가 동일한 암호를 다시 사용 시 쓸 수 없게 만들어야 할 때 사용.
 +
 +
(6) PASSWORD_REUSE_MAX :
 +
암호 설정 시 지정한 횟수만큼 다른 패스워드를 사용해야 함.(이전 패스워드를 재사용못하도록 설정)
 +
 +
(7) PASSWORD_VERIFY_FUNCTION :
 +
암호를 보다 복잡하게 만들기 위해서 특정 함수를 적용시켜 사용자의 암호를 점검합니다.
 +
오라클 제공 함수 verify_function 을 사용할 수 있고 사용자가 별도의 함수를 만들어서 적용할 수도 있음.
 +
 +
'''verify_function 함수를 이용할 경우'''
 +
* 암호는 최소한 4글자 이상 .
 +
* 암호는 사용자 계정과 다르게.
 +
* 암호는 하나의 특수문자나, 알파벳 , 숫자가 포함.
 +
* 암호는 이전 암호와 3글자 이상 다르게.
 +
 +
* 예제 1. Password 관련 PROFILE 생성하기
 +
- 조건 1: 로그인 시도 3회 실패 시 계정을 5일 동안 사용 못하게 할 것
 +
- 조건 2: 계정의 암호는 15일에 한번씩 변경하게 할 것
 +
- 조건 3: 동일한 암호는 15일 동안 사용 못하게 할 것
 +
 +
<source lang=sql>
 +
-- 프로파일 생성
 +
CREATE PROFILE DEV_PROF 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
 +
;
 +
</source>
 +
 +
 +
2) RESOURCE PROFILE 관련 파라미터
 +
CPU 와 메모리 관련된 부분 제어.
 +
 +
이 PROFILE 을 사용하려면 RESOURCE_LIMIT = true 로 설정.
 +
 +
ORACLE이 시작될 때 사용되는 parameter file(Pfile / SPfile) 에 위 문장을 적어 놓거나 또는 지금 즉시 적용시키고 싶으면 9i 이상 버전일 경우엔
 +
<source lang=sql>
 +
ALTER SYSTEM SET RESOURCE_LIMIT = true;
 +
</source>
 +
를 실행하시면 됩니다
 +
 +
(1) CPU_PER_SESSION :
 +
하나의 세션이 CPU를 연속적으로 사용할 수 있는 최대 시간.
 +
무한루프 같은 쿼리가 작동되면 혼자서 CPU를 연속적으로 점유. 이 설정을 사용하여 차단
 +
1/100초 단위.
 +
 +
(2) SESSIONS_PER_USER :
 +
하나의 사용자 계정으로 몇 명의 사용자가 동시에 접속 할 수 있는지를 설정.
 +
 +
(3) CONNECT_TIME :
 +
하루 동안 DB Server에 접속을 허락하는 총 시간을 설정.(단위는 분입니다)
 +
 +
(4) IDLE_TIME :
 +
지정 IDLE TIME 이후 접속을 해제.
 +
예를 들어 IDLE_TIME 5 , 5분 동안 활동이 없는 세션은 강제로 접속종료.
 +
 +
(5) LOGICAL_READS_PER_SESSION :
 +
한 session 에서 사용 가능한 최대 block 수를 지정합니다.
 +
 +
(6) PRIVATE_SGA :MTS / SHARED SERVER 일 경우 해당 session의 SGA 사용량을 bytes 단위로 설정.
 +
 +
(7) CPU_PER_CALL :
 +
하나의 call 당 cpu를 점유할 수 있는 시간이며 1/100초 단위입니다.
 +
 +
(8) LOGICAL_READS_PER_CALL :
 +
하나의 call 당 읽을 수 있는 block의 개수 지정.
 +
 +
예제 2: RESOURCE 관련 PROFILE 만들기
 +
<source lang=sql>
 +
SYS>ALTER SYSTEM SET RESOURCE_LIMIT=true ;
 +
</source>
 +
- 조건 1: 1명당 연속적으로 CPU를 사용할 수 있는 시간을 10초로 제한할 것.
 +
- 조건 2: 하루 중 8시간만 DB에 접속 가능하게 할 것.
 +
- 조건 3: 10분 동안 사용하지 않으면 강제로 접속을 끊을 것.
 +
<source lang=sql>
 +
SYS>CREATE PROFILE RE_SAMPLE_PROF LIMIT
 +
CPU_PER_SESSION 1000
 +
CONNECT_TIME 480
 +
IDLE_TIME 10 ;
 +
</source>
 +
3) 사용자에게 PROFILE 할당하기
 +
여기에서는 위의 예제 1번과 2번에서 만든 PROFILE 을 scott 에게 설정하겠습니다.
 +
(1) 현재 모든 사용자가 적용 받고 있는 PROFILE 확인하기
 +
<source lang=sql>
 +
SYS>SELECT username "사용자명" , profile "적용 프로파일"
 +
FROM dba_users
 +
WHERE username=’SCOTT’ ;
 +
</source>
 +
 +
 +
사용자명 적용 프로파일
 +
------------------------------ -----------------------------
 +
SCOTT DEFAULT
 +
 +
(2) 해당 PROFILE 에 어떤 내용이 있는지 확인하기
 +
- 위에서 만든 sample_prof 의 내용을 조회하겠습니다.
 +
<source lang=sql>
 +
SYS>SELECT * FROM dba_profiles
 +
WHERE PROFILE='SAMPLE_PROF' ;
 +
</source>
 +
<source lang=sql>
 +
PROFILE RESOURCE_NAME RESOURCE LIMIT
 +
------------------ -------------------------------------- ---------------- --------------
 +
SAMPLE_PROF COMPOSITE_LIMIT KERNEL DEFAULT
 +
SAMPLE_PROF SESSIONS_PER_USER KERNEL DEFAULT
 +
SAMPLE_PROF CPU_PER_SESSION KERNEL DEFAULT
 +
SAMPLE_PROF CPU_PER_CALL KERNEL DEFAULT
 +
SAMPLE_PROF LOGICAL_READS_PER_SESSION KERNEL DEFAULT
 +
SAMPLE_PROF LOGICAL_READS_PER_CALL KERNEL DEFAULT
 +
SAMPLE_PROF IDLE_TIME KERNEL DEFAULT
 +
SAMPLE_PROF CONNECT_TIME KERNEL DEFAULT
 +
SAMPLE_PROF PRIVATE_SGA KERNEL DEFAULT
 +
SAMPLE_PROF FAILED_LOGIN_ATTEMPTS PASSWORD 3
 +
SAMPLE_PROF PASSWORD_LIFE_TIME PASSWORD 15
 +
SAMPLE_PROF PASSWORD_REUSE_TIME PASSWORD 15
 +
SAMPLE_PROF PASSWORD_REUSE_MAX PASSWORD DEFAULT
 +
SAMPLE_PROF PASSWORD_VERIFY_FUNCTION PASSWORD DEFAULT
 +
SAMPLE_PROF PASSWORD_LOCK_TIME PASSWORD 5
 +
SAMPLE_PROF PASSWORD_GRACE_TIME PASSWORD DEFAULT
 +
16 rows selected.
 +
- 위에서 만든 re_sample_prof 의 내용을 조회하겠습니다.
 +
</source>
 +
 +
<source lang=sql>
 +
SELECT * FROM dba_profiles
 +
WHERE profile='RE_SAMPLE_PROF' ;
 +
</source>
 +
<source lang=sql>
 +
PROFILE RESOURCE_NAME RESOURCE LIMIT
 +
--------------------- ------------------------------------- --------------- ------------
 +
RE_SAMPLE_PROF COMPOSITE_LIMIT KERNEL DEFAULT
 +
RE_SAMPLE_PROF SESSIONS_PER_USER KERNEL DEFAULT
 +
RE_SAMPLE_PROF CPU_PER_SESSION KERNEL 1000
 +
RE_SAMPLE_PROF CPU_PER_CALL KERNEL DEFAULT
 +
RE_SAMPLE_PROF LOGICAL_READS_PER_SESSION KERNEL DEFAULT
 +
RE_SAMPLE_PROF LOGICAL_READS_PER_CALL KERNEL DEFAULT
 +
RE_SAMPLE_PROF IDLE_TIME KERNEL 10
 +
RE_SAMPLE_PROF CONNECT_TIME KERNEL 480
 +
RE_SAMPLE_PROF PRIVATE_SGA KERNEL DEFAULT
 +
RE_SAMPLE_PROF FAILED_LOGIN_ATTEMPTS PASSWORD DEFAULT
 +
RE_SAMPLE_PROF PASSWORD_LIFE_TIME PASSWORD DEFAULT
 +
RE_SAMPLE_PROF PASSWORD_REUSE_TIME PASSWORD DEFAULT
 +
RE_SAMPLE_PROF PASSWORD_REUSE_MAX PASSWORD DEFAULT
 +
RE_SAMPLE_PROF PASSWORD_VERIFY_FUNCTION PASSWORD DEFAULT
 +
RE_SAMPLE_PROF PASSWORD_LOCK_TIME PASSWORD DEFAULT
 +
RE_SAMPLE_PROF PASSWORD_GRACE_TIME PASSWORD DEFAULT
 +
16 rows selected.
 +
</source>
 +
 +
(3) 사용자에게 PROFILE 적용시키고 확인하기
 +
<source lang=sql>
 +
SYS>ALTER USER scott PROFILE sample_prof;
 +
SYS>ALTER USER scott PROFILE re_sample_prof;
 +
</source>
 +
여러 개의 프로파일을 적용 불가.
 +
 +
 +
(4) 사용 안 하는 PROFILE 삭제하기
 +
- 현재 사용 중인 re_sample_prof 프로파일을 삭제.
 +
<source lang=sql>
 +
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
 +
</source>
 +
 +
== 프로파일 삭제 ==
 +
<source lang=sql>
 +
SYS>DROP PROFILE re_sample_prof CASCADE;
 +
</source>
 +
 +
현재 사용자에게 할당이 되어 있는 PROFILE 은 기본적으로 삭제 안됨.
 +
CASCADE 옵션으로 삭제. 해당 프로파일은 DEFAULT PROFILE 사용하게 됨.
 +
 +
== 프로파일 생성 ==
 
<source lang=sql>
 
<source lang=sql>
 
  CREATE PROFILE scott_프로파일명 LIMIT
 
  CREATE PROFILE scott_프로파일명 LIMIT
7번째 줄: 232번째 줄:
 
     IDLE_TIME 60            -- 60분 대기 시간 후 세션종료  
 
     IDLE_TIME 60            -- 60분 대기 시간 후 세션종료  
 
     CONNECT_TIME 480;      -- 480분 동안만 작업 가능   
 
     CONNECT_TIME 480;      -- 480분 동안만 작업 가능   
 +
</source>
 +
 +
== 프로파일 수정 ==
 +
 +
<source lang=sql>
 +
ALTER PROFILE RTIS_DEV LIMIT SESSIONS_PER_USER UNLIMITED; -- 세션 제한 UNLIMITED
 
</source>     
 
</source>     
 +
 +
  
 
== 사용자에게 적용 ==
 
== 사용자에게 적용 ==
13번째 줄: 246번째 줄:
 
  ALTER USER scott PROFILE scott_프로파일명;   
 
  ALTER USER scott PROFILE scott_프로파일명;   
 
</source>
 
</source>
 +
 +
[[Category:oracle]]

2024년 1월 10일 (수) 23:15 기준 최신판

thumb_up 추천메뉴 바로가기


1 프로파일[편집]

Resource Description
CPU_PER_SESSION 1/100 초 단위로 측정한 총 CPU이용시간
CONNECT_TIME 분 단위로 측정한, 경과된 접속시간
IDLE_TIME 분 단위로 측정한 비활동 시간 : 서버 프로세스에 대해서만 IDLE_TIME 계산.응용프로그램 작업은 포함되지 않음.

IDLE_TIME은 오랜시간 수행되는 질의나 다른 작업들은 포함하지 않음.

LOGICAL_READS_PER_SESSION 데이터 블록 수 (물리적:디스크로부터,논리적:메모리로부터 읽은): LOGICAL_READS_PER_SESSION은 메모리와 디스크 모두 에게서 읽는 총 횟수를 제한.
PRIVATE_SGA 바이트 단위로 측정한 SGA 내의 전용(private) 공간(MTS만) : PRIVATE_SGA는 다중 스레드 서버(MTS) 구성 일 때만 적용 .

1.1 PROFILE 조회[편집]

SELECT *
  FROM DBA_PROFILES;

1.2 PROFILE 생성[편집]

PROFILE 은 사용자 계정의 행동에 제약사항 적용. 예를 들어 5분 이상 활동이 없으면 접속을 강제 종료,1개월마다 암호를 다른 것으로 바꾸게 강제 적용.

1) PASSWORD PROFILE 관련 파라미터

(1) FAILED_LOGIN_ATTEMPTS : 설정된 횟수만큼 로그인 시도 실패시 계정 잠금.

예를 들어 failed_login_attemps 3 이렇게 하면 3번 실패하면 4번째부턴 로그인 못한다는 의미.

(2) PASSWORD_LOCK_TIME : 위 1번 에서 계정이 잠기면 며칠 동안 잠글 것 인지 기간을 정하는 파라미터. 단위는 일(DAY)

(3) PASSWORD_LIFE_TIME : 동일한 암호를 며칠간 사용하게 할 것인지 설정하는 파라미터. 단위는 일(DAY) 이 기간이 지나도 안 바꾸면 다음 로그인할 때 강제로 바꾸게 프롬프트를 보여줌.

(4) PASSWORD_GRACE_TIME : 패스워드 만료 날짜가 가까워 졌음을 미리 알려 주는 기간. 단위는 일(DAY)

(5) PASSWORD_REUSE_TIME : 현재 패스워드를 설정된 기간동안 다시 사용할 수 없도록 설정. 단위는 일(DAY) 즉 암호를 변경하라고 했는데 사용자가 동일한 암호를 다시 사용 시 쓸 수 없게 만들어야 할 때 사용.

(6) PASSWORD_REUSE_MAX : 암호 설정 시 지정한 횟수만큼 다른 패스워드를 사용해야 함.(이전 패스워드를 재사용못하도록 설정)

(7) PASSWORD_VERIFY_FUNCTION : 암호를 보다 복잡하게 만들기 위해서 특정 함수를 적용시켜 사용자의 암호를 점검합니다. 오라클 제공 함수 verify_function 을 사용할 수 있고 사용자가 별도의 함수를 만들어서 적용할 수도 있음.

verify_function 함수를 이용할 경우

  • 암호는 최소한 4글자 이상 .
  • 암호는 사용자 계정과 다르게.
  • 암호는 하나의 특수문자나, 알파벳 , 숫자가 포함.
  • 암호는 이전 암호와 3글자 이상 다르게.
  • 예제 1. Password 관련 PROFILE 생성하기

- 조건 1: 로그인 시도 3회 실패 시 계정을 5일 동안 사용 못하게 할 것 - 조건 2: 계정의 암호는 15일에 한번씩 변경하게 할 것 - 조건 3: 동일한 암호는 15일 동안 사용 못하게 할 것

-- 프로파일 생성
CREATE PROFILE DEV_PROF 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
;


2) RESOURCE PROFILE 관련 파라미터 CPU 와 메모리 관련된 부분 제어.

이 PROFILE 을 사용하려면 RESOURCE_LIMIT = true 로 설정.

ORACLE이 시작될 때 사용되는 parameter file(Pfile / SPfile) 에 위 문장을 적어 놓거나 또는 지금 즉시 적용시키고 싶으면 9i 이상 버전일 경우엔

ALTER SYSTEM SET RESOURCE_LIMIT = true;

를 실행하시면 됩니다

(1) CPU_PER_SESSION : 하나의 세션이 CPU를 연속적으로 사용할 수 있는 최대 시간. 무한루프 같은 쿼리가 작동되면 혼자서 CPU를 연속적으로 점유. 이 설정을 사용하여 차단 1/100초 단위.

(2) SESSIONS_PER_USER : 하나의 사용자 계정으로 몇 명의 사용자가 동시에 접속 할 수 있는지를 설정.

(3) CONNECT_TIME : 하루 동안 DB Server에 접속을 허락하는 총 시간을 설정.(단위는 분입니다)

(4) IDLE_TIME : 지정 IDLE TIME 이후 접속을 해제. 예를 들어 IDLE_TIME 5 , 5분 동안 활동이 없는 세션은 강제로 접속종료.

(5) LOGICAL_READS_PER_SESSION : 한 session 에서 사용 가능한 최대 block 수를 지정합니다.

(6) PRIVATE_SGA :MTS / SHARED SERVER 일 경우 해당 session의 SGA 사용량을 bytes 단위로 설정.

(7) CPU_PER_CALL : 하나의 call 당 cpu를 점유할 수 있는 시간이며 1/100초 단위입니다.

(8) LOGICAL_READS_PER_CALL : 하나의 call 당 읽을 수 있는 block의 개수 지정.

예제 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
 CPU_PER_SESSION 1000
 CONNECT_TIME 480
 IDLE_TIME 10 ;

3) 사용자에게 PROFILE 할당하기 여기에서는 위의 예제 1번과 2번에서 만든 PROFILE 을 scott 에게 설정하겠습니다. (1) 현재 모든 사용자가 적용 받고 있는 PROFILE 확인하기

SYS>SELECT username "사용자명" , profile "적용 프로파일"
 FROM dba_users
 WHERE username=’SCOTT’ ;


사용자명 적용 프로파일


-----------------------------

SCOTT DEFAULT

(2) 해당 PROFILE 에 어떤 내용이 있는지 확인하기 - 위에서 만든 sample_prof 의 내용을 조회하겠습니다.

SYS>SELECT * FROM dba_profiles
 WHERE PROFILE='SAMPLE_PROF' ;
PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------ -------------------------------------- ---------------- --------------
SAMPLE_PROF COMPOSITE_LIMIT KERNEL DEFAULT
SAMPLE_PROF SESSIONS_PER_USER KERNEL DEFAULT
SAMPLE_PROF CPU_PER_SESSION KERNEL DEFAULT
SAMPLE_PROF CPU_PER_CALL KERNEL DEFAULT
SAMPLE_PROF LOGICAL_READS_PER_SESSION KERNEL DEFAULT
SAMPLE_PROF LOGICAL_READS_PER_CALL KERNEL DEFAULT
SAMPLE_PROF IDLE_TIME KERNEL DEFAULT
SAMPLE_PROF CONNECT_TIME KERNEL DEFAULT
SAMPLE_PROF PRIVATE_SGA KERNEL DEFAULT
SAMPLE_PROF FAILED_LOGIN_ATTEMPTS PASSWORD 3
SAMPLE_PROF PASSWORD_LIFE_TIME PASSWORD 15
SAMPLE_PROF PASSWORD_REUSE_TIME PASSWORD 15
SAMPLE_PROF PASSWORD_REUSE_MAX PASSWORD DEFAULT
SAMPLE_PROF PASSWORD_VERIFY_FUNCTION PASSWORD DEFAULT
SAMPLE_PROF PASSWORD_LOCK_TIME PASSWORD 5
SAMPLE_PROF PASSWORD_GRACE_TIME PASSWORD DEFAULT
16 rows selected.
- 위에서 만든 re_sample_prof 의 내용을 조회하겠습니다.
SELECT * FROM dba_profiles
 WHERE profile='RE_SAMPLE_PROF' ;
PROFILE RESOURCE_NAME RESOURCE LIMIT
--------------------- ------------------------------------- --------------- ------------
RE_SAMPLE_PROF COMPOSITE_LIMIT KERNEL DEFAULT
RE_SAMPLE_PROF SESSIONS_PER_USER KERNEL DEFAULT
RE_SAMPLE_PROF CPU_PER_SESSION KERNEL 1000
RE_SAMPLE_PROF CPU_PER_CALL KERNEL DEFAULT
RE_SAMPLE_PROF LOGICAL_READS_PER_SESSION KERNEL DEFAULT
RE_SAMPLE_PROF LOGICAL_READS_PER_CALL KERNEL DEFAULT
RE_SAMPLE_PROF IDLE_TIME KERNEL 10
RE_SAMPLE_PROF CONNECT_TIME KERNEL 480
RE_SAMPLE_PROF PRIVATE_SGA KERNEL DEFAULT
RE_SAMPLE_PROF FAILED_LOGIN_ATTEMPTS PASSWORD DEFAULT
RE_SAMPLE_PROF PASSWORD_LIFE_TIME PASSWORD DEFAULT
RE_SAMPLE_PROF PASSWORD_REUSE_TIME PASSWORD DEFAULT
RE_SAMPLE_PROF PASSWORD_REUSE_MAX PASSWORD DEFAULT
RE_SAMPLE_PROF PASSWORD_VERIFY_FUNCTION PASSWORD DEFAULT
RE_SAMPLE_PROF PASSWORD_LOCK_TIME PASSWORD DEFAULT
RE_SAMPLE_PROF PASSWORD_GRACE_TIME PASSWORD DEFAULT
16 rows selected.

(3) 사용자에게 PROFILE 적용시키고 확인하기

SYS>ALTER USER scott PROFILE sample_prof;
SYS>ALTER USER scott PROFILE re_sample_prof;

여러 개의 프로파일을 적용 불가.


(4) 사용 안 하는 PROFILE 삭제하기 - 현재 사용 중인 re_sample_prof 프로파일을 삭제.

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

1.3 프로파일 삭제[편집]

SYS>DROP PROFILE re_sample_prof CASCADE;

현재 사용자에게 할당이 되어 있는 PROFILE 은 기본적으로 삭제 안됨. CASCADE 옵션으로 삭제. 해당 프로파일은 DEFAULT PROFILE 사용하게 됨.

1.4 프로파일 생성[편집]

CREATE PROFILE scott_프로파일명 LIMIT
     SESSIONS_PER_USER 2     -- 동시 세션 2명
     CPU_PER_SESSION 10000   
     IDLE_TIME 60            -- 60분 대기 시간 후 세션종료 
     CONNECT_TIME 480;       -- 480분 동안만 작업 가능

1.5 프로파일 수정[편집]

ALTER PROFILE RTIS_DEV LIMIT SESSIONS_PER_USER UNLIMITED; -- 세션 제한 UNLIMITED


1.6 사용자에게 적용[편집]

ALTER USER scott PROFILE scott_프로파일명;