Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g...

21
Oracle Database 11g 애플리케이션 개발 오라클 백서 2007년 6월

Transcript of Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g...

Page 1: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g 애플리케이션 개발

오라클 백서

2007년 6월

Page 2: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 2

Oracle Database 11g 애플리케이션 개발

애플리케이션 개발에 있어서의 도전 과제 ……………………………… 4

출시 시간 단축 …………………………………………………………… 4

Oracle SQL Developer ……………………………………………………………… 5

Oracle SQL Developer: 오브젝트 생성 및 편집 ………………………………… 5

Oracle SQL Developer: SQL Worksheet ………………………………………… 5

Oracle SQL Developer: PLSQL 편집 및 디버깅 ………………………………… 5

Oracle SQL Developer: 보고 ……………………………………………………… 6

Oracle SQL Developer: Migration Workbench ………………………………… 6

Oracle SQL Developer: Oracle Application Express 3.0.1 …………………… 6

Oracle Application Express ………………………………………………………… 7

Oracle Application Express: PDF 인쇄 …………………………………………… 8

Oracle Application Express: Microsoft Access Migration ……………………… 8

Oracle Application Express: 플래시 차트 ………………………………………… 8

Oracle Application Express: Drag & Drop Item Layout ………………………… 8

Oracle Application Express: 새로운 아이템 종류 ……………………………… 8

Oracle Application Express: 지원 오브젝트 ……………………………………… 9

Oracle Application Express: Page and Region Caching ……………………… 9

Oracle Application Express: 기타 향상된 기능 ………………………………… 9

Cross Language Features ………………………………………………………… 10

클라이언트 결과 캐시 ……………………………………………………………… 10

서버 결과 캐시 ……………………………………………………………………… 10

Secure LOBs 및 L OB데이터 미리 불러오기 …………………………………… 10

NET …………………………………………………………………………………… 11

NET: Visual Studio 2005 통합 …………………………………………………… 12

NET: 완전 통합된 PL/SQL 디버거 ……………………………………………… 12

NET: 64비트 지원 ………………………………………………………………… 12

NET: ADO NET 2.0 지원 ………………………………………………………… 12

NET: 성능 향상 …………………………………………………………………… 13

PHP …………………………………………………………………………………… 13

PHP: Real Application Clusters ………………………………………………… 13

PHP: 결과 캐싱 …………………………………………………………………… 13

PHP: 열 미리 불러오기 …………………………………………………………… 14

PL/SQL ……………………………………………………………………………… 14

PL/SQL: Real Native Compilation ……………………………………………… 14

PL/SQL: 함수 결과 캐시 ………………………………………………………… 14

PL/SQL: Fine Grained Dependency Tracking ………………………………… 15

PL/SQL: 시퀀스 …………………………………………………………………… 15

Page 3: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 3

PL/SQL: PL/Scope ………………………………………………………………… 15

PL/SQL: 계층 프로파일러 ………………………………………………………… 16

Java …………………………………………………………………………………… 16

Java: OracleJVM 성능, JIT 컴파일러 …………………………………………… 16

Java: Java 표준을 통한 생산성 및 이식성 ……………………………………… 16

Java: JDBC 4.0 …………………………………………………………………… 17

Java: Java 5와 호환되는 OracleJVM …………………………………………… 17

Java: RowSet (JSR-114) 지원 서버 사이드 JDBC …………………………… 17

Java: 오라클의 Java 지원 ………………………………………………………… 17

Java: 최초 라운드 트립에서 미리 불러오기 …………………………………… 17

Java: 네이티브 AQ 프로토콜 …………………………………………………… 17

Java: 데이터베이스/쿼리 변경 고지 ……………………………………………… 17

Java: 서버 및 클라이언트 결과 캐시 …………………………………………… 18

Java: 보안 ………………………………………………………………………… 18

Java: Oracle JVM의 사용 편리성 ………………………………………………… 18

Java: 관리성 ……………………………………………………………………… 18

Oracle Call Interface (OCI) ………………………………………………………… 18

Database Resident Connection Pooling ……………………………………… 18

Implicit Fetching of ROWIDs …………………………………………………… 19

다중 버퍼 바인딩 및 정의 ………………………………………………………… 19

디스크립터 어레이 할당 …………………………………………………………… 19

결론 ……………………………………………………………………… 19

Page 4: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 4

Oracle Database 11g 애플리케이션 개발

애플리케이션 개발에 있어서의 도전 과제

현대의 IT 조직은 선택할 수 있는 많은 애플리케이션 개발 언어와 툴을 가지고 있습

니다. 때로는, 한 조직내에서 복수의 애플리케이션 개발 제품이 사용되기도 합니다.

M&A를 통해 성장해 온 조직들은 이전 조직에서 사용하던 다양한 애플리케이션 개

발 기술을 관리하고 통합하는데 어려움을 겪고 있습니다. 기술은 비즈니스 혁신을

가능하게 하기 때문에, 애플리케이션을 신속하게 개발하는 조직은 경쟁 우위를 가질

수 있습니다.

출시 시간 단축

Oracle Database 11g는 오늘날 애플리케이션 개발자들이 사용하는 대부분의 대중

적 기술을 위한 고성능 및 확장성을 제공하는 단일 통합 플랫폼을 제공합니다.

Oracle Database 11g는 모든 주요 애플리케이션 개발 환경에 획기적인 신기능을 추

가함으로써, 개발자 생산성을 높이고 출시 시간을 단축시킵니다.

애플리케이션 개발자들은 C, C++, Java, COBOL, PL/SQL, Visual Basic, C# 및

PHP를 포함한 다양한 언어 중에서 선택하여 오라클 데이터베이스 기반 애플리케이

션을 개발할 수 있습니다. 개발자들은 가장 자신 있거나 특정 과제에 가장 적합한 언

어를 선택할 수 있습니다. 예를 들면, 어떤 애플리케이션은 Java를 사용하여 역동적

웹 페이지를 생성하거나, PL/SQL를 사용하여 데이터베이스에 저장 절차를 실행하

거나, C++로 중간 티어에서 복잡한 로직을 수행할 수도 있습니다. Oracle

Database 11g는 다양한 대중적 애플리케이션 개발 기술 전반에 걸쳐 업계 주도 데

이터베이스의 파워 및 성능을 제공합니다.

본 문서는 다음과 같은 제품 및 기술을 위한 11g의 새로운 애플리케이션 개발 기능

에 대한 개요를 제공합니다.

• Oracle SQL Developer

• Oracle Application Express

• Cross Language Features

• NET

• PHP

Oracle Database 11g는 애플리케이션

성능 및 개발자 생산성을 향상시키는 툴을

통해 광범위한 애플리케이션 개발 기술을

지원합니다.

Page 5: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 5

• PL/SQL

• Java

• OCI

Oracle SQL Developer

Oracle SQL Developer는 생산성을 향상시키고 데이터베이스 개발 업무를 간소화

하는 무료 그래픽 툴입니다. Oracle Database 개발자를 위해 디자인된 Oracle SQL

Developer는 개발 사이클을 단축시키고 SQL 및 PL/SQL 코드의 개발 및 디버깅을

위해 타사 툴 없이도 사용할 수 있습니다. Oracle SQL Developer를 사용하여, 데이

터베이스 오브젝트를 검색, 생성 및 수정하고, SQL 구문을 실행하고, PL/SQL을 편

집 및 디버깅하고, 광범위한 사전 정의 보고서를 통해 보고서를 실행하거나 사용자

