티스토리 뷰

Database

[ORACLE]ORU-10027: buffer overflow

애플자라 2016. 10. 10. 10:52
반응형

ORU-10027: buffer overflow, limit of 20000 bytes등등의 에러가 발생한다.

 

이 에러의 원인은 프로시저 내에

 

DBMS_OUTPUT.PUT_LINE('L_SQLCODE : ' || L_SQLCODE); 과 같은

 

DBMS_OUTPUT.PUT_LINE라는 명령문 처리시 나는 에러 였다.

 

오라클이 버퍼 출력시 너무 많은 메모리를 사용하여 사용량 초과시 발생하는 에러이다.


CREATE OR REPLACE FUNCTION APLUSORA.LONG_TO_CHAR( in_rowid rowid,in_owner

varchar,in_table_name varchar,in_column varchar2) 

RETURN varchar

IS

text_c1 varchar2(32767);

sql_cur varchar2(2000);

BEGIN

  sql_cur := 'select '||in_column||' from

'||in_owner||'.'||in_table_name||' where rowid =

'||chr(39)||in_rowid||chr(39);

  dbms_output.put_line (sql_cur); --> 삭제

  execute immediate sql_cur into text_c1;

  Return text_c1;

END; 

/


 

해결 방법은

1. 프로시저 내에 DBMS_OUTPUT.PUT_LINE 명령문을 삭제

 

2. 버퍼 메모리 사이즈 증가 명령문을 실행한다.

 exec dbms_output.enable('500000000');

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함