Oracle9i Database Release 2 on Linux: Red Hat Linux Advanced Server 2.1 에대한성능, 신뢰성및관리용이성강화 Oracle 백서 2002 년 6 월

Similar documents
Oracle Application Server: SPECjAppServer 벤치마크 결과

[Brochure] KOR_TunA

Session XX-XX: Name

Windows용 Oracle9i Release 2 데이타베이스아키텍처

슬라이드 1

슬라이드 1

Linux상에서의 RAC를이용한 데이타베이스 확장성

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

Windows 8에서 BioStar 1 설치하기

Cloud Friendly System Architecture

Microsoft PowerPoint - chap01-C언어개요.pptx

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

810 & 는 소기업 및 지사 애 플리케이션용으로 설계되었으며, 독립 실행형 장치로 구성하거 나 HA(고가용성)로 구성할 수 있습니다. 810은 표준 운영 체제를 실행하는 범용 서버에 비해 가격 프리미엄이 거의 또는 전혀 없기 때문에 화이트박스 장벽 을

Windows 10 General Announcement v1.0-KO

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Microsoft PowerPoint - 권장 사양

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

DBMS & SQL Server Installation Database Laboratory

슬라이드 1

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Integ

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Hitachi Content Platform 클라우드 & 소프트웨어정의클라우드오브젝트플랫폼 Hitachi Content Platform Hitachi Data Ingestor Hitachi Content Platform Anywhere REVISION NO

SANsymphony-V

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

PowerPoint 프레젠테이션

consulting

vRealize Automation용 VMware Remote Console - VMware

Microsoft PowerPoint - o8.pptx

PowerPoint Presentation

Tablespace On-Offline 테이블스페이스 온라인/오프라인

1,000 AP 20,000 ZoneDirector IT 5, WLAN. ZoneFlex AP ZoneDirector. WLAN. WLAN AP,,,,,,., Wi-Fi. AP. PSK PC. VLAN WLAN.. ZoneDirector 5000 WLAN L

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

untitled

Storage_for_Megapixel_Video01

PowerPoint 프레젠테이션

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

PowerPoint 프레젠테이션

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

Windows Server 2012

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

목차 백업 계정 서비스 이용 안내...3 * 권장 백업 정책...3 * 넷하드(100G 백업) 계정 서버로 백업하는 2가지 방법...3 * 백업서버 이용시 주의사항...3 WINDOWS 서버 사용자를 위한 백업서비스 이용 방법 네트워크 드라이브에 접속하여

vm-웨어-01장

Oracle9i Real Application Clusters

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

The Pocket Guide to TCP/IP Sockets: C Version

Agenda 오픈소스 트렌드 전망 Red Hat Enterprise Virtualization Red Hat Enterprise Linux OpenStack Platform Open Hybrid Cloud

62

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

4th-KOR-SANGFOR HCI(CC)

리눅스 free 메모리의이해 엑셈컨설팅본부 /DB 컨설팅팀임경석 개요 리눅스환경에서메모리사용률을모니터링하기위해명령어를실행하다보면시스템을기동한지얼마되지않아 free 영역의지표가급격히줄어드는것을쉽게확인할수있다. 리눅스어드민경험이있는사람이라면이것이무엇을의미하는지알수있지만그렇

Oracle JDeveloper 3.2 데이타시트

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월

Microsoft PowerPoint - 30.ppt [호환 모드]

adfasdfasfdasfasfadf

Microsoft Word - src.doc

PowerPoint 프레젠테이션

슬라이드 1

PowerPoint Presentation

A SQL Server 2012 설치 A.1 소개 Relational DataBase Management System SQL Server 2012는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 exp

Microsoft PowerPoint - chap06-2pointer.ppt

RHEV 2.2 인증서 만료 확인 및 갱신

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월

Oracle Database 10g: Self-Managing Database DB TSC

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft Word - release note-VRRP_Korean.doc

슬라이드 1

커버콘텐츠

Virtualization Days 2013

The Self-Managing Database : Automatic Health Monitoring and Alerting

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

라우터

Microsoft Word - s.doc

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

..,. Job Flow,. PC,.., (Drag & Drop),.,. PC,, Windows PC Mac,.,.,. NAS(Network Attached Storage),,,., Amazon Web Services*.,, (redundancy), SSL.,. * A

Appendix B

Cisco FirePOWER 호환성 가이드

공개 SW 기술지원센터

CODESYS 런타임 설치과정

SIGIL 완벽입문

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Straight Through Communication

VMware vsphere

Frama-C/JESSIS 사용법 소개

User Guide

ThinkVantage Fingerprint Software

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

±³º¸¸®¾óÄÚ-¾Ö´º¾ó

Backup Exec

Transcription:

Oracle9i Database Release 2 on Linux: Red Hat Linux Advanced Server 2.1 에대한성능, 신뢰성및관리용이성강화 Oracle 백서 2002 년 6 월

개요...3 Linux 아키텍처상의 Oracle...3 프로세스기반모델...3 파일시스템지원...4 64 비트파일 I/O...4 성능개선...4 I/O 서브시스템...5 비동기식 I/O...5 바운스버퍼에대한복사과정제거...6 io_request_lock 대한경합감소...6 I/O 드라이버최적화...6 가상메모리서브시스템...7 최고 4GB RAM을장착한시스템을위한대형 SGA...7 최고 64GB RAM을장착한시스템상의 VLM(Very Large Memory)...8 대형페이지...10 프로세스스케쥴러...11 신뢰성개선...12 고메모리 PTE 패치...12 Oracle9iR2 RAC 확장성개선...13 관리용이성개선...13 Israid 유틸리티...13 네트워크콘솔및덤프장애퍼실리티...14 클러스터관리...14 64 비트지원...15 결론...15 Linux Advanced Server 2.1 Page 2