스스로 보고서를 생성하는 것이 가능합니다. 이 툴의 발표는 생산성 향상과 데이터

베이스 개발자 커뮤니티의 요구 충족을 위한 오라클의 헌신을 보여주는 것입니다.

Oracle SQL Developer 1.1.3은 Oracle Database 11g의 번들로 제공됩니다. SQL

Developer 1.2는 SQL 개발자 웹사이트에서 다운받을 수 있습니다. Oracle SQL

Developer에 대한 자세한 정보는

http://www.oracle.com/technology/products/database/sql_developer를 참조

하십시오.

Oracle SQL Developer: 오브젝트 생성 및 편집

사용자는 표준 오라클 데이터베이스 인증을 사용하여, 모든 타겟 오라클 데이터베이

스 스키마에 접속할 수 있습니다. 사용자는 접속 후, 데이터베이스 오브젝트를 생성,

편집 및 업데이트할 수 있습니다. 새로운 오브젝트가 생성되거나, 기존 오브젝트가

편집되면, 변경 사항에 대한 DDL을 통해 이를 확인할 수 있습니다. Export DDL 옵

션은 스키마에서 하나 이상의 오브젝트를 위한 풀 DDL 생성을 원하는 사용자들을

위해 제공됩니다.

Oracle SQL Developer: SQL Worksheet

The SQL Worksheet는 SQL, PL/SQL 및 SQL *Plus 커맨드 생성을 지원합니다. 이

들은 개별 혹은 연속적으로 실행됩니다. SQL History 옵션은 이전 이전 커맨드를 손

쉽게 불러오며, Explain Plan 옵션은 선택 구문을 위한 실행 계획을 보여줍니다.

Oracle SQL Developer: PLSQL 편집 및 디버깅

이 강력한 편집 환경을 사용하여, 사용자는 PL/SQL을 생성, 편집하고, 코드 포매팅

을 활용하고, 북마크를 추가하고 코드 인사이트를 사용할 수 있습니다. PL/SQL 디

버깅을 위해, 브레이크포인트, 스마트 데이터, 디버거 스택 및 워치 (watches)를 사

용할 수 있습니다. 이들 기능은 브레이크 포인트를 설정하고, 코드 실행 및 테스트를

수행하고, 디버깅 중 런타임에서 대체 데이터를 제공하는데 사용됩니다. 에디터에서

PL/SQL을 생성하거나 SQL Worksheet를 사용하는 것은 스닙페트 (snippets)를 사

용하여 간단하게 할 수 있습니다. 스닙페트는 SQL 기능, 옵티마이저 힌트 및 다양한

PL/SQL 프로그래밍 기술 같은 코드 프래그먼트로, PL/SQL 에디터나 SQL

Worksheet에 끌어다 사용할 수 있습니다.

강력한 무료 데이터베이스 개발 툴

Page 6: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 6

Oracle SQL Developer: 보고

SQL Developer는 데이터베이스 및 오브젝트에 관한 사전 정의된 보고서를 제공합

니다. 모든 보고서는 SQL Worksheet로 보내져 추가 작업을 할 수 있도록 되어 있습

니다. SQL Developer는 사용자 정의 보고서를 생성, 저장 및 공유하여 사용자가 계

속 사용할 수 있도록 허용합니다. 보고서 형식은 차트 및 마스터-디테일 보고를 포

함합니다.

Oracle SQL Developer: Migration Workbench

Oracle SQL Developer Migration Workbench는 Oracle SQL Developer 1.2에 추

가되었으며, 다음과 같은 기능을 포함합니다:

• Oracle SQL Developer와 완전 통합되었다는 것은 타사 데이터베이스

(MySQL, Microsoft SQL Server 및 Microsoft Access)를 검색하고, 선

택된 오브젝트를 오라클로 마이그레이션한 후 연동시키는 툴을 갖게 되었

다는 것을 의미합니다

• Quick Migration Wizard는 최소 권한 마이그레이션을 제공하기 때문에

DBA 권한이 요구되지 않습니다.

• Step driven migration은 마이그레이션 프로세스의 각 단계에 대한 통제

를 제공합니다.

• Fine grain migration은 마이그레이션을 위한 특정 오브젝트 선택 기능을

제공합니다.

• Complex object migration은 저장 절차, 트리거 및 뷰를 지원합니다.

• Translation Scratch Editor는 단일 구문 마이그레이션을 제공합니다.

• Translation Difference Viewer는 구문 및 블록을 매칭시켜 하나 하나 대

조하는 방식의 병렬 비교를 수행합니다.

참조: Oracle Migration Workbench (별도의 표준 제품)는 Sybase, Informix 및 DB2 데이

터베이스를 오라클 데이터베이스로 마이그레이션하는 데 사용될 수 있습니다,

Oracle SQL Developer: Oracle Application Express 3.0.1

Oracle SQL Developer 1.2는 Oracle Application Express 3.0.1 오브젝트를 지원

하며 다음과 같은 기능을 갖고 있습니다:

• 데이터베이스 스키마와 연동된 모든 Oracle APEX 애플리케이션에 접속

및 검색 (애플리케이션 및 페이지 레벨)

• 워크스페이스, 애플리케이션, 페이지 및 스키마에 대한 보고가 가능한 다

양한 보고서 실행

• 컨텍스트 메뉴를 사용한 Oracle APEX 애플리케이션 내보내기 및 들여

오기

타사 데이터베이스로부터 오라클로의

간편한 마이그레이션

Page 7: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 7

Oracle Application Express

HTML DB로 불리었던 Oracle Application Express (Oracle APEX)는 Oracle

Database를 위한 신속 웹 애플리케이션 개발 툴입니다.웹 브라우저와 제한된 프로

그래밍 환경만으로도, 빠르고 안전한 수준 높은 애플리케이션을 개발, 배치할 수 있

습니다. Oracle Application Express 애플리케이션을 배치하고 실행하기 위해 클라

이언트 소프트웨어가 필요하지 않습니다. Oracle Application Express는 웹용으로

구축되며, 개인 데이터베이스의 특성 (생산성, 사용 편리성 및 유연성)과 엔터프라

이즈 데이터베이스의 특성 (안전성, 통합성, 확장성 및 가용성)을 모두 제공합니다

Oracle Application Express는 3가지 주요 툴을 제공합니다:

• Application Builder - 역동적인 데이터베이스 기반 웹 애플리케이션 구축

• SQL Workshop - 데이터베이스 오브젝트 검색, ad-hoc SQL 쿼리 및 그

래픽 쿼리 빌더 실행

• 유틸리티 - 일반 파일 및 스프레드시트에 데이터를 업로드 하거나 다운로드

Oracle Application Express를 사용하면, 데이터베이스 데이터에 대한 보고를 수행

하는 애플리케이션 구축이 용이합니다. 보고서는 하이퍼텍스트로 다른 보고서와 링

크되어, 웹 사이트 검색과 같은 방식으로 데이터베이스 데이터 검색이 가능합니다.

보고서의 칼럼은 다른 보고서, 차트 및 데이터 입력 폼과 쉽게 링크됩니다. 강력한

차트 엔진은 SQL 쿼리가 그래픽으로 재현되도록 합니다. Oracle Application

Express는 강력한 데이터베이스 데이터 편집 기능을 제공하며, 라디오 그룹, 체크

박스, select lists, 셔틀 (shuttles), 텍스트 에디터 및 데이트 피커 등 다양한 선언적

폼 통제 기능을 제공합니다.

Oracle Application Express는 사용 편리성으로 인해 특정, 부문 애플리케이션을 신

