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
반응형
'DB (데이터베이스) > Oracle (오라클)' 카테고리의 다른 글
[Oracle] oracle UTL_FILE 패키지로 파일 생성하고 내용쓰기 (0) | 2024.05.30 |
---|---|
[Oracle] oracle PLS-00201 : identifier must be declared 원인, 해결 (0) | 2024.05.27 |
[Oracle] oracle에서 lock object를 조회하는 방법 (0) | 2024.05.10 |
[Oracle] oracle datafile rename방법 (0) | 2024.05.10 |
[Oracle] oracle 실행계획 조회방법 (0) | 2024.05.10 |