Oracle9i Database Release 2 on Linux: Red Hat Linux Advanced Server 2.1 에대한성능, 신뢰성및관리용이성강화 개요 Linux는이제전세계중소기업및대기업을위한 IT 애플리케이션의대규모설치가이루어지는시발점에도달했다. 고객들이비즈니스크리티컬애플리케이션을 Linux로마이그레이션함에따라운영체제에대한성능, 신뢰성및관리용이성개선에대한요구가증가하고있다. 여러운영체제플랫폼을설치하는데대한오랜경험을보유하고있는세계최대엔터프라이즈소프트웨어공급업체인오라클은 Linux가워크스테이션환경에서하이엔드서버플랫폼으로발전할수있도록이끄는데있어독보적인입지를확보하고있다. 오라클은레드햇 (Red Hat) 과탄탄한협력관계를구축해왔으며엔터프라이즈급기능및미션크리티컬애플리케이션을지원하는운영체제를지원한다는목표하에리눅스커널을개선하기위해협력해왔다. 그결과오라클의시장주도적인데이타베이스와애플리케이션서버에맞춰튜닝됐으며레드햇이 Advanced Server로명명한새로운버전을발표하게됐다. 본백서는 Red Hat Linux Advanced Server 2.1 상에 Oracle9i Database Release 2 (Oracle9iR2) 를설치하는고객들이누리게될새로운기능중가장중요한기능들에대해다루고있다. Linux 아키텍처상의 Oracle Linux는대부분의 UNIX 플랫폼과유사한프로그래밍인터페이스및기능을제공한다. Linux 상의 Oracle9i R2 아키텍처는 Solaris, HP-UX 및 Tru64 등 UNIX 기반운영체제상의 Oracle 아키텍처와매우유사하다. 이는지난수년간기존 UNIX 플랫폼상에서실현됐던성능및안정성이 Linux상의 Oracle 제품에서그대로실현된다는사실을보장하는것이다. 프로세스기반모델 Linux 상의 Oracle9iR2는 Windows 상의스레드기반아키텍처와는달리 UNIX 플랫폼과유사한프로세스기반아키텍처를보유하고있다. Linux 상에서 Oracle은프로세스를사용함으로써데이타베이스라이터 (database writer), 로그라이터 (log writer), 프로세스모니터링 (process monitoring) 등백그라운드작업은물론수신클라이언트커넥션처리와같은포그라운드작업을수행한다. Windows의경우이들모든작업은단일프로세스내 Linux Advanced Server 2.1 Page 3

스레드로서처리된다. 모든스레드는 SGA, PGA 및기타메모리를위한동일한 3GB 주소공간을공유하기때문에스레드기반모델은 32 비트인텔펜티엄기반시스템의경우제한이따르게된다. 예를들어비교적넓은공간이사용될경우모든포그라운드스레드가동일한 3GB 풀로부터메모리를사용하기때문에가용메모리에문제가생길수있다. 프로세스모델의경우각포그라운드프로세스는자체고유어드레스공간을보유하고있기때문에사용할수있는가용메모리를보다많이확보할수있게된다. 각프로세스는최소한 8TB 사용자주소공간을보유하고있기때문에이는 64 비트시스템에대한제약사항으로작용하지않는다는사실을유념해야할것이다. 파일시스템지원 Oracle9iR2는 Red Hat Linux Advanced Server 2.0 상의표준 Linux 파일시스템 ext 2 로인증을받았다. Oracle은또한원시 ( 포맷되지않은 ) 디스크파티션상의운영에대해서도인증을받았다. 원시파일은파일시스템오버헤드가없기때문에 I/O 성능이향상된다는이점을보유하고있다. 그러나원시파일은관리가훨씬어렵기때문에하이엔드설치를위해서만사용되거나또는원시파일을요구하는 RAC을사용할경우에만이용되고있다. 64 비트파일 I/O Linux는인텔펜티엄기반서버와같은 32 비트플랫폼상에서도 64 비트파일 I/O를지원한다. Oracle9iR2는 64 비트파일오프셋을내부적으로지원하기때문에데이타, 로그및컨트롤파일에대한 2GB 또는 4GB에대한제한이없다. 데이타베이스당파일수제한 (64K), 파일당블록수제한 (4 백만 ) 그리고최대블록크기제한 (16KB) 은다른 Oracle 플랫폼에서도공통적으로적용된다. 이들제약에따라데이타베이스파일의최대크기는 64 GB이며 16K 블록을보유한데이타베이스의최대크기는 4 petabyte가된다. 성능개선오라클은데이타베이스및애플리케이션서버에이루어진리눅스커널의성능향상을입증하기위해광범위한성능관련테스트를실시했다. 본섹션은 Linux 상의 Oracle 제품의이전버전에비해상당한성능향상을실현한 Red Hat Linux Advanced Server 2.1 상의 Oracle9iR2에서지원하는기능들을설명하고있다. 본백서는인텔 32 비트 (IA-32) 플랫폼관련성능개선에대해기술하고있지만대부분의정보는아이테니움 (Itanium) 2 프로세서기반인텔 64 비트 (IA-64) 플랫폼상의 Oracle9iR2 및 Red Hat Linux Advanced Server 의차기버전에도적용될것이다. Linux Advanced Server 2.1 Page 4