속하게 구축하는 데 이상적입니다. 전통적으로, 프로토타입과 소규모 애플리케이션

은 데스크톱 데이터베이스를 사용하여 제작되었습니다. 이들 데이터베이스는 다수

의 데스크톱 컴퓨터에서 사용될 경우 관리하기가 어렵습니다. 이들은 또한 중요 정

보용으로 사용하기에 부적합하며, 일반적으로 웹 친화적이지 않습니다. 브라우저 기

반의 디자인 타임 인터페이스, 선언적 프로그래밍 프레임워크 및 단순 위자드 등의

기능으로, Oracle Application Express는 Microsoft Access와 같은 멀티 유저 데스

크톱 데이터베이스 애플리케이션을 자연스럽게 대체하고 있습니다.

웹 개발 경험이 미약한 SQL 애플리케이션 개발자들은 Oracle Application Express

로 데이터베이스 애플리케이션을 쉽게 개발할 수 있습니다. 스크립팅 언어나 복잡한

배치 프레임워크를 배울 필요가 없으며, 단순히 몇 가지 쿼리를 작성하고, 주어진 사

용자 인터페이스 및 폼 통제 형식 중에서 필요한 것을 선택해 고도의 전문적이고 안

전하며 확장성 있는 애플리케이션을 만들 수 있습니다. Oracle Application Express

에 대한 자세한 정보는

http://www.oracle.com/technology/products/database/application_express

를 참조하십시오.

웹 애플리케이션 구축을 위한 특별한

기능의 무료 개발 툴

Page 8: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 8

Oracle Application Express: PDF 인쇄

보고 영역을 PDF로 내보낼 수 있습니다 ? 기본적으로, 보고서를 출력하는 것입니다.

Oracle Business Intelligence (BI) Publisher와 통합되어 있기 때문에,“고품질

(high fidelity)”보고서 출력이 가능합니다. BI Publisher는, 다양한 테이블 (예를 들

면, master-detail), 차트 및 Oracle Application Express에서 제공되는 여러 파라

미터를 구현한 복합 보고서 템플릿을 개발할 수 있도록 Microsoft Word 플러그인을

제공합니다

Oracle Application Express: Microsoft Access Migration

Microsoft Access Migration은 Microsoft Access 애플리케이션에 기반한 Oracle

Application Express 애플리케이션 개발을 가능하게 합니다. 마이그레이션 프로세

스는 다음과 같은 단계를 거칩니다:

1. Exporter 툴을 사용하여 Microsoft Access로부터 메타데이터를 내보냅

니다.

2. Oracle SQL Developer Migration Workbench (Oracle SQL Developer

1.2에 포함되어 있음)를 사용하여 Microsoft Access 데이터베이스를 오

라클 데이터베이스로 마이그레이션합니다.

3. Oracle Application Express 워크스페이스와 마이그레이션 프로젝트를

차례로 생성합니다.

4. 검색된 오브젝트를 인증하고 업데이트합니다.

5. Oracle Application Express 애플리케이션을 만듭니다

Oracle Application Express: 플래시 차트

Adobe Flash Player 브라우저 플러그인을 사용해 차트를 표시하기 위하여 애플리

케이션을 제작할 수 있습니다. 지원되는 플래시 차트는 18 종입니다. 차트 생성 프로

세스 중에 선택한 것을 미리 살펴 보고, 필요한 속성을 설정할 수 있습니다. 새로운

플래시 차트 생성 이외, 기존 SVG 차트를 플래시 차트로 변환하는 것도 가능합니다.

플래시 차트는 사용자 인터페이스에 대한 강력한 통제를 가능하게 하며, 비동기식

업데이트 등의 기능도 가지고 있습니다.

Oracle Application Express: Drag & Drop Item Layout

Drag and Drop Item Layout 기능은 현재 영역에서 아이템 재정렬, 속성 (현재 아이

템-종류 영역에 있는 아이템 명, 라벨 및 종류) 변경, 아이템 삭제 및 신규 아이템 신

속 생성 등을 가능하게 합니다. 아이템을 기존 아이템의 왼쪽 또는 오른쪽으로 정렬

할 수 있고, 기존 폼의 중앙에 아이템을 신속하게 추가하기 위하여 새로운 열을 삽입

할 수도 있습니다. 아이템 삭제를 위해선, 해당 아이템을 아래쪽에 있는 휴지통에 끌

어다 놓기만 하면 됩니다.

Oracle Application Express: 새로운 아이템 종류

다음과 같은 새로운 아이템 종류가 추가되었습니다:

• Shuttle

Microsoft Access 애플리케이션 및

데이터베이스를 Oracle로

마이그레이션하여 중요한 데이터를 통합,

통제하고 중앙집중적으로 관리할 수

있습니다.

Page 9: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 9

• HTML Editor Minimal - Textarea에서 사용 가능

• HTML Editor Standard - Textarea에서 사용 가능

• Popup Color Picker - Popup List of Values에서 사용 가능

• Date Picker (포맷 마스크 사용)

Oracle Application Express: 지원 오브젝트

Oracle Application Express 2.2에 도입된 지원 오브젝트 기능은 업그레이드 스크

립트를 정의할 수 있도록 성능이 강화되었습니다. 이 기능은 업그레이드된 내용을

배포하는데 사용됩니다. 오라클은 또한, 인스톨 스크립트에 Access Control Table

정의를 포함시킬 수 있는 기능도 추가하였습니다.

Oracle Application Express: Page and Region Caching

이 기능은 성능 향상을 위하여 애플리케이션의 일부를 캐시에 작성할 수 있도록 허

용합니다. 캐시 속성은 Page and Region 속성 페이지에 설정됩니다. 이는 HTML 텍

스트를 포함하는 condition 및 region을 전혀 가지고 있지 않은 리스트와 같은 정적

page 및 region에 매우 유용합니다.

Oracle Application Express: 기타 향상된 기능

이번 발표 제품에 포함된 또 다른 향상된 기능은 다음과 같습니다:

• Calendar- Calendars는 디폴트로 월간 및 일간 뷰를 포함합니다

• Shared components-.Lists 및 Breadcrumbs 등을 복사하고 re-

parenting하는 부가 기능입니다

• Item Finder- Cascading Style Sheets (CSS) 및 이미지를 검색합니다

• Multi-Delete-.여러가지 버튼, 프로세스, Computations 및 Validations를

삭제하는 기능입니다

• Navigation-.공유 컴포넌트 및 애플리케이션 보고서를 검색하기 위해 새

로운 아이콘들이 추가되었습니다.

• Application & Schema Comparison-.2가지 다른 스키마에서 2가지 애플

리케이션 또는 오브젝트 사이의 차이를 확인합니다.

• Application Builder Defaults- 일관성을 강화시키기 위하여 탭, 인증,

Themes 및 글로벌라이제이션에 대한 워크스페이스 우선 순위를 정의합니다.

• Developer Preferences-.Application Builder에서 뷰 모드에 대한 우선

순위를 정의합니다.

• Support for Public Pages-.퍼블릭 애플리케이션이 검색 엔진 및 북마크

를 지원할 수 있도록 0의 세션 ID를 허용합니다.

• SQL Workshop-.검색 능력과 스키마 접근이 향상되었습니다.

• New Password and Account Controls-.비밀번호 만료, 글자 수 (최소 글

자 수 등) 및 잠금 등의 규칙을 정합니다.

• Workspace Management- 워크스페이스 크기, 워크스페이스 명칭 이메

일 요청 및 로그인 시도에 대한 로그 분석을 정의합니다.

