목록에러 (2)
정미나닷컴
ORA-06502: PL/SQL: 수치 또는 값 오류: 문자열 버퍼가 너무 작습니다 : 오라클 Function이나 Procedure 내에 선언된 변수의 크기보다 더 큰 값을 담으려고 할 때 발생하는 에러 하지만 내가 문자열을 담으려던 변수는 Function 내에 VARCHAR2(32767)로 선언되어 있었고 아무리 DB를 뒤져봐도 32767 byte를 넘어가는 데이터는 없어서 멘붕이 오던 찰나, 오라클 VARCHAR2는 4000 byte까지만 지원된다는 구글님의 조언을 얼핏 듣고 그렇다면 저 변수는 왜 32767 byte로 선언되어 있는가 의문이 들어 다시 한번 폭풍 검색- 결론은 PL/SQL내에서는 VARCHAR2가 32K까지 지원이 되지만 어차피 그 변수값을 테이블이나 뷰에 담을거라면 4000 byt..
init.ora 의 global_names가 true로 설정되어 있는 경우 DBLink 생성시 반드시 상대방의 global_name과 같은 이름으로 DBLink명을 지정해야 한다. (true가 아닐 경우에는 임의의 이름으로 생성 가능) 그렇지 않았을 경우 SELECT, INSERT, DELETE 등은 가능하지만 function 사용은 불가함 * DB의 global_name 확인 select * from global_name; 설정값을 바꾸기 위해서는 initSID.ora 파일을 수정하는 것이 맞지만 DB를 내렸다 올릴 수 없는 경우 임시방편으로 쿼리문 날리기 전에 ALTER SESSION SET GLOBAL_NAMES = TRUE 위 쿼리를 날려주는 방법이 있음