본문 바로가기
Database/Oracle

[ORACLE] USER_RESOURCE_LIMITS 완전 해설 : 사용자별 리소스 제한 정책 확인과 실무 활용

by Papa Martino V 2025. 8. 6.
728x90

USER_RESOURCE_LIMITS 완전 해설 : 사용자별 리소스 제한 정책 확인과 실무 활용
[ORACLE] USER_RESOURCE_LIMITS

 

Oracle 데이터베이스는 다중 사용자가 동시에 접속하는 환경에서 시스템 자원을 효율적으로 관리하기 위해 프로파일(Profile)을 통해 리소스 제한(Resource Limits)을 설정합니다. 이러한 제한 정책은 사용자의 세션, CPU 사용량, 비밀번호 보안 등의 기준으로 정의되며, 이 정보를 사용자 입장에서 조회할 수 있는 대표적인 뷰가 바로 USER_RESOURCE_LIMITS입니다. 본 문서에서는 USER_RESOURCE_LIMITS 뷰의 구조, 실제 리소스 제한 항목, 관련 관리 전략을 실무 중심으로 상세히 설명합니다.

1. USER_RESOURCE_LIMITS 뷰란?

USER_RESOURCE_LIMITS는 현재 사용자가 속한 프로파일(Profile)에 정의된 리소스 제한 정책을 확인할 수 있는 데이터 딕셔너리 뷰입니다. DBA가 설정한 자원 사용 정책을 사용자 입장에서 직접 확인할 수 있는 유일한 뷰입니다.

2. 주요 컬럼 설명

컬럼명 설명
RESOURCE_NAME 제한되는 자원 이름 (예: SESSIONS_PER_USER)
RESOURCE_TYPE 자원 유형 (KERNEL 또는 PASSWORD)
LIMIT 적용되는 제한 값 (예: 10, UNLIMITED 등)

3. 자주 사용되는 리소스 제한 항목

RESOURCE_NAME RESOURCE_TYPE 설명
SESSIONS_PER_USER KERNEL 사용자당 동시 접속 가능한 세션 수
CPU_PER_SESSION KERNEL 세션당 허용된 CPU 시간
CONNECT_TIME KERNEL 세션 최대 접속 시간 (분)
FAILED_LOGIN_ATTEMPTS PASSWORD 비밀번호 실패 허용 횟수
PASSWORD_LIFE_TIME PASSWORD 비밀번호 사용 기간 (일)

4. 실전 예제: 현재 사용자 리소스 제한 확인


SELECT * 
FROM USER_RESOURCE_LIMITS 
WHERE RESOURCE_TYPE = 'KERNEL';
  

이 쿼리는 현재 로그인한 사용자의 커널 자원 제한 내역을 보여줍니다.

5. 관리 전략 및 실무 팁

  • 비정상 종료 또는 대량 세션 생성 방지를 위해 SESSIONS_PER_USER 제한을 설정
  • 비밀번호 정책 강화를 위해 FAILED_LOGIN_ATTEMPTSPASSWORD_LIFE_TIME 활용
  • 리소스 제한이 UNLIMITED인 경우, 보안 및 시스템 부하 고려하여 적절한 값으로 조정 필요
  • 자주 접속 장애가 발생한다면 해당 계정의 리소스 제한 여부 우선 점검

6. 관련 뷰 비교표

뷰 이름 내용 접근 권한 용도
USER_RESOURCE_LIMITS 현재 사용자에게 적용된 리소스 제한 일반 사용자 개인 계정 리소스 정책 확인
DBA_PROFILES 모든 프로파일에 설정된 리소스 제한 DBA 시스템 전체 정책 관리
USER_USERS 현재 사용자의 프로파일명 확인 일반 사용자 어떤 프로파일이 적용 중인지 확인

7. 자주 묻는 질문 (FAQ)

Q1. LIMIT이 'UNLIMITED'로 되어 있으면 무제한인가요?

A. 네, 해당 자원에 대해 제한이 없음을 의미합니다. 하지만 실무에서는 보안 및 부하 문제로 인해 필요한 제한을 설정하는 것이 권장됩니다.

Q2. 리소스 제한을 직접 변경할 수 있나요?

A. 일반 사용자는 불가능하며, DBA가 ALTER PROFILE 명령어를 통해 변경해야 합니다.

Q3. 프로파일이 없는 사용자도 이 뷰에서 확인할 수 있나요?

A. 모든 사용자는 적어도 하나의 프로파일이 자동 할당되므로 항상 데이터가 존재합니다. 일반적으로 DEFAULT 프로파일이 기본으로 사용됩니다.

8. 결론

USER_RESOURCE_LIMITS 뷰는 Oracle 사용자가 자신의 계정에 적용된 리소스 제한 정책을 자율적으로 이해하고, 문제가 발생했을 때 빠르게 원인을 파악할 수 있도록 도와주는 매우 유용한 도구입니다. 효율적인 시스템 운영을 위해서는 개발자, 운영자 모두 이 정보를 숙지하는 것이 필요합니다.

9. 참고 문헌

  • Oracle Database Security Guide – Oracle 공식 문서
  • Oracle SQL Language Reference – PROFILE 및 USER_RESOURCE_LIMITS 관련 내용
728x90