DB (데이터베이스)/Oracle (오라클)

[Oracle] oracle error Warning : too many parse errors 원인, 해결

뜽배 2024. 5. 27. 16:11
728x90
반응형

oracle alert.log에서 WARNING : too many parse error발생한 경우 원인과 해결방안에 대해 알아보자.

 

 

 

1. 원인

 

oracle 구문 에러가 많이 발생

 

insert into INFRA.test values ('1', '2');

이런식의 정상적인 쿼리가 아닌 

 

insert innt INFRA.test values ('1', '2');

위 처럼 오타를 내면 parsing과정에서 애러가 발생한다.

 

이 애러가 굉장히 많은 횟수의 경우 alter log에 "WARNING : too many parse error" 메시지가 뜬다

 

2. 테스트

 

리눅스 환경에서 test.sh라는 쉘 스크립트를 만들어 준다.

 

test.sh

#!/bin/bash

for ((i=1; i<100; i++))
do
nohup sqlplus system/<password> @test.sql &
done
wait

 

test.sql 또한 작성한다.

 

test.sql

FOR i IN 1..100
LOOP
INSERT INOT INFRA.TEST VALUES(SYSDATE, i);
commit;
END LOOP;
END;
/
EXIT;

 

 

테스트 결과 아래 처럼 test.sh를 실행시켜주면 background로 잘못된 sql문을 계속 실행하게 된다.

 

그러다가. 'alert.log'에 아래와 같이 

WARNING : too many parse errors 라는 경고 메시지가 뜨게 된다.

 

3. 해결방안

 

alert log에 발생한 쿼리를 찾아 오타를 수정하도록 한다.

728x90
반응형