본문 바로가기

oracle error

오라클 에러 정보 (ORA-27104) - system-defined limits for shared memory was misconfigured Oracle DB 서버의 메모리를 늘려주고(8GB -> 16GB), sga_max_size, sga_target 파라메타값을 늘려준 후, DB를 재기동 하는데 Startup 이 안되는 경우가 있습니다. ORA-27104 에러가 발생하면서 shared memory 가 잘못 설정되어 있다고 메시지를 뱉어냅니다. ORA-27104: system-defined limits for shared memory was misconfigured 이것은 OS Kernel Parameter 에 설정된 shm... 값이 잘못 설정되어 발생하는 것입니다. Oracle Database 설치 가이드에는 아래와 같이 shmall 값이 2097152 으로 되어 있는데, 이것은 8GB 를 기준으로 맞춰신 샘플이고, 메모리가 커지면 이 .. 더보기
오라클 ORA-00060 데드락(Deadlock) 에러 확인/조치 방법 Oracle Error ORA-60 은 서로 다른 세션이 서로 Lock 을 걸고 서로 상대가 풀어주기만을 무한히 기다리는 경우, 즉 Deadlock 상황에서 발생하는 에러입니다. 아래의 예를 보면, 쉽게 이해할 수 있습니다. 왼쪽 세션에서 먼저 job = 'CLERK' 인 데이터를 Update 했습니다. 그리고, 오른쪽 세션에서 job = 'SALESMAN' 인 데이터를 Update 했습니다. Update 하고 둘다 아직 Commit 을 하지 않았기 때문에 각각 해당 데이터들을 Lock 을 걸고 있는 상황입니다. 다시 왼쪽 세션에서 job = 'SALESMAN' 인 데이터를 Delete 하고자 합니다. 하지만 해당 데이터는 오른쪽 세션에서 Lock 걸고 있는 상태라 Waiting 하게 됩니다. 이때, 오.. 더보기
오라클 에러 (ORA-00998: must name this expression with a column alias) Oracle DB에서 CTAS(Create Table As Select) 구문으로 임시데이터를 만들때 아주 흔하게 만나는 에러가 ORA-00998 입니다. 아래와 같이 connect by 문으로 간단히 테스트 데이터를 1000건 만들고자 할때, CTAS 구문을 사용할 수 있습니다. SQL> create table TEST33 as select level + 1000 from dual connect by level create table TEST33 as select level + 1000 as col33 from dual connect by level 더보기
오라클 에러 정보 (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 .. 더보기