• New Look for Managing Users- 검색을 간소화하고 아이콘을 개선하였

습니다.

Page 10: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 10

Cross Language Features

다음의 애플리케이션 개발 기능들은 다양한 프로그래밍 언어에서 사용할 수 있습니

다. 이 기능들중 일부는 데이터베이스 서버에서 실행됩니다. 클라이언트 단의 기능

들은 오라클 고유의 C 프로그래밍 인터페이스인 OCI에 의해 제공됩니다. 이들 기능

은 또한 .NET, PHP, JDBC type 2 드라이버(JDBC-OCI), 프리컴파일러 및 OCCI

등 다른 프로그래밍 언어 인터페이스에서도 사용할 수 있습니다.

클라이언트 결과 캐시

이 기능은 클라이언트 메모리에 쿼리 결과를 캐싱합니다. 결과 캐싱은 애플리케이션

에 완전 투명하게 이루어지며, 결과 데이터 개시는 결과에 영향을 미치는 모든 세션

및 데이터베이스 변경과 내부적으로 동기화됩니다.

클라이언트 메모리에서 결과를 검색하는 것이 데이터베이스를 호출하고, 쿼리 처리

를 거쳐 디스크에서 결과를 검색하는 것보다 훨씬 빠르기 때문에, 자주 실행되는 쿼

리는 그 결과가 캐싱되었을 때, 획기적인 성능 향상이 가능합니다. 클라이언트 결과

캐시를 활용하면 쿼리를 처리하는 데 사용되어야 할 서버 CPU를 줄일 수 있어, 확장

성이 커지는 결과를 가져다 줍니다. 내부 벤치마크 테스팅 결과, 응답 시간은 최고

22% 향상되었고, 서버 CPU 사용은 6.5배 줄었습니다.

클라이언트 결과 캐시는 CLIENT_RESULT_CACHE_SIZE 초기화 파라미터 설정

을 통해 활성화됩니다. 사용자는 result_cache hint를 통해 쿼리 주석을 달아 결과가

결과 캐시에 저장될 수 있도록 할 수 있습니다.

서버 결과 캐시

변화가 거의 없는 데이터에의 접근을 자주 요청 받는 쿼리의 획기적 성능 향상이 가

능합니다

쿼리 결과는 또한 서버 결과 캐시에 캐싱될 수도 있습니다 (공유 풀 내부). 사용자는

결과 캐시 힌트를 통해 쿼리 주석을 달아 결과가 결과 캐시에 저장되도록 할 수 있습

니다.

RESULT_CACHE_MODE 초기화 파라미터 설정을 통해 서버 결과 캐시가 모든 쿼

리에 사용되도록 할 것인지 (가능하다면) 아니면 주석이 달린 쿼리에만 사용되도록

할 것인지 통제할 수 있습니다.

Secure LOBs 및 L OB데이터 미리 불러오기

LOB 데이터 저장을 위한 요구 사항을 줄이고 데이터 접근 성능을 향상시키기 위하

여 몇 가지 기능이 개선되었습니다.

Oracle SecureFiles (SECUREFILE 옵션인 LOBs with STORE)에 관해 말하자면,

SQL parameter DEDUPLICATE in CREATE TABLE and ALTER TABLE 구문

을 지정할 수 있습니다. 이를 통해, 애플리케이션은 LOB 칼럼에서 2개 이상의 열이

같은 LOB 데이터들이 동일한 데이터 블록을 공유하여 디스크 공간을 절약할 수 있

도록 지정할 수 있습니다. 마찬가지로, COMPRESS 파라미터는 LOB 압축과 연관됩

니다. ENCRYPT 파라미터는 LOB 암호화와 연관되거나 아니면 암호화 알고리듬을

선택할 수 있습니다. 각각의 LOB 칼럼은 다른 LOB 혹은 non-LOB 칼럼의 암호와

Page 11: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 11

와 무관한 그 자신의 암호와 스펙을 가질 수 있습니다. 소규모 LOB에 대한 접근성을

향상시키기 위하여, LOB 데이터를 미리 불러와, 로케이터를 불러오는 동안, 캐싱시

킬 수도 있습니다.

.NET

Oracle Developer Tools for Visual Studio .NET (ODT)는 Microsoft Visual

Studio를 위해 긴밀하게 통합된“애드 인 (Add-in) 입니다. ODT는 무료이며

Visual Studio 2005 및 Visual Studio .NET 2003 모두에서 사용할 수 있습니다.

ODT는 오라클을 위한 .NET 코드 개발을 빠르고 용이하게 하며, 개발자들이 전체

개발 사이클 동안 Visual Studio를 사용할 수 있도록 합니다. ODT는 통합 비주얼 디

자이너를 사용하여 오라클 스키마 오브젝트를 검색 및 편집하고, 끌어다 놓기 기능

을 통해 .NET 코드를 자동 생성하는 기능을 제공합니다. 개발자들은 테이블 데이터

를 쉽게 수정하고, Oracle SQL 구문을 실행하고, PL/SQL 코드를 편집 및 디버깅하

고, .NET 저장 절차를 개발 및 배치할 수 있습니다. Oracle SQL 및 PL/SQL 사용자

가이드를 포함한 통합 컨텍스트 기반 온라인 헬프는 오라클 문서를 어디서나 볼 수

있도록 지원합니다. Oracle Developer Tools for Visual Studio .NET에 대한 자세

한 정보는 http://www.oracle.com/technology/tech/dotnet/tools를 참조하십시오

Oracle Data Provider for .NET (ODP.NET) 기능은 .NET 환경에서 오라클 데이터

베이스의 데이터에 대한 접근을 최적화합니다. ODP.NET를 사용하면, 개발자들은

Real Application Clusters, 성능 최적화, XML DB 및 첨단 보안 기능을 포함한

Oracle Database의 첨단 기능들을 활용할 수 있습니다. ODP.NET는 프로그래머들

에게 .NET 애플리케이션을 위한 보다 나은 성능, 유연성 및 기능 선택을 가능하게

합니다. 개발자들은 이를 통해 .NET을 사용하면서도 오라클의 강력한 데이터 관리

기능을 활용할 수 있습니다. ODP.NET는 .NET Framework for 32비트 Windows,

Windows x64 (AMD64 및 Intel EM64T) 및 64비트 Windows for Intel Itanium 등

을 포홤한 .NET Framework 1.0 이상을 기본으로 지원합니다. Oracle Data

Provider for .NET에 대한 자세한 정보는

http://www.oracle.com/technology/tech/windows/odpnet을 참조하십시오

Oracle Database Extensions for .NET는 Oracle Database 11g on Windows의 기

능으로 저장 철차 및 C# 또는 VB.NET 같은 NET 관리 언어로 구현되는 기능의 개

발, 배치 및 실행을 간편하게 합니다. .NET 저장 절차 또는 기능은 Microsoft Visual

Studio를 사용하여 개발되며, Oracle Developer Tools for Visual Studio .NET의 기

능인 완전 통합 .NET Deployment Wizard를 사용하여 배치됩니다. 배치가 이루어

진 후, .NET 저장 절차는 .NET 애플리케이션 코드, SQL 또는 PL/SQL, .NET,

PL/SQL 또는 Java 저장 절차, 트리거 또는 저장 절차 혹은 기능 호출이 허용되는 모

든 곳에서 호출될 수 있습니다. Oracle Database Extensions for .NET에 대한 자세

한 정보는 http://www.oracle.com/technology/tech/dotnet/ode를 참조하십시오.

