오라클

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

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

    오라클 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..

    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 여기서 기..

    crontab

    일정 주기로 처리하는 배치 프로세스의 경우 시스템 crontab에 등록 하여 자동화 시킬 수 있다. * crontab 명령 $ crontab [-e | -l | -r] -e: 등록된 crontab을 편집한다. -l: 등록된 crontab명령을 출력한다. -r: 등록된 crontab을 삭제한다. * crontab 편집 $ crontab -e 위 명령을 입력하면 vi 환경에서 crontab 편집이 된다 20 13 * * 7 /home/batch/script/backup.sh 0 6 1 3 * /home/batch/script/logdel.sh 0 0 * * * /home/batch/script/daybatch.sh 30 * * * * /home/batch/script/hourbatch.sh 0,5,10,15..