ORA-00057 maximum number of temporary table locks exceeded 는?
ORA-00057 에러는 Oracle 데이터베이스에서 임시 테이블(Temporary Table)에 대한 잠금(Lock) 수가 시스템에서 허용하는 최대치를 초과했을 때 발생하는 에러입니다. Oracle 내부적으로 Global Temporary Table(GTT) 또는 임시 세그먼트에 접근하는 세션이 동시에 너무 많아지거나, 단일 세션 내에서 과도하게 많은 임시 테이블 잠금을 획득하려 할 때 이 에러가 트리거됩니다. 특히 대규모 OLTP 환경이나 배치 처리 시스템에서 다수의 세션이 동시에 Global Temporary Table을 사용하는 경우 실무에서 종종 맞닥뜨리게 되는 에러입니다.
주요 발생 원인
1. Global Temporary Table(GTT)의 과도한 동시 세션 접근
Oracle의 Global Temporary Table은 세션 또는 트랜잭션 단위로 데이터를 격리하지만, 내부적으로는 잠금 메커니즘을 사용하여 각 세션의 접근을 관리합니다. 수백 개 이상의 세션이 동시에 동일한 GTT에 접근하거나, 애플리케이션에서 커넥션 풀(Connection Pool)을 통해 짧은 시간 내에 폭발적으로 세션이 증가할 경우, 임시 테이블 잠금 슬롯이 고갈되어 ORA-00057이 발생할 수 있습니다. 이 상황은 특히 웹 애플리케이션에서 트래픽이 급증하는 피크 타임(peak time)에 자주 관찰됩니다.