Visual Studio와의 긴밀한 통합

Oracle Data Provider for .NET는 Oracle

Database 11g의 파워를 .NET

애플리케이션에 제공합니다.

Page 12: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 12

.NET: Visual Studio 2005 통합

Oracle Developer Tools for Visual Studio .NET는 Visual Studio 2005와 완전 통

합되어 있습니다. 트리 컨트롤은 데이터베이스 스키마 오브젝트의 검색을 용이하게

합니다. 각각의 스키마 오브젝트 노드는 해당 노드에 대한 운영을 가능하게 하는 컨

텍스트 기반 메뉴를 제공합니다. 예를 들면, 테이블 노드는“Retrieve Data”메뉴 아

이템을 제공하는데, 이는 Oracle Data 창을 열기 위한 것입니다. 이는 또한,

“Design”메뉴 아이템을 제공하여 오라클 테이블의 생성 및 수정을 용이하도록 지

원합니다. 마찬가지로, 다른 오라클 스키마 형식은 아이템 특정 메뉴를 가지고 있습

니다. Visual Studio Properties 창은 현재 선택된 모든 Oracle Database 스키마 노

드를 위한 메타데이터를 보여줍니다. 예를 들면, 테이블 칼럼 노드를 선택하면,

Properties 창의 해당 칼럼의 오라클 데이터 형식이 나타납니다.

신속한 배치를 위하여, ODT는 또한 Visual Studio의 자동 코드 생성 기능과 긴밀히

통합되어 있습니다. 디자인 영역에 끌어다 넣기만 하면, Oracle Database에 접근할

수 있는 실행 가능한 .NET 코드가 즉각 생성되는 것입니다. 이 코드는 디자인 영역

(Gridview control 등)의 위젯과 쉽게 비주얼적으로 결합되어, 코딩할 필요가 거의

없이, 실행 가능한 애플리케이션을 생성합니다.

.NET: 완전 통합된 PL/SQL 디버거

완전 통합된 PL/SQL Editor 및 디버거는 PL/SQL 코드에서 Visual Studio의 모든

디버깅 기능을 활용할 수 있도록 합니다. .NET 코드에서 PL/SQL 저장 절차로 완벽

하게 진행한 후, 다시 역으로 진행하는 것도 가능합니다.

.NET: 64비트 지원

ODP.NET는 Windows x64 및 Windows Itanium을 위한 64비트 컴퓨팅을 지원하

여, 보다 확장성 있는 .NET 애플리케이션을 가능하게 합니다.

.NET: ADO.NET 2.0 지원

다음을 포함한 Microsoft ADO.NET 2.0 지원:

• Provider factory 클라스 및 base 클라스는 범용 API를 지닌 다양한 데이

터 소스에 대한 데이터 접근 코드를 간소화합니다.

• Connection string builder는 커넥션 스트링 생성시 에러 발생을 줄이고 관

리를 용이하게 합니다.

• System.Transactions에서의 로컬 및 분산 트랜잭션 기능이 지원됩니다.

• Batch processing은 OracleDataAdapter.Update 메소드를 사용하여 단일

데이터베이스 라운드 트립에서 다중 열 변경을 가능하게 합니다.

• Schema discovery는 애플리케이션 개발자들이 테이블 및 저장 절차 등

데이터베이스 스키마 정보를 찾아 리턴하는 것을 허용합니다.

• Data source enumerator는 애플리케이션이 사용 가능한 오라클 데이터

소스들을 획득하는 것을 가능하게 합니다.

Page 13: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 13

.NET: 성능 향상

ODP.NET 11g는 다음과 같은 성능 향상을 이루었습니다:

• 구문 캐싱을 사용하면, ODP.NET 파라미터 컨텍스트가 자동 캐싱되어, 동

일 구문이 반복 실행될 때, 보다 빠른 성능을 제공합니다.

• Oracle Database 11g를 사용하면, ODP.NET 사용자들은 보다 빠른 LOB

검색 성능을 경험할 수 있습니다 (Cross Language Features 섹션에서 설

명).

• 클라이언트 결과 캐시 (Cross Language Features 섹션에서 이미 설명했

음), 자주 호출되는 쿼리를 실행하는 ODP.NET 애플리케이션은 획기적으

로 성능이 향상됩니다.

PHP

PHP는 웹 애플리케이션을 위해 일반적으로 사용되는 대중적, 번역 스크립팅 언어

입니다. PHP는 크고 작은 애플리케이션 모두를 신속하게 배치하는 데 사용되며, 웹

2.0 애플리케이션 개발에도 유용합니다. 2천만 개 이상의 웹 사이트가 이를 사용해

제작되었으며, 대규모 사용자 커뮤니티가 있습니다. PHP는 많은 운영체제와 웹 서

버에서 운영됩니다.

PHP는 대규모 확장성 있는 데이터베이스를 필요로 하는 미션 크리티컬 애플리케이

션에서도 점차 사용이 늘고 있습니다. 오라클은 오픈 소스 커뮤니티와 협력해

Oracle Database와 완전 통합된, 안정성 있는 고성능 PHP 데이터베이스 드라이버

인 OCI8 익스텐션을 개발하고 있습니다 Oracle Database에서 PHP를 사용하면, 데

이터 쿼리 및 업데이트와 저장 절차 및 기능 실행, 이미지 로딩 및 확정성 있는 글로

벌 애플리케이션의 손쉬운 구현이 가능합니다. Oracle Database 11g의 새로운 기능

으로 인해, PHP 개발자들은 고성능의 확장성 있고 관리가 간편한 Oracle Database

기반 애플리케이션을 보다 쉽게 개발할 수 있게 되었습니다. 오라클 및 PHP에 대한

자세한 정보는 http://www.oracle.com/technology/tech/php를 참조하십시오.

PHP: Real Application Clusters

PHP 애플리케이션들은 Oracles Real Application Clusters (RAC)의 확장성 및 고

가용성으로 인해 많은 혜택을 받을 수 있습니다, RAC는 Oracle Database의 공유 디

스크 실행 기능으로, 많은 인스턴스가 동시에 동일한 데이터베이스에 접근하도록 허

용합니다. 서버 클러스터에서 실제 애플리케이션 부하를 운영하고 확장하는 RAC의

독특한 기능은 엔터프라이즈 그리드의 필수적인 토대입니다.

PHP: 결과 캐싱

Oracle Database 11g는 결과 캐싱 기능을 포함합니다. 결과 캐시는 읽기 전용 혹은

읽기 위주 데이터에 접근하는 쿼리 (Cross Language Features 섹션에서 설명) 및

기능 호출 (PL/SQL 섹션에서 설명)의 반복 실행 속도를 획기적으로 높여줍니다.

고도로 확장성 있는 PHP 애플리케이션을

위한 Oracle Database 11g

Page 14: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 14

PHP: 열 미리 불러오기

데이터베이스 쿼리 결과는 한 번에 한 개의 열이나 전체 열이 아닌 열의 그룹 형태로

리턴됩니다. 리턴되는 열의 수를 조절하면, 네트워크 라운드 트립을 줄이고, 애플리

케이션을 위한 적절한 수의 결과를 제공함으로써 PHP 애플리케이션 성능을 획기적

으로 향상시킬 수 있습니다

PL/SQL

PL/SQL은 SQL 커맨드를 완벽하게 처리하기 위하여 특별히 제작된 필수적 3세대

언어입니다. 이는 그 같은 목적을 위하여 특정 신택스 (syntax)를 제공하고 SQL과

