이것저것 정리하는 블로그

 오라클의 OTN 한글 사이트에 들어가보면 ROWNUM에 관한 Thomas Kyte[각주:1]의 글이 한글로 번역되어서 올라와 있네요.

원문 : ROWNUM의 동작 원리와 활용 방법

 ROWNUM과 이를 활용한 TOP-N Query에 대한 얘기를 하고 있다.
[Effective Oracle by Design][각주:2]의 내용을 일부 차용하여 설명하고 있습니다. Oracle DBMS에 관심이 있다면 읽어볼만한 내용입니다.

오라클 전문가 Tom Kyte가 ROWNUM의 동작 원리와 활용 방법에 대해 설명합니다.

이번 호의 Ask Tom 컬럼은 지금까지와는 조금 다른 내용을 담고 있습니다. 필자는 오라클 데이터베이스에서 Top-N 쿼리와 페이지네이션(pagination) 쿼리를 구현하는 방법에 대해 자주 질문을 받곤 합니다. 하나의 컬럼을 통해 이러한 질문에 한꺼번에 대답하기 위한 방편으로, < Effective Oracle by Design (Oracle Press, 2003)> 의 내용을 인용하기로 했습니다. 컬럼의 포맷에 맞게 책의 내용이 다소 수정되었음을 참고하시기 바랍니다.

결과 셋의 제한

ROWNUM은 오라클 데이터베이스가 제공하는 마술과도 같은 컬럼입니다. 이 때문에 많은 사용자들이 문제를 겪기도 합니다. 하지만 그 원리와 활용 방법을 이해한다면 매우 유용하게 사용할 수 있습니다. 필자는 주로 두 가지 목적으로 ROWNUM을 사용합니다.

  • Top-N 프로세싱: 이 기능은 다른 일부 데이터베이스가 제공하는 LIMIT 구문과 유사합니다.
  • 쿼리 내에서의 페이지네이션(pagination) – 특히 웹과 같은 "stateless" 환경에서 자주 활용됩니다. 필자는 asktom.oracle.com 웹 사이트에서도 이 테크닉을 사용하고 있습니다.

두 가지 활용 방안을 설명하기 전에, 먼저 ROWNUM의 동작 원리에 대해 살펴 보기로 하겠습니다




  1. Thomas Kyte(Tom Kyte)는 1993년부터 오라클에서 일해 왔습니다. 그는 현재 오라클 퍼블릭 섹터 그룹 담당 부사장으로 근무 중이며, Expert Oracle Database Architecture: 9i and 10g Programming Techniques and Solutions (Apress, 2005) , Effective Oracle by Design (Oracle Press, 2003)와 같은 전문서를 집필하였습니다. 또한 ASKTOM(asktom.oracle.com) 웹사이트를 운영하면서 Oracle 관리자 및 개발자들의 질문에 답변을 하고 있습니다. [본문으로]
  2. Thomas Kyte의 저서로  Oracle DBMS에 대한 심도깊은 내용이 담겨있다. http://www.amazon.com/exec/obidos/tg/detail/-/0072230657 [본문으로]

Comment +0

Oracle Develop 2007 서울 행사에 참가했다.
여러가지 결제 문제와 맹장 수술로 인한 복부 통증 등의 문제를 견디며 겨우겨우 참석했다.
아침 일찍 일어나서 504번 버스로 2호선 신림역에 도착한뒤에 지하철로 환승했다. 잠실역 3번 출구를 통해서 롯데호텔 잠실점에 도착할 수 있었다. ^^v 한방에 도착...
근데... 아니 이 사람들은 왜 이리도 일찍들 왔는지... 선착순 100명까지는 쿠폰 소지자에게 1GB 메모리스틱을 준다고 했는데 난 명함수첩을 받았다. ㅡ.ㅡ 우울하군.
암튼 경품에 눈이 멀면 안된다. 자자 세미나 들어야지, 운정면허증을 맡기고는 동시 통역기를 받았다. 잊어 버리면 안되지 가방에 잘 넣었다. 한쪽으로 메는 보쌈가방(? 정확한 명칭인지 모르겠다.)을 받았다. 등록한 사람은 다 주나보다. 내일은 좀 더 일찍 와볼까? 아니면 롯데호텔에서 하루 묶을까나... ^^;

Comment +0

 이 글은 오라클 리눅스 테크놀로지 센터[각주:1]의 오라클 DBMS설치 문서[각주:2]를 뒤지다가 찾은 내용이다. SUSE 10 버전에 Oracle 10g를 설치하는 방법이 나와있다. 사실 Oracle 9i 버전을 설치하는 방법을 찾으려던건데... 아뭏튼 알아두면 도움이 될 내용이다.
 이 문서를 보면 Yast를 이용해서 서버 설정을 변경한 뒤에 Oracle 10g를 설치하도록 설명하고 있다. SUSE 10버전을 SUSE 9버전으로 인식하도록 설정 파일을 직접 수정하는 부분도 있다. RHEL4버전에 Oracle 9i를 설치할때 커널 버전을 2.4.x 버전으로 인식하도록 수정하던것이 생각나는 부분이다.

원문을 보려면 링크를 클릭하세요.
아래는 원문을 일부 발췌한 것이다.

Preview - Installing Oracle 10g R2 Database on SLES 10


Novell Cool Solutions: AppNote
By Michel Bluteau


This article describes the steps required in order to setup Oracle 10g R2 Database (Enterprise Edition) on SUSE Linux Enterprise Server 10. Please note that this is not a supported configuration, and the purpose of this guide is to preview the steps and some new tools or updated tools for managing Oracle that come with SLES 10.

Oracle will probably release an updated version soon(not yet available at the time this article was written) so keep an eye on the support matrix available via:

http://www.novell.com/oracle

I have done some extensive testing for Oracle 10g R2 DB on SLES 10 starting with RC3(Release Candidate 3) and now the final version, and the combination seems to be rock solid. The installation steps do not differ greatly between the installation on SLES 9 and SLES 10, only a few minor adjustments are required.

N.B. I recommend that you allocate 1GB or RAM and 1024MB of swap space before you start the installation.


  1. 오라클 리눅스 테크놀로지 센터 (http://www.oracle.com/technology/global/kr/tech/linux/index.html) 한글로 되어있다. 많은 문서가 있지만 주로 Oracle 10g, Oracle Application Server 10g 등등 10g 관련 문서가 대부분이다. 예전에는 9i 문서가 많았는데 이젠 거의 없다. ㅜ.ㅜ 그리고 일부 문서를 제외하곤 영문으로 되어있다. 영어 공부 좀 해야할것 같다. 대충 읽고 넘어가는것도 한두번이지... [본문으로]
  2. Oracle-on-Linux Installation Guides (http://www.oracle.com/technology/tech/linux/install/index.html) 영문으로 되어있다. [본문으로]

Comment +0