오라클 에러 정보 (ORA-06532, ORA-06533) - PL/SQL에서 Arrary(배열) 범위를 벗어난 경우
Oracle DB 내에 있는 프로시저, 함수를 호출할때 아래와 같이 ORA-06532, ORA-06512 에러가 발생하는 경우, 이는 프로시저, 함수내에서 Arrary(배열) 변수를 사용했는데, 이 부분에서 에러가 발생한 것입니다. 배열로 선언해놓은 범위를 벗어나서 호출하는 경우에 발생합니다. PL/SQL 에서 배열 첫번째 인자는 0 이 아닌, 1 부터 시작하는 것을 주의할 필요가 있습니다. 아래의 PL/SQL 문의 경우 v_arrary 변수는 3개의 데이터(배열멤버)를 가진 배열 변수입니다. 따라서, 배열의 멤버들을 접근하려면 v_array(1), v_arrary(2), v_arrary(3) 처럼 사용해야 합니다. SQL> set serveroutput on SQL> declare type V_ARR ..
더보기
오라클 에러 정보 (ORA-01144) - 데이터파일 최대크기를 초과한 경우
Oracle 에서 데이터파일(datafile)을 크게 새로 만들려고 하거나, 기존 데이터파일의 크기를 변경(resize) 하려고 할때, ORA-01144 에러를 만날 수 있습니다. Oracle 에서 데이터는 블록(block) 단위로 저장됩니다. 하나의 데이터파일이 가질 수 있는 최대 블록의 갯수 제한이 있는데, 이게 2^22-1 입니다. 즉, 4,194,303 개. 오라클DB에서 블록크기를 보통 8k (8,192) 를 많이 사용합니다. 8k * 4,194,303 = 32GB 16k * 4,194,303 = 64GB 32k * 4,194,303 = 128GB 8k 짜리 블록 4백만개는 32GB 크기가 됩니다. 그래서 datafile 최대크기는 32GB 로 제한됩니다. 이런 제한때문에 ORA-01144 에러..
더보기