반응형

오라클 6

[프로프레임] 거래전문 추출 Pro*C

오라클에서 제공하는 proc 샘플을 이용하여 작성하였다. 프로프레임 3.0 에서는 거래를 할 때 마다 이미지로그 테이블에 거래 전문을 보관한다. 이것을 조회하여 text 파일로 떨어트린다. 그런 후에 이 전문 정보를 이용하여 재거래를 해 볼 수 있다. 재거래를 하기 위해서는 pfmtcl 이라는 명령을 이용한다. 이미지로그파일은 일자별로 나누어져 있기 때문에 일자를 입력값으로 받아야 한다. 프로그램내에서 Dynamic SQL을 이용하기 위하여 Prepared Statement 방식을 이용하였다. 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 31 32 33 34 35 36 37 38 39 40 41 42 43..

윈도우7에서 Oracle 11g Client 삭제하기

오라클 클라이언트 프로그램 설치하다가 잘못 설치하게 되면 보통일이 아니다. uninstall 하는 방법이 졸라리 복잡하다. 한두시간 날아가기는 일아니기 때문에 훗날 다시 삽질하는 분들이 또 있을까봐 글을 남긴다. 오라클 클라이인트 프로그램을 설치할 때 설치소스가 있는 디렉토리에 한글이 있다든지 할 때 제대로 깔리지 않고 중단되는 수가 있다. 그러면 이렇게 찌꺼기가 남게 되는 것이다. uninstall이 이렇게 어렵게 되는 이유가 뭔지 이해가 안 되지만 어쩔 수 없다. 나의 작업 환경 첫번째 설치시도를 c:\app\oracle\product\11.2.0\client_1 에 했다. 그런데 실패. 그래서 다시 설치를 시도했는데 c:\app\oracle\OraHome_2 로 시도했다가 다시 실패. 찌꺼기로 남은..

오라클(Oracle) SID 및 DB_NAME 확인 방법

jdbc 에서 thin 드라이버로 오라클에 접속할 때는 SID를 알아야 한다. 최근에는 SID로 직접 기술하여 접근하는 것보다는 service name 이라는 것을 tnsname.ora 파일에 지정해 놓고 이것을 사용한다. 아무래도 SID가 공개되는 것이 문제가 될 수 있을 것이다. PRODDB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 152.25.24.15)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = ORCL) ) ) 서비스명과 인스턴스명과 데이타베이스명과 SID는 서로 비슷한 듯 하면서 약간 다르다. 1. 오라클 데이타베이스명을 확인하는 방법 SELECT NAME, DB_UNIQ..

Oracle Locking Survival Guide

Oracle Locking Survival Guide 1. Overview 멀티유저시스템에서는 여러사람이 동일한 정보를 동시에 변경하게 된다. 락은 오직 한 사용자만이 특정 데이타를 변경할 수 있도록 허용하는 것이다. 다른 사람은 동일데이타를 변경할 수 없다. The basic idea of locking is that when a user modifies data through a transaction, that data is locked by that transaction until the transaction is committed or rolled back. The lock is held until the transaction is complete - this known as data concur..

오라클 LOCK 조회 및 KILL 방법

프로젝트에서 LOCK 이 자주 걸리는 문제가 발생하여 연구하던 중에 아래의 sql 문을 이용하여 lock 세션을 찾아서 관리할 수 있다는 것을 알았다. 그러나 이 SQL 은 System 유저만이 사용할 수 있다는 제약이 있다. LOCK 이 발생하게 되면 프로그램이 동작하다가 멈추고 기다리게 된다. 원인을 파악하는데 시간이 허비하게 되는데 알고 보니 테이블에 LOCK이 걸린 것이었다면 허탈함을 금할 수 없다. 자주 LOCK 이 걸리는 테이블이라면 SELECT 할 때 WAIT 타임을 1 정도로 주면 1초동안 LOCK 이 풀리기를 대기하다가 오류 처리되므로 개발자가 쉽게 LOCK 걸린 상황을 인지할 수 있다. -- 락걸린 테이블 확인 SELECT DO.OBJECT_NAME, DO.OWNER, DO.OBJECT..

ORA-01003 에러 발생 원인 및 조치

ORA-01003 에러 발생 원인 및 조치 현황에 대한 참고할 만한 글이 있다. 주로 발생되는 경우로는 배치서버에서 가결산 작업 중 금리제공모듈, 고객정보모듈 등 에서 ORA-01003 오류 다수 발생되었다. ORA-01003 발생 원인은 배치 프로그램 또는 TP서비스 구동 중 DB(서버) 메모리 내의 테이블 정보와 AP(서버) 프로그램단 SQL내에서 참조하는 테이블 정보가 서로다른 경우 발생 되므로 이런 경우는 대부분 프로그램 구동중에 테이블 재생성 작업을 수행하는 경우에 발생 가능하다. 프로젝트에서 데이타 전환을 하는 과정에서 현재 데이터 재적재(전환원본DB -> 운영DB)가 일중 수시로 진행되고 있고, 이 재적재는 내부적으로 테이블 재생성(drop & create)과정을 거치게 됨으로써 발생하고 있..

반응형