DBAtlas · 데이터베이스 운영 아틀라스

ORA-02393: exceeded call limit on CPU usage

Oracle

의미

세션에 할당된 리소스 프로파일에 정의된 단일 호출당 허용 CPU 시간(CPU_PER_CALL)을 초과해 Oracle이 해당 호출을 종료했다. 리소스 제한을 위한 안전장치다.

원인

사용자 프로파일에 CPU_PER_CALL 한도가 정의되어 있고 RESOURCE_LIMIT=TRUE이며, 단일 SQL/PLSQL 호출이 이 CPU 임계값을 초과했다. 보통 예상보다 훨씬 많은 CPU를 소비하는 비효율적/통제되지 않은 쿼리가 원인이다.

해결 방법

쿼리를 최적화해(적절한 인덱스, 올바른 실행 계획, 불필요한 full table scan 제거) CPU 소비가 한도 아래로 내려가도록 한다. 비즈니스 요구가 정당하다면 해당 사용자의 프로파일에서 CPU_PER_CALL을 늘리거나 UNLIMITED로 설정한다: ALTER PROFILE ... LIMIT CPU_PER_CALL ...; 프로파일 대신 Database Resource Manager로 리소스를 더 유연하게 관리하는 것을 고려한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목