it/db

    OCILib를 사용하는 경우 필수 파일

    * instantclient-basic-windows.x64-12.1.0.2.0.zip - oci.dll - oraociei12.dll - oraons.dll * msvcr100.dll * ocilibw.dll

    오라클 테이블의 레코드 사이즈 계산을 쉽게하자

    오라클 테이블의 레코드 사이즈 계산을 쉽게하자

    오라클 DB 테이블의 레코드 사이즈 계산을 할 필요가 있었다.구할려고 보니, 데이터 형별로 계산 공식이 틀리다. 계산 공식 : http://epoonet.egloos.com/4479971 쉽게 계산하기 위해 HTML 로 작성해봤다. 사용방법은 DB테이블 Description의 레코드별 사이즈 부분을 TextArea에 붙여 넣고 실행하면 된다. 주요 소스 내용은 아래와 같다. 직접 실행을 위한 URL은 아래와 같다.http://host.newtype.pe.kr/tools/ora_table_size.htm

    오라클 Plan 정보 보는 방법

    보통 set autotrace on 명령으로 plan 정보를 보는데, 회사의 DBA가 추천한 방법이 있어서 기록을 남긴다. 1. 사용자 계정으로 DB 접속 ( 시스템 계정의 경우 불필요한 쿼리까지 포함됨 ) $ sqlplus system/ 2. 쿼리 실행 SQL> alter session set sql_trace = true; SQL> 쿼리실행 ( 복수의 쿼리 가능 ) SQL> alter session set sql_trace = false; ( udump 생성을 위해 필수 ) 3. 결과 확인 $ cd $ORACLE_BASE $ cd ./admin/DB명/udump $ ls –ltr ( 가장 최근 파일 확인 ) $ tkprof 파일명.trc tt.txt sys=no; ( Trace 파일을 사람이 해석 가..

    오라클에서 조회한 결과를 Text 파일로 저장하기

    SELECT 결과를 CSV 포멧으로 저장 하려면 아래와 같이 처리 한다. SQL>SET PAGESIZE 0 SQL> SPOOL output.lst SQL> SELECT empno||','||ename||','||job||','||mgr||hiredate||','||sal||','||comm||','||deptno FROM emp; SQL> SPOOL OFF sqlplus에 로긴 하여 위와 같이 입력하면, output.lst 파일에 원하는 내용이 저장된다. 다른 방법으로 파이프를 이용하는 방법이 있다. $ { echo "set pagesize 0" echo "SELECT empno||','||ename||','||job||','||mgr||hiredate||','||sal||','||comm||','||d..

    오라클에서 다른 계정으로 데이터 마이그레이션 방법

    오라클에서 다른 계정의 테이블을 Import 해오고자 한다. 테이블 이름만 동일하고 계정 및 테이블 스페이스가 다른 경우의 Import 과정이다. oraid 계정에서 devdb 계정으로 Import 하는 과정을 설명한다. 1. Table Space 생성 SQL> CREATE TABLESPACE TS_DEV_DATA DATAFILE '/home/dba/oradata/ts_dev_data.dbf' SIZE 2048M AUTOEXTEND OFF; SQL> CREATE TABLESPACE TS_DEV_IDX DATAFILE '/home/dba/oradata/ts_dev_idx.dbf' SIZE 1024M AUTOEXTEND OFF; Data를 위한 TS_DEV_DATA아 Index를 위한 TS_DEV_IDX 를..

    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. 데이터 파일 생..