동일한 데이터 형식을 지원합니다. 이는 다른 환경에서도 사용할 수 있지만, 본 문서

는 Oracle Database에 저장 및 컴파일링되고, Oracle Database의 이식성을 자동으

로 물려받은 오라클 실행 파일에서 운영되는 PL/SQL에 초점을 맞추고 있습니다

많은 오라클 고객들이 사용하는 베스트 프랙티스는 PL/SQL 서브프로그램만을 호

출하여 클라이언트가 Oracle Database에 접근하게 하는 것입니다. 이러한 접근 방

법은 일반적 모듈형 프로그래밍 베스트 프랙티스 (명백한 기능 API를 정의하고 실

행을 은폐하는 것)를 반영하는 것일 뿐만 아니라, 클라이언트와 Oracle Database 사

이의 네트워크 라운드 트립을 획기적으로 줄이는 것이기도 합니다. PL/SQL에 대한

자세한 정보는 http://www.oracle.com/technology/tech/pl_sql을 참조하십시오.

PL/SQL: Real Native Compilation

Oracle Database 11g 발표 이전엔, PL/SQL 절차의 속도 향상은 이를 공유 라이브

러리의 네이티브 코드에 컴파일링함으로써 가능하였습니다. 이들 절차는 C 코드롤

번역된 후, C 컴파일러로 컴파일링되어 오라클 프로세스로 링크되었습니다. Oracle

Database 11g에서는, C 컴파일러가 필요하지 않고 PL/SQL 소스가 네이티브 코드

로 직접 변환됩니다. 더욱이, 오라클이 링크 및 로딩을 하므로, 파일 시스템 디렉토

리가 더 이상 필요하지 않습니다. 개발자들은 이제 DBA의 설정과 무관하게 프로그

램 유닛을 네이티브 실행을 위해 컴파일링할 수 있습니다. PL/SQL 코드를 네이티브

하게 컴파일링하는 것은 Oracle Database 11g가 Oracle Database 10g보다 약 2배

빠릅니다. 런타임 성능 또한 눈에 띄게 향상되었습니다

PL/SQL: 함수 결과 캐시

PL/SQL 함수는 때때로 함수에 의해 발생한 하나 또는 여러 개의 파라미터화된 쿼리

를 인풋으로 하는 계산 결과를 리턴하는 데 사용됩니다. 어떤 경우, 이들 쿼리는 함

수 호출 빈도에 비해 거의 변하지 않는 데이터 (예를 들면, 쇼핑 애플리케이션의 상

품 캐털로그)에 접근합니다. 결과를 캐싱하고, 정확성 보장을 위하여, 어떤 테이블

리스트가 DML을 경험하게 될 때, 캐시를 비우도록 요청하기 위하여, PL/SQL 함수

소스 텍스트의 신택스를 포함시킬 수 있습니다. SQL 쿼리 결과 캐시와 같이 캐시는

공유 풀에 있습니다. DBA는 공통 API를 사용하여 결과 캐시를 관리하고 모니터링

합니다. 캐시를 위한 룩업 키는 함수를 호출한 실제 아규먼트의 결합입니다. 결과 캐

싱 함수의 특정 인보케이션이 캐시 히트일 때, 함수 바디는 실행되지 않고 대신, 캐

시 값이 즉각 리턴됩니다.

PL/SQL은 C 컴파일러를 설치하지 않고도

컴파일링이 가능합니다

Page 15: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 15

PL/SQL: Fine Grained Dependency Tracking

이전 버전들에서는, 메타데이터는 전체 오브젝트의 정교성으로 오브젝트들 사이의

상호 의존성을 기록하였습니다. 예를 들면, PL/SQL 유닛 P가 PL/SQL 유닛 Q에 의

존하고, 뷰 V가 테이블 T에 의존하는 것입니다. 이는 의존적 오브젝트들은 논리적

요청이 없을 경우, 때때로 무효화된다는 것을 의미합니다. 예를 들면, 만약 뷰 V가

테이블 T의 칼럼 C1, C2, 및 C3에만 의존하고, 새로운 칼럼 C99가 추가되었을 경

우, 뷰 V의 유효성은 논리적으로 영향을 받지 않습니다. 그럼에도 불구하고, 이전 버

전에서 V는 칼럼 99의 추가로 인해 무효화되었습니다

Oracle Database 11g는 의존 메타데이터를 보다 정교하게 기록함으로써, C99의 추

가로 인해 뷰 V가 무효화되지 않습니다. 마찬가지로, 절차 P가 패키지 PKG의 엘리

먼트 E1 및 E2에만 의존한다면, 엘리먼트 E99가 PKG에 추가되어도, 절차 P는 무

효화되지 않습니다. (Oracle Database 10g에서는, 이러한 PKG 변경은 절차 P를 무

효화하였습니다.)

의존 오브젝트가 의존하는 오브젝트의 변경으로 인한 의존 오브젝트의 무효화를 방

지함으로써, 애플리케이션 가용성이 획기적으로 증가하였습니다. 이로 인한 혜택은

개발 환경 및 배치 애플리케이션이 패치되거나 업데이트될 때 모두 나타납니다.

Oracle Database 패치세트가 적용될 때 혜택을 받을 수 있습니다. 스키마 오브젝트

에 대한 변경은 호환성이 요구되기 때문에 변경으로 인한 무효화를 야기하지 않기

때문입니다.

PL/SQL: Sequences

시퀀스 제너레이터는 시퀀스 숫자를 애플리케이션에 부여합니다. 시퀀스 제너레이

터는 특히 디스크 I/O나 트랜잭션 로킹의 부담 없이 직원 계정 같은 특수한 일련 번

호를 생성하기 위한 멀티 유저 환경에서 유용합니다.

이전 Oracle Database 버전은, PL/SQL 프로그램이 시퀀스 값을 구할 때, SQL을 사

용하였습니다. 이는 PL/SQL 프로그래머들에게는 유용성의 훼손을 의미하는 것이

었습니다. Oracle Database 11g에서는, PL/SQL 익스프레션의 수도칼럼

(pseudocolumns) CURRVAL 및 NEXTVAL을 간편하게 사용할 수 있습니다.

PL/SQL: PL/Scope

