ORA-23801, ORA-22921, ORA-06512 DBMS_SQLTUNE.REPORT_SQL_MONITOR GENERATE ORA-22921 with PPA PROCESS

ERROR CODE / 설명

 

ORA-23801: error signaled in parallel query server PPA8, instance ~
ORA-06512: at "SYS.DBMS_SQLTUNE" line 18940
ORA-22921: 입력 버퍼의 길이는 요구된 양보다 적습니다. 
ORA-06512: at "SYS.DBMS_SQLTUNE", line 14318
ORA-06512: at "SYS.DBMS_SQLTUNE", line 19036
ORA-06512: at "SYS.DBMS_SQLTUNE", line 19367
ORA-06512: at line 1 

DBMS_SQLTUNE.REPORT_SQL_MONITOR 에러발생코드

 

 

 

발생 원인

 

업무상 자주 사용하는 실시간 SQL 모니터링 함수이다. 그런데 어느날 업무 중에 위의 에러코드가 발생한다.

그 당시 작업 했던 배치 SQL은 실행 플랜 로우가 1,000줄 정도였는데,  SQL 실행 플랜상 막바지에 이르면 위 에러가

발생했다. 그런데 그 이후 부터는 짧은 SQL에서 동일한 증상이 나타나기도 했다. 

 

* 실시간 SQL MONITOR
SELECT dbms_sqltune.report_sql_monitor( sql_id=>'', type=>'TEXT', report_level=>'ALL') FROM DUAL;

 

 

 

해결방법

DBA 부서에서 오라클 Bug라는 회신이 왔으며,

추후 workaround(해결방법)없이 19.22 RU 패치 받음

Bug-33241359 - dbms_sqltune.report_sql_monitor generate 
ORA-22921 with ppa process