Dev/DBMS

    Oracle Bulk Loader

    Oracle DB의 특정 테이블에 대용량의 데이터를 Insert 하고 싶을때, Oracle Bulk Loader를 사용한다. Loader를 사용하기 위해서는 컨트롤 파일과, 데이터 파일이 필요하다. 컨트롤 파일은 데이터 파일 정보와 테이블 정보를 가지고 있고, 데이터 파일은 DB에 넣고자 하는 데이터 목록을 가지고 있다. 1. 테이블 생성 CREATE TABLE TEST_TBL ( NAME CHAR(20), SCORE NUM(5), UPDATE DATE ); 2. 컨트롤 파일 생성 $ cat test.ctl LOAD DATA INFILE test.dat INTO TABLE TEST_TBL FIELDS TERMINATED BY ',' (NAME, SCORE, UPDATE SYSDATE)3. 데이터 파일 생..

    Oracle import / export

    Export * 사용자 지정 $ exp oracle_id/oracle_pwd file='dump_filename.dmp' owner=oracle_id compress=y log=log_filename.log * 테이블 지정 $ exp oracle_id/oracle_pwd file='dump_filename.dmp' tables=table_name * 테이블 조건 지정 $ exp oracle_id/oracle_pwd file='dump_filename.dmp' tables=table_name query=\"where seq=\'007\'\" Import * 사용자 지정 $ imp oracle_id/oracle_pwd file='dump_filename.dmp' fromuser=oracle_id touser..

    Pro*c를 이용한 오라클 PL/SQL function 호출

    Proc*c를 이용해 Sub Program(Procedure or Function)을 호출 하는 방법에 대해 설명한다. 자료를 찾아보면 대부분의 샘플 코드가 Procedure 로만 되어 있다. 여기서는 Function을 호출 해 보기로 한다. 사실 호출 방법은 거의 비슷 하다. - 컴파일 방법 PL/SQL 구문을 사용하기 때문에 proc 컴파일 옵션을 주어야 한다. 그런데, 컴파일 옵션을 주면 다른 Pro*c 구문에서 컴파일이 안되는 일이 발생을 한다. 따라서, PL/SQL 구문을 사용하는 소스는 별도 .pc 파일로 때어 내어서 별도 컴파일을 해야한다. $ proc include=../inc iname=sub.pc SQLCHECK=SEMANTICS userid=oracleid/oraclepwd 여기서 기..

    ORA-01002 fetch out of sequence

    ORA-01002 fetch out of sequence 는 여러 경우에 발생을 한다. 그중 한가지에 대한 오류 발생 사례 이다. DB Link로 Remote 테이블을 참조 하고 있는 프로세스가 작업을 수행하고 있는 상태에서, Remote DB가 Shutdown 되는 경우 위 에러가 발생 한다. Remote DB가 Start되고 새로운 세션을 맺어야 프로세스가 정상 동작을 한다. 세션을 유지한 상태에서 Remote DB가 Start 되어도 위 에러가 계속 발생한다. 말이 어렵다 테스트 해보자. 1. ORA TNS에 RemoteDB를 추가한다. 2. DB 링크를 생성한다. CREATE PUBLIC DATABASE LINK test_link CONNECT TO remoteDBid IDENTIFIED BY r..

    oracle 유용한 쿼리

    Join UPDATE UPDATE AA A SET A.TARGET = ( SELECT B.TARGET FROM BB B WHERE A.PK = B.PK ) WHERE EXISTS ( SELECT 1 FROM BB B WHERE A.PK = B.PK ); 쿼리 시간 보기 set timing on; set timing off; PLAN 정보 보기 set autot on exp 사용자 쿼리 set autot off rollback; 현재 연결된 세션 select count(*) from v$session; 세션 정보 select status, sid from v$session; 사용자명 별 연결 세션 select USERNAME, count(1) from v$session group by USERNAME; 케..

    Sql CE를 EVC로 구현하고자 하는데 통 답이 없네요

    Sql CE를 EVC로 구현하고자 하는데 통 답이 없네요 * SQL CE를 에뮬에서만 돌리고자 합니다. SQL SERVER하고는 연동할 필요가 없습니. * 사용 Software : EVC4.0, SQL SERVER CE 4.0 ADO쓰지 않고,, OLEDB사용 * 예제소스 : SQL SERVER CE 인스톨후 NorthwindOleDb 사용 로컬에 그냥 DB파일(sdf)을 사용하여 에뮬로 테스트 할 예정 ADO 쓰지 않고..OLEDB 사용함... 헌데.. "CLSID_SQLSERVERCE_2_0"가 등록 되지 않았다고 함.. 어떻게 해야죠? hr = CoCreateInstance( CLSID_SQLSERVERCE_2_0, 0, CLSCTX_INPROC_SERVER, IID_IDBInitialize, (v..