I/O 서브시스템 Oracle database 워크로드하에서시스템의 I/O 처리성능은 Advanced Server를기반으로할경우현격히향상된다. I/O 서브시스템에서이루어진가장중요한기능개선으로는비동기식 I/O, 디스크쓰기실행중메모리버퍼에대한다수의복사과정제거, 커널락에대한경합감소그리고많은 IO 드라이버의기능개선등을들수있다. 비동기식 I/O 그무엇보다도가장중요한기능개선향상은커널내비동기식 I/O ( 또는논블록킹 I/O) 라고할수있다. Advanced Server에서비동기식 I/O가도입되기전에는프로세스는디스크 I/O 요구를순차적으로제출했다. 각 I/O 요청은요구가완료될때까지호출프로세스가진행되지않도록한다. 비동기식 I/O는요청이완료될때까지기다릴필요없이프로세스가 I/O 요청을제출하도록한다. 또한이구현은 Oracle 프로세스가다수의단일 I/O 요청이아닌단일시스템호출을통해다수의 I/O 요청을디스크에발행할수있도록지원한다. 이는 2가지방식으로성능을향상시키게된다. 먼저, 프로세스는커널이처리할수있는다수의요구를큐잉할수있기때문에커널은요구순서를재지정하거나또는디스크에인접한개별요구를더큰요구단위로결합시켜요구수를줄임으로써디스크활동을최적화할수있다. 본백서는 Oracle9iR2 on Red Hat Linux Advanced Server 2.1의여러기능을실행하기위한각단계들을개략적으로기술함으로써그기술적개념에대한이해를돕는다는데목적을두고있다. 최신정보와정확한정보를필요로할경우관련제품설명서 (Release Notes, 관리자용설명서, 설치가이드등 ), Oracle Support 및 RedHat Support를참조하면된다. 기본적으로 Oracle9iR2는비동기식 I/O지원이비활성인상태로출하된다. 이는이기능을지원하지않는기타 Linux 제품도지원하기위한것이다. Red Hat Linux Advanced Server 2.1 상에 Oracle9iR2를배치하는경우비동기식 I/O 기능을활성화하기위해고객들은제품설명서에서제시된바와같이다음과같은단계에따라실행해야한다. 1) cd to $ORACLE_HOME/rdbms/lib a) make-f ins_rdbms.mk async_on b) make-f ins_rdbms.mk ioracle 2) 비동기식 I/O 기능을비활성화시켜야하는경우, cd to $ORACLE_HOME/rdbms/lib a) make-f ins_rdbms.mk async_off b) make-f ins_rdbms.mk ioracle 3) 원시디바이스경우 init.ora로파라미터설정 : a) set 'disk_asynch_io=true' ( 기본값은 true) 4) 파일시스템파일경우 init.ora로파라미터설정 : a) 반드시모든 Oracle 데이타파일이비동기식 I/O를지원하는파일시스템상에상주하도록해야한다. ( 예, ext2) Linux Advanced Server 2.1 Page 5

b) set 'disk_asynch_io=true' ( 기본값은 true) c) set 'filesystemio_options=asynch' 바운스버퍼에대한복사과정제거 IA-32 시스템상에서물리적메모리의최초 1GB는저메모리라고하며 1GB 이상의물리적메모리는고메모리라고한다. Linux 커널의이전버전들은애플리케이션이하위및고메모리모두를사용할수있는경우에도스토리지장비로전달된데이타버퍼가물리 RAM 의저메모리영역에위치하도록요구했다. 저메모리에위치한데이타버퍼로부터의 I/O 요청은메모리에직접액세스하게된다 ( 복사과정없이 ). 그러나애플리케이션이 I/O 요청의일부로서고메모리의데이타버퍼를커널로전달할때커널은저메모리에임시데이타버퍼를강제로할당하고데이타를고메모리의애플리케이션버퍼로복사하거나또는그역방향으로복사하게된다. 바운스버퍼링 으로일컬어지는이추가데이타복사과정은 I/O 집약적인애플리케이션의성능을크게저하시키게된다. 이는할당된대량의바운스버퍼가메모리를많이소모할뿐만아니라바운스버퍼복사로인해시스템메모리버스상에로드를가중시키기때문이다. Red Hat Linux Advanced Server 2.1은바운스버퍼링을수행해야할필요성을대폭줄일뿐만아니라많은경우이를완전히제거한다. io_request-lock에대한경합감소 Linux 커널은스핀잠금을사용해여러프로세스가동시에접속하는커널데이타구조의무결성을유지시킨다. 커널의이전버전들은전체블록장치서브시스템에대해단일스핀잠금을사용했다. 따라서 I/O를수행하는모든프로세스들은심지어관계가없는장치에대한 I/O를수행할경우에도이단일자원을이용하기위해경쟁할수밖에없었으며결국전체시스템 I/O 처리성능을저하시키는불필요한병목현상을일으켰다. Red Hat Linux Advanced Server 2.1은블록장치서브시스템을위해정교하게고안된새로운잠금기법을구현해개별블록장치에별도의잠금기능을보유하도록했다. 그결과과도한데이타베이스로드를처리하는다수의 I/O 컨트롤러를보유한 SMP 시스템이발휘하는 I/O 처리성능을크게향상시킬수있게된것이다. I/O 드라이버최적화 Dell, HP/Compaq, EMC 등을비롯한협력업체가제공하는서버하드웨어에서사용되는 I/O 카드용드라이버코드에대한많은개선이이루어졌다. 특히이와같은개선을통해오라클의성능테스트연구실에서확인된병목을제거했을뿐만아니라이들드라이버가앞에서언급된바운스버퍼및 io_request_lock 변경을활용할수있도록했다. Linux Advanced Server 2.1 Page 6

