
[ORACLE] RESOURCE_COST 뷰 완벽 가이드
Oracle 데이터베이스는 안정적인 운영과 성능 유지를 위해 세션, CPU, I/O 등 다양한 자원(Resource)을 제어할 수 있는 기능을 제공합니다. RESOURCE_COST 뷰는 이러한 자원 사용에 대한 비용(Cost) 정보를 관리하는 데 활용되는 핵심적인 DBA 뷰 중 하나입니다. 특히, 사용자 프로파일(PROFILE)과 결합하여 세션별, 사용자별 리소스 제한 정책을 설정하는 데 필수적입니다.
1. RESOURCE_COST 뷰 개요
RESOURCE_COST 뷰는 데이터베이스에서 리소스를 제어할 때 사용되는 내부 비용 정보를 담고 있습니다. 이 뷰는 주로 Oracle의 사용자 프로파일(USER PROFILE) 기능 및 리소스 제한(RESOURCE LIMIT) 기능과 연계됩니다. DBA는 이 뷰를 통해 시스템 자원 관리 정책을 설계하고, 사용자가 과도한 리소스를 사용하는 것을 방지할 수 있습니다.
2. RESOURCE_COST 뷰의 구조
| 컬럼명 | 데이터 타입 | 설명 |
|---|---|---|
| RESOURCE_NAME | VARCHAR2 | 리소스 이름 (예: CPU_PER_SESSION, CONNECT_TIME 등) |
| COST | NUMBER | 해당 리소스의 비용 값 |
RESOURCE_COST 뷰는 단순하지만, 내부적으로 리소스 제한 정책을 구성할 때 중요한 역할을 합니다.
3. 주요 리소스 항목
| 리소스 이름 | 설명 | 활용 예시 |
|---|---|---|
| CPU_PER_SESSION | 세션당 허용되는 CPU 시간 | 사용자별 세션 최대 CPU 시간 제한 설정 |
| CONNECT_TIME | 세션 최대 연결 시간(분 단위) | 사용자별 세션 지속 시간 제한 |
| IDLE_TIME | 세션 유휴 시간 | 세션 비활성 상태 시 자동 종료 설정 |
| LOGICAL_READS_PER_SESSION | 세션당 허용되는 논리적 블록 읽기 수 | 과도한 I/O 작업 방지 |
| PRIVATE_SGA | 사용자별 SGA 메모리 할당 제한 | SGA 자원 관리 및 안정성 확보 |
4. RESOURCE_COST 조회 예제
-- RESOURCE_COST 뷰 조회 예제
SELECT resource_name, cost
FROM resource_cost
ORDER BY resource_name;
이 쿼리를 통해 데이터베이스에서 관리하는 리소스별 비용 설정 값을 확인할 수 있습니다.
5. RESOURCE_COST와 PROFILE의 관계
RESOURCE_COST 뷰는 단독으로 사용되기보다는, 사용자 계정의 PROFILE 설정과 함께 사용하는 경우가 많습니다. DBA는 프로파일에서 리소스 제한을 설정하고, 해당 리소스별 비용 값은 RESOURCE_COST 뷰를 통해 간접적으로 관리할 수 있습니다.
-- 사용자 프로파일 생성 예제
CREATE PROFILE dev_user_profile LIMIT
SESSIONS_PER_USER 2
CPU_PER_SESSION 3000
CONNECT_TIME 120
IDLE_TIME 30;
-- 프로파일 사용자에 적용
ALTER USER dev_user PROFILE dev_user_profile;
위 예제에서는 사용자별 세션 개수, CPU 사용량, 접속 시간, 유휴 시간을 제한하여 시스템 안정성을 높입니다.
6. RESOURCE_COST와 리소스 관리 정책 비교
| 구분 | RESOURCE_COST | PROFILE | V$RESOURCE_LIMIT |
|---|---|---|---|
| 역할 | 리소스 비용값 제공 | 사용자별 리소스 제한 설정 | 시스템 전체 리소스 사용 현황 모니터링 |
| 관리 단위 | 리소스 자체 | 사용자 및 세션 | 데이터베이스 전체 |
| 활용 목적 | 비용 기반 자원 관리 | 사용자 리소스 사용 제어 | 시스템 리소스 상태 파악 |
7. DBA를 위한 활용 전략
- 리소스 과다 사용 방지 — 특정 사용자가 과도하게 CPU, I/O를 사용하는 문제를 방지
- 시스템 안정성 확보 — 유휴 세션 자동 종료, 연결 시간 제한 등으로 안정적 운영 가능
- 비용 기반 리소스 관리 — RESOURCE_COST 값을 기반으로 효율적인 자원 정책 수립
- 프로파일과 연계 — 사용자별 맞춤형 자원 제한 정책 설정
8. 관리 시 유의사항
DBA는 RESOURCE_COST 뷰의 값 자체를 직접 변경하는 대신, Oracle의 표준 프로파일 및 리소스 제한 기능을 활용하는 것이 권장됩니다. 또한, 운영 환경에서는 잘못된 설정으로 인해 중요한 프로세스가 중단되지 않도록 신중히 적용해야 합니다.
9. 결론
RESOURCE_COST 뷰는 Oracle 데이터베이스에서 리소스 사용 비용을 확인하고, 사용자별 리소스 제한 정책을 수립하는 데 핵심적인 역할을 합니다. DBA는 이 뷰를 활용해 CPU, 세션, 메모리, I/O 등 다양한 자원을 효율적으로 관리하고 시스템 안정성을 높일 수 있습니다.
출처
- Oracle Database Reference 19c
- Oracle Resource Management 공식 문서: https://docs.oracle.com/en/database/
추천 태그: Oracle,RESOURCE_COST,리소스 관리,세션 제한,DBA,프로파일 설정,데이터베이스 성능
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] ROLE_SYS_PRIVS 뷰 완벽 해설 : 시스템 권한과 역할 매핑 구조 (0) | 2025.10.09 |
|---|---|
| [ORACLE] ROLE_ROLE_PRIVS : 롤 간 권한 상속을 한눈에 (0) | 2025.09.10 |
| [ORACLE] NLS_INSTANCE_PARAMETERS 뷰 완벽 가이드 (0) | 2025.09.10 |
| [ORACLE] NLS_SESSION_PARAMETERS 뷰 완벽 가이드 (0) | 2025.09.10 |
| [ORACLE] NLS_DATABASE_PARAMETERS (0) | 2025.09.09 |