PL/Scope는, Cscope (http://cscope.sourceforge.net 참조)가 C 소스 코드를 검색

하는 방식과 유사하게, PL/SQL 소스 코드를 검색할 수 있도록 합니다. 사용자는

PL/SQL 소스 코드에서 모든 종류의 정의, 선언, 할당 및 레퍼런스를 검색하고 표시

할 수 있습니다. PL/SQL 컴파일러는 옵션으로 PL/Scope 지원에 필요한 메타데이

터를 생성해 그것을 데이터베이스 캐털로그에 저장할 수 있습니다. 메타데이터는 스

코핑 및 오버로딩을 포함한 언어의 뉘앙스를 고려합니다. 사용자는 보고서생성기를

통해 보고서 (특히 하이퍼링크 HTML 보고서)를 생성할 수 있습니다. PL/Scope는

특히 타인의 코드를 관리하는 사람들을 위하여, 개발자 생산성 향상을 지원합니다.

코딩 간소화

Page 16: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 16

PL/SQL: 계층 프로파일러

PL/SQL 계층 프로파일러는 서브프로그램 호출을 통해 조직화시킨 PL/SQL 프로그

램의 역동적 실행 프로파일에 대한 보고를 수행합니다. SQL 및 PL/SQL 실행 시간

은 별도로 계산됩니다. 역동적 실행 프로파일의 서브프로그램 레벨 요약은 각각 서

브프로그램 호출 수, 서브프로그램 사용 시간, 서브프로그램의 서브트리 (디센던트

서브프로그램에서) 사용 시간 및 구체적인 모-자 정보 등을 포함하고 있습니다. 사

용자는 브라우저에서 생성된 HTML 보고서를 검색할 수 있습니다. 브라우저의 검

색 기능은, 선택된 링크와 결합되어, 대규모 애플리케이션의 성능 분석, 애플리케이

션 성능 향상 및 개발 비용 절감을 위한 강력한 방법을 제공합니다.

Java

Oracle Database는 임베디드 Java VM을 포함하고 있어, 데이터베이스에서 직접

Java를 운영할 수 있습니다. 이 기능은 이식성 및 재사용에 대한 고객 요구를 반영한

결과입니다. Java는 미들 티어 (J2EE, POJOS, JDBC) 및 데이터베이스 (Java 저장

절차)와 통합될 수 있습니다. Java가 제공하는 중요한 혜택은 대규모 Java 클라스 라이

브러리의 재사용 및 애플리케이션 개발자들의 Java 스킬의 활용 등을 포함합니다.

JDBC는 업계 표준 애플리케이션 프로그래밍 인터페이스 (API)로 SQL 구문을

Java 코드에 임베딩할 수 있도록 합니다. 오라클 등 데이터베이스 벤더들은 각각 표

준 java.sql 패키지의 인터페이스를 실행하여 고유의 JDBC 실행을 개발하고 있습니

다. Oracle Java, JDBC & Database 웹 서비스에 대한 자세한 정보는

http://www.oracle.com/technology/tech/java/java_db/index.html을 참조하십

시오.

Java: OracleJVM 성능, JIT 컴파일러

OracleJVM은 just-in-time 컴파일러r (JIT)를 제공합니다. JIT는 데이터베이스에

있는 모든 Java 클라스로부터 네이티브 바이너리를 역동적이고 투명하게 생성합니

다. 바이너리 코드는 재컴파일링되지 않도록 저장됩니다. JIT는 디폴트로 활성화되

며, C 컴파일러나 다른 구성을 필요로 하지 않습니다. 업계 표준 벤치마크를 사용한

내부 테스트 결과, 엄청난 속도 증가를 확인할 수 있었다.

Java: Java 표준을 통한 생산성 및 이식성

플랫폼 및 벤더 전반에 걸친 생산성 및 애플리케이션 이식성이 Java를 사용하는 가

장 큰 이유입니다. 이번 발표 제품에서, JDBC는 Java SE 6, JDBC 4.0 및 JMX를 지

원합니다. RDBMS에 임베딩된 Java 런타임은 Java SE 5, RowSet (JSR-114) 및

JMX를 지원합니다.

데이터베이스에서의 Java 성능의 획기적

향상.

Page 17: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 17

Java: JDBC 4.0

Oracle Database 11g JDBC는 2가지 종류가 있습니다: ojdbc5.jar for Java 5 (즉,

JDK 1.5)와 ojdbc6.jar for Java 6 (즉, JDK 1.6)입니다. ojdbc6.jar는 Connection

and Statement Enhancements,

Wrapper Interface, New Standard Datatypes, SQL 2003 National Character Set

types, LOB Enhancements, Exception Hierarchy 및 RowSet (JSR-114)

Enhancements 등을 포함한 새로운 JDBC 4.0 스펙을 지원합니다.

Java: Java 5와 호환되는 OracleJVM

OracleJVM은 데이터베이스에서 직접 Java SE 애플리케이션 및 라이브러리를 재사

용하는 것을 허용함으로써, 획기적인 생산성 및 성능 향상을 이루었습니다. 이번 발

표 제품은 Java SE 5 (JDK 1.5와 호환)를 기본 지원합니다.

Java: RowSet (JSR-114) 지원 서버 사이드 JDBC

서버 사이드 JDBC 드라이버는 RowSet 스펙을 지원합니다. JDBCRowSet,

CachedRowSet, WebRowSet, JoinRowSet 및 FilteredRowSet을 사용하는

Java/JDBC 코드는 데이터베이스에서 직접 운영 가능합니다.

Java: 오라클의 Java 지원

이번 발표 제품은 SYS.ANYDATA, Sys:ANYTYPE, Secure Files 및 쿼리 변경 고

지 등의 기능을 지원합니다.

Java: 최초 라운드 트립시 미리 불러오기

ad-hoc SQL 쿼리의 경우, 미리 불러오기 메커니즘이 parse, execute 및 fetch를 결

합하여 데이터베이스와의 최초 인터랙션에서 최초의 결과 세트를 검색합니다. 내부

테스트 결과, 네트워크 라운드 트립과 응답 시간은 각각 50%, 서버 및 클라이언트

CPU 소비는 30% 줄어든 것으로 나타났습니다. 다시 말하면, 하루 (정해진 기간)에

1백만 ad-hoc 쿼리를 발생시키는 일반적 웹 리테일 애플리케이션의 경우, 같은 기

간에 1백만 라운드 트립의 감소를 나타냅니다.

Java: 네이티브 AQ 프로토콜

JDBC를 통한 JMS/AQ 호출의 경우, 새로운 네이티브 AQ 프로토콜 (PL/SQL 기반

인터페이스의 반대)은 40~300%의 성능 향상 및 서버 CPU 소비 감소를 나타냅니다.

Java: 데이터베이스/쿼리 변경 고지

JDBC-Thin and JDBC-OCI support for Database and Query Notification는

JDBC 스레드가 쿼리 결과 세트의 변경 고지를 파악하도록 허용합니다

미들 티어는 이 기능을 활용하여 데이터 캐시를 무효화하거나 리프레시합니다.

APIs에 대한 자세한 정보는 Oracle Database 11g JDBC 문서를 참조하십시오.

Page 18: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 18

Java: 서버 및 클라이언트 결과 캐시

SQL 결과 세트는 서버 사이드의 SGA에 캐싱되며, 관련 오브젝트가 변경되면 자동

으로 무효화됩니다. JDBC-OCI 드라이버는 클라이언트 사이드에 서버 결과 캐시를

제공합니다. 이것은 서버 캐시의 변경과 동기화됩니다. 자세한 정보는 Cross

Language Features 섹션을 참조하십시오

Java: 보안

JDBC-Thin은 JDBC-OCI와 마찬가지로, 강력한 인증 (Kerberos, Radiius, SSL)

과 새로운 암호화 및 데이터 통합 알고리듬을 포함한 오라클 첨단 보안 옵션을 지원

합니다.

Java: Oracle JVM의 사용 편리성

사용 편리성의 제약은 데이터베이스에서 Java가 널리 사용되지 못하는 이유입니다.

이번 발표 제품은 다양한 기능으로 JDK 유사 인터페이스, 아웃풋 리디렉트, 프로퍼

티 인터페이스, 데이터베이스 거주 JAR, 2 티어 Java 세션 스테이트 듀레이션을 포

함한 사용자 환경을 간소화하고 성능을 향상시킵니다.

Java: 관리성

관리성은 Oracle Database 기반 (JDBC, Java EE 컴포넌트) 혹은 내부 (데이터베

이스상의 Java)의 Java 애플리케이션을 위한 프로덕션 환경의 핵심 요구 사항입니

다. 이번 발표 제품은 다음과 같은 관리성을 제공합니다: MBean for JDBC Logging,

프로그램 설정 및 끝내기, JMX in OraceJVM 및 OracleJVM Utilities

Enhancements.

Oracle Call Interface (OCI)

Oracle Call Interface는 애플리케이션 디자인을 위한 고성능, 강력한 접근 및 정밀

통제 기능을 제공합니다. OCI는 또한 .NET, PHP, 및 JDBC type 2 드라이버의 기반

이 되는 토대입니다. 다양한 언어를 지원하는 OCI의 특징에 대한 자세한 정보는

Cross Language Features 섹션을 참조하십시오. 다음의 기능은 현재 OCI만 지원됩

니다.

Database Resident Connection Pooling

Database Resident Connection Pooling (DRCP)은 애플리케이션이 데이터베이스

접속 권한을 얻어, 간단한 작업을 하고 나오는 일반적 웹 애플리케이션 사용에 필요

한 데이터베이스 접속 풀을 제공합니다. DRCP는“전용”서버 풀을 만드는데, 이는

높은 우선 순위의 서버 프로세스 및 결합 데이터베이스 세션에 해당하는 것으로

“풀”서버로 불립니다. DRCP는 미들 티어 프로세스 스레드 사이의 접속을 공유하는

접속 풀을 지원합니다. 또한, DRCP는 동일 미들 티어 호스트의 미들 티어 프로세스

전반 및 미들 티어 호스트 전반에 걸쳐 데이터베이스 접속 공유를 가능하게 합니다.

이는 다수의 클라이언트 접속 지원에 필요한 주요 데이터베이스 자원의 획기적 절

감을 가능하게 함으로써, 데이터베이스 티어 메모리 풋프린트를 축소하고 미들 티어

및 데이터베이스 티어의 확장성을 강화합니다. 가용 서버 풀을 확보하는 것은 또한

클라이언트 접속 실행 및 차단 비용을 줄일 수 있는 혜택이 있습니다.

JDBC-Thin 드라이버를 위한 오라클 첨단

보안

Page 19: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 19

DRCP는 미들 티어 접속 풀링이 불가능한 다중 프로세스 스레드 애플리케이션서버

아키텍처에 특히 유용합니다. 데이터베이스는 DRCP를 통해 수 만의 동시 접속을 가

능하게 할 수 있습니다. 내부 테스트 결과, DRCP 기능을 사용하면 데이터베이스의

사용자 접속 능력이 20배 이상 증가하였습니다.

Implicit Fetching of ROWIDs

ROWID는 독특한 데이터베이스 열 식별자입니다. ROWID는 단일 열에 접근하는 가

장 빠른 방법입니다. Implicit fetching of ROWIDs in SELECT … FOR UPDATE

구문은 ROWID가, SELECT 구문에서 지정한 칼럼이 아닐 때에도, 클라이언트 사이

드에서 검색된다는 것을 의미합니다. OCIDefineByPos() 의 포지션 파라미터는

ROWID에 접근하기 위하여 제로 (0)로 설정되었습니다.

다중 버퍼 바인딩 및 정의

단일 바인드 혹은 정의를 호출하여, 비 접촉 버퍼를 지정해 사용할 수 있습니다. 비

접촉 어드레스에 저장/전송된 데이터는 접촉 버퍼로부터/에 복사할 필요가 없기 때

문에 성능이 향상됩니다. 이 기능은 또한, 메모리 관리 문제로 인해 어레이 바인딩을

위한 대규모 접촉 버퍼를 할당할 수 없는 애플리케이션에 유용합니다. 이 기능으로

인해, 애플리케이션은 소규모 비 접촉 버퍼 세트 전반에 걸쳐 어레이를 분산시킬 수

있습니다.

디스크립터 어레이 할당

어레이 바인드 및 정의는 애플리케이션이 1회의 라운드 트립을 통해 데이터베이스

에 다중의 열을 삽입하거나 불러오도록 허용합니다. 디스크립터 어레이 (LOB 및 타

임존용 등)의 바인딩. 정의를 용이하게 하기 위하여, OCI는 한번의 OCI 호출로 디스크

립터 어레이를 할당할 수 있는 OCIArrayDescriptorAlloc() 호출을 추가하였습니다.

결론

애플리케이션 개발 조직은 다양한 프로그래밍 언어와 기술을 선택할 수 있습니다.

Oracle Database 11g는 Java, PHP 및 .NET을 포함한 가장 대중적 개발 기술을 지

원하는 고도로 생산적이고 강력한 애플리케이션 개발 툴 세트를 제공합니다. Oracle

Database의 강력한 기능 (예를 들면, Real Application Clusters, XML DB 등)은 오

라클 프로그래밍 언어 인터페이스를 통해 개발자들이 이용할 수 있습니다.

Oracle Application Express는 부문 및 SMB 애플리케이션을 신속하게 구현하기에

이상적인, 독특한 웹 애플리케이션 개발 툴입니다. Oracle SQL Developer는 데이터

베이스 개발자 생산성을 증가시키는 Oracle Database를 위한 그래픽 환경을 제공합

니다. Oracle SQL Developer Migration

Workbench는 타사 데이터베이스로부터 오라클로의 마이그레이션을 간편하게 할

수 있도록 지원합니다. 데이터베이스의 PL/SQL 및 Java는 애플리케이션의 성능, 보

Page 20: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g애플리케이션 개발 20

안성, 관리성 및 확장성을 증가시키는 데이터베이스 서버 사이드의 코드 생성을 위

한 아키텍처 옵션을 제공합니다.

이들 툴은 전체적으로 개발 업무를 간소화하고 애플리케이션 출시 기간을 줄여줍

니다.

Page 21: Oracle Database 11g 애플리케이션개발 · 2011-05-06 · OracleDatabase11g 애플리케이션개발 4 Oracle Database 11g 애플리케이션개발 애플리케이션개발에있어서의도전과제

Oracle Database 11g Application Development June 2007 Author: David Gambino Contributing Authors: Sue Harper, Alison Holloway, Alex Keh, Srinath Krishnaswamy, Bryn Llewellyn, Kuassi Mensah, David Peake, Christian Shay

Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A.

Worldwide Inquiries: Phone: +1.650.506.7000 Fax: +1.650.506.7200 oracle.com

Copyright © 2007, Oracle. All rights reserved. This document is provided for information purposes only and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Oracle Database 11g 애플리케이션 개발

2007년 6월

저자: David Gambino

공동 저자: Sue Harper, Alison Holloway, Alex Keh, Srinath Krishnaswamy, Bryn Llewellyn, Kuassi Mensah, David Peake, Christian Shay

Oracle Corporation

World Headquarters

500 Oracle Parkway

Redwood Shores, CA 94065

U.S.A.

월드와이드 문의:

Phone: +1.650.506.7000

Fax: +1.650.506.7200

oracle.com

Copyright ⓒ 2007, Oracle. All rights reserved.

본 문서는 정보 제공만을 목적으로 제공되며, 문서의 내용은 별도 공지 없이 변

경될 수 있습니다.

본 문서에는 오류가 포함되어 있을 수 있으며, 상업성 또는 특정 목적 적합성에

대한 묵시적 보장을 포함하여 명시적 혹은 묵시적으로 어떤 보장도 제시하지

않고 있습니다. 오라클은 본 문서에 관련하여 직접 혹은 간접적인 일체의 법적

책임 또는 계약상의 의무를 거부합니다. 본 문서는 오라클의 사전 서면 승인 없

이 어떤 목적, 어떤 방법으로도 전자적/기계적인 형태로 복제, 전송될 수 없습

니다.

Oracle은 Oracle Corporation 및/또는 계열사의 등록 상표입니다. 다른 이름은

해당 업체의 상표일 수 있습니다.