가상메모리서브시스템 Linux 상의 VM 서브시스템과 Oracle 간의상호작용에대한자세한내용은오라클기술백서 Red Hat Linux Advanced Server 2.1의 Linux 가상메모리및 Oracle의메모리활용의특성 (Linux Virtual Memory in Red Hat Linux Advanced Server 2.1 and Oracle's Memory Usage Characteristics) 을참조하면된다. VM(Virtual Memory) 서브시스템은데이타베이스성능에매우중요한영향을미치게된다. Oracle 구조는주로모든백그라운드및포그라운드프로세스가공유하는메모리영역인 SGA(Shared Global Area) 에따라결정된다. 데이타베이스블록버퍼캐시를보유하고있는 SGA의크기는 Oracle 성능에영향을미치는주요튜닝파라미터이다. SGA가크면메모리에더많은데이타를캐싱할수있기때문에다양한데이타베이스워크로드의성능을크게향상시킬수있다. OS 페이지크기같은다른파라미터와마찬가지로 SGA 크기는 VM 서브시스템에따라결정된다. 본섹션에서설명한바와같이 VM 서브시스템기능이향상되면다양한워크로드에서성능및안정성을높일수있기때문에, VM의장단점을제대로파악하는것이중요하다. 워크로드에따라데이타베이스캐시활용특성이다르기때문에한가지원칙에따라특정상황에가장적합한기능향상및튜닝파라미터집합을결정할수는없다. 최적의시스템구성을결정하기위해서는실제워크로드에대한통계를수집해야한다. 최고 4GB RAM 을장착한시스템을위한대형 SGA Red Hat Linux Advanced Server 2.1에는 2개의커널이함께제공된다. 기본 smp 커널은최대 4GB RAM을지원하며 2 레벨페이지테이블을사용한다. enterprise 커널은최대 64GB RAM을지원하며, 용량이보다큰 RAM에액세스하기위해서는 3 레벨페이지테이블이필요하다. RAM 용량이 4GB 이하인시스템의경우, 메모리가보다작고 CPU가 2 레벨페이지테이블을사용해야하기때문에 smp 커널을사용할것을권장한다. 4GB RAM을장착한시스템에서대부분의 Linux 배포판은 Oracle이 SGA에 1.7GB 정도의주소공간을사용할수있도록지원한다. Red Hat Linux Advanced Server 2.1은 /proc 파일시스템에조정가능한파라미터를제공하는최초의 Linux 배포판이다. 이러한크기를늘리기위해서는 Oracle이보다낮은 SGA 베이스로재연결되어야하며, Linux는 Oracle을실행하는프로세스에맞춰보다낮춰진매핑된베이스를보유하고있어야한다. 이를위해서는다음과같이 2가지단계가필요하다. 먼저, Oracle에재연결함으로써 Oracle이사용하는 SGA 베이스주소를낮춰야한다. 현재, 출시되어있는 Oracle 제품은베이스주소가 0x50000000으로설정되어있기때문에대부분의 Linux 제품에설정되어있는기본값을 Oracle에서도사용할수있다. 주소값을낮추면 Oracle은프로세스에서보다많은주소공간을사용할수있지만, Advanced Server 2.1의주소값을변경해야만이렇게변경및재연결된 Oracle 바이너리주소값이유효하게된다. 다음과같은단계를통해 Oracle 내에서 SGA 베이스주소를낮출수있다. Oracle의모든인스턴스종료 cd $ORACLE_HOME/lib cp-a libserver9.a libserver9.a.org ( 백업복사본작성을위해 ) cd $ORACLE_HOME/bin cp-a oracle oracle.org ( 백업복사본작성을위해 ) Linux Advanced Server 2.1 Page 7

cd $ORACLE_HOME/rdbms/lib genkms-s 0x15000000 >ksms.s (SGA 베이스주소값을 0x15000000로낮춤 ) make-f ins_rdbms.mk ksms.o ( 새로운 SGA 베이스주소로컴파일 ) make-f ins_rdbms.mk ioracle ( 재연결 ) 그다음, Linux 커널에대한매핑베이스주소값을 Oracle의새로운 SGA 베이스주소값이하로낮춰야한다. Advanced Server 2.1은각프로세스에대해커널에대한매핑베이스주소값을낮춰주는 in/proc 파라미터를가지고있다. in/proc 파라미터는시스템전반적인파라미터가아니라프로세스당파라미터이다. 그러나자식 (child) 프로세스에의해상속되지는않는다. 이파라미터는루트에서만변경할수있다. 아래단계에따라 bash 터미널세션에대한매핑베이스주소값을낮출수있다. 낮춰진매핑베이스주소값에따라세션이변경되면모든 Oracle 명령어에서이세션 ( 윈도우 ) 을사용해야하고, 따라서 Oracle 프로세스는계승된 ( 낮춰진 ) 매핑베이스주소값을사용하게된다. Oracle 인스턴스를종료한다. 터미널세션 (Oracle 세션 ) 을개시한다. 두번째터미널세션과루트에대한 su( 루트세션 ) 를개시한다. Oracle 세션에대한프로세스 id를검색한다. 예를들어, Oracle 세션에서 echo $$ 를수행한다. Oracle 세션에대한매핑베이스주소값을 0x10000000으로낮춘다. 루트세션에서 268435456 >/proc/<pid>/mapped_base를에코 (echo) 한다. 이때, <pid> 는앞에서확인한프로세스 id이다. shmmax 값을늘리면 Oracle이한세그먼트에서 SGA를할당하게된다. 루트세션에서 3000000000>/proc/sys/kernel/shmmax를에코한다. Oracle 터미널세션에서 Oracle 인스턴스를작동시키면 SGA가낮춰진주소값에서시작된다. 따라서, Oracle은더많은주소공간을사용할수있다. 이제 db_cache_size나 db_block_buffers의 init.ora 값을늘려서데이타베이스버퍼캐시크기를늘릴수있게된다. 이러한작업을자동으로수행하기위한명령, 제약조건및스크립트는 Oracle Support 웹사이트에서제공하고있다. 최고 64GB RAM을장착한시스템상의 VLM(Very Large Memory) Oracle은 Advanced Server 2.1 커널을통해 32-비트인텔플랫폼의데이타베이스버퍼캐시에 4GB 이상의메모리를할당해서사용한다. 오라클설명서에서는이기능을 VLM이라고명명하고있다. Oracle9iR2 on Red Hat Linux Advanced Server 2.1를통해시스템에서사용할수있는 RAM 메모리에따라 SGA를 62GB라는이론적한계까지확장할수 Linux Advanced Server 2.1 Page 8

위에서설명한바와같이, 4GB 이상의 RAM에액세스하기위해사용되는 enterprise 커널은 3 레벨의페이지테이블을필요로하기때문에메모리용량과 CPU 사용이증가하게된다. 한편, 대부분의워크로드에있어추가 RAM에액세스할수있기때문에 RAM이 4GB 이상인시스템에서확장성및성능을크게향상시킬수있다. 이옵션을사용하는경우장점과단점을모두고려해야한다는점을유념해야한다. 있다. 실제 SGA 크기는현재의하드웨어한계와실제구현시고려사항으로인해이론적수치보다훨씬작아질수있지만, VLM을사용하지않는경우와비교해볼때수배는더크다고할수있다. VLM 모드에서시스템을작동하면 Linux에대한설정값을일부변경해야하고사용할수있는기능및 init.ora 파라미터가제한된다. Linux OS 수정 : 관리자는 루트 로서인메모리 (in-memory) 파일시스템을데이타베이스버퍼캐시에사용할수있는메모리용량에해당하거나그보다더큰 /dev/shm에마운트해야한다. 인메모리파일시스템이이미마운트되어있을때는용량이초과되기전까지이를사용할수있다. 파일시스템이마운트되어있지않은경우에는아래와비슷한마운트명령어가수행된다. mount-t shm shmfs-o nr_blocks=2097152/dev/shm 이명령어는 8GB에달하는 /dev/shm에 shmfs 파일시스템을생성해준다. nr_block 각각은 4096 바이트이다. 확장버퍼캐시기능을활성화함으로써 Oracle을작동하기시작한경우에는 Oracle의버퍼캐시에해당하는 /dev/shm에파일이생성된다. init.ora 변경내용 : init.ora 파일에서 use_indirect_data_buffers=true 를설정하면확장버퍼캐시기능이활성화된다. 이를통해버퍼캐시크기를더크게지정할수있다. 그러나, 이기능은최신동적캐시파라미터와는호환되지않기때문에, 확장캐시기능이활성화되어있을때는다음과같은파라미터를사용할수없다. db_cache_size db_2k_cache_size db_4k_cache_size db_8k_cache_size db_16k_cache_size db_32k_cache_size 확장캐시기능을사용할경우에는 db_block_buffers를통해데이타베이스캐시크기를지정해야한다. 확장캐시기능과기타제한기능에대한자세한내용은 Oracle9iR2 설명서를참조하기를바란다. VLM 모드 (init.org 파라미터 use_indirect_data_buffers=true ) 를통해이미대형버퍼캐시를가지고있는경우에는 Oracle SGA 베이스주소값과 Linux에대한매핑베이스 Linux Advanced Server 2.1 Page 9

주소값 ( 앞섹션참조 ) 을낮춰서간접버퍼윈도우크기를늘릴수있다. 따라서, 간접윈도우크기가늘어나면 Oracle 주소공간에간접버퍼를매핑할필요가없기때문에특정조건하에서성능을다소향상시킬수있다. 간접윈도우의기본크기는 512MB이다. 크기를늘리기위해서는환경변수 VLM_WINDOW_SIZE를 Oracle 인스턴스를작동하기전의윈도우크기 ( 바이트 ) 로설정해야한다. 예를들어, VLM_WINDOW_SIZE=1073741824 를익스포트해서간접윈도우크기를 1GB로설정할수있다. 모든값은 64KB 단위로설정되어야한다. 주 : 버퍼캐시크기 ( 또는간접윈도우크기 ) 가너무크면 Oracle을실행시킬때연결오류가발생할수도있다. SGA 베이스주소값이낮은데도 /proc/<pid>/mapped_base 값을낮추지않은상태에서 Oracle 바이너리주소값을사용하면 ORA-3113 오류나연결오류같이예상치못한결과가나타날수있다. shmmax 값을늘리지않으면실행시연결오류가발생할수있다. 대형페이지 IA-32는 4KB 페이지와 대형페이지 를모두지원한다. PSE(Page Size Extension) 기능이활성화되어있는정상모드 (Linux 4GB 커널 ) 의경우, 대형페이지 " 는 4MB의크기를뜻하며 CPU는 2 레벨페이지테이블을사용한다. PSE가활성화되어있는 PAE(Physical Address Extension) 모드 (Linux 64GB 커널 ) 에서는 대형페이지 는 2MB의크기를뜻하며 CPU는 3 레벨페이지테이블을사용한다. Linux 커널에서일반적인페이지프레임크기는 4KB이다. Advanced Server 2.1은 Oracle9iR2가 SGA 할당을위해대형페이지 (2MB나 4MB) 를사용할수있도록지원한다. SGA를위해대형페이지를사용하면다음과같이성능을향상시킬수있다. IA-32 프로세서는 2 레벨또는 3 레벨페이지테이블을사용해 4KB 페이지내의메모리를처리함으로써가상주소를물리적주소로매핑하게된다. 내부적으로 TLB(Translation Look-aside Buffer) 엔트리를사용해이렇게번역된주소를캐싱할수있기때문에, CPU는물리주소를찾기위해모든메모리에있는페이지테이블에액세스할필요가없다. 프로세서에는 TLB 엔트리가매우적기때문에 Oracle 같이대용량메모리에액세스하는애플리케이션은 TLB 액세스실패율 (miss rate) 이높아질수있다. 프로세서는대형페이지기능을통해 4MB( 모드에따라서는 2MB) 페이지의메모리를처리할수있다. 이경우, TLB의 PTE(Page Table Entry) 엔트리는 4KB가아닌 4MB의메모리 (1024배확장된메모리 ) 를처리하게된다. 주소 A, A+4KB, A+8KB, A+4MB에액세스하면 TLB 액세스에실패하는경우가없기때문에액세스실패율은크게줄어든다. 하나의 4MB PTE가 1024개의 4KB PTE를처리하기때문에페이지테이블크기는크게줄어들고, 따라서메모리활용도가높아진다. 대형페이지는교체아웃 (swap out) 되지않으며이는전체 db_block_buffers가 Linux Advanced Server 2.1 Page 10

물리적메모리내에잠금된다는것을의미한다. 따라서버퍼성능의향상을실현할수있게된다. 커널이이러한페이지의교체아웃을고려할필요가없기때문에시스템성능의향상을실현하게된다. 페이지에대해교체공간이미리할당되어있지않기때문에더많은교체공간을사용할수있으며페이지캐시의복잡성을완화시킬수있게된다. 다음과같은방법으로대형페이지를활성화시키게된다. 커널부트옵션에서 bigpage=<size>mb를부트로더파일 ( 예 : /etc/lilo.conf) 에추가한다. 이때, 시스템에해당되는 MB 값이페이지크기가된다. 값 2를포함하도록 /proc/sys/kernel/shm_use-bigpages 파일을설정한다. 대형페이지가아닌경우에는 0을사용할수있고, sysv 공유메모리 (shmfs가아닌 ) 를사용하는대형페이지의경우에는 1을사용할수있다. 다음과같은공식에따라시스템의대형페이지최대값을계산할수있다. 대형페이지의최대값 = HighTotal/1024*0.8 MB (HighTotal = /proc/meminfo에서얻은 Kbyte 값 ) 메모리의 20% 는커널관리 (bookkeeping) 에할당된다고가정한다. 예를들어, 8GB RAM 을갖춘시스템의경우 HighTotal은 7208944 KB이고, 따라서대형페이지최대값은약 5631 MB가된다. 대형페이지값이너무높게설정되면사용자커넥션에사용할수있는메모리가줄어들게된다. 사용자수가많아질수록해당대형페이지의값은줄어든다. 사용자커넥션의최대수와각사용자커넥션에사용되는메모리양을예측해서다음과같이정확한대형페이지값을계산할수있다. 대형페이지 = (HighTotal - 최대사용자커넥션에필요한메모리 (KB)) / 1024*0.8 MB 프로세스스케쥴러 (Process Scheduler) 프로세스스케쥴러는 CPU에대한프로세스액세스제어를담당한다. Advanced Server 2.1은새로운스케쥴러를사용함으로써기존설계의많은한계를해결했다. 다음은 2002년 1월 3일에있었던 Linux 커널메일링리스트에대한잉고몰나르 (Ingo Molnar) 의설명을토대로향상된기능을요약해놓은것이다. 0(1) 고정시간스케쥴링알고리즘 Linux Advanced Server 2.1 Page 11

새로운스케쥴러는대형 runqueue에대해잠금 (lock) 을수행하는대신 CPU 단위로 runqueue 및잠금기능을구현한다. 인터로킹 (interlocking) 없이별도의 CPU에서작업스케쥴링을병렬수행할수있기때문에 SMP 확장성이향상된다. 기존스케쥴러에서는과중한로드로인해 CPU 간의프로세스이동이많았다. 새로운스케쥴러는전역동기화 (global synchronization) 나재계산대신, CPU 단위로분할된시간을분배하는등 CPU 친화성 (affinity) 을높였다. 또한, 새로운스케쥴러는스레드가일정시간동안캐시핫 (cache hot) 상태에있을경우스레드를스케쥴링하는대신스레드에서캐시가차지하는공간을추적하는등캐시친화력을높였다. 이로써프로세스에대한캐시적중률 (cache-hit rate) 을향상시켰다. 신뢰성개선신뢰성및안정성을향상시키기위해 Oracle9iR2 on Advanced Server 2.1는자원부족을해결할수있는내구성을향상시키는것을목표로광범위한워크로드상에서테스트됐다. 강력한엔터프라이즈급운영시스템은피크사용시간의폭증하는요구를원활하게처리할수있어야한다. 또한엔터프라이즈급시스템상의성능은사용자로드가시스템용량을초과하면서점진적으로저하된다. 오라클과레드햇은전체소프트웨어스택 ( 데이타베이스및커널 ) 에서 취약지점 을파악해내높은사용자로드하에서안정성을향상시킬수있는많은개선기능을추가했다. 이러한기능개선은 IO, 메모리관리, 네트워킹및프로세스스케줄링의영역에서이뤄졌다. Oracle9iR2와 Advanced Server 커널모두는단일노드뿐만아니라 RAC 멀티노드구성에서다수의데이타베이스사용자들을지원할수있도록강화됐다. 예를들면 Oracle Applications 11i 와같은워크로드성능은동시사용자의수가시스템용량을넘어서게되면점진적으로저하된다. 본섹션에서는신뢰성을높이고단계적인성능저하를지원하는여러주요기능개선에대해설명하고있다. 고메모리 PTE 패치이전섹션에서설명된바와같이 IA-32 시스템에서지원되는최초 1GB의물리적메모리는 저메모리 라고알려져있으며 1GB 이상의물리적메모리는 고메모리 라고불린다. 기존커널에서 Linux는 1GB로제한된저메모리에서만 PTE(Page Table Entries) 을할당할수있다. 대형메모리및다수의프로세스를사용하는 Oracle9iR2와같은애플리케이션의경우 PTE의전체크기는크다. 데이타베이스로연결되는사용자의수가많아질수록커널은 PTE의공간을모두소비하게되며, 여유메모리및스왑공간이존재한다해도시스템은중단되거나충돌하게된다. Linux Advanced Server 2.1 Page 12

고메모리 PTE 패치는 VM이고메모리를사용해 PTE를할당하도록지원한다. 데이타베이스로연결하는사용자의수가증가되고프로세스가추가적으로생성될경우 PTE를저장하는영역은고메모리로오버플로우되어기존커널에서지원했던사용자수보다 3배 ~5배많은사용자수를지원할수있게된다. 또한시스템용량을초과해사용자의수가증가되는경우데이타베이스응답시간은점차느려지게되며결국더이상의데이타베이스사용자커넥션을허용하지않게된다. 따라서 Advanced Server 커널은이전커널의경우앞서설명된바와같은충돌또는중단을발생시키지않는다. Oracle9iR2 RAC 확장성개선 Oracle9i 및이전버전의경우 RAC Cluster Manager는 TCP/IP 프로토콜을사용하여클러스터의노드간에커뮤니케이션했다. 각 Cluster Manager 프로세스의 TCP 커넥션수는제품사용자수와노드수에비례해증가됐다. 다수의노드 ( 예, 8개이상의노드 ) 로구성되어있는클러스터에서프로세서당 TCP/IP 커넥션의수가제한될경우클러스터전반에서동시데이타베이스사용자커넥션의전체수가제한됐다. Oracle9iR2의 Cluster Manager는 UDP 프로토콜을사용해클러스터의노드간에커뮤니케이션한다. UDP는커넥션리스 (connection-less) 프로토콜로서프로세스당최대 TCP/IP 커넥션의수가제한되더라도이러한경우에영향을미치지않는다. 따라서다수의노드로구성된 Linux RAC 클러스터는 Oracle on Linux의이전버전보다많은수의동시사용자를지원할수있게된다. 관리용이성개선오라클과레드햇은긴밀한협력을통해 Linux 기반의오라클제품을위해사용용이성및지원능력을향상시킬수있도록관리용이성개선을추진하고있다. 현재이들작업의상당부분이진행중인상황에서본섹션에서는 Oracle9iR2 on Red Hat Linux Advanced Server 2.1 버전출시와함께제공되는새로운일부강화기능에대해설명하고있다. lsraid 유틸리티소프트웨어 RAID 스토리지관리를위해오라클이개발한 lsraid 유틸리티를한예로들수있다. 다음은 Advanced Server 2.1의 메인 (man) 페이지 에서 lsraid를설명한부분이다. lsraid는 Linux md 디바이스를질의하는프로그램으로서복합디바이스와이에속해있는블록디바이스를설명할수있다. 또한이프로그램은 /etc/raidtab 구성파일에포함될수있는 md 디바이스를나타낼수있다. Linux Advanced Server 2.1 Page 13

lsraid는온라인및오프라인디바이스에서운영될수있다. 커널인터페이스를통해온라인디바이스를읽고이에대한정보를제공할수있다. 디바이스가오프라인일경우 lsraid는 md 디바이스에포함된모든블록디바이스를확인할수있으며영속적인 md superblock 를읽어정보를확인할수있다. 네트워크콘솔및덤프장애퍼실리티 Advanced Server 2.1은레드햇최초의 덤프장애 퍼실리티와함께번들로제공된다. 네트워크콘솔기능은 Linux 장애서명메시지를포함한모든커널메시지를네트워크를통해중앙집중화된서버로로깅할수있도록지원한다. 이툴은시스템및커널로그에대한일관적이면서중앙집중화된뷰를제공하여고객사이트의문제를신속하게해결할수있도록한다. 자세한내용은레드햇웹사이트, http://www.redhat.com/support/wpapers/redhat/netdump/index.html 의 레드햇의네트워크콘솔및덤프장애퍼실리티 (Red Hat, Inc.'s Network Console and Crash Dump Facility) 백서를참조하면된다. 클러스터관리 Oracle Cluster Manager는 Oracle RAC 아키텍처의컴포넌트이다. Oracle Cluster Manager는클러스터멤버십및노드모니터링서비스를구현한다. Cluster Manager 기능에서중요한부분은클러스터에서장애가발생된노드를정확히피해갈수있도록지원하는것으로 Linux 와치도그 (watchdog) 디바이스를통해재설정된하드웨어노드를통해구현된다. 오라클은와치도그코드를여러측면에서향상시켜 RAC on Linux의관리기능을강화했다. 예를들면와치도그타이머마진 (margin) 은와치도그모듈로딩중지정된 soft_margin 파라미터에의해정의된다. 하지만이전커널에서는런타임에커널에서 soft_margin의값을가져오는메커니즘이지원되지않았다. 사용자는 soft_margin을미러링했던 Cluster Manager에대해부가적인파라미터를명시적으로설정해야만했다. 오라클은 Advanced Server 2.1의코드를향상시켜 Cluster Manager가런타임에 ioctl 콜을통해커널에서 soft_margin 값을가져올수있도록지원한다. Oracle9iR2 on Advanced Server 2.1의전체 I/O 펜싱 (fencing) 솔루션은 Oracle on Linux의이전버전에서구현된 I/O 펜싱기능보다뛰어나다. 예를들면기본구성은 셧다운중지 명령어를해당노드의데이타베이스인스턴스로발행한다음하드웨어재설정을요구하지않도록하는것이다. Linux Advanced Server 2.1 Page 14

64 비트지원 64 비트아이테니엄기반시스템의발표을통해 Linux는인텔플랫폼상에서현저한성능및확장성향상을이루어냈다. 오라클은 Oracle8i Release 8.1.7이후 IA-64 상의데이타베이스소프트웨어의개발자버전을발표했다. Oracle9iR2 on IA-64의현업버전은인텔아이테니엄 2 프로세서를토대로한시스템과함께출시될예정이다. Oracle on IA-64는다수의사용자들까지지원할수있도록확장됐을뿐만아니라대규모 SGA 할당을지원하고 32 비트 Linux의데이타베이스보다더높은 CPU 및 I/O 용량을제공하게된다. 오라클은레드햇, 인텔및 OEM 협력업체들과긴밀히협력해아이테니엄 2 기반시스템에서모든향상기능을적극활용할수있도록지원하고있다. Red Hat Linux Advanced Server 2.1 on IA-64는 32 비트버전에서의모든기능향상뿐만아니라아이테니엄 2 기반시스템에특화된다양한강화기능을지원하게될것이다. 결론오라클은 Linux 지원을위해부단한노력을경주하고있다. Linux 상의오라클플랫폼을더욱향상시키기위해오라클은레드햇과협력해하이엔드성능, 신뢰성및관리용이성을실현하는기능개선을정의및개발하고있다. Red Hat Linux Advanced Server 2.1에서제공되는새로운기능을통해 Oracle on Linux는 Linux 및상용하드웨어플랫폼상에설치하는데따른비용이점을유지하는동시에엔터프라이즈급성능및안정성을제공하고있다. Linux Advanced Server 2.1 Page 15

한국오라클 ( 주 ) 서울특별시강남구삼성동 144-17 삼화빌딩대표전화 : 2194-8000 FAX : 2194-8001 한국오라클교육센타서울특별시영등포구여의도동 23-10 SK증권빌딩 11층 ( 사무실 ) 19 20층 ( 강의실 ) 대표전화 : 3779-4000 FAX : 3779-4100~1 대전사무소대전광역시서구둔산동 929번지대전둔산사학연금회관 18층대표전화 : (042)483-4131~2 FAX : (042)483-4133 대구사무소대구광역시동구신천동 111번지영남타워빌딩 9층대표전화 : (053)741-4513~4 FAX : (053)741-4515 부산사무소부산광역시동구초량동 1211~7 정암빌딩 8층대표전화 : (051)465-9996 FAX : (051)465-9958 울산사무소울산광역시남구달동 1319-15번지정우빌딩 3층대표전화 : (052)267-4262 FAX : (052)267-4267 광주사무소광주광역시서구양동 60-37 금호생명빌딩 8층대표전화 : (062)350-0131 FAX : (062)350-0130 고객에게완전하고효과적인정보관리솔루션을제공하기위하여오라클사는전세계 145개국에서제품, 기술지원, 교육및컨설팅서비스를제공하고있습니다. http://www.oracle.com http://www.oracle.com/kr 제품구입문의 수신자부담전화번호 : 00368-440-0051 수신자부담팩스번호 : 00368-440-0062 E-Mail 문의 : oracleisd_kr@oracle.com