본문 바로가기

Oracle

[Error] Got minus one from a read call 문제 해결 이 문제도 여러가지 이유로 인해 발생하기 때문에 아래와 같은 방법으로 해결이 안 될 수도 있다. 리스너의 문제로 이런 에러가 발생한다면 리스너의 리스타트를 먼저 해보는 게 좋을 수도 있다. 여튼 여러가지 이유 중에 Connection이 살아 있어서 더 이상 접속할 수 없을 때 저런 에러가 나온다면 아래와 같은 방법으로 해결할 수 있다. 먼저 연결되어 있는 Connection을 보는 방법이다. SELECT s.status, s.* FROM v$sess..
ojdbc를 통해 SESSIONTIMEZONE 사용할 때 문제( feat. timezone 에러 ) 거지같은 에러가 발생했다. Local 환경에서 ojdbc를 사용하여 SESSIONTIMEZONE을 가져오면 Timezone값을 정상적으로 가져오는데 반해, Server 환경에서 SESSIONTIMEZONE을 가져오면 +9가 아닌 0값을 가져오는 문제가 발생했다. 결론부터 얘기하자면, 사용하는 ojdbc14.jar 파일의 버전이 달랐던 것. 서버 환경에서는 9.0.2.0.0 버전의 ojdbc14.jar 파일이 설치되..
[Oracle] translate 함수 사용 방법 replace 함수는 하나의 기준 값만을 가지고 값을 변경하지만 translate 함수는 여러 기준 값을 이용하여 값을 변경할 수 있다. 코드 샘플을 보면 딱 이해가 될 것이다. translate( 변경대상값, 변경기준값, 변경될값 ) translate( '001487573', '0123456789', '0123456789' ) 이렇게 사용하면 원래 숫자 '001487573'였지만 특수문자'001487573'으로 변경되어 리턴될 것이다.
[Query문] INSERT INTO SELECT 가~~~끔씩 문법 순서를 잊어먹어서 적어놓는 INSERT INTO SELECT 문. 간단하게 설명하자면 INSERT를 SELECT 해온 값으로 넣는 MERGE 다음으로 자주 쓰는 마법의 쿼리문이다. INSERT INTO INSERT_TABLE_NAME ( SELECT COLUMN1, COLUMN2, COLUMN3, COLUMN4 FROM SELECT_TABLE_NAME WHERE SID = 1 ); I..
[Oracle] 유저 테이블 목록 보기 SELECT TABLE_NAME FROM USER_TABLES; 아니면... SELECT TNAME FROM TAB;
Export / Import Oracle에서 Export와 Import를 하려면 사용하는 PC에 Oracle Server나 Oracle Client가 설치되어 있어야 한다.그래야 exp/imp 실행 파일이 있을 것이다.Exportexp USER_ID/PASSWORD@[SERVER_NAME] owner=OWNER_USER_ID file='FILE_PATH'대문자로만 쓰여진 부분은 Oracle 환경에 따라 바뀌거나 Export하려는 User, DB에 따라서 달라진..
[Oracle] 제수가 0입니다. 문제 해결 SELECT 100 / 0 FROM DUAL 위처럼 분모가 0이 되는 상황에서 쿼리문을 실행하면 다음과 같은 에러가 뜬다. ORA-01476: 제수가 0 입니다. 당연한 거겠지만 동작하지 않는다. 그럼 어떻게 해결해야할까?다음과 같이 사용하면 된다. SELECT NVL( 100 / NULLIF( 0, 0 ), 0 ) FROM DUAL NULLIF를 사용하여 분모가 0이 될 때 NULL 변환하고, 산술처리를 넘긴 다음에 NVL을 ..
4중 LEFT OUTER JOIN... select m.AC_NO acNo, m.AC_TYPE acType, m.PROC_SID procSid, proc.NAME procName, proc.DESCRIPTION procDescription, proc.PROCESS_TIME processTime, p.PREV_AC_NO prevAcNo, n.NEXT_AC_NO nextAcNo from MW_BP_MAPP m LEFT OUTER JOIN MW_BP_MAPP_PREV p ON ( m.AC_N..