oracle magazine 2003 summer - oracle technology...

9
2003 SUMMER 079 ORACLE DEVELOPER 080 안전하고효율적인이전을약속하는 Oracle Migration Workbench 088 Technical Notes 1 Oracle9i Application Server Portal의 기본 아키텍처와Java 포틀릿 095 Technical Notes 2 Oracle9i Real Application Cluster - Wait Event ‘global cache cr request’ 극복하기 100 Technology INSIDE OCP (4) Dababase Administrator Fundamentals II : Oracle Net Services와 서버 구성 105 Channel Vendor News

Upload: vannga

Post on 23-Apr-2018

226 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Oracle Magazine 2003 summer - Oracle Technology …download.oracle.com/global/kr/magazine/23summer_migration.pdfDababase Administrator Fundamentals II : Oracle Net Services ... Informix

2003 SUMMER 079

O R A C L E D E V E L O P E R

080 안전하고효율적인이전을약속하는

Oracle Migration Workbench

088 Technical Notes 1

Oracle9i Application Server Portal의기본아키텍처와Java포틀릿

095 Technical Notes 2

Oracle9i Real Application Cluster - Wait Event ‘global cache cr request’극복하기

100 Technology INSIDE OCP (4)

Dababase Administrator Fundamentals II : Oracle Net Services와서버구성

105 Channel Vendor News

Page 2: Oracle Magazine 2003 summer - Oracle Technology …download.oracle.com/global/kr/magazine/23summer_migration.pdfDababase Administrator Fundamentals II : Oracle Net Services ... Informix

080 ORACLE KOREA MAGAZINE

O R A C L E D E V E L O P E R

안 전 하 고 효 율 적 인 이 전 을 약 속 하 는

| 김홍주 <한국오라클DB기술팀> [email protected]

Oracle Migration Workbench

Page 3: Oracle Magazine 2003 summer - Oracle Technology …download.oracle.com/global/kr/magazine/23summer_migration.pdfDababase Administrator Fundamentals II : Oracle Net Services ... Informix

2003 SUMMER 081

O R A C L E D E V E L O P E R

Oracle Migration Workbench는직관적인위저드방식의

툴로서, 간단한포인트-클릭과정만으로스키마객체, 트리거,

내장프로시저등을비롯해데이타베이스를소스데이타베이

스에서Oracle8i Database또는Oracle9i Database로이전할수있

게해준다.

Oracle9i Database는Oracle Migration Workbench의최신

릴리즈(릴리즈9.2.0.1.2)가지원하는많은새로운기능들을포함하고있다.

즉, 과거에는DATETIME과같은데이타유형이이기종데이타베이스에

들어있을경우, 수작업을통하여변환해야했지만지금은최신버전의

Oracle Migration Workbench를이용하여거의자동으로모든것을

변환할수있으므로수작업의존도를줄일수있다.

그리고, Oracle Technology Network (OTN, otn.oracle.com)

는Oracle Migration Workbench와모든지원문서들을무료로제공

하고있다. 그리고Oracle Support Services는기존고객들과미래의고

객들에 한기술지원을제공하고있다.

이 에서는Oracle Migration Workbench의아키텍처와성공적

인이전을위해필요한과정들을살펴볼것이다.

지원가능한데이타베이스

Oracle Migration Workbench는<표1>과같은이기종데이타베이스

들로부터오라클데이타베이스로의이전을지원하고있다.

이기종데이타베이스 버전

Microsoft SQL Server 6.5, 7.0과2000

Microsoft Access 2.0, 95, 97과2000

Informix Dynamic Server 7.3, 9.1(베타)

Sybase Adaptive Server 11, 12

MySQL 3.22, 3.23

IBM DB2/400 V4R3, V4R5

IBM DB2 UDB V6, V7.1, V7.2(모든베타)

<표1> Oracle Migration Workbench가지원하는이기종데이타베이스

아키텍처

Oracle Migration Workbench는두개의중요한구성요소들로이루어

져있는데, 이두개의요소들은이전작업을위해함께동작한다. Oracle

Migration Workbench는이기종데이타베이스들을오라클로이전할때

다른워크벤치플러그인과의작업을가능하게해주는프레임워크를제공하

고있다.

개별적인플러그인들은다른이기종데이타베이스들을오라클데이타

베이스로이전할때사용된다. 그러므로Oracle Migration Workbench

와동작하는최소한한개의플러그인은설치가되어야한다. 예를들어,

Microsoft SQL Server 2000데이타베이스를Oracle8i Database로이

전하는경우에는Microsoft SQL Server 2000플러그인을설치해야하는

