Oracle

V$PROCESS

자바바라 2025. 1. 16. 23:26

Oracle 데이터베이스에서 운영 체제 수준의 프로세스 정보를 제공하는 뷰. 이를 통해 Oracle 인스턴스와 연결된 서버 프로세스, 백그라운드 프로세스, CPU 및 메모리 사용량 등을 확인할 수 있다.


주요 열 설명

  • PID: Oracle 내부 프로세스 ID
  • SPID: 운영 체제 수준의 프로세스 ID
  • PGA_USED_MEM: 해당 프로세스의 PGA(Program Global Area) 메모리 사용량
  • USERNAME: 프로세스를 실행 중인 사용자 이름 (운영 체제 사용자)
  • PROGRAM: 프로세스 실행 중인 프로그램 이름
  • TERMINAL: 프로세스가 실행된 터미널 이름
  • BACKGROUND: 백그라운드 프로세스 여부 (YES/NO)

기본 사용 예제

  1. 모든 프로세스 확인
SELECT PID, SPID, PROGRAM, BACKGROUND, PGA_USED_MEM 
FROM V$PROCESS;

결과 예시:

PID SPID PROGRAM BACKGROUND  PGA_USED_MEM
1 12345 ora_pmon_orcl YES 204800
2 12346 ora_smon_orcl YES 409600
10 54321 sqlplus@myserver NO 512000

  1. 백그라운드 프로세스만 조회
SELECT PID, SPID, PROGRAM, PGA_USED_MEM 
FROM V$PROCESS
WHERE BACKGROUND = 'YES';

결과 예시:

PID  SPID  PROGRAM  PGA_USED_MEM
1 12345 ora_pmon_orcl 204800
2 12346 ora_smon_orcl 409600

  1. 특정 운영 체제 프로세스 ID로 조회 운영 체제에서 확인한 PID가 54321인 프로세스에 대한 정보를 확인:
SELECT PID, SPID, PROGRAM, PGA_USED_MEM 
FROM V$PROCESS
WHERE SPID = '54321';

결과 예시:

PID  SPID  PROGRAM  PGA_USED_MEM
10 54321 sqlplus@myserver 512000

  1. 메모리 사용량이 높은 프로세스 확인
SELECT PID, SPID, PROGRAM, PGA_USED_MEM 
FROM V$PROCESS
ORDER BY PGA_USED_MEM DESC
FETCH FIRST 5 ROWS ONLY;

결과 예시:

PID  SPID  PROGRAM  PGA_USED_MEM
10 54321 sqlplus@myserver 512000
2 12346 ora_smon_orcl 409600
1 12345 ora_pmon_orcl 204800

활용 방안

  1. 프로세스 모니터링: Oracle 인스턴스와 관련된 모든 프로세스를 확인하여 이상 프로세스를 감지.
  2. 백그라운드 프로세스 확인: 중요한 백그라운드 프로세스(PMON, SMON, DBWn 등)의 상태를 확인.
  3. 운영 체제와 매핑: 특정 프로세스가 운영 체제와 어떻게 연결되어 있는지 분석.
  4. 리소스 사용량 최적화: 높은 메모리를 사용하는 프로세스를 분석하여 리소스 관리에 활용.