ORA-00600: 내부 오류 코드, 인수: internal error code, arguments: HO define: Long fetch

ORA-00600: 내부 오류 코드, 인수(internal error code, arguments): [HO define: Long fetch]

ORA-00600: 내부 오류 코드(ORA-00600: internal error code) 원인과 해결 방법에 대해 알아보도록 합시다. 

MSSQL에서 ORACLE로 DB LINKS 를 시도하여 조회하였을 때  특정 테이블에서 해당 오류가 발생하였습니다.

SELECT * FROM tbName@dbLinks;

internal error code, arguments: [string], [string], [string], [string], [string], [string], [string], [string] 

Cause: This is the generic internal error number for Oracle program exceptions. This indicated that a process encountered an exceptional condition.

그런데 특정 칼럼을 지정하는 경우에는 오류가 발생하지 않았습니다.

SELECT col1, col2, col3, ... FROM tbName@dbLinks;

문제가 발생하는 칼럼을 찾아보니 다음과 같았습니다.

mssql varbinary(8000)

MSSQL은 데이터타입이 VARBINARY(8000)도 가능한 부분에서 오류가 발생하였답니다.

오라클 SQL에서 VARCHAR2 형식은 4000bytes가 상한인데 반해, MSSQL에서는 VARBINARY 형식에 8000bytes 이상이 설정 가능하여 발생한 것이었습니다.

HO define: Long fetch 오류인 경우, 칼럼 길이를 한 번 확인해보면 도움이 될 것입니다.

그러므로 이번에 ORA-00600: 내부 오류 코드가 발생한 원인, Long fetch 문제인 경우, VARCHAR2(4000 bytes) 초과 가능성이 있으니 확인해 주십시오.

댓글