것이다.

<그림1> Oracle Migration Workbench 아키텍처

<그림 1>은Oracle Migration Workbench와플러그인들이어떻

게소스데이타베이스로부터정보를읽어서, 오라클데이타베이스를생성하

는지를보여주고있다.

Oracle Migration Workbench는소스데이타베이스로부터정보를

추출해서워크벤치저장소에소스데이타베이스의아키텍처를표현하는소

하나의데이타베이스로부터다른데이타베이스로이전하는데는많은위험이따르고, 비용과시간도많이필요하다.

그러나Oracle Migation Workbench를사용한다면,

이기종데이타베이스로부터오라클플랫폼으로이전할때발생하는시간, 위험, 재정적문제등을모두줄일수있다.

직관적인위저드방식으로간단한이전을보장하는Oracle Migation Workbench의

아키텍처, 이전방법및이전계획수립등에 해소개한다.

Page 4: Oracle Magazine 2003 summer - Oracle Technology …download.oracle.com/global/kr/magazine/23summer_migration.pdfDababase Administrator Fundamentals II : Oracle Net Services ... Informix

082 ORACLE KOREA MAGAZINE

스모델을저장한다. 그리고또이전동안의이전정보도워크벤치저장소에

저장하게된다. 또한, 사용자가소스모델을수정하여동일한오라클모델을

생성하는것도가능하게해준다. 수정은실제환경에서수행되는것이아니

라, 워크벤치저장소에서수행되기때문에실제데이타베이스와는독립적으

로수행되고있다.

오라클모델은 상데이타베이스인오라클데이타베이스의아키텍처

를표현한것이다. Oracle Migration Workbench는소스모델에포함된

정보를사용해서오라클모델을채우게된다.

사용자인터페이스는소스모델과오라클모델을시각적으로표현한다.

<화면1>은소스모델탭이활성화된것이고, 특정저장프로시저의기능들이

표시되어있다.

<화면1> 소스모델의활성화

이전방법

Oracle Migration Workbench는다음과같은세가지중요한단계를통

해이전을수행한다.

� 소스데이타베이스캡처단계

이기종데이타베이스를이전하기전에소스데이타베이스로부터정보

를추출해야만하는데, 바로이것이소스데이타베이스를캡처하는과

정이다. 이때에는어떠한테이블데이타도워크벤치저장소로복사되

지않고오직데이타베이스아키텍처정보만이복사된다.

� 오라클모델생성단계

오라클모델은 상데이타베이스, 오라클 데이타베이스아키텍처

를표현한것으로서, 소스모델정보로부터생성된다.

� 소스데이타베이스이전단계

소스데이타베이스로부터정보를추출하 고, 오라클모델도생성시

켰다면, 이전과정에들어갈수있다.

소스데이타베이스를캡처하고이전하기위해다른방법을사용할수도

있다. 그방법을알아보도록하자.

소스데이타베이스캡처

소스데이타베이스캡처를위해서는온라인과오프라인의두가지방법중

하나를선택할수있다.

온라인캡처방법은Oracle Migration Workbench의사용을통해,

실제JDBC커넥션에의한소스데이타베이스연결, 데이타베이스아키텍처

추출, 소스모델채우기등의작업들을가능하게해준다. 또한캡처위저드는

캡처프로세스를쉽게할수있도록도와준다. 그러므로, MySQL, IBM

DB2 UDB또는IBM DB2/400데이타베이스로부터이전하려한다면, 온

라인캡처방법을사용하는것이좋다.

오프라인캡처방법은Microsoft SQL Server, Sybase Adaptive

Server,그리고Informix Dynamic Server로부터이전할때유용한방법

이다. 이방법을사용한다면, 소스데이타베이스로부터메타데이타를추출해

서, 그것을파일들로로드할수있게해주는일련의스크립트들을사용하게

된다. 이파일들은Oracle Migration Workbench가설치된장비로전송

될수있으며, Oracle Migration Workbench는그파일들에서메타데이

타를읽어들여워크벤치저장소에저장할수있다. 이방법은 Oracle

Migration Workbench를고객사이트에설치할필요없이이전을수행할

수있기때문에, 더많은유연성을제공할수도있다. 예를들면, 컨설턴트가

고객에게추출스크립트를보낸뒤고객으로하여금스크립트들을실행하게

한후그결과를받아봄으로써추후사무실에서이전을수행하고필요한오

라클스크립트들을생성하는것이가능하다.

오라클모델생성

오라클모델생성을위한유일한방법은Oracle Migration Workbench

캡처위저드를사용하는것이다.

소스데이타베이스이전

이전수행을위해다음세가지방법중하나를선택할수있다.

� 스키마를온라인에서생성하고데이타도온라인에서전송

이방법은 Oracle Migration Workbench의이전위저드를사용하는

데, 초보사용자또는적은양의데이타를보유한사용자에게가장적

합하다.

� 스키마는온라인에서생성하지만데이타는오프라인에서전송

이경우에는Oracle Migration Workbench가스키마를온라인에서생

성한후, 데이타를오프라인으로이전하는데이타이전스크립트를생

성하게된다. 이것은많은양의데이타를보유한데이타베이스에적합

한방법이다.

O R A C L E D E V E L O P E R

Page 5: Oracle Magazine 2003 summer - Oracle Technology …download.oracle.com/global/kr/magazine/23summer_migration.pdfDababase Administrator Fundamentals II : Oracle Net Services ... Informix

2003 SUMMER 083

� 스키마를오프라인에서생성하고데이타도오프라인에서전송

Oracle Migration Workbench가스키마생성스크립트와데이타이전

스크립트모두를생성한다. 이방법은Oracle Migration Workbench가

상데이타베이스와다른네트워크상에있는경우에사용하는것이

좋다.

각각의 이전 방법에 한 자세한 정보를 원한다면, Oracle

Technology Network로부터다운로드할수있는Oracle Migration

Workbench사용자가이드(http://otn.oracle.com/docs/tech/

migration/workbench/doc_library/92012/usersguide/toc.htm)

를참조하기바란다.

이전계획

프로젝트를시작할때는, 프로젝트를기간내에성공시키고, 또한비용초과

가발생하지않도록계획을세우고, 위험가능성들을미리확인하는것이좋

다. Oracle Migration Workbench는데이타베이스이전과정동안진행

되는많은작업들을식별하기위해서이전프로젝트의계획과분석단계에서

사용할수있다.

다음은이전프로젝트에서추천되는계획프로세스를요약한것이다.

1. 프로젝트요구사항결정

간단한이전시나리오를택할것인지, 아니면복잡한시나리오를택할것

인지를결정해서프로젝트의범위를정의한다. 만약다음질문들의일부

혹은전부를YES라고답할수있다면복잡한이전시나리오를선택하는것

이좋다.

� 데이타베이스가100MB이상인가?

� 데이타베이스가데이타웨어하우스용도인가?

� 데이타베이스에서100개이상의Forms, Reports그리고일괄처리작

업등을포함하는커다란애플리케이션들이운용되는가?

� 데이타베이스를여러비즈니스가사용하고있는가?

� 데이타베이스를분산환경에배치할예정인가?

� 데이타베이스가100명이상의사용자들을지원하는가?

� 24 x 7 x 365와같은고가용성이데이타베이스의필수조건인가?

이전시나리오가복잡해질수록이전과관련되는수행항목이증가하기

때문에이전에더욱더많은시간이걸릴것이다. 또한프로젝트동안발생할

수있는위험가능성도더커지게된다. 그러므로이단계에서는테스트와허

용기준을정의하고, 이전프로젝트를위한요구사항항목들을문서화해야

한다.

2. Oracle Migration Workbench를통한워크로드예측

Oracle Migration Workbench는이전과정의워크로드를예측하기위

해사용될수있는툴로서, 소스모델캡처, 오라클모델생성, 상데이타베

이스로의 이전을 통해 이루어진다. 그리고 Oracle Migration

Workbench리포트를생성한후, 그것을캡처하는것과이전프로세스를

평가하기위해서도사용된다. 이리포트는모든데이타베이스객체들을카테

고리화하면서, 자동으로변환되고이전되는객체들의숫자도식별가능하게

해준다. 얼마나많은이전이자동으로수행되는지를알게된다면, 관련되는

수동작업양도알수있을것이다.

3. 운 을위한요구사항분석

운 을위한요구사항들을분석하기위해서는다음과같은질문에우선답해

야할것이다.

� 어떠한백업과복구의변경을필요로하는가?

� 이전과정동안어느정도의다운타임이필요한가?

� 다운타임은비즈니스에어떠한 향을미치게되는가?

� 성능향상을위한요구사항들은무엇인가?

� 운 시간 를변경할것인가?

� 어떤내용의직원교육이필요하며, 또한추가로직원에 하여고려

해야할사항들은무엇인가?

� 이기종데이타베이스와오라클데이타베이스를동시에실행시킬

필요가있는가?

4. 애플리케이션분석

비즈니스와기술적관점에서애플리케이션을분석할필요가있는데, 그것은

다음질문들에 한 답으로알수있다.

� 현재의애플리케이션이비즈니스요구사항들을충족시키고있는

가? 리엔지니어링할필요가있는가?

� 오라클데이타베이스에서효과적으로실행될수있도록커넥션명

령문들또는SQL문들을변경해야하는가?

애플리케이션을변경하는것이필요하다면, 애플리케이션을재작성하

는것이더효율적인지아니면수정하는것이더효율적인지를결정하고, 그

애플리케이션을재작성혹은수정하는것과관련된각각의문제들을해결하

기위해시간과자원을할당해야한다. 그런후에1단계에서프로젝트를위해

생성한요구사항문서를갱신한다.

5. 이전프로젝트계획

프로젝트의예산제약조건들과1단계부터4단계까지를통해모은정보들을

활용해서, 이전계획을만들어내고이전프로젝트기간도예측해야한다. 그

리고이전을완료하고테스트하는데얼마나많은자원이필요한지도계산해

야한다.

O R A C L E D E V E L O P E R

Page 6: Oracle Magazine 2003 summer - Oracle Technology …download.oracle.com/global/kr/magazine/23summer_migration.pdfDababase Administrator Fundamentals II : Oracle Net Services ... Informix

084 ORACLE KOREA MAGAZINE

O R A C L E D E V E L O P E R

Page 7: Oracle Magazine 2003 summer - Oracle Technology …download.oracle.com/global/kr/magazine/23summer_migration.pdfDababase Administrator Fundamentals II : Oracle Net Services ... Informix

2003 SUMMER 085

O R A C L E D E V E L O P E R

<그림2> 오라클데이타베이스로의이전프로세스

Page 8: Oracle Magazine 2003 summer - Oracle Technology …download.oracle.com/global/kr/magazine/23summer_migration.pdfDababase Administrator Fundamentals II : Oracle Net Services ... Informix

086 ORACLE KOREA MAGAZINE

이전수행

이전계획을수립했다면이제이전프로세스를시작할수있다. <그림2>는

이전프로세스의캡처, 생성(맵), 그리고이전단계를보여주고있는데, 온라

인과오프라인에서의캡처방법과이전방법을포함하고있다. 하지만아래

기술된이전프로세스는온라인캡처, 온라인스키마생성, 그리고온라인데

이타전송등을수행하기위해Oracle Migration Workbench를사용한

예이다. 앞에서언급했던것처럼, 이것은초보사용자들과적은양의데이타

를보유한사용자들에게적합한방법이다. 그리고, 고급사용자들이나많은

양의데이타를보유한사용자들의경우에는앞의 ‘소스데이타베이스이전’

부분에서기술한것처럼스키마생성과데이타전송을오프라인에서해야만

한다.

1. 소스데이타베이스캡처

소스데이타베이스정보를추출하기위해캡처위저드에서단계별지시를따

른다.<화면2>

<화면2> Oracle Migration Workbench의캡처위저드

2. Oracle Model생성과사용자정의

소스데이타베이스가일단캡처되면, 캡처위저드는오라클생성을도와주

게된다. 오라클모델은오라클데이타베이스아키텍처를표현한것으로서,

소스모델의정보로부터생성된다. 이전된데이타베이스로부터최고의결과

를얻기위해서는다중테이블스페이스와같은오라클데이타베이스의특정

기능을사용할수있도록오라클모델을재정의할수있다. 저장프로시저의

텍스트를수정하거나, 원하지않는스키마객체들을삭제할수도있고, 또한

테이블을위한저장매개변수들을설정할수도있을것이다.

오라클모델을생성하는동안, 오류와경고메시지들이발생될수있고,

로그창에표시된다. 구문분석이가능한객체들에 한오류메시지를더블

클릭해서오류가발생한코드를표시할수도있다. 이러한기능은소스모델

에서해결해야하는문제들의빠른식별을도와주는한편, 4단계에서의수동

적인개입을필요로하는문제들의식별도도와준다. <화면3>은코드내에

서의정확한오류위치를표시하기위해서더블클릭된로그창의오류메시

지를보여주고있다.

<화면3> Oracle Migration Workbench의로그창

3. 소스데이타베이스이전

스키마생성과데이타전송을온라인에서하기위해Oracle Migration

Workbench를사용한다. 그리고, 단계별로스키마생성과데이타전송을

하기위해서이전위저드도사용한다<화면4>.

<화면4> Oracle Migration Workbench의이전위저드

4. 이전끝내기

Oracle Migration Workbench는매우자동화된툴이지만이전을끝내

기위해서는약간의수동적인작업도해야만한다. 이수동적인작업의 부

분은트리거와저장프로시저와같은구문분석이가능한객체들을위하여

필요한것이다. 각각의이전에얼마나많은수동적개입이필요한지를측정

하는것은쉽지않다. 데이타베이스가구문분석이가능한객체들을더많이

보유하면할수록, 그리고그러한객체들이더길고복잡할수록수동적인작

업은더많이필요할것이다.

예를들면, Microsoft SQL Server 2000의SCROLL커서들과관련

된내장형명령문들은Oracle PL/SQL에서지원되지않는다. 그러므로오

라클에서요구되는결과를얻기위해서는코드를수동으로수정해야만한다.

다음의예제코드는SCROLL커서들을T/SQL으로부터Oracle PL/SQL

로이전할때수동적인개입을필요로하는T/SQL코드이다.

O R A C L E D E V E L O P E R

Page 9: Oracle Magazine 2003 summer - Oracle Technology …download.oracle.com/global/kr/magazine/23summer_migration.pdfDababase Administrator Fundamentals II : Oracle Net Services ... Informix

2003 SUMMER 087

� 커서선언

DECLARE authors_cursor SCROLL CURSOR FOR

SELECT au_lname, au_fname FROM authors

ORDER BY au_lname, au_fname

OPEN authors_cursor

� 커서의마지막행인출

FETCH LAST FROM authors_cursor

� 커서의현재행바로전의행인출

FETCH PRIOR FROM authors_cursor

5 오라클데이타베이스테스트

이전이끝나면이전된데이타가정확하다는것을확인하고, 애플리케이션들

이소스데이타베이스에서기능한것과같은방식으로정확하게기능하는지

를확인하기위해오라클데이타베이스와관련되는애플리케이션을테스트

하는것이중요하다.

6 오라클데이타베이스배포

새롭게이전된데이타베이스와애플리케이션들을비즈니스환경에배치하

는것은쉽지않다. 그러므로가장적합한롤아웃전략을갖는것이중요하다.

예로, 사용자들을여러그룹으로나누어그룹별로다른시간 에이전하는

단계별접근방법을사용할수있고, 동시에모든사용자들을이전하는방법

을사용할수도있다. 또한, 소스데이타베이스와새롭게이전된오라클데이

타베이스를동시에일정시간유지하는병렬접근방법을사용하는것도가

능하다.

저렴한비용으로오라클로이전

Oracle Migration Workbench는많은이기종데이타베이스들의오라

클데이타베이스로의이전을지원하는데, 이전의많은부분을자동으로수행

함으로써이전시간을줄여준다. 이전을위해필요한수동적인작업들을예

측할수있게해주는리포트들을생성함으로써위험가능성도제거할수있

다. 또한Oracle Migration Workbench는무료로제공되고있다. 그러

므로이러한요소들을통해오늘날시장에서오라클데이타베이스를가장저

렴한비용으로채택할수있다.

O R A C L E D E V E L O P E R

★ 리소스

Oracle Technology Network(OTN)은오라클플랫폼에서의개

발을위한기술정보들의명확한소스를제공하고있다. OTN의

회원들은무료소프트웨어에 한액세스를갖는온라인커뮤

니티, OTN이후원하는인터넷개발컨퍼런스, 그리고최신오

라클기술에 한토론그룹등에참여할수있다.

★ 이전센터

Migration Center에서이전과관련된정보를찾을수있다.

http://otn.oracle.com/tech/migration

★ 다운로드소프트웨어

Oracle Migration Workbench는무료로OTN에서다운로드할

수있다.

http://otn.oracle.com/tech/migration/workbench

★ 사용자가이드

더자세한정보는Oracle Migration Workbench사용자가이드

를참조한다.

http://otn.oracle.com/docs/tech/migration/workbench/

doc_library/92012/usersguide/toc.htm

★ 기술지원

기존의오라클고객은다음의메타링크웹사이트를방문해서

Oracle Support Services와접촉할수있다.

http://metalink.oracle.com/

기존의오라클고객은전자메일을보내서, Oracle Support

Services와접촉하는것도가능하다.

mailto:[email protected]

또한OTN의Oracle Migration Workbench토론포럼에액세스

할수도있다.

http://www.oracle.com/forums/forum.jsp?forum=1

★ 기타

Oracle Migration Workbench제품에 해문의하고싶으면, 다

음주소로전자메일을보내면된다.

[email protected]

Next Steps > > > > > > > > > >