본문 바로가기
Oracle

[Oracle] ORA-12733 : 정규 표현식이 너무 깁니다.

by 상후 2021. 9. 1.
728x90
반응형

 

ORA-12733: 정규 표현식이 너무 깁니다.

ORA-12733 :  regular expression too long

 

발생 원인
오라클 정규표현식 함수 REGEXP_LIKE 사용하여 조회 시 발생했다.
원인은 작성된 정규표현식의 허용 크기를 초과하였기 때문이다. 

출처 : Oracle Docs

 

해결 방법
해결 방법은 위 Docs에 따르면 보다 짧은 정규표현식을 사용하여 해결하여야 한다.

그렇다면, 최대 허용 크기는 얼마나 될까?
아래의 내용에 따르면 512 byte가 최대 허용 범위이다.

즉, 사용할 정규표현식의 크기를 512 byte가 안 넘게 해줘야 한다.

 

출처 : https://docs.oracle.com/cd/B12037_01/server.101/b10759/conditions018.htm

 

 

필자의 경우 약 1000 byte 가량의 긴 정규표현식을 사용하여 위 에러가 발생하였고

해당 정규 표현식을 512 byte를 넘지 않게 분할하여 조회하거나,  정규표현식을 최적화하는 방법밖에 없는 것 같다.

 

무조건 512 byte를 넘는 정규표현식을 사용해야 한다면,,

프로세스를 바꿔야 할지도..? 

 

좀 더 생각해봐야겠다 😢


참고 및 같이 보면 좋을 자료

https://asktom.oracle.com/pls/apex/asktom.search?tag=limitations-of-regexp-functions 

https://docs.oracle.com/cd/B12037_01/server.101/b10759/conditions018.htm

 

 

 

728x90
반응형

댓글