티스토리 뷰
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');
'Database' 카테고리의 다른 글
[MYSQL]ROWNUM (0) | 2016.10.21 |
---|---|
[MYSQL]Fabric 설치 및 HA 구성 (0) | 2016.10.17 |
[MYSQL]mysqldump 백업 (0) | 2016.09.29 |
[MYSQL]MySQL 5.5.x Semisynchronous Replication (이중화백업) (0) | 2016.09.24 |
[MYSQL]MySQL 5.5.x Replication(MySQL 5.6 이중화) (0) | 2016.09.20 |
- Total
- Today
- Yesterday
- table
- apache
- 설정
- 오라클
- Linux
- mssql
- 백업
- Toad
- Oracle
- Shell
- user
- java
- delete
- DATABASE
- server
- eclipse
- 서버
- 자동차
- DB
- IP
- MySQL
- tomcat
- 데이터
- 테이블
- select
- Windows
- 윈도우
- sql
- 파일
- 리눅스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |