oracle 11g로의진보된 upgrade방안 - :: · pdf filepage 2 page 2. 목차. 1....

41
Page 1 Oracle Korea Oracle 11g로의 진보된 Upgrade방안

Upload: hoangkien

Post on 12-Mar-2018

238 views

Category:

Documents


4 download

TRANSCRIPT

Page 1

Oracle Korea

Oracle 11g로의 진보된 Upgrade방안

Page 2

Page 2

목 차

1. Upgrade/Migration이란?

2. 기대효과

3. 11g New Features

4. 고려사항 및 방법론

가. 논리적 고려사항

나. 물리적 고려사항

다. 구현적 고려사항

라. 방법적 고려사항

5. Upgrade 수행 사례 (Oracle Database Migration Service)

Page 3

Page 3

System Migration 배경

성능저하 현상

- Data의 지속적인 증가

- 사용자 수의 증가

시스템 Resource 부족 현상

- CPU, Memory, Disk의 제한 및 한계

현 Architecture의 한계로 유연성이 떨어짐

- 신기술 접목에 대한 대처 능력 떨어짐

- Business 변화로 System의 통/ 폐합 요건 발생

낮은 DBMS Version에 대한 Upgrade 부담.효율적인 운영 문제

- 데이터베이스 관리 어려움 ( Cost 증가)장애 발생시 Database Recovery에 많은 시간 소요 (Failover, Fail back)

1. Migration 이란 ?

시스템을

가동한

3~4 년

정도

시간이

경과하게

되면

사용자는

다음과

같은

문제점에

직면

합니다.

Migration 이란?제품에

대한

Version Upgrade, Data 이관

작업만이

아닌

성능

향상을

위한

SQL 문

Tuning,

시스템

규모에

맞는

Parameter Tuning, 장애

복구

시나리오

마련

기존 시스템에서

취약했던

부분을

반영하여

시스템의

안정성, 가용성, 성능

향상을

구축하는

작업

입니다. .

Page 4

Page 4

2. Migration to Oracle 11g의 기대 효과

TCO 감소 (Total Cost of Ownership) , 성능 향상

Real Application Testing OptionAutomatic SQL Tuning AdvisorAutomatic Diagnostic WorkflowPatch AutomationData CompressionFlashback Human ErrorsPartitioning option & Advisor

가용성 및 Security 향상

Real Application clusterData Recovery AdvisorStreamsFlashbackData Guard and snapshot standbySecurity ( FGA, VPD, Secure File)

Operations and Infrastructure Top Concerns

Page 5

Page 5

• Convert Physical Standby to Snapshot Standby and open for writes by testing applications

– ALTER DATABASE CONVERT TO SNAPSHOT STANDBY;

• Discard testing writes and catch-up to primary by applying logs

– ALTER DATABASE CONVERT TO PHYSICAL STANDBY;

• Preserves zero data loss – But no real time query or fast failover

• Similar to storage snapshots, but:– Provides DR at the same time– Single copy of storage

Physical Standby Apply Logs

Snapshot Standby Perform Testing

Open Database

Back out Changes

Continuous Redo Shipping

3. Database Replay (Test 환경 Setup )

두번째 방법 : Recovery Manager (RMAN) DUPLICATE command

세번째 방법 : Data Pump Import and Export

첫번째 방법: Snapshot standby

Page 6

Page 6

Benefit:•Realistic testing on Production Workload before deployment

Middle Tier

Capture DB Workload

Storage

Oracle DB servers Replay DB

Workload

Oracle Database 10g Production

Oracle Database 11g RAC Test

Storage

3. Database Replay

Page 7

Page 7

Capture SQL

Storage

Oracle DB servers

Execute SQL

Queries

ProductionEnvironment

Test (RAC)Environment

Benefit• Test impact of change on SQL performance

Oracle Database 10g Production

Oracle Database 11g RAC Test

Storage

3. SQL Performance Analyzer

Page 8

Page 8

3. SQL Performance Analyzer

Page 9

Page 9

4. Migration 시 고려 사항 (논리적)

논리적 고려사항

Migration시 허용된 Down Time 시간은 얼마나 되는가?향후 Storage 운영 계획은?- 통/폐합에 따른 Storage 변경

- 성능 및 가용성을 고려한 Disk 재배치

- Data 증가에 따른 size확보 혹은 Data Purge 정책 혹은 Compression 기존 업무 System 과 Interface이상 유무 점검은 어떻게 할 것인가? Oracle 11g New Feature 적용은 어느 범위까지 할 것인가?Migration으로 인한 Down Time 발생시 OLTP 운영방안은 무엇인가?Migration 후 Data 정합성 검증은 어떻게 할 것인가?Migration 후 Application 이상 유무 검증은 어떻게 할 것인가?성능 점검은 어떻게 할 것인가?

Page 10

Page 10

4. Migration 시 고려 사항 (물리적)

물리적 고려사항

DB Object 구조는 어떻게 되어있나?- User, Segment type, size , object_type, privilege , column type등….

Migration을 위한 가용 Disk size는 얼마인가

OS 제한 File szie가 존재하는가?

Distribute Database Option의 Operation이 가능한가?

Network Speed는 충분한가?

Down Time을 줄이면서 작업 효율을 위해 가능한 Resource 여유율운? (cpu, memory)

고객사 보안Tool 혹은 system에 대한 관련된 문제는 없는가?

기타 물리적 제약은 없는가?

Page 11

Page 11

4. Migration 시 고려 사항 (방법적)

방법적 고려사항

DBMS Upgrade- 정의 : 현재 사용하고 있는 Version을 상위 버전으로 업그레이드함

- 추가 작업 요소

가. Version Up에 따른 기능 점검

나. System Resource 적절성 점검

DBMS Migration (운영 중인 DB를 고도화 하는 작업)- 정의 : 운영 중인 DataBase를 고도화 하는 작업

- 추가 작업요소

가. Upgrade의 가, 나 사항 동일

나. 운영중인 application 기능/성능 검증

다. Interface 간 기능/ 성능 검증

라. System Architecture 변경으로 인한 관리 체계 변동

Page 12

Page 12

4. Migration 시 고려 사항 (방법)

방법적 고려사항

Migration 방법

1) DBUA, Manual Upgrade2) exp / imp 방법 ( expdp, impdp)2) CTAS (Create Table As Select)3) SQL*Loader4) Mview (Materialized View)

5) 기타 고객 DBMS 환경, Migration요건에 맞는 Oracle Solution 수행

Page 13

Page 13

4. Migration 시 고려 사항 (구현)

구현 고려사항

System Resource 및 Parameter

SQL Optimizer & Parameter

Pro*C Compile

Application Interface- JDBC- SQL * NET- Database Link

RAC- CRS Configuration - H/W configuration- Work Load Distribution , TAF

기타

- New Feature 적용인한 고려사항 ( 예 Long type LOB type)

Page 14

Page 14

System Resource 및 Parameter

V 8.1.7.4 for AIX 5.2 RSS TRS Private Mem (KB)

ora_pmon_REF817U3 16,508 11,868 4,640

ora_dbw0_REF817U3 13,796 11,868 1,928

ora_ckpt_REF817U3 13,328 11,868 1,460

ora_lgwr_REF817U3 13,304 11,868 1,436

ora_smon_REF817U3 13,256 11,868 1,388

ora_reco_REF817U3 13,192 11,868 1,324

83,384 71,208 12,176

V 9.2.0.7 for AIX 5.2 RSS TRS Private Mem (KB)

ora_pmon_REF9207U 30,016 21,576 8,440

ora_dbw0_REF9207U 27,488 21,576 5,912

ora_ckpt_REF9207U 26,352 21,576 4,776

ora_lgwr_REF9207U 25,728 21,576 4,152

ora_smon_REF9207U 25,640 21,576 4,064

ora_reco_REF9207U 25,316 21,576 3,740

160,540 129,456 31,084

V 10.1.0.4.0 for AIX 5.2 RSS TRS Private Mem (KB)

ora_pmon_REF1014U 48,668 38,696 9,972

ora_dbw0_REF1014U 46,616 38,696 7,920

ora_ckpt_REF1014U 44,448 38,696 5,752

ora_lgwr_REF1014U 44,420 38,696 5,724

ora_smon_REF1014U 45,980 38,696 7,284

ora_reco_REF1014U 44,072 38,696 5,376

274,204 232,176 42,028

V 10.2.0.1.0 for AIX 5.2 RSS TRS Private Mem (KB)

ora_pmon_REF1021U 122,948 110,600 12,348

ora_dbw0_REF1021U 121,304 110,600 10,704

ora_ckpt_REF1021U 118,944 110,600 8,344

ora_lgwr_REF1021U 118,620 110,600 8,020

ora_smon_REF1021U 120,476 110,600 9,876

ora_reco_REF1021U 118,648 110,600 8,048

720,940 663,600 57,340

4. Migration 시 고려 사항 (구현)

Memory 영역

OS Kernel 값 변경

- 권고 Kernel 값 설정 및 Process, Open file 개수 적절히 설정

Page 15

Page 15

• Problem• 기존의 Rule Base Optimizer를 사용하고 있음.

CBO로 전환하고자 하나 Application의 성능저하 및 여러 문제점이 예상 됨에 따른 막연한 두려움.• Data의 증가 및 사용자의 증가에 따른 성능증가 문제로 새로운 Partition Table,Hash Join의

유용한 기능을 사용하고 싶음.

• 타 시스템과 연계에 많음 문제점. (Oracle 7 과 >= Oracle 9i의 DB Link는 지원하지 않음)• Critical한 업무가 운영되고 있으므로 Down Time의 최소화 요구

• Solution • Migration 방법은 최대한의 Target Version의 기능을 최대한 활용 및 Restructure 방법인 CTAS 사용.• 충분한 응용 Program 테스트

• RBO to CBO에 따른 Parameter설정 Focus :- OLTP는 OLTP의 특징인

Index위주의 Scan으로 처리

- Critical SQL ( Exec Top,주요 업무의 Plan Check에 의한 최적의 Parameter설정 )- Batch job을 CBO의 향상된 기능인

Hash Join 및 Optimal Automatic Workspace(Sort,Hash Memory) 의 사용으로 성능의 개선으로 Best Throughput Target

SQL Optimizer (Rule base Cost base)

4. Migration 시 고려 사항 (구현)

Page 16

Page 16

• Batch 성능향상 Target : DB Block Size (2KB -> 8KB), db_file_multiblock_read_count (8 to 32), Hash Join (Disable -> Enable), workarea_size_policy (Auto)

• OLTP의 기존 RBO의 Nested Loop형태의 App들을 위한 Target : Optimizer_* Parameter 조정• Optimizer 관련 주요 Parameter

NAME 권장값 내용

db_file_multiblock_read_count 32Full Table Scan시 Read Count

cursor_sharing EXACT 임의의 상수에 대해서 강제적인 Bind변수로의 변경을 사용하지 않음

hash_area_size 10MHash Join발생시 적절한 Memory를 사용하기 위해. workarea_size_policy를

AUTO로 사용할 경우 참조만 될 것임

hash_join_enabled TRUEHash Join Plan을 Optimizer가 고려한다

optimizer_index_caching 80 Index Scan위주로 Plan이 처리되도록 가중치 지정. Index를 이용한 Nested

Loop를 선호한다. (0 to 100)

optimizer_index_cost_adj 20 Index Scan위주로 Plan이 처리되도록 가중치 지정 (1 to 10000)

optimizer_mode CHOOSEOptimizer Mode를 CHOOSE로

parallel_max_servers 6최대 MAX parallel server 수. CPU * 2 * 2

sort_area_size 4MSort Area Size. Workarea_size_policy를 AUTO로 사용하면 적절히 설정하지만

실제 사용 안됨.

_sort_multiblock_read_count 32 2 -> 32. Temporary쪽에 I/O가 발생했을 때 I/O의 Read단위

pga_aggregate_target 500M Instance내에서 PGA Target. SQL Work 영역으로 사용토록.

( OS memory – SGA ) * 30%정도

workarea_size_policy AUTOSQL Work Area(SORT,HASH)를 자동설정 기능 사용.

SQL Optimizer (Rule base Cost base)

4. Migration 시 고려 사항 (구현)

Page 17

Page 17

• Problem• 기존의 2KB -> 8KB로 Migration Test 단계

• 같은 CBO(CHOOSE to CHOOSE)로 Migration• Batch Job의 성능은 획기적으로 개선 되었으나 OLTP업무는 상당 부분이 Index가 있음에도 Index를 사용하지 않는 경우도

많아 졌고

많은 부분이 느려졌음.• Batch Job의 성능은 현재 개선된 상태로 유지하고 싶으며, OLTP는 개선이 필요 하며, Application에 대한 Hint의 설정은 너

무 많은

비용이 소요되므로 적용할 수 없음.

• Solution • 9i이상부터는 Automatic Workspace사용기능으로 필요한 Work Memory (Sort,Hash,Bitmap)의 사용에 대한 최적화 기능

으로 충분한 Memory의 사용량의 증가에 따른 Sort,Hash Join의 획기적 성능개선으로 VLDB,DW등과 OLTP등에 모두 만족

할 수 있는 형태로 Optimizer의 기능이 향상되었음.

• Optimizer의 통계정보 운영, 또는 재구성. (DBMS_STATS이용)• Nested Loop등 OLTP를 위한 조정을 위해 OPTIMIZER_INDEX_CACHING, OPTIMIZER_INDEX_COST_ADJ등의

Parameter조정

또는 FIRST_ROWS_n 의 Optimizer로 OLTP 위주의 업무에 적용

SQL Optimizer (8i이하에서 9iR2 이상 Version으로 Upgrade시)

4. Migration 시 고려 사항 (구현)

Page 18

Page 18

• Problem• Migration 시 Single Table을 Partition Table로 전환 후 RBO로 동작하도록 하기 위한 목적으로 통계정보를 운영하지

않았다.

• 특정시점에 Plan이 변경되어 Batch Job의 실행이 현저히 느려졌다.

• Solution • RBO에서는 New Feature를 지원하지 않으므로 CBO에서만 동작되는 기능이 무엇인지 확인한다.• Partition Table을 사용하면 무조건 CBO로 동작 되며, 통계정보가 없다면 Heuristic Value를 이용하여 통계정보를

만들어 낸다. 그러므로 Data량의 증가에 따라 Plan이 변경될 수 있다. 즉 RBO로 동작될 것이란 생각은 잘못된 경우이다.

• DBMS_STATS를 사용하여 통계정보를 운영한다.• 10g 이상인

경우 Dynamic Sampling기능, 자동적인 통계 수집기능으로 운영의 자동화

SQL Optimizer (Single Partition Table)

4. Migration 시 고려 사항 (구현)

Page 19

Page 19

• Problem

• 보통의

경우는

정상적이나, 사용자가

조금만

증가하여도

CPU사용량

100%.

• Peak시기동안

업무

Service 중단.

• Application은 MS ASP (ODBC) + Oracle Database

• Tuning Key Point.

• 같은

업무를

사용자가

증가하여

자원고갈이

급속도로

증가된다면

SQL공유문제를

의심할

있다.

(특히 ODBC,JDBC,ADO,JSP, VB 등)

• 집중적으로

실행되는

Application은

공유화

형태(Bind변수

사용)로

구성되어야

한다. Literal SQL들은

비공유

되므로

관련

SQL들을 Compile하는 overhead가

있다.

• 모든

DB접속을

위한

App Method들은

공유화

기법을

제공한다.

• Solution

• Application의

비공유

유형의

프로그램을

공유화

형태로

변경한다.

• 차선책으로

변경이

불가능한

경우는

CHRSOR_SHARING=SIMILAR를

이용한다.

SQL Optimizer (비공유 SQL)

4. Migration 시 고려 사항 (구현)

Page 20

Page 20

• Problem• Open시점은 Application의 Performance가 문제가 없었으며, 급속히 성능저하현상이 나타났으며 Peak시기는

CPU사용량

100%.• Buffer Cache Hit율이 낮아서 Buffer Cache(SGA)를 충분히 늘려줬으나 같은 현상.• 일부 Consulting사는 H/W의 용량의 한계로 판단 함

• Tuning Key Point.• Application이 시스템 open시에는 응답시간에 문제가 없었으나, Data량의 증가에 따른 성능저하가

발생되는 형태는 Index 사용의

문제. • Index가 있음에도 불구하고 App에서 Index를 사용하지 않는 경우는 통계정보 및 App의 구조적 문제를 의심한다.• 통계정보의 운영 Pattern을 확인한다.

• Solution • CBO에서는 통계정보에 의해서 Plan들이 결정되므로 정확한 통계정보를 운영한다. (부정확한 통계정보는 없는 것 보다 못하다)

• DBA가 관여 없이 가능한 최적의 운영상태를 유지하기 위해서는 11g로 Migration후 Automatic Optimizer Statistics Collection기능을 이용한다

SQL Optimizer (Application 성능 저하 , Peak시 CPU 100% 사용)

4. Migration 시 고려 사항 (구현)

Page 21

Page 21

• Problem• DML처리 속도가 느리고, CPU사용량이 높다.• Lock현상도 자주 발생된다

• Tuning Key Point.• 전체시스템에서 Execution이 높은 Top SQL을 검증한다. (V$SQL,11g ADDM 이용)

Top I/O발생 SQL위주로 Tuning한다. (V$SQL, 11g ADDM 이용)• DML의 처리속도가 늦다면 Recursive SQL(호출된 Procedure,Function,Trigger등)을 확인한다.• Index Split 또는 Lock,Wait정보를 확인한다.

• Solution • 시스템의 전체 Buffer I/O 상위를 차지하고 있는 Top I/O발생 Application 확인 및 Tuning• Tuning은 Oracle 11g의 ADDM의 문제의 원인 자동 검색과 Automatic SQL Tuning Advisor등을 활용

SQL Optimizer (DML 처리 속도)

4. Migration 시 고려 사항 (구현)

Page 22

Page 22

• Problem

• 시스템에

전체

I/O가

높게

발생

• SORT_AREA_SIZE가

64KB로

너무 작게 설정

• Tuning Key Point.

• TEMP Tablespace는

I/O를

거의

발생하지

않도록

있다.

• 각

SQL마다

필요한

만큼

최적의

Memory를

사용하기

위해서는

9i이상에서는

Automatic Workspace방법을

사용한다.

(WORKAREA_SIZE_POLICY=AUTO.)

• Solution

• SORT_AREA_SIZE를

OLTP기준으로

Application특징을

확인

적절히

설정한다. (2MB or 4MB)

• 최선책은

Automatic Workspace방법을

제공하는

9i 또는

10g를

사용하여

Application의

성능을

획기적으로

개선한다.

• 불필요한

Temp I/O를

거의

0% I/O상태로

바꿀

있다.

SQL Optimizer (Temp I/O)

4. Migration 시 고려 사항 (구현)

Page 23

Page 23

• Hold_cursor, Release_cursor

Cursor cache entry Cursor cache entry cursor

Program cursor for SQL statement

HOLD_CURSOR=YES program cursor is permanently

linked to its cache entry.

RELEASE_CURSOR=NO cache entry maintains the . address of its context.

Hold_cursor=Yes

정의 : SQL문장이 실행되어질 때 연관된 cursor와 cursor cache entry간의 link 상태를 control하는 Option. (cursor cache entry는문장을 processing할 때 필요한 정보를 저장하는 곳이다).

Release_cursor=No

정의 : SQL문장이 실행되어질 때 연관된 cursor cache와 private SQL area간의 link를 control하는 Option.

Pro*C Precompile Option

Pro*C Compile

4. Migration 시 고려 사항 (구현)

Page 24

Page 24

성능비교

DB Process CPU 사용 현황

020406080

100120140160180200

1 13 25 37 49 61 73 85 97 109

121

133

145

157

169

181

193

205

217

229

간격

소요

시간

항목 Hol d _ c u r s o r = Y e s & R e l e a s e _ c u r s o r = N o H o l d _ c u r s o r = N o & R e l e a s e _ c u r s o r = Y e s

DB Process CPU 사용량 (LOCAL) 98 158

Forground Process CPU 사용량

(Applcation Program)

User Call 량 558,426 934,717

Parse Time CPU 0 837

Parse Time Elapsed 0 1107

Parse Count(total) 4 373,895

Hard Parse 0 0

78

183

DB Process CPU 사용현황

0

20

40

60

80

100

120

1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103

109

간격

시간

4. Migration 시 고려 사항 (구현)

• 성능 비교

Pro*C Compile

Page 25

Page 25

11g : URL 참조 http://www.oracle.com/technology/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm10g Release 1/2 (10.1/10.2) JDBC drivers are certified to work with 10.0.x, 9.2.x, and 8.1.7.x database

releases.

9.2 Oracle JDBC drivers are certified to work with 9.2.x and 8.1.7 database releases.

9.2 Oracle JDBC drivers are not certified to work with older, unsupported database releases, such as 8.0.x and 7.x. (Note : 203849.1)

Summary

9R2

Product Support

8.1.7.3~

8.0.x

SQL*NET

JDBC, JDK11g

Product Support8.1.7.3

~8.0.x

SQL*NET

JDBC, JDK

4. Migration 시 고려 사항 (구현)

• JDBC Version Metric

Application Interface

Page 26

Page 26

SQL*Net은 “Database to Database” or “Database to Client” 간 통신 수단.

DB Version Up시 DDB Operation 하는 (Snapshot, Remote DML, Replication) Product Option에 영향

10g/9i Client Version <-> 8.1.7.4 Database 기본적인 Data Query Operation은 문제 없으나 8.1.7.4 이하 Site에 SQL*Net Client

와 관련된 문제가 발생 되었을 경우 Support 받을 수 없다

10g Client 를 이용한 8.1.7.4 이하 Database Direct Connect은 불가능 하다 (sqlplus, Pro*C 등)

10g Client Program 내에서 dblink를 통해 8.1.7.4 이하 DB Query는 불가능 하다. (Oracle Session Hang-Tuxedo, SQL-Plan,

Function PL/SQL 수정 )

Oracle SQL*Net Version Matrix

ClientVersion 10.2.0 10.1.0 9.2.0 9.0.1 8.1.7 8.1.6 8.1.5 8.0.6 8.0.5 7.3.410.2.0 Yes Yes Yes #5 No EMS No #3 No #3 No #3 No #3 No #310.1.0(#4) Yes Yes Yes Was EMS #2 No #3 No #3 No #3 No #3 No #39.2.0 Yes #5 Yes Yes Was EMS No No Was No No #19.0.1 No Was Was Was Was Was No Was No Was8.1.7 EMS EMS EMS Was EMS Was Was Was Was Was8.1.6 No No No Was Was Was Was Was Was Was8.1.5 No No No No Was Was Was Was Was Was8.0.6 No No Was Was Was Was Was Was Was Was8.0.5 No No No No Was Was Was Was Was Was7.3.4 No No Was Was Was Was Was Was Was Was

Server VersionYes Supported

EMSSupported for customers under ExtendedMaintenance (EMS) only.

Was

Was a supported combination but one of thereleases is no longer covered by any of PremierSupport , Primary Error Correct support orExtended Maintenance Support so f ixes are nolonger possible.

No Has never been Supported

4. Migration 시 고려 사항 (구현)

• SQL*NET Version Metric

Application Interface

Page 27

Page 27

15 14 13 12 11 10 9 87 6 5 4 3 2 1 0

15 14 13 12 11 10 9 87 6 5 4 3 2 1 0

Public NetworkActive Lan Stand by Lan

Oracle VIPnetwork adapter Oracle VIP

Active Lan Stand by Lan

pnuh102:/oracle/crs/oracle/product/10.2/bin#netstat

-in

IPv4:

Name

Mtu Network Address

Ipkts Ierrs Opkts Oerrs Coll

lan2:801 1500 200.100.1.0 200.100.1.118 48 0 9 0 0

lan3 1500 192.168.200.0 192.168.200.2 19547 0 24594 0 0

lan2* 1500 none none 139 0 129

0 0

lan1 1500 192.168.100.0 192.168.100.2 19554 0 24605 0 0

lan9 1500 200.100.1.0 200.100.1.116 106547 0 186164 0 0

lo0 4136 127.0.0.0 127.0.0.1 361754 0 361754 0 0

lan902* 1500 none none 0 0 0 0 0

lan901 9000 192.168.101.0 192.168.101.2 350454 0 388782 0 0

pnuh102:/oracle/crs/oracle/product/10.2/bin#netstat

-in

IPv4:

Name

Mtu Network Address

Ipkts Ierrs Opkts Oerrs Coll

lan9:801 1500 200.100.1.0 200.100.1.118 686 0 12 0 0

lan3 1500 192.168.200.0 192.168.200.2 19807 0 24731 0 0

lan2* 1500 none none 139 0 129

0 0

lan1 1500 192.168.100.0 192.168.100.2 19814 0 24742 0 0

lan9 1500 200.100.1.0 200.100.1.116 106915 0 187285 0 0

lan9:802 1500 200.100.1.0 200.100.1.117 0 0 0 0 0

lo0 4136 127.0.0.0 127.0.0.1 365429 0 365429 0 0

lan902* 1500 none none 0 0 0 0 0

lan901 9000 192.168.101.0 192.168.101.2 352703 0 391180 0 0

Lan9 Lan2

4. Migration 시 고려 사항 (구현)

RAC – CRS 구성

자료

Log는

10gR2임

Page 28

Page 28

network adapter

15 14 13 12 11 10 9 87 6 5 4 3 2 1 0

15 14 13 12 11 10 9 87 6 5 4 3 2 1 0

Public Network

IBM

EtherChannel

HP APA ( Auto Port Aggregation )

SUN IPMP ( Trunks )

Oracle VIPOracle VIP

srvctl

stop

nodeapps

-n pnuh101

srvctl

modify

nodeapps

-n pnuh101 -o /oracle/app/oracle/product/10.2 -A 200.100.1.117/255.255.255.0/lan9₩|lan2

srvctl

modify

nodeapps

-n pnuh102 -o /oracle/app/oracle/product/10.2 -A 200.100.1.118/255.255.255.0/lan9₩|lan2

srvctl

start

nodeapps

-n pnuh101

• Best Public Network 구성

4. Migration 시 고려 사항 (구현)

RAC – CRS 구성

자료

Log는

10gR2임

Page 29

Page 29

CRSD:

Engine for HA operation

Manages 'application resources'

Starts, stops, and fails 'application resources' over

Spawns separate 'actions' to start/stop/check application resources

Maintains configuration profiles in the OCR (Oracle Configuration Repository)

Stores current known state in the OCR.

Runs as root

Is restarted automatically on failure

OCSSD:

OCSSD is part of RAC and Single Instance with ASM

Provides access to node membership

Provides group services

Provides basic cluster locking

Integrates with existing vendor clusteware, when present

Can also runs without integration to vendor clustware

Runs as Oracle.

Failure exit causes machine reboot.

EVMD:

Generates events when things happen

Spawns a permanent child evmlogger

Evmlogger, on demand, spawns children

Scans callout directory and invokes callouts.

Runs as Oracle.

Restarted automatically on failure

4. Migration 시 고려 사항 (구현)

RAC – CRS 구성

자료

Log는

10gR2임

Page 30

Page 30

rac1]/u01/home/beta>

ps

-ef

|

grep crs

oracle 1363 999 0 11:23:21 ? 0:00 /u01/crs_home/bin/evmlogger.bin -o /u01

oracle 999 1 0 11:21:39 ? 0:01 /u01/crs_home/bin/evmd.bin

root 1003 1 0 11:21:39 ? 0:01 /u01/crs_home/bin/crsd.bin

oracle 1002 1 0 11:21:39 ? 0:01 /u01/crs_home/bin/ocssd.bin

[opcbsol1]/u01/home/usupport> ./crsstat

HA Resource Target State

-----------

------

-----

ora.V10SN.V10SN1.inst ONLINE ONLINE on opcbsol1

ora.V10SN.V10SN2.inst ONLINE ONLINE on opcbsol2

ora.V10SN.db ONLINE ONLINE on opcbsol2

ora.opcbsol1.ASM1.asm ONLINE ONLINE on opcbsol1

ora.opcbsol1.LISTENER_OPCBSOL1.lsnr ONLINE ONLINE on opcbsol1

ora.opcbsol1.gsd ONLINE ONLINE on opcbsol1

ora.opcbsol1.ons ONLINE ONLINE on opcbsol1

ora.opcbsol1.vip ONLINE ONLINE on opcbsol1

ora.opcbsol2.ASM2.asm ONLINE ONLINE on opcbsol2

ora.opcbsol2.LISTENER_OPCBSOL2.lsnr ONLINE ONLINE on opcbsol2

ora.opcbsol2.gsd ONLINE ONLINE on opcbsol2

ora.opcbsol2.ons ONLINE ONLINE on opcbsol2

ora.opcbsol2.vip ONLINE ONLINE on opcbsol2

4. Migration 시 고려 사항 (구현)

RAC – CRS 구성

자료

Log는

10gR2임

Page 31

Page 31

2. Cluster Interconnect 구성

network adapter L2 switch deviceIBM

EtherChannel

HP APA ( Auto Port Aggregation )

SUN IPMP ( Trunks )

Server A Server B

Active (Service) Line

Standby (Backup) Line

15 14 13 12 11 10 9 87 6 5 4 3 2 1 0

15 14 13 12 11 10 9 87 6 5 4 3 2 1 0

4. Migration 시 고려 사항 (구현)

자료

Log는

10gR2임

Page 32

Page 32

2. Cluster Interconnect 구성

On

metalink

we can find the following about the interconnectNetwork Interconnect

o 100Mbps and Gigabit

NICs

and switches using the UDP protocolo Several proprietary interconnects (see vendor entries for specific info)

o Crossover Cable

o

Crossover Cable is not supported as an Interconnect with 9iRAC/10gRAC on any platform.

proprietary interconnects/interfaces are vendor specific implementation like

Hyperfabric, memory channel or SunFirelink. OS vendorspecific

IPC protocols usually only run over a proprietary interface, such as HMP over theHyperFabric2 interface on HPUX, RDG over memory channel on Tru64, or RSM over Sun

Firelink.Search eg. for HMP/HyperFabric

on the HP web side and you will get tones of information about how to implement and configure this.

The Oracle recommendation on all platforms is using Gigabit

NIC's

and switches with UDP protocol.

-

Regards Roland

MTU Size 는

?

Larger Ethernet Frame Size (Jumbo frames)

For significant performance gains with IP based protocols, the use of Jumbo frames is strongly recommended. However, one needs to ensure that the host

NICs

as well as the switches support the 9K-frame size. A larger Ethernet frame size avoids fragmentation and reassembly

of packets and the corresponding kernel CPU overhead at no significant latency cost for smaller messages.

4. Migration 시 고려 사항 (구현)

자료

Log는

10gR2임

Page 33

Page 33

• Cluster Interconnect Failover

3. RAC & SAN Disk & TAF

pnuh101:/oracle/crs/oracle/product/10.2/log/pnuh101/cssd#netstat -in

Name Mtu Network Address

Ipkts Ierrs Opkts Oerrs Coll

lan9:801 1500 200.100.1.0 200.100.1.117 52741 0 1446 0 0

lan3 1500 192.168.200.0 192.168.200.1 70123 0 137087 0 0

lan2* 1500 none none 0 0 0 0 0

lan1 1500 192.168.100.0 192.168.100.1 70103 0 137091 0 0

lan9 1500 200.100.1.0 200.100.1.115 126186 0 213989 0 0

lo0 4136 127.0.0.0 127.0.0.1 2074963 0 2074964 0 0

lan902* 9000 192.168.101.0 192.168.101.1 2164 0 2173 0 0

lan901* 9000 none none 795256 0 765517 0 0

lan900* 1500 none none 0 0 0 0

Database Hang -> 15 분

Alert.log

Fri Aug 25 14:14:11 2006

ospid

7535: network interface with IP address 192.168.101.1 is DOWN

Fri Aug 25 14:16:11 2006

15 14 13 12 11 10 9 87 6 5 4 3 2 1 0

15 14 13 12 11 10 9 87 6 5 4 3 2 1 0

SAN Switch 장애

OS log

Aug 25 16:05:07 pnuh101

vmunix: 0/0/6/1/0/4/0:

Fibre

Channel Driver received

Link Dead Notification.

Aug 25 16:05:07 pnuh101

vmunix:

Aug 25 16:05:19 pnuh101

vmunix: 0/0/12/1/0/4/0:

Fibre

Channel Driver received

Link Dead Notification.

Aug 25 16:05:28 pnuh101

vmunix: LVM: Performed a switch for

Lun

ID = 0 (pv

=

0xe0000001fee26000), from raw device 0x1f0a1100 (with priority: 0, and

current flags: 0x40) to raw device 0x1f0c1100 (with priority: 1,

and current

flags: 0x0).

./crsstat ==> Hang ==> Voting Disk 접근 불가

Alert.log

ORA-29702: error occurred in Cluster Group Service operation

LMON: terminating instance due to error 29702

4. Migration 시 고려 사항 (구현)

자료

Log는

10gR2임

Page 34

Page 34

• TAF

3. RAC & SAN Disk & TAF

pnuhsd1=

(DESCRIPTION=

(LOAD_BALANCE=off)

(FAILOVER=on)

(ADDRESS=(PROTOCOL=TCP)(Host=200.100.1.117)(Port=1521))

(ADDRESS=(PROTOCOL=TCP)(Host=200.100.1.118)(Port=1521))

(CONNECT_DATA=

(SERVICE_NAME= PNUH)

(SERVER=dedicated)

(FAILOVER_MODE=

(BACKUP=pnuhsd2)

(TYPE=select)

(METHOD=basic)

(RETRIES=10)

(DELAY =5))))

pnuhsd2=

(DESCRIPTION=

(LOAD_BALANCE=off)

(FAILOVER=on)

(ADDRESS=(PROTOCOL=TCP)(Host=200.100.1.118)(Port=1521))

(ADDRESS=(PROTOCOL=TCP)(Host=200.100.1.117)(Port=1521))

(CONNECT_DATA=

(SERVICE_NAME= PNUH)

(SERVER=dedicated)

(FAILOVER_MODE=

(BACKUP=pnuhsd1)

(TYPE=select)

(METHOD=basic)

(RETRIES=10)

(DELAY =5))))

4. Migration 시 고려 사항 (구현)

자료

Log는

10gR2임

Page 35

Page 35

Database성능 진단

& 신규 요구

분석

ODMS

New Feature 적용을 통한DBMS 성능 향상

최소 비용으로최고의 만족도 구현

운영자의 운영 능력 배양및 시스템 가용성 향상

고성능&

고가용성

정형화된 Workflow를 통한시스템 Down Time 최소화

ODMS

Application Tuning을 통한Response Time 향상

최적화된 시스템 구성 , Tuning 으로 고성능 및 고가용성 확보

1. Oracle Database Migration Services 기대 효과

5. Migration 수행사례

Page 36

Page 36

충분한 데이터

Migration 테스트

충분한 데이터

Migration 테스트

충분한 DB Migration 테스트를 통한 작업 시발생될 수 있는 문제점분석 및 최소화

작업 Process의 자동화를통한 人災 최소화

개발장비 및 Migration DB를 이용한 충분한Migration 테스트

충분한 DB Migration 테스트를 통한 작업 시발생될 수 있는 문제점분석 및 최소화

작업 Process의 자동화를통한 人災 최소화

개발장비 및 Migration DB를 이용한 충분한Migration 테스트

완벽한

데이터 정합성 검증

완벽한

데이터 정합성 검증

Rehearsal DB을 이용한신규 Conversion Program Full 테스트기존 Batch결과 및 신규Batch 결과 비교를 통한데이터 검증Migration 이후 데이터정합성 점검 자동화SQL Tuning 및 성능 개선

Rehearsal DB을 이용한신규 Conversion Program Full 테스트기존 Batch결과 및 신규Batch 결과 비교를 통한데이터 검증Migration 이후 데이터정합성 점검 자동화SQL Tuning 및 성능 개선

Down Time 최소화

사전 작업

Down Time 최소화

사전 작업

사전 작업을 통한 시스템Down time 최소화

Migration Job Process의자동화 및 표준화

사전 작업을 통한 시스템Down time 최소화

Migration Job Process의자동화 및 표준화

Down Time 최소화

사후 작업

Down Time 최소화

사후 작업

Down Time 최소화 구현

향상된 성능 보장

Down Time 최소화 구현

향상된 성능 보장

Migration Down Time 최소화 & 운영 System 부하 최소화

2. Oracle Database Migration Services 기본 개념

5. Migration 수행사례

Page 37

Page 37

기존시스템 성능 분석

신기술 접목

신규 시스템 구성 방안

시스템 연동 분석및Transaction 분석

기존시스템 성능 분석

신기술 접목

신규 시스템 구성 방안

시스템 연동 분석및Transaction 분석

운영 환경 구성

Application Program SQL Tuning

DB 구성( 논리적,물리적)

이행테스트 및 이행

시스템 모니터링 방안

RAC 시스템가용성테스트

운영 환경 구성

Application Program SQL Tuning

DB 구성( 논리적,물리적)

이행테스트 및 이행

시스템 모니터링 방안

RAC 시스템가용성테스트

DBMS 모니터링

Application program SQL Tuning

이행 전후 DBMS 성능비교평가

DBMS 모니터링

Application program SQL Tuning

이행 전후 DBMS 성능비교평가

Oracle Database Migration Services Project

1 TASK

Capacity Plan

1 TASK

Capacity Plan2 TASK

Migration Plan

2 TASK

Migration Plan3 TASK

Migration

3 TASK

Migration4 TASK

Tuning

4 TASK

Tuning

이행 관련 Master Plan

Software Compatibility

개발 환경 구성

이행 AP 작성 및 테스트

Data 이행 방안 마련

이행 관련 Master Plan

Software Compatibility

개발 환경 구성

이행 AP 작성 및 테스트

Data 이행 방안 마련

3. Oracle Database Migration Services 수행 프로세스

5. Migration 수행사례

Page 38

Page 38

4. Oracle Database Migration Services 수행 TASKTASK 수행 항목 수행 내용 항목수 소계

Capacity Plan 시스템 연동 분석 및

Transaction 분석• Transaction 연동 Flow 및 User Interface 파악 3

10신기술 접목 • 업무에 따른 New Feature 접목 및 적용 방안 마련 4신규시스템구성 방안 • System Architecture 변경에 따른 문제점 파악 3

Migration Plan 이행 관련 Master Plan • 이행 Master Plan 작성 및 일정 확정 3

48

S/W Compatibility • Oracle Version 별 Compatibility Check 8

개발 환경 구성 • 개발 환경 구성 8이행 Application Program 작성, 테스트

• 이행 관련 Program 작성 및 테스트 8

Data 이행 방안 마련 • 시스템 이행 적용 시기 및 방안 마련 4Object 이관 대상 구분 • New Feature 적용 대상 Object 확정 5Object 이관 준비 • 각종 프로그램 작성 6Object 이관 방법정의 • Object 이행을 위한 방법 및 대안 검토 6

Migration 운영 서버환경 구성 • OS Parameter 설정 검토 및 Oracle Parameter 검토 14

63

Application Tuning • 문제 Application Program Tuning 4I/O 물리적 구성 • Disk Volume 구성 검토 및 확정 ( 시스템 가용성 , 성능 테스트 ) 6DB 환경 구성(논리적) • Object 별 Disk Storage Parameter 설정 10이행테스트 및 이행 • Data 이행 총괄 테스트 및 Data 이행 7

시스템 Monitoring 방안 • System Monitoring 방안 및 시나리오 작성 3

비상운용 시스템 (이행 기간중) • 비상 운영 시스템 도입 여부 결정 및 구축 6

기존 시스템 Back을 위한 시나

리오 작성• 기존 시스템 Back을 위한 문제점 파악 및 Plan 수립 3

Tuning 및 안정화 시스템 Monitoring 및 Tuning • 운영시스템 모니터링 3 3

수행 항목수 (총계) 124개 항목

5. Migration 수행사례

Page 39

Page 39

5. TASK 별 Oracle Database Migration Services 수행 사례1212월월1111월월

11월월 22월월 33월월

OperationNew Sys.

Data Migration Test(개발서버)

Data Migration Test (운영서버) 01.17~02.25

1차 Data Migration정합성 체크

통합 TEST Final Test

설치사전작업완료

유지보수시행

기계실환경구성

개발서버설치

운영서버설치

03.02

1010월월

S4

BMT사전 준비

SYSTEMBMT

10.20

S3

BMT System

결과검토

S2S1

Hardware 선정

10.11 10.31 11.30

12.13

개발DB 설치

12.11

개발서버설치

S6

12.14

S7

개발DB Open

S5

New Server 설치

02.14

3차 DB Migration

Test

01.09 01.19

1차 DB Migration

Test

OP

9i/10g MIGDB Open

02.18

FinalDB Patch

DB사후이관

03.02

DATABASE

SYSTEM

11.08 11.15 12.11 01.19 02.12

P2 P3 P4P1

OP

OP

S8

12.14

S9

01.10~01.17

DB Setup성능

테스트

New System

Setup 완료

01.26

2차 DB Migration

Test

S11

P7

OP

1차 10gRehearsalDB Open

S13 OP

2차 10gRehearsalDB Open

01.28

2차 Data Migration정합성 체크

01.21~22

S10

NEW DB Migration1차 TEST (8.0-> 9i)

01.17~18 S12

NEW DB Migration2차 TEST (8.0-> 9i)

01.24~25

NEW DB Migration10.2.0.2

02.12~13

S152.26~28

DB사전이관

S1

OP

02.18

FinalOS Patch

S15

NEW DB Migra tion 지원

02.12~13

01.19

1차 DB Migration

지원

01.26

2차 DB Migration

지원

12.11 12.14

OPS2

01.09

01.16

OP

시스템Stress테스트

S3

01.10~01.16

New시스템Open

시스템

Tuning / DR 시스템 구축 지원

01.18~01.30 OPS15

01.18 01.30

S14

P501. 09

P6 P8

02.26

5. Migration 수행사례

Page 40

Page 40

신규서버(8CPU:Dual Core, 24Gb)

WEB서버

#2, 백업서버의

CPU, 메모리를

통합한

이관작업

전용

시스템

기존운영DB서버

#1E10K

CPU:20(330Mhz)M/M: 8Gb

디스크장치

(신규

운영)기존운영DB서버

#1E10K

CPU:12(330Mhz)M/M: 8Gb

기존

운영

StorageA3500

36GB*48EA18GB*48EA

(physically 2592GB)

scsi

scsi

Gigabit 전용

N/W

Gigabit 전용

N/W

SAN S/W

6. TASK 별 Oracle Database Migration Services 수행 사례

5. Migration 수행사례

Page 41

Page 41