본문 바로가기

DataBase/Oracle

Chapter 1 Oracle Server Chapter 1 Oracle Server PLT 1.1 백그라운드 지원 프로세스 여러 개의 백그라운드 프로세스가 Oracle 인스턴스의 작업을 지원하며 사용자로부터 온 연결 요청을 처리한다. 다음은 인스턴스 지원 프로세스를 보여준다. [bizsvr]/data/oracle> ps -ef | grep ora oracle 712 1 0 Mar 22 ? 27:33 ora_lgwr_BIZORA9 oracle 710 1 0 Mar 22 ? 2:06 ora_dbw0_BIZORA9 oracle 714 1 0 Mar 22 ? 30:34 ora_ckpt_BIZORA9 oracle 718 1 0 Mar 22 ? 0:00 ora_reco_BIZORA9 oracle 716 1 0 Mar 22 ? 15:21 ora_smon_B.. 더보기
한달을 요일별로 구함 Query SELECT SUM(DECODE(A.A2, '1', A.A3, null)) 일요일, SUM(DECODE(A.A2, '2', A.A3, null)) 월요일, SUM(DECODE(A.A2, '3', A.A3, null)) 화요일, SUM(DECODE(A.A2, '4', A.A3, null)) 수요일, SUM(DECODE(A.A2, '5', A.A3, null)) 목요일, SUM(DECODE(A.A2, '6', A.A3, null)) 금요일, SUM(DECODE(A.A2, '7', A.A3, null)) 토요일 FROM ( SELECT rownum + 7 - to_number(TO_CHAR(TO_DATE('200312' || TO_CHAR(rownum),'YYYYMMDD'),'D')) as A1, .. 더보기
TIP - 오라클 8i이상에서 한번의 쿼리로 페이징 처리하는 방법 페이징 처리를 하려면 전체 Row수와 order by한 부분 중 가져올 부분을 잘라서 가져와야 한다. 그래서 다음의 쿼리를 이용하면 된다. 단 아래의 Query는 Oracle 8i이상에서만 작동한다. SELECT * FROM ( SELECT a.*, rownum+rnum-1 as total_rows FROM ( SELECT a.*, rownum rnum FROM ( 원하는 ORDER BY 절이 포함된 SELECT 쿼리 ) a ORDER BY rnum DESC ) a ORDER BY rnum ) WHERE rnum BETWEEN ? AND ? 예) 10개의 Row만 가져오는 Query SELECT * FROM ( SELECT a.*, rownum+rnum-1 as total_rows FROM ( SELEC.. 더보기