16.12.2012 Views

Oracle Magazine - September/October 2007 - Marcelo Machado

Oracle Magazine - September/October 2007 - Marcelo Machado

Oracle Magazine - September/October 2007 - Marcelo Machado

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

������������������������<br />

��������������������������<br />

���������������<br />

�����������������������������<br />

ORACLE DOESN’T NEED TO MAKE COMPROMISES.<br />

And you don’t have to either. <strong>Oracle</strong> saved a ton of resources (and money) by consolidating storage<br />

on our easy-to-manage single-storage architecture. They also use NetApp storage for their grid<br />

infrastructure, so you know our solutions will integrate seamlessly into your <strong>Oracle</strong> grid environments.<br />

With NetApp, provisioning is easy and nondisruptive. Cloning is effortless and near-instantaneous,<br />

so you can run more tests in less time, accelerating QA cycles and application development. It’s no<br />

wonder we’re trusted by the world’s greatest companies, like <strong>Oracle</strong>. We’re proud to have <strong>Oracle</strong> as<br />

our customer and partner. It’s the kind of relationship we live for.<br />

SETTLE FOR EVERYTHING WITH NETAPP.<br />

Save your bottom line along with your data at www.netapp.com/bizapps or call 1-866-237-8987.<br />

© <strong>2007</strong> Network Appliance, Inc. All rights reserved. Specifi cations subject to change without notice. NetApp and the Network Appliance logo are registered trademarks and Network<br />

Appliance is a trademark of Network Appliance, Inc. in the U.S. and other countries. <strong>Oracle</strong> is a registered trademark of <strong>Oracle</strong> Corporation. All other brands or products are trademarks<br />

or registered trademarks of their respective holders and should be treated as such.


SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

MANAGE<br />

CHANGE<br />

WITH ORACLE DATABASE 11g<br />

NEW FEATURES SPEED<br />

INNOVATION AND TRANSFORM<br />

THE ENTERPRISE<br />

OPEN AND<br />

SECURE /54<br />

THE POWER<br />

WITHIN /58<br />

MORE PARTITIONING<br />

CHOICES /73


www.prodesign.de<br />

Best-in-class architecture<br />

© <strong>2007</strong> Fujitsu Limited. All rights reserved. Fujitsu, the Fujitsu logo and PRIMEQUEST are registered trademarks or trademarks of Fujitsu Limited in the United States and other countries.<br />

All designations used in this document may be trademarks, the use of which by third parties for their own purposes could violate the rights of the trademark owners. Changes in design<br />

and technology are reserved. Intel, Intel Logo, Intel Inside, Intel Inside Logo, Itanium, Itanium Inside are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the<br />

United States and other countries.


for <strong>Oracle</strong> solutions.<br />

FlexFramefor <strong>Oracle</strong><br />

Pre-integrated and pre-tested, FlexFrame for <strong>Oracle</strong> paves the way for greater<br />

flexibility and cost effectiveness in applications based on <strong>Oracle</strong> Application<br />

Server or <strong>Oracle</strong> Database. This innovative infrastructure solution distributes<br />

resources, replacing rigid hardware and software configurations with virtual<br />

relationships.<br />

PRIMEQUEST<br />

The fault-immune PRIMEQUEST server represents best-in-class SMP capabilities<br />

for Itanium®-based systems. With its high performance memory sub-system,<br />

PRIMEQUEST is designed to support robust and demanding database workloads.<br />

Benefit from two best-in-class dynamic IT infrastructure solutions today.<br />

Be ready for Service-Oriented Architecture tomorrow. We make sure.<br />

www.fujitsu-siemens.com www.fujitsu.com


Revealed<br />

They tried so hard to conceal it, but it’s not a secret any longer. Here is an<br />

advance look at some of the details … revealed before it’s available: a set of<br />

indispensable, easy-to-use, highly professional tools for everyday use. No<br />

fancy toys or extremely costly tools. Not just nice to have. It will be a new<br />

age for <strong>Oracle</strong> DBA’s and PL/SQL developers. World class tools available<br />

at an unbeatable price-performance level.<br />

ORACLE DBA<br />

Sophisticated COMPARE DATABASE or SCHEMA or OBJECT (highly<br />

flexible synchronize them), DATABASE EXAMINER (21 instant groups of facts from<br />

your <strong>Oracle</strong> DB), DATABASE MONITOR (advanced diagrams, set alert limits, ...),<br />

TOP SESSION LOCATOR, DB HEALTH CHECK, … and more to come!<br />

ORACLE PL/SQL<br />

SQLDetective is already the choice of thousands of PL/SQL developers in<br />

over 25 countries worldwide. Version 4.0 offers new features and many<br />

improvements for them. Together with its tools for <strong>Oracle</strong> DBA’s and its<br />

extensive range of over 40 tools for PL/SQL developers, SQLDetective 4.0<br />

will be a better choice than ever before. We believe it’s simply the best that<br />

<strong>Oracle</strong> developers and DBA’s can get for their money. Buy SQLDetective<br />

now, and save money with a FREE (equivalent) upgrade to 4.0!<br />

SQLDetective 4.0<br />

www.sqldetective.com<br />

SQLDetective 4.0 is expected by the end of Oct. <strong>2007</strong>


When information<br />

comes together,<br />

your business<br />

is more agile.<br />

Information lives in companies that handle challenges nimbly. EMC ® solutions for midsize enterprises start small and grow as your business<br />

grows—giving you the agility, adaptability, and resourcefulness to be sure that technology meets the needs of your business. You can store,<br />

back up and recover, archive and protect your information, and optimize your applications and databases more efficiently, affordably, and<br />

reliably than ever. So you can handle the information management and storage challenges you face every day. Learn more at<br />

www.EMC.com/information or call 866-796-6369.<br />

EMC 2 , EMC, and where information lives are registered trademarks of EMC Corporation. All other trademarks used herein are property of their respective owners. © <strong>2007</strong> EMC Corporation. All rights reserved.


FEATURES<br />

Cover by Richard Merchán<br />

DEPARTMENTS<br />

From Our Readers/ 12<br />

From the Editor / 14<br />

Innovation Matters<br />

—Tom Haunert<br />

CONTENTS<br />

MANAGE CHANGE<br />

WITH ORACLE DATABASE 11g<br />

16<br />

<strong>Oracle</strong> Database 11g<br />

includes a broad array<br />

of new features and<br />

capabilities, from grid<br />

computing and data<br />

security to high availability<br />

and manageability, all of<br />

which will help companies<br />

manage change better and<br />

faster. Learn how it can<br />

transform your enterprise.<br />

—David Baum<br />

GET READY FOR THE<br />

BIGGEST EVENT<br />

OF THE YEAR<br />

Innovation. Inspiration. Information.<br />

Find out what’s coming at <strong>Oracle</strong><br />

OpenWorld <strong>2007</strong>, including keynotes,<br />

programs for DBAs and developers,<br />

technology presentations, and more.<br />

/17<br />

AT ORACLE<br />

/36<br />

Events / 16<br />

Find out about current and<br />

upcoming industry events.<br />

<strong>Oracle</strong> Resources / 18<br />

Your guide to <strong>Oracle</strong>’s broadband,<br />

education, online offerings,<br />

and more<br />

VOLUME XXI, ISSUE 5<br />

OPEN and<br />

SECURE<br />

Data security, access,<br />

and compliance:<br />

controlling who gets to<br />

see what information<br />

or manage which data is today’s<br />

business imperative. See how<br />

<strong>Oracle</strong> helps manage these<br />

mission-critical tasks.<br />

—David A. Kelly<br />

/54<br />

THE POWER<br />

WITHIN<br />

<strong>Oracle</strong> embedded databases work behind<br />

the scenes and undercover, driving<br />

software applications and hardware<br />

appliances. Find out how companies<br />

power their success at the edge of the<br />

enterprise with <strong>Oracle</strong>. —Alan Joch<br />

/58<br />

OTN Bulletin / 19<br />

Learn what’s happening with <strong>Oracle</strong>’s most<br />

dynamic online community.<br />

<strong>Oracle</strong> News Briefs / 20<br />

Interview / 23<br />

Andy Mendelsohn, senior vice president of<br />

Database Server Technologies at <strong>Oracle</strong>, talks<br />

about innovations in <strong>Oracle</strong> Database 11g.<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 5


CONTENTS<br />

26<br />

COMMUNITY<br />

Commitment / 26<br />

<strong>Oracle</strong> supports CARE’s education initiatives in<br />

impoverished Uttar Pradesh.<br />

Partner News / 28<br />

Cisco Systems, Zend Technologies, Ingram<br />

Micro, Tech Data, Fujitsu, Dell Inc., PANTA<br />

Systems, HP, IBM, Sun Microsystems,<br />

Applimation, Sierra Atlantic<br />

Book Beat / 28<br />

63<br />

Peer-to-Peer / 30<br />

Lutz Hartman, Eric<br />

Marcoux, Daniel<br />

Uehara<br />

DEVELOPER<br />

FRAMEWORKS<br />

Defining a Cascading List of Values / 63<br />

Setting up LOVs is easier than ever with <strong>Oracle</strong><br />

JDeveloper 11g. —Steve Muench<br />

BROWSER-BASED<br />

Express Web 2.0 / 67<br />

Create dynamic interfaces that minimize page refresh<br />

with <strong>Oracle</strong> Application Express. —David Peake<br />

PL/SQL PRACTICES<br />

On the PL/SQL Function Result Cache / 71<br />

Best practices—and preparation—for PL/SQL in <strong>Oracle</strong><br />

Database 11g. —Steven Feuerstein<br />

6 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

73<br />

TECHNOLOGY<br />

PARTITIONING<br />

More Partitioning Choices / 73<br />

Learn when and how to use new partitioning schemes in<br />

<strong>Oracle</strong> Database 11g. —Arup Nanda<br />

STORAGE<br />

Faster, Safer, and Smaller LOBs / 77<br />

<strong>Oracle</strong> SecureFiles provides increased performance, better<br />

security, and reduced disk usage.<br />

— Jonathan Gennick<br />

SQL DEVELOPER<br />

Moving to an <strong>Oracle</strong> Database / 81<br />

Use <strong>Oracle</strong> Migration Workbench to migrate third-party<br />

schema objects to an <strong>Oracle</strong> database. —Sue Harper<br />

ASK TOM<br />

On <strong>Oracle</strong> Database 11g / 85<br />

Our technologist takes a look at the server results and<br />

PL/SQL function caches. —Tom Kyte<br />

90 RESOURCES<br />

<strong>Oracle</strong> Certified Partner Index / 90<br />

Advertisers’ Index / 94<br />

92<br />

COMMENT<br />

IN THE FIELD<br />

What’s New in <strong>Oracle</strong> Database 11g / 92<br />

The latest version of the database has great new<br />

features for everyone. —Ari Kaplan<br />

ALL SECURE<br />

Automating Security / 93<br />

Papa’s got a brand-new bag (of tools).<br />

—Mary Ann Davidson<br />

ANALYST’S CORNER<br />

Secure Data for Every Business Need / 96<br />

Burton Group’s Trent Henry discusses why new<br />

needs for compliance mean tighter access<br />

control. —David Baum


Unlock<br />

the Grid.<br />

Storage solutions from Pillar Data Systems ®<br />

extend the traditional benefits of <strong>Oracle</strong><br />

Grid computing environments with unparalleled cost reductions and simplified<br />

management (across the database and storage layer). The Pillar Axiom ®<br />

storage<br />

system enables SAN, NAS or both in a single storage pool. Plus, you can add<br />

performance and capacity, and manage it all through one powerful interface.<br />

The Pillar Axiom storage system enables <strong>Oracle</strong> customers to drastically reduce<br />

their storage acquisition costs while maintaining database performance. And the<br />

best part is how easy it is. No complicated migrations, patched-together storage<br />

pools or substandard configurations. Learn how our partnership with <strong>Oracle</strong> has<br />

made Pillar the best choice for networked storage. Call 1.877.252.3706 or visit<br />

www.pillardata.com/oracle<br />

© <strong>2007</strong> Pillar Data Systems Inc. All rights reserved. Pillar Data<br />

Systems, Pillar Axiom, AxiomONE and the Pillar logo are all<br />

trademarks or registered trademarks of Pillar Data Systems.


EDITORIAL<br />

Editor in Chief Tom Haunert<br />

tom.haunert@oracle.com<br />

Senior Managing Editor Caroline Kvitka<br />

caroline.kvitka@oracle.com<br />

Features Editor Kay Keppler<br />

kay.keppler@oracle.com<br />

Contributing Editor and Writer<br />

Blair Campbell<br />

Editor in Chief, OTN Justin Kestelyn<br />

justin.kestelyn@oracle.com<br />

Technology Advisor Tom Kyte<br />

Contributing Writers<br />

Marta Bright, Ed DeJesus, Jeff Erickson,<br />

Aaron Lazenby, Fred Sandsmark, Rich Schwerin<br />

DESIGN<br />

Design Director Richard Merchán<br />

SUBSCRIPTION INFORMATION<br />

Subscriptions are complimentary for qualified individuals who<br />

complete the subscription card found in each issue or online<br />

at oracle.com/oraclemagazine. For change of address,<br />

mail in label with the new address to <strong>Oracle</strong> <strong>Magazine</strong>,<br />

P.O. Box 1263, Skokie, IL 60076-8263.<br />

MAGAZINE CUSTOMER SERVICE<br />

oracle@halldata.com, fax +1.847.763.9638,<br />

phone +1.847.763.9635<br />

RESOURCES<br />

<strong>Oracle</strong> Products +1.800.367.8674 (U.S./Canada)<br />

<strong>Oracle</strong> Services +1.888.283.0591<br />

<strong>Oracle</strong> Press Books www.oraclepress.com<br />

Printed by Brown Printing<br />

PRIVACY<br />

<strong>Oracle</strong> Publishing allows sharing of our mailing list with<br />

selected third parties. If you prefer that your mailing address<br />

or e-mail address not be included in this program,<br />

contact Customer Service at oracle@halldata.com.<br />

Copyright © <strong>2007</strong>, <strong>Oracle</strong>. All Rights Reserved. No part of this publication may<br />

be reprinted or otherwise reproduced without permission from the editors. ORACLE<br />

MAGAZINE IS PROVIDED ON AN “AS IS” BASIS. ORACLE EXPRESSLY DISCLAIMS<br />

ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED. IN NO EVENT SHALL<br />

ORACLE BE LIABLE FOR ANY DAMAGES OF ANY KIND ARISING FROM YOUR USE<br />

OF OR RELIANCE ON ANY INFORMATION PROVIDED HEREIN. The information<br />

is intended to outline our general product direction. It is intended for information<br />

purposes only, and may not be incorporated into any contract. It is not a commitment<br />

to deliver any material, code, or functionality, and should not be relied upon in making<br />

purchasing decisions. The development, release, and timing of any features or<br />

functionality described for <strong>Oracle</strong>’s products remains at the sole discretion of <strong>Oracle</strong>.<br />

<strong>Oracle</strong> is a registered trademark of <strong>Oracle</strong> Corporation and/or its affiliates.<br />

Other names may be trademarks of their respective owners.<br />

HOW DOES YOUR<br />

BUSINESS INTELLIGENCE<br />

STRATEGY MEASURE UP?<br />

If your BI strategy is more anemic than<br />

strategic, then it may be time to take a look<br />

at <strong>Oracle</strong> BI Enterprise Edition (OBI EE). We<br />

can help. Using our training offerings through<br />

BICG University, our custom methodology<br />

designed specifically for OBI EE projects,<br />

and our deeply experienced project<br />

teams, organizations<br />

across the globe are<br />

making the most of their<br />

<strong>Oracle</strong> BI Enterprise Edition<br />

deployments.<br />

With more than 250 OBI EE<br />

projects completed, BI<br />

Consulting Group is <strong>Oracle</strong>’s<br />

largest consulting partner<br />

dedicated exclusively to<br />

<strong>Oracle</strong> BI Enterprise<br />

Edition.<br />

To Learn How We Can Help<br />

Make the Most of Your<br />

Business Intelligence<br />

Strategy, Call us at<br />

651.767.3687 or Visit<br />

www.biconsultinggroup.com<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 9


what if<br />

EVERYTHING WENT 5X FASTER?<br />

Faster Application Delivery. Fast is good. Faster is better. With<br />

Citrix ® NetScaler ® , you can dramatically accelerate performance for external<br />

Web sites and enterprise Web applications by up to 5X. NetScaler also<br />

simplifies security, management and application availability, making it easy<br />

to accelerate your Web application delivery. Download your free Speed Brief<br />

and learn how to increase your Web application performance by up to 5X at<br />

www.citrix.com/simplyfaster3.<br />

© <strong>2007</strong> Citrix Systems, Inc. All rights reserved. Citrix ® and Citrix ® NetScaler ® are trademarks of Citrix Systems, Inc. and/or one or more of its subsidiaries, and may be registered<br />

in the United States Patent and Trademark Office and in other countries. All other trademarks and registered trademarks are property of their respective owners.


PUBLISHING<br />

Publisher<br />

Jeff Spicer<br />

jeff.spicer@oracle.com<br />

ADVERTISING SALES<br />

Associate Publisher<br />

Kyle Walkenhorst<br />

kyle@sprocketmedia.com<br />

+1.323.340.8585<br />

Northwest & Central U.S., Technology<br />

Tom Cometa<br />

thomas.cometa@sbcglobal.net<br />

+1.510.339.2403<br />

Southwest U.S. Technology & Consumer<br />

Shaun Mehr<br />

shaun@sprocketmedia.com<br />

+1.949.923.1660<br />

MidAtlantic U.S., Technology & Consumer<br />

Dawn Becker and Lisa Rinaldo<br />

dbeck71@optonline.net<br />

+1.732.772.0160<br />

Northeast U.S./Canada, Technology & Consumer<br />

Ann and David Schissler<br />

schissler@comcast.net<br />

+1.508.394.4026<br />

Europe/Middle East/Africa/Asia Pacific, Technology<br />

Mark Makinney<br />

mark.makinney@oracle.com<br />

+44 0 1273 774341<br />

Mailing-List Rentals<br />

Edith Roman Associates<br />

+1.800.223.2194, Ext. 684<br />

PRODUCTION & OPERATIONS<br />

Sales and Production Director<br />

Jennifer Hamilton<br />

jennifer.hamilton@oracle.com<br />

+1.650.506.3794<br />

Circulation Manager<br />

Karin Kinnear<br />

karin.kinnear@oracle.com<br />

EDITORIAL BOARD<br />

Ian Abramson, Jeff Bernknopf, Karen Cannell, Andrew Clarke,<br />

Chris Claterbos, Karthika Devi, Kimberly Floss,<br />

Kent Graziano, Taqi Hasan, Tony Jambu, Tony Jedlinski,<br />

Ari Kaplan, Val Kavi, Steve Lemme, Carol McGury,<br />

Sumit Sengupta, Danisment Gazi Unal, Jonathan Vincenzo,<br />

Dan Vlamis, Billy Yu<br />

WHAT’S THE COST OF A<br />

WORLD CLASS BI EDUCATION?<br />

HOW DOES FREE SOUND?<br />

WWW.BICONSULTINGGROUP.COM<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 11


Your corrections, your opinions, and your requests:<br />

Here’s your forum for telling us what’s right and<br />

wrong in each issue of <strong>Oracle</strong> <strong>Magazine</strong>, and for<br />

letting us know what you want to read.<br />

WHERE’S THE CHOICE?<br />

I found the headline of the cover story<br />

of <strong>Oracle</strong> <strong>Magazine</strong>’s May/June issue,<br />

“Develop with Choice,” to be rather<br />

ironic. The article did indeed describe<br />

some choices and options that developers<br />

have, but it did not cover <strong>Oracle</strong><br />

Developer! This is still an excellent<br />

development tool for creating data entry<br />

applications for <strong>Oracle</strong>.<br />

Mark Geerlings<br />

mark.geerlings@gentex.com<br />

LOOKING FOR MY PEER COUSINS<br />

<strong>Oracle</strong> <strong>Magazine</strong> has been of immense<br />

help to me because it keeps me abreast<br />

of what is happening in the world of<br />

<strong>Oracle</strong> Database features, skills, and<br />

so on. I love reading the Peer-to-Peer<br />

column in your magazine, because there<br />

I get to read about my cousins in the<br />

world of <strong>Oracle</strong>. But there are good<br />

<strong>Oracle</strong> programmers and developers<br />

in Africa, and you are not really doing<br />

them justice if you are not coming down<br />

to Africa to have a chat with them and<br />

publishing them in that column.<br />

Anyasor Chigozie D.<br />

TaviaM@mtnnigeria.net<br />

Peer-to-Peer candidates are active <strong>Oracle</strong><br />

community members from all over the<br />

world who distinguish themselves by contributing<br />

to <strong>Oracle</strong> Technology Network,<br />

<strong>Oracle</strong> <strong>Magazine</strong>, <strong>Oracle</strong> discussion<br />

forums, and/or organizations, sites, and<br />

publications that focus on <strong>Oracle</strong> technology.<br />

Recent Peer-to-Peer columns have featured<br />

<strong>Oracle</strong> ACEs (otn.oracle.com/community/<br />

oracle_ace) and <strong>Oracle</strong> Fusion Middleware<br />

Regional Directors (otn.oracle.com/<br />

community/ofm_directors)—recognized<br />

<strong>Oracle</strong> community members and leaders.<br />

All who are interested in appearing in<br />

Peer-to-Peer can send their contact information<br />

as well as links and references to<br />

their <strong>Oracle</strong> community contributions to<br />

opubedit_us@oracle.com.<br />

12 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

from our READERS<br />

NEWBIES SEEK ENLIGHTENMENT<br />

I’m a regular reader of <strong>Oracle</strong> <strong>Magazine</strong>,<br />

and I suggest you include introductory<br />

articles for <strong>Oracle</strong> beginners like me on<br />

topics such as installation and creating<br />

a database.<br />

Oguntuase Busayo Afolabi<br />

Oguntuase@gmail.com<br />

I suggest including more articles for<br />

newbies. I believe that they would<br />

be both more enlightened and more<br />

encouraged if just a page or two could<br />

be dedicated to beginners.<br />

Kehinde Adedipe<br />

kennyadex83plus@yahoo.com<br />

SEARCHING FOR SAMPLES<br />

I am a regular reader of your magazine,<br />

and I have been working with the<br />

sample code you publish. I really appreciate<br />

that content. I request that you also<br />

publish <strong>Oracle</strong> Database installation and<br />

configuration content for new users.<br />

Adeghe I. John<br />

adebor2000@yahoo.com<br />

I am a regular reader of <strong>Oracle</strong> <strong>Magazine</strong><br />

and a SQL programmer, and I must<br />

commend your effort especially on the<br />

SQL scripts and code in the magazine.<br />

I want to make a plea that for <strong>Oracle</strong><br />

learners like me, you include more<br />

<strong>Oracle</strong> code and scripts in the pages of<br />

the magazine.<br />

send mail to the EDITOR<br />

Femi Famejo<br />

hollaffo@yahoo.com<br />

IN NEED OF PRIVACY<br />

I am a regular reader of <strong>Oracle</strong> <strong>Magazine</strong>,<br />

and I would be grateful if you could<br />

please provide more information on<br />

<strong>Oracle</strong> Virtual Private Database and<br />

its features.<br />

Raj Boddu<br />

rajasekharb@gmail.com<br />

NO CHEMISTRY<br />

“Producing Parameterized Pages,” the<br />

Frameworks column in the July/August<br />

issue (otn.oracle.com/oramag/oracle/<br />

07-jul/o47frame.html), deals with an<br />

excellent topic. However, it was hard<br />

to follow because there was not even a<br />

single diagram or snapshot illustrating<br />

the steps. It is a magazine article—not<br />

a formula for a chemical process.<br />

Ammar Sajdi<br />

ammar.sajdi@realsoft-me.com<br />

Send your opinions about what you read in <strong>Oracle</strong><br />

<strong>Magazine</strong>, and suggestions for possible technical<br />

articles, to opubedit_us@oracle.com.<br />

Or click on the Write the Editors link on our Web<br />

site, oracle.com/oraclemagazine.<br />

Letters may be edited for length and clarity and<br />

may be published in any medium. We consider<br />

any communications we receive publishable.


DMExpress is the Faster ETL!<br />

44% Faster<br />

than Informatica<br />

67% Faster<br />

than DataStage<br />

5 hrs<br />

Informatica<br />

2.8 hrs<br />

DMExpress<br />

3 hrs<br />

1 hr<br />

DataStage DMExpress<br />

DMExpress is the high-speed ETL tool designed<br />

to meet the challenges of data warehousing,<br />

BI, and other mission-critical applications. When<br />

processing large amounts of data, DMExpress<br />

can save you many hours, even days. For a free<br />

consult or proof of concept, call (201) 930-8200 or<br />

visit www.syncsort.com/SpeedETL www.syncsort.com<br />

Results are based on specific tests and may vary depending on environment. If you would like to verify DMExpress’s superiority in your current application, please contact us to arrange a free trial.<br />

Syncsort® and DMExpress® are registered trademarks of Syncsort Incorporated. All third-party trademarks are the property of their respective owners.


Innovation Matters<br />

<strong>Oracle</strong> Database 11g reduces risk and speeds change in the enterprise.<br />

aunched in July <strong>2007</strong>, <strong>Oracle</strong> Database 11g continues<br />

the tradition of <strong>Oracle</strong> innovation. In addition to delivering<br />

the secure data management that customers expect<br />

from <strong>Oracle</strong>, <strong>Oracle</strong> Database 11g answers customer<br />

demands for both fast, reliable software that minimizes risk<br />

and a platform to speed innovation. With features designed<br />

to speed the testing, deployment, patching, and upgrading of<br />

enterprise infrastructure; provide more-efficient disk usage and<br />

information lifecycle management; and support more types of<br />

data and larger data volumes with faster data access, <strong>Oracle</strong><br />

Database 11g is committed to making your enterprise innovation<br />

move faster.<br />

This issue of <strong>Oracle</strong> <strong>Magazine</strong> takes a first look at key features<br />

of <strong>Oracle</strong> Database 11g and how they support customer<br />

innovation in the enterprise.<br />

REAL TESTING, REAL LIFECYCLE<br />

Moving to new database releases, moving to new hardware, and<br />

migrating to different operating systems all require extensive<br />

planning and testing. But building and executing truly representative<br />

tests for these moves and migrations has traditionally<br />

been a complex, risk-intensive, and time-consuming process.<br />

In <strong>Oracle</strong> Database 11g, <strong>Oracle</strong> Real Application Testing<br />

reduces risk and makes it faster and easier to test systems,<br />

identify problems, and create solutions before and after database<br />

upgrades and hardware and operating system changes.<br />

<strong>Oracle</strong> Real Application Testing includes the database replay<br />

feature, which lets you capture and replay a true production<br />

workload, and SQL performance analyzer, which identifies SQL<br />

execution plan changes and performances regressions.<br />

Industry estimates indicate that enterprise databases will<br />

triple in size every two years, but new compression features in<br />

DISCUSS <strong>Oracle</strong> Database 11g<br />

forums.oracle.com/forums/category.jspa?categoryID=18<br />

DOWNLOAD <strong>Oracle</strong> Database 11g<br />

otn.oracle.com/database<br />

LISTEN to the <strong>Oracle</strong> Database 11g podcast<br />

otn.oracle.com/syndication/magcasts<br />

READ more about<br />

<strong>Oracle</strong> Database 11g<br />

oracle.com/database<br />

<strong>Oracle</strong> Database 11g: Top features for DBAs and developers<br />

otn.oracle.com/11gdba<br />

14 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

from the EDITOR<br />

<strong>Oracle</strong> Database 11g can help manage that growth. The new<br />

advanced compression option supports compression during<br />

INSERT, UPDATE, and DELETE operations—which can also<br />

speed the performance of subsequent queries, as well as the<br />

compression and deduplication of unstructured data.<br />

Beyond reducing disk space used via compression, today’s<br />

information lifecycle management (ILM) initiatives seek to<br />

store data in the most cost-effective locations, and database<br />

partitioning is an important part of ILM. New partitioning<br />

options in <strong>Oracle</strong> Database 11g include partitioning by parent/<br />

child references, interval partitioning, partitioning by virtual<br />

columns, and more composite partition options. See Arup<br />

Nanda’s “More Partitioning Choices” (page 73) for detailed<br />

how-to information on partitioning in <strong>Oracle</strong> Database 11g.<br />

<strong>Oracle</strong> Database 11g provides storage and access for both<br />

relational and object data, including image, large text object,<br />

XML, DICOM, and geospatial files. New applications require<br />

fast access to a variety of different object data, and <strong>Oracle</strong><br />

SecureFiles in <strong>Oracle</strong> Database 11g provides a new and faster<br />

high-performance architecture for large object (LOB) storage.<br />

<strong>Oracle</strong> SecureFiles also provides compression, transparent<br />

encryption, and transparent deduplication, which reduce the<br />

disk space required and improve the security of LOBs. See<br />

Jonathan Gennick’s “Faster, Safer, and Smaller LOBs” (page 77)<br />

for information on how to use <strong>Oracle</strong> SecureFiles.<br />

CUSTOMER INNOVATION<br />

In “Manage Change with <strong>Oracle</strong> Database 11g” by David<br />

Baum (page 36), several <strong>Oracle</strong> customers talk about the<br />

improvements they expect to achieve by using key <strong>Oracle</strong><br />

Database 11g features, including <strong>Oracle</strong> Real Application<br />

Testing, automatic SQL tuning, automatic memory tuning,<br />

hot patching, and <strong>Oracle</strong> SecureFiles, as well as enhancements<br />

in <strong>Oracle</strong> Real Application Clusters and the automatic database<br />

diagnostic monitor.<br />

<strong>Oracle</strong> <strong>Magazine</strong> columnists Steven Feuerstein, Ari Kaplan,<br />

and Tom Kyte also discuss <strong>Oracle</strong> Database 11g features in this<br />

issue, and in the new Interview column, Rich Schwerin talks<br />

about <strong>Oracle</strong> Database 11g with <strong>Oracle</strong> Senior Vice President<br />

of Server Technologies Andy Mendelsohn. (You can listen to the<br />

complete interview at otn.oracle.com/syndication/magcasts.)<br />

And there’s a lot more <strong>Oracle</strong> Database 11g coverage coming<br />

up fast in future issues of <strong>Oracle</strong> <strong>Magazine</strong>, so stay tuned.<br />

Tom Haunert, Editor in Chief<br />

tom.haunert@oracle.com


ELIJAH MERCHÁN<br />

Gartner Business Process<br />

Management Summit<br />

<strong>September</strong> 17–19, Orlando, Florida<br />

This business process management conference<br />

covers building a business case, best<br />

practices, the role of change management,<br />

metrics and return on investment, modeling<br />

and methods, and business/IT alignment. Sign<br />

up at www.gartner.com/it/page.jsp?id=<br />

501307&tab=overview.<br />

AJAXWorld Conference & Expo<br />

<strong>September</strong> 24–26, Santa Clara, California<br />

Join more than 1,000 developers, architects,<br />

IT managers, and software professionals at<br />

sessions covering offline Ajax, mobile Ajax,<br />

enterprise Ajax, Ajax security, desktop Ajax,<br />

Ajax rich-internet-application GUIs, and more.<br />

View the full agenda at www.ajaxworld.com.<br />

<strong>Oracle</strong> Human Capital<br />

Management Users Group<br />

Conference<br />

<strong>September</strong> 24–27, Las Vegas<br />

Promising to be the largest <strong>Oracle</strong> Human<br />

Capital Management (HCM) Users Group<br />

meeting yet, this conference includes tracks<br />

for both <strong>Oracle</strong> E-Business Suite and <strong>Oracle</strong>’s<br />

PeopleSoft Enterprise users, special interest<br />

group sessions, “Meet the Experts” sessions,<br />

and hands-on labs. Learn more at www<br />

.ohug.org/index.php/general-information.<br />

at <strong>Oracle</strong>EVENTS<br />

Technology Events<br />

Conferences and sessions to help you stay on the cutting edge<br />

Digital ID World<br />

<strong>September</strong> 24–26,<br />

San Francisco<br />

Featuring more than 40 hours of<br />

presentations covering all aspects of identity<br />

solutions—including deployments, identitybased<br />

technologies, standards, business<br />

processes, and Web services security—<br />

Digital ID World attracts thought leaders,<br />

developers, and identity solution providers.<br />

Learn more and sign up at conference<br />

.digitalidworld.com/<strong>2007</strong>.<br />

<strong>Oracle</strong> Business Intelligence,<br />

Warehousing and Analytics<br />

Special Interest Group Summit<br />

<strong>October</strong> 2–3, Reston, Virginia<br />

Designed to accelerate the success of business<br />

intelligence, warehousing, and analytics<br />

users, this first-ever summit provides a forum<br />

for sharing best practices, useful information,<br />

novel and innovative methods, and other<br />

issues. Sign up at www.<strong>Oracle</strong>BIWA.org.<br />

<strong>Oracle</strong> Clinical User Group<br />

12th Annual Conference<br />

<strong>October</strong> 7–10, Atlanta, Georgia<br />

The <strong>Oracle</strong> Clinical User Group (OCUG) is an<br />

international group of users of <strong>Oracle</strong> Clinical<br />

software—a database system for capturing,<br />

storing, and processing clinical trial data—and<br />

related applications. Learn about the group<br />

and register for the conference at www.ocug<br />

.webexone.com.<br />

Society for Information<br />

Management SIMposium 07<br />

<strong>October</strong> 7–10, Memphis, Tennessee<br />

This conference for senior-level IT executives<br />

and academic, business, and government IT<br />

thought leaders offers peer-to-peer exchange,<br />

an enriching learning environment, access to<br />

practitioners at leading companies, and innovations<br />

to leverage your business. Read more<br />

at www.simnet.org.<br />

16 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

ORACLE USER<br />

GROUPS<br />

Quest Midwest Conference<br />

<strong>September</strong> 6–7, Schaumburg, Illinois<br />

www.questdirect.org/questdirect/events<br />

Midwest <strong>Oracle</strong> Users Group<br />

Fall Conference<br />

<strong>September</strong> 7, Chicago<br />

www.moug.org<br />

UKOUG PeopleSoft Financials<br />

SIG Meeting<br />

<strong>September</strong> 11, London<br />

www.ukoug.org<br />

East Tennessee <strong>Oracle</strong> Users<br />

Group Meeting<br />

<strong>September</strong> 17, Oak Ridge, Tennessee<br />

easttennessee.oracle.ioug.org<br />

Australian <strong>Oracle</strong> User Group<br />

Applications Meeting<br />

<strong>September</strong> 19, Sydney, Australia<br />

www.ausoug.org.au<br />

UKOUG JD Edwards EnterpriseOne<br />

SIG Meeting<br />

<strong>September</strong> 20, London<br />

www.ukoug.org<br />

Northeast Ohio <strong>Oracle</strong> Users<br />

Group Meeting<br />

<strong>September</strong> 21, Independence, Ohio<br />

www.neooug.org<br />

Ottawa <strong>Oracle</strong> User Group DBA/<br />

Developer Day<br />

<strong>September</strong> 21, Ottawa, Canada<br />

www.oug-ottawa.org<br />

New York City Metro Area <strong>Oracle</strong><br />

Users Group Meeting<br />

<strong>October</strong> 2, New York City<br />

www.nyoug.org<br />

Australian <strong>Oracle</strong> User Group Meeting<br />

<strong>October</strong> 3, Brisbane, Australia<br />

www.ausoug.org.au<br />

<strong>Oracle</strong> User Group Scotland<br />

Conference <strong>2007</strong><br />

<strong>October</strong> 4, Glasgow, Scotland<br />

www.ukoug.org<br />

Virginia <strong>Oracle</strong> Users Group<br />

Fall Conference<br />

<strong>October</strong> 4–5, Charlottesville, Virginia<br />

www.voug.org<br />

UKOUG App Server SIG Meeting<br />

<strong>October</strong> 10, Midlands, England<br />

www.ukoug.org<br />

eventsLOCATOR<br />

<strong>Oracle</strong> Events<br />

oracle.com/events<br />

Locate user groups<br />

otn.oracle.com/collaboration/user_group


<strong>Oracle</strong> OpenWorld <strong>2007</strong> Special Section<br />

Keynotes<br />

Larry Ellison<br />

CEO<br />

<strong>Oracle</strong><br />

Charles Phillips<br />

President<br />

<strong>Oracle</strong><br />

Chuck Rozwat<br />

Senior Vice President<br />

<strong>Oracle</strong><br />

Hector de J. Ruiz, PhD<br />

Chairman of the Board<br />

and CEO<br />

AMD<br />

Mark Hurd<br />

Chairman of the Board,<br />

CEO, and President<br />

HP<br />

Paul Otellini<br />

President and CEO<br />

Intel<br />

Thomas Kurian<br />

Senior Vice President<br />

<strong>Oracle</strong><br />

John Wookey<br />

Senior Vice President,<br />

Applications Development<br />

<strong>Oracle</strong><br />

Jonathan Schwartz<br />

CEO and President<br />

Sun Microsystems, Inc.<br />

Michael Dell<br />

Chairman of the Board<br />

Dell Inc.<br />

INNOVATION. INSPIRATION. INFORMATION.<br />

November 11–15, <strong>2007</strong> | Moscone Center | San Francisco<br />

<strong>Oracle</strong> OpenWorld <strong>2007</strong>, with more than 1,600 sessions, 500 exhibitions, and<br />

41,000 attendees, promises to be even bigger and more information-packed<br />

than last year’s record-breaking conference. Showcasing the customers and<br />

partners whose innovation with <strong>Oracle</strong> translates to better business results,<br />

<strong>Oracle</strong> OpenWorld <strong>2007</strong> provides technologists and business leaders with the<br />

information—and inspiration—they need to drive innovation throughout their<br />

own companies.<br />

<strong>Oracle</strong> OpenWorld <strong>2007</strong> Highlights<br />

Innovation. Get inspired at Experience Innovation, a new <strong>Oracle</strong> OpenWorld extravaganza<br />

sponsored by Intel that showcases how the innovations of today and tomorrow are changing the<br />

way we live, work, and play.<br />

Inspiration. Hear what industry thought leaders and featured keynote presenters have to say<br />

about the future of technology.<br />

Information. Choose from more than 1,600 technology, applications, and industry-specific<br />

conference sessions. � Learn how <strong>Oracle</strong> uses leading development technologies to innovate<br />

across its product lines at <strong>Oracle</strong> OpenWorld Develop. ��Attend sessions just for <strong>Oracle</strong>’s JD<br />

Edwards customers. ��Gain insight at a special two-day program for <strong>Oracle</strong>’s Hyperion customers.<br />

Connection. Network with your colleagues before, during, and after the event with <strong>Oracle</strong><br />

OpenWorld Connect. ��Celebrate and mingle at the Welcome Reception, OTN Night, and<br />

It’s a Wrap. � Party to the music of Billy Joel and Stevie Nicks with Mick Fleetwood at the<br />

Appreciation Event.<br />

<strong>Oracle</strong> thanks the following sponsors:<br />

MARQUEE<br />

PREMIER GRANDE<br />

INNOVATION<br />

DIAMOND<br />

ELITE PLATINUM<br />

To learn more and to register go to oracle.com/openworld<br />

Preregister for the Early Bird full conference: $1,950 (through Sept. 14th) | Onsite registration: $2,350<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 17


What’s New at <strong>Oracle</strong><br />

The latest Webcasts, courses, and online content<br />

NEW WEBCASTS<br />

Secure Enterprise Search—An A.T. Kearney<br />

Advantage<br />

oracle.com/pls/ebn/live_viewer.main?p_<br />

direct=yes&p_shows_id=5591986<br />

Find out why A.T. Kearney selected <strong>Oracle</strong><br />

Secure Enterprise Search as a core component<br />

and enabling technology within its<br />

knowledge management toolset, which<br />

allows its employees to quickly and securely<br />

search the company’s global knowledge<br />

repositories to rapidly assist clients.<br />

Driving Business Value from IT Investments<br />

oracle.com/pls/ebn/live_viewer.main?p_<br />

direct=yes&p_shows_id=5588788<br />

Sonny Singh, senior vice president, <strong>Oracle</strong>,<br />

discusses the key questions driving IT<br />

decision-making, how you can analyze and<br />

improve the business impact of IT investments,<br />

and what <strong>Oracle</strong> is doing to improve<br />

business results for its customers.<br />

<strong>Oracle</strong> Application Integration Architecture<br />

oracle.com/pls/ebn/live_viewer.main?p_<br />

direct=yes&p_shows_id=5583522<br />

<strong>Oracle</strong> executives Fred Studer, Charles<br />

Phillips, and Jose Lazares discuss <strong>Oracle</strong><br />

Application Integration Architecture and<br />

how it fits into <strong>Oracle</strong>’s overall strategy.<br />

ORACLE UNIVERSITY<br />

<strong>Oracle</strong> Database 11g course offerings<br />

oracle.com/education<br />

(For all courses below, search keyword: 11g)<br />

<strong>Oracle</strong> Database 11g : New Features Overview<br />

This one-day seminar introduces participants<br />

to the key new capabilities of<br />

<strong>Oracle</strong> Database 11g. Topic areas include<br />

new features for managing storage,<br />

ensuring high availability, improving scalability<br />

and performance, strengthening<br />

security, and managing data warehouses.<br />

<strong>Oracle</strong> Database 11g : Change Management<br />

Overview Seminar<br />

This one-day course focuses on <strong>Oracle</strong><br />

Database 11g innovations that enable you to<br />

better manage the database and application<br />

at <strong>Oracle</strong>RESOURCES<br />

upgrade process. Learn about features you<br />

can use to record production workloads, and<br />

then play them back in a test environment.<br />

<strong>Oracle</strong> Database 11g: New Features for<br />

Administrators<br />

This five-day course gives participants<br />

the opportunity to learn about the new<br />

change management features and other<br />

key enhancements in <strong>Oracle</strong> Database<br />

11g. Topic areas include managing change,<br />

diagnosing and recovering from problems,<br />

ensuring high availability, and improving<br />

scalability, performance, and security.<br />

NEW PODCASTS<br />

The New SOA Standards: Web 2.0 in<br />

the Enterprise<br />

oracle.com/techcasts<br />

Vince Casarez, vice president of development<br />

at <strong>Oracle</strong>, explains why many enterprises<br />

are looking to add Web 2.0 services<br />

on top of their existing applications, and<br />

how <strong>Oracle</strong> WebCenter, a key technology<br />

in forthcoming <strong>Oracle</strong> Fusion Applications,<br />

provides infrastructure for that goal.<br />

The Latest Updates to <strong>Oracle</strong>’s<br />

Applications Strategy<br />

oracle.com/appcasts<br />

John Wookey, <strong>Oracle</strong> senior vice president,<br />

applications development, talks about<br />

new releases across all product lines,<br />

the path to <strong>Oracle</strong> Fusion, and what he is<br />

hearing from customers around the world.<br />

The Value of <strong>Oracle</strong>’s Application Integration<br />

Architecture to IT Managers<br />

oracle.com/appcasts<br />

Jose Lazares, vice president of <strong>Oracle</strong>’s<br />

Application Development organization,<br />

talks about <strong>Oracle</strong> Application Integration<br />

Architecture and how it helps provide a<br />

pathway to <strong>Oracle</strong> Fusion Applications.<br />

The Solution to Spiraling Scalability Demands:<br />

Extreme Transaction Processing (XTP)<br />

oracle.com/products/middleware/<br />

ofmradio.html<br />

Steve Harris, vice president of <strong>Oracle</strong><br />

18 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

Java and application server development,<br />

discusses evolving customer requirements<br />

for extreme scalability, reliability, and availability<br />

and how these can be addressed<br />

with an in-memory data grid such as<br />

<strong>Oracle</strong> Coherence.<br />

ORACLE NEWSLETTERS<br />

<strong>Oracle</strong> Database Insider<br />

oracle.com/newsletters<br />

Want to keep up with the latest developments<br />

in <strong>Oracle</strong> Database 11g? Subscribe<br />

to the monthly <strong>Oracle</strong> Database Insider<br />

newsletter and stay on top of enhancements<br />

and new features, articles on business<br />

issues such as identity management<br />

and compliance, interviews with database<br />

gurus, market news, and special offers.<br />

For <strong>Oracle</strong> product information, call the number for<br />

your region:<br />

Country Phone Number<br />

U.S. and Canada.....................................1.800.367.8674<br />

Australia ....................................................1800.735.467<br />

Austria.......................................................0800.29.7626<br />

Belgium........................................................0800.73280<br />

Brazil.........................................................0800.901.985<br />

China.........................................................800.810.0161<br />

Denmark.........................................................8088.1068<br />

Finland ......................................................0800.113.573<br />

France .......................................................0800.905.805<br />

Germany.................................................0800.1.810.111<br />

Greece.................................................00800.353.12020<br />

Hong Kong......................................................3002.1246<br />

India ..........................................................1600.44.6725<br />

Indonesia...........................................001.800.1.672.253<br />

Ireland ........................................................1850.672253<br />

Italy ..............................................................8008.74720<br />

Japan ........................................................0120.155.096<br />

Malaysia....................................................1800.80.1837<br />

Mexico...................................................01800.221.7321<br />

The Netherlands .............................................0800.0827<br />

New Zealand .............................................0508.555.215<br />

Norway...........................................................800.14411<br />

Philippines........................................................811.5831<br />

Portugal.......................................................800.853.021<br />

Singapore................................................1800.6722.531<br />

South Africa...............................................0800.994.225<br />

South Korea...............................................080.2194.114<br />

Spain............................................................900.952900<br />

Sweden ........................................................020.798798<br />

Switzerland................................................0800.55.2574<br />

Taiwan.......................................................0800.672.253<br />

Thailand ..............................................001800.441.0545<br />

Turkey .................................................00800.353.90014<br />

U.K. .........................................................0870.5.332200


at <strong>Oracle</strong>OTN BULLETIN<br />

Crash into <strong>Oracle</strong> Database 11g<br />

New OTN series highlights top features of the new release.<br />

hen a new major database<br />

release hits, the experience<br />

can be overwhelming—like<br />

trying to drink through a fire<br />

hose. Absorbing the typically massive<br />

volume of documentation about new<br />

features and functionality can be a fulltime<br />

job—and a crushing responsibility<br />

for a busy DBA or developer.<br />

When <strong>Oracle</strong> Database 10g was<br />

released, <strong>Oracle</strong> Technology Network<br />

(OTN) partnered with <strong>Oracle</strong> ACE Arup<br />

Nanda, <strong>Oracle</strong> <strong>Magazine</strong>’s DBA of the<br />

Year at that time, to publish a series of<br />

short, actionable how-to’s covering the<br />

best new features in that release from<br />

a grassroots point of view. (Nanda is a<br />

senior DBA with Starwood Hotels.) The<br />

intention was to help readers get up to<br />

speed and proficient with new features<br />

such as Automatic Storage Management,<br />

Automatic Workload Repository, and<br />

<strong>Oracle</strong> Data Pump in a relatively short<br />

amount of time. Millions of readers<br />

did exactly that, and Nanda and OTN<br />

received a lot of recognition across the<br />

community for it.<br />

With the release of <strong>Oracle</strong> Database<br />

11g, we are revisiting that goal. “<strong>Oracle</strong><br />

Database 11g: Top Features for DBAs<br />

and Developers” walks you through<br />

important new functionalities such as<br />

<strong>Oracle</strong> Database 11g Database Replay,<br />

SQL Plan Management, intelligent schema<br />

design, and many partitioning enhancements,<br />

using real-world scenarios as<br />

examples. (According to Nanda, the<br />

Database Replay feature alone—a major<br />

part of the Real Application Testing<br />

functionality in this release—justifies an<br />

upgrade to <strong>Oracle</strong> Database 11g.)<br />

Unlike the previous series, most of<br />

these installments are complemented by<br />

screencasts that demonstrate precisely<br />

how the feature in question is used.<br />

“<strong>Oracle</strong> Database 11g: Top Features<br />

for DBAs and Developers” is a crash<br />

course that no database professional<br />

remotely interested in this release can<br />

afford to miss. Explore the complete<br />

topic list (and subscribe to the RSS feed)<br />

at otn.oracle.com/11gdba.<br />

TO THE ENDS OF THE EARTH<br />

They might be on islands at opposite<br />

ends of the world, but with the help of<br />

community leaders, developers from the<br />

Faroe Islands and Java, Indonesia, are<br />

now in the middle of the OTN landscape.<br />

<strong>Oracle</strong> employee and <strong>Oracle</strong> ACE<br />

Grant Ronald recently headed to the<br />

Faroe Islands, in the frigid waters<br />

between Iceland and Norway, where he<br />

led a hands-on SOA/Java/Forms workshop<br />

for the nation’s entire developer<br />

community (numbering 33 Faroese)—<br />

and set them up with OTN T-shirts<br />

while he was at it.<br />

Meanwhile, on the island of Java<br />

(how appropriate), <strong>Oracle</strong> Fusion<br />

Middleware Regional Director Frans<br />

Thamura has turned his Java User<br />

Group (JUG) Indonesia into one of the<br />

top-50 Java developer communities in<br />

the world. “Right now we’re digging in<br />

and learning more about <strong>Oracle</strong> TopLink<br />

and its features,” he says. “We’re especially<br />

interested in the migration from<br />

JBoss Hibernate to <strong>Oracle</strong> TopLink.”<br />

Follow Thamura’s Java community<br />

inspirations in his blog at www.jroller<br />

.com/page/fthamura.<br />

ORACLE ACES HAVE IT<br />

The <strong>Oracle</strong> ACE program—the formal<br />

network of nonemployee evangelists<br />

sponsored by OTN—has grown by<br />

leaps and bounds since its inception<br />

in 2005, having surpassed the 100member<br />

mark in May <strong>2007</strong>.<br />

This summer, the <strong>Oracle</strong> ACE<br />

program was formally combined with<br />

OTN home<br />

otn.oracle.com<br />

OTN Headlines<br />

otn.oracle.com/pub/news<br />

Free software downloads<br />

otn.oracle.com/software<br />

Documentation<br />

otn.oracle.com/documentation<br />

Technology Centers<br />

otn.oracle.com/tech<br />

Podcasts<br />

otn.oracle.com/techcasts<br />

Technical articles<br />

otn.oracle.com/pub/articles<br />

Blogs<br />

blogs.oracle.com<br />

Discussion forums<br />

forums.oracle.com<br />

BY JUSTIN KESTELYN<br />

the <strong>Oracle</strong> Fusion Middleware Regional<br />

Director program, with members of the<br />

latter becoming <strong>Oracle</strong> ACE Directors.<br />

Consequently, it is now possible for<br />

DBAs, database architects, and database<br />

developers to obtain director status,<br />

joining the 40-plus <strong>Oracle</strong> Fusion<br />

Middleware experts who already are<br />

honored with that distinction.<br />

Learn more about the <strong>Oracle</strong> ACE<br />

program and meet existing ACEs at<br />

otn.oracle.com/community/oracle_ace.<br />

THE BIG EVENTS<br />

Finally, a single online resource is<br />

available for the purpose of tracking<br />

community-oriented events across the<br />

globe. Visit the new Developer Events<br />

Calendar on OTN to explore upcoming<br />

workshops, conferences, and OTN<br />

Installfests as they’re scheduled. Point<br />

your browser to otn.oracle.com/events<br />

for dates and details. �<br />

Justin Kestelyn (justin.kestelyn@oracle.com) is the<br />

editor in chief of <strong>Oracle</strong> Technology Network.<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 19


?<br />

KNOW<br />

?<br />

DID YOU KNOW<br />

LATE IT PROJECTS LINKED TO LOWER<br />

PROFITS, POOR BUSINESS OUTCOMES<br />

A survey of 1,125 IT professionals worldwide<br />

showed a clear link between company<br />

profitability and timeliness of IT projects. In<br />

nearly half of companies surveyed, 25 percent<br />

or more of IT projects were delivered late—<br />

and in 57 percent of companies surveyed,<br />

no more than half of IT initiatives produced<br />

a positive business outcome. But in firms<br />

where 75 percent or more of IT initiatives in<br />

the past three years had a positive business<br />

outcome, improvement in project delivery<br />

speed was considerably higher than average.<br />

A full 62 percent of respondents said their<br />

companies would experience a substantial<br />

increase in profitability from faster delivery<br />

of IT services and projects.<br />

Source: HP and the Economist Intelligence Unit<br />

www.hp.com/hpinfo/newsroom/press/<strong>2007</strong>/070605xa.html<br />

IT COMPLEXITY PROVES RISKY, COSTLY<br />

Each hour of application downtime costs<br />

more than US$300,000, according to<br />

33 percent of respondents to a March<br />

<strong>2007</strong> survey of more than 300 senior IT<br />

professionals at Fortune 1000 companies.<br />

Troubleshooting configuration errors<br />

with application servers, middleware,<br />

and databases can take more than a day,<br />

according to a third of respondents, and most<br />

said that installation and configuration of<br />

core application infrastructure assets is a<br />

“major time sink.”<br />

Source: mValent<br />

www.mvalent.com/downloads/mvalent_survey_results_<br />

<strong>2007</strong>.pdf<br />

ORACLE LEADS DATABASE MARKET<br />

The market for relational database<br />

management systems grew by 14.3 percent<br />

from 2005 to 2006. <strong>Oracle</strong> leads in market<br />

share (measured by revenues), at 44.4<br />

percent, and its 2006 revenues were US$7.3<br />

billion, up 14.7 percent over 2005. Other<br />

database vendors’ market shares were<br />

IBM, 21.2 percent; Microsoft, 18.6 percent;<br />

Sybase, 3.2 percent; Teradata, 2.8 percent;<br />

and all others, 9.9 percent.<br />

Source: <strong>Oracle</strong> and IDC<br />

www.oracle.com/features/hp/oracle-number-onedatabase-idc.html<br />

at <strong>Oracle</strong>BRIEFS<br />

ORACLE BUSINESS INTELLIGENCE STANDARD<br />

EDITION ONE NOW AVAILABLE<br />

Packaged and preconfigured for small<br />

and medium businesses (SMBs)<br />

and work groups, <strong>Oracle</strong> Business<br />

Intelligence Standard Edition One—a<br />

complete, integrated business intelligence<br />

(BI) and data warehousing solution—is<br />

now shipping.<br />

<strong>Oracle</strong> Business Intelligence Standard<br />

Edition One, a component of <strong>Oracle</strong><br />

Fusion Middleware, features all the core<br />

BI capabilities SMBs need, including<br />

interactive dashboards; formatted reporting;<br />

ad hoc query and analysis; extract,<br />

transform, and load (ETL) technology;<br />

and <strong>Oracle</strong> Database 10g Standard<br />

Edition One.<br />

“<strong>Oracle</strong> Business Intelligence<br />

Standard Edition One is the only endto-end<br />

BI and data warehousing solution<br />

that is based on category-leading technology<br />

for every component, offering a<br />

complete and compelling solution at an<br />

attractive price,” says Paul Rodwick, vice<br />

president, <strong>Oracle</strong> Business Intelligence.<br />

“The software offers small and medium<br />

organizations a proper infrastructure<br />

that will serve their immediate BI needs<br />

yet easily scale and grow with their<br />

needs over time.”<br />

<strong>Oracle</strong> Business Intelligence Standard<br />

Edition One offers customers the right<br />

BI foundation to deliver complete, relevant,<br />

and timely information for better<br />

decision-making across the organization.<br />

Developed with business user selfsufficiency<br />

in mind, the product features<br />

business user interfaces that do not<br />

require coding.<br />

ORACLE SIMPLIFIES USER MANAGEMENT IN<br />

ORACLE DATABASE 10g<br />

<strong>Oracle</strong> has integrated the enterprise<br />

user security feature of <strong>Oracle</strong><br />

Database 10g with <strong>Oracle</strong> Virtual<br />

Directory to allow organizations to centrally<br />

manage database user identities<br />

through existing corporate directories.<br />

Centralized database user management<br />

helps address compliance and<br />

insider threat challenges, especially for<br />

organizations with large-scale databases<br />

20 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

and user populations. With enterprise<br />

user security, organizations can now<br />

use virtualization capabilities to manage<br />

database user identities and their highly<br />

privileged roles across diverse identity<br />

stores without having to migrate or<br />

synchronize the data. <strong>Oracle</strong> Database<br />

10g customers can pair <strong>Oracle</strong> Virtual<br />

Directory with enterprise user security<br />

to virtually provision database user<br />

accounts, assign database roles, centrally<br />

manage user authentication and authorization,<br />

and enable self-service features<br />

such as password resets in existing corporate<br />

directories.<br />

“Given heightened security demands,<br />

organizations must implement comprehensive<br />

identity and access strategies<br />

that span database users and the access<br />

rights they typically enjoy,” says Sally<br />

Hudson, research director, security<br />

products and services, IDC. “The integration<br />

of <strong>Oracle</strong> Virtual Directory with<br />

enterprise user security is a timely and<br />

important offering. The increased flexibility<br />

and greater choice helps solve a<br />

critical security need for many <strong>Oracle</strong><br />

Database customers today.”<br />

ORACLE DATABASE LITE 10g RELEASE 3<br />

NOW AVAILABLE<br />

Now shipping, <strong>Oracle</strong> Database Lite 10g<br />

Release 3 is a comprehensive solution<br />

for the rapid development and deployment<br />

of applications for mobile and<br />

embedded environments. It delivers<br />

enhanced synchronization of occasionally<br />

connected devices with <strong>Oracle</strong><br />

Database and support for a broader<br />

range of platforms.<br />

<strong>Oracle</strong> Database Lite 10g is a highly<br />

scalable, mobile solution that enables<br />

applications to run even when disconnected<br />

from the network, while periodically<br />

synchronizing to an <strong>Oracle</strong><br />

Database server. Composed of a mobile<br />

server and a mobile relational database,<br />

<strong>Oracle</strong> Database Lite 10g Release 3 helps<br />

users reliably and securely exchange<br />

data with a corporate database; enables<br />

application, device, and user provisioning;<br />

and provides centralized management<br />

tools. Additionally, the latest


elease includes an automatic synchronization<br />

capability that enables data to<br />

be synchronized bidirectionally without<br />

user intervention.<br />

“The new enhancements in <strong>Oracle</strong><br />

Database Lite 10g reflect <strong>Oracle</strong>’s<br />

dedication to offering mobile users an<br />

identical experience to their connected<br />

colleagues—when it comes to continuous<br />

data availability,” says Rex Wang,<br />

<strong>Oracle</strong>’s vice president of embedded<br />

product marketing.<br />

The client database of <strong>Oracle</strong><br />

Database Lite 10g Release 3 supports<br />

Windows, Windows CE, Windows<br />

Mobile, Linux, and Symbian platforms.<br />

It also supports stored procedures for<br />

C++, C#/.NET, and Java.<br />

SPRING DEVELOPMENT KIT RELEASED<br />

The new <strong>Oracle</strong> Development Kit for<br />

Spring is designed to simplify the<br />

development, deployment, and management<br />

of Spring-based enterprise Java<br />

applications and to address demand<br />

for integration between <strong>Oracle</strong> Fusion<br />

Middleware and the Spring framework.<br />

The <strong>Oracle</strong> Development Kit for<br />

Spring includes Spring Framework 2.0,<br />

the latest version of Spring’s lightweight,<br />

open source application development<br />

framework; <strong>Oracle</strong> JDeveloper Extension<br />

for Spring, which provides wizards and<br />

full editor support for both Spring 1.xand<br />

2.0-style definitions; and <strong>Oracle</strong><br />

Developer Depot, a free, Spring-based<br />

developer productivity tool. It also<br />

includes prepackaged sample applications<br />

and tutorials and transaction<br />

manager integration, which allows<br />

developers to leverage the lightweight<br />

programming model of Spring with the<br />

high-performance transactional capabilities<br />

of <strong>Oracle</strong> Application Server.<br />

“The <strong>Oracle</strong> Development Kit for<br />

Spring is a natural step in our efforts to<br />

simplify enterprise Java development,”<br />

says Steven G. Harris, vice president,<br />

Java Platform Group, <strong>Oracle</strong>. “As more<br />

and more customers use <strong>Oracle</strong>’s Java<br />

development platform in conjunction<br />

with the Spring framework, we see<br />

increasingly innovative results.”<br />

ORACLE’S DEMANTRA 7.1.1 NOW SHIPPING<br />

Now available, Demantra 7.1.1<br />

expands on the industry-leading<br />

demand management functionality that<br />

<strong>Oracle</strong> obtained through the acquisition<br />

of Demantra to deliver better forecasting<br />

and demand management capabilities.<br />

New capabilities include support for<br />

<strong>Oracle</strong> Fusion Middleware, improved<br />

planner productivity, enhancements to<br />

data loading and export, new demand<br />

analysis worksheets, and series and data<br />

security enhancements. This release<br />

also enables companies to model moreprecise<br />

statistical forecasting, analysis,<br />

and collaboration scenarios without<br />

special training or IT support.<br />

Demantra 7.1.1 is now part of the<br />

Advanced Planning solution within<br />

<strong>Oracle</strong> E-Business Suite and <strong>Oracle</strong>’s JD<br />

Edwards EnterpriseOne, which gives<br />

companies the ability to accurately<br />

predict demand, shape profitability for<br />

their products, and proactively manage<br />

complex global supply chains. This<br />

integration reduces setup, configuration,<br />

and ongoing maintenance costs because<br />

Demantra shares the same demand and<br />

master data as the <strong>Oracle</strong> Applications.<br />

“By integrating Demantra into<br />

<strong>Oracle</strong>’s Advanced Planning applications,<br />

we are giving companies the tools<br />

to better predict, shape, and respond to<br />

demand in order to uphold the operational<br />

and strategic goals of their companies,”<br />

says Jon Chorley, <strong>Oracle</strong>’s vice<br />

president of product strategy.<br />

ORACLE BUYS PRODUCT LIFECYCLE<br />

MANAGEMENT LEADER AGILE<br />

<strong>Oracle</strong> has agreed to acquire Agile<br />

Software Corporation, a leading provider<br />

of product lifecycle management<br />

(PLM) software solutions. Agile’s PLM<br />

solutions help engineers, manufacturing<br />

and supply chain professionals, and<br />

business executives drive the product<br />

innovation and introduction process,<br />

share product specifications and configurations,<br />

and collaborate effectively across<br />

the supply chain.<br />

PLM is evolving into an enterprisewide<br />

discipline that spans multiple<br />

product design systems and interacts<br />

with a wide range of enterprise applications.<br />

The combination of Agile and<br />

<strong>Oracle</strong> will create an integrated, enterprisewide<br />

PLM solution.<br />

“Profitable product innovation is critical<br />

to product-based industries, making<br />

PLM one of the fastest-growing application<br />

segments,” says <strong>Oracle</strong> President<br />

Charles Phillips. “The addition of Agile,<br />

which will serve as the foundation of<br />

our PLM offering, will further <strong>Oracle</strong>’s<br />

strategy of delivering industry-specific<br />

enterprise applications and allows us to<br />

offer yet another strategic application to<br />

SAP customers.”<br />

ORACLE INVESTS IN SOPHOI<br />

<strong>Oracle</strong> has made a minority investment<br />

in Sophoi, a privately held<br />

provider of enterprise intellectual property<br />

management software. <strong>Oracle</strong> and<br />

Sophoi will continue to partner to bring<br />

innovative end-to-end solutions to the<br />

media and entertainment industry.<br />

“Customers of Sophoi and <strong>Oracle</strong><br />

can benefit from a comprehensive<br />

suite of mission-critical applications<br />

for the media and entertainment<br />

industry by combining <strong>Oracle</strong>’s integrated<br />

applications suite and Sophoi’s<br />

iPLS [Intellectual Property Licensing<br />

Suite] solution,” says Lars Wahlstrom,<br />

<strong>Oracle</strong>’s group vice president of the<br />

Communications, Media and Utilities<br />

Global Industries Business Unit. �<br />

<strong>Oracle</strong> Business Intelligence<br />

Standard Edition One<br />

oracle.com/appserver/business-intelligence/<br />

standard-edition-one.html<br />

<strong>Oracle</strong> Virtual Directory<br />

oracle.com/goto/virtual-directory<br />

<strong>Oracle</strong> Database Lite 10g Release 3<br />

otn.oracle.com/products/lite<br />

<strong>Oracle</strong> Development Kit for Spring<br />

oracle.com/goto/spring<br />

Demantra<br />

oracle.com/applications/scm/demantra<br />

<strong>Oracle</strong> and Agile<br />

oracle.com/agile<br />

Sophoi<br />

www.sophoi.com<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 21


When businesses want real results in days, not months ...<br />

“It took me twenty minutes to install ImageNow and get it up and running at our Manila office.<br />

And expanding ImageNow is extremely easy.” That’s what Richard Cohen of Teletech says<br />

about ImageNow. And with such a rapid rollout, Teletech realized a 32% cost reduction in<br />

invoice processing in just one year. Talk about maximizing your investment. � The deep<br />

feature functionality of ImageNow provides a direct and effortless connection between you,<br />

your colleagues and the documents you need to simplify daily business activities across<br />

your enterprise. � ImageNow’s patented integration method makes powerful document<br />

management possible from any existing <strong>Oracle</strong> ® business software application — faster,<br />

easier, without programming hassle, without the high price tag.<br />

Results sooner or later? Which will you choose?<br />

ImageNow enterprise document management, imaging and workflow.<br />

they choose ImageNow.<br />

www.imagenow.com/oracle<br />

© <strong>2007</strong> Perceptive Software, Inc. ImageNow is a registered trademark of Perceptive Software, Inc. All other product and company names may be trademarks or registered trademarks of their respective owners. ad_<strong>Oracle</strong>ProfMag_0708


BOB ADLER<br />

at <strong>Oracle</strong>INTERVIEW<br />

Change Assurance<br />

<strong>Oracle</strong> Database 11g helps customers manage change.<br />

ndy Mendelsohn, senior vice<br />

president of Database Server<br />

Technologies at <strong>Oracle</strong>, sat<br />

down with <strong>Oracle</strong> <strong>Magazine</strong> to<br />

talk about new technologies and innovations<br />

in <strong>Oracle</strong> Database 11g. The following<br />

is an excerpt from that interview.<br />

To download a podcast of the full<br />

interview, visit otn.oracle.com/<br />

syndication/magcasts.<br />

<strong>Oracle</strong> <strong>Magazine</strong>: Most organizations<br />

today are faced with a variety<br />

of regulatory compliance issues as<br />

well as security challenges. How<br />

does <strong>Oracle</strong> Database 11g address<br />

these issues?<br />

Mendelsohn: One of our new<br />

enhancements is that we’re<br />

encrypting large objects [LOBs]<br />

transparently in <strong>Oracle</strong> Database<br />

11g. We’re also doing encryption<br />

at the whole tablespace level.<br />

So if you want to just go in and<br />

encrypt everything, we make it<br />

easy to do that.<br />

We also have <strong>Oracle</strong> Audit<br />

Vault, which targets security and<br />

compliance. <strong>Oracle</strong> Audit Vault<br />

consolidates audit trails from different<br />

source databases into a<br />

central data warehouse, which<br />

makes it easier for auditors to<br />

understand the security-relevant<br />

operations in a company.<br />

<strong>Oracle</strong> <strong>Magazine</strong>: Tell us about the flashback<br />

data archive feature for compliance<br />

in <strong>Oracle</strong> Database 11g.<br />

Mendelsohn: Flashback data archive lets<br />

you go back in time indefinitely. With<br />

flashback data archive, you can set up<br />

an archive on any table, and whenever<br />

any updates are made to a table, we<br />

record those updates and we keep the<br />

old versions of every row that’s been<br />

updated. You can run queries as of a<br />

point in time in the past, but now the<br />

point in time can be years in the past,<br />

which can be very useful for things<br />

like auditing.<br />

<strong>Oracle</strong> <strong>Magazine</strong>: By some estimates, the<br />

volume of corporate data is growing<br />

three times larger every two years,<br />

which dramatically increases storage<br />

For Andy Mendelsohn, Senior Vice President of Database Server<br />

Technologies at <strong>Oracle</strong>, the Real Application Testing feature in <strong>Oracle</strong><br />

Database 11g is the most exciting new technology.<br />

costs. How does <strong>Oracle</strong> Database 11g<br />

address this issue?<br />

Mendelsohn: Storage vendors have an<br />

initiative called information lifecycle<br />

management [ILM]. When you have<br />

information that’s really active, you<br />

need the highest-performance storage<br />

out there. But, as the data becomes<br />

more historical in nature, the highperformance<br />

storage isn’t needed. All<br />

the storage vendors now have different<br />

levels of storage, at different price<br />

points. <strong>Oracle</strong> has a technology called<br />

partitioning that has been used mostly<br />

BY RICH SCHWERIN<br />

for managing very large databases,<br />

often in a time-based fashion. It turns<br />

out that partitioning works perfectly<br />

for implementing an ILM strategy. You<br />

can basically have a set of tablespaces<br />

that are defined on different classes of<br />

storage, and then as the data ages out,<br />

you create a set of time-based<br />

partitions for your table. So,<br />

let’s say it’s the order table. As<br />

the orders start aging out, you<br />

just implement partitioning<br />

by time stamp on the order,<br />

and when the orders get more<br />

than a few months old, you<br />

start moving them onto partitions<br />

with lower-cost storage,<br />

and over time even lower-cost<br />

storage, until ultimately you<br />

either drop them or archive<br />

them completely.<br />

<strong>Oracle</strong> <strong>Magazine</strong>: People are<br />

storing all kinds of things<br />

in databases today that they<br />

didn’t used to—documents,<br />

images, multimedia. How does<br />

<strong>Oracle</strong> Database 11g address<br />

this issue?<br />

Mendelsohn: In <strong>Oracle</strong> Database<br />

11g, <strong>Oracle</strong> SecureFiles is a<br />

whole new implementation<br />

of our LOB infrastructure,<br />

and we rearchitected it for really high<br />

performance. The performance of the<br />

<strong>Oracle</strong> Database 11g LOB implementation<br />

for just reading and writing LOBs<br />

in the database is up to five times faster.<br />

<strong>Oracle</strong> SecureFiles actually reads and<br />

writes documents and files in the database<br />

faster than outside the database,<br />

which is a real eye-opener for customers.<br />

And the <strong>Oracle</strong> SecureFiles infrastructure<br />

underlies all of our support for<br />

rich datatypes like spatial, multimedia,<br />

and XML. We are very sensitive to the<br />

amount of storage these documents<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 23


INTERVIEW<br />

“The big new area in <strong>Oracle</strong> Database 11g is our change assurance capabilities, where<br />

we really have spent a lot of time to lower the risk of change.”<br />

consume, and so we have full compression<br />

for <strong>Oracle</strong> SecureFiles, and we also<br />

support deduplication.<br />

<strong>Oracle</strong> <strong>Magazine</strong>: Could you tell us more<br />

about the new compression technology<br />

in <strong>Oracle</strong> Database 11g?<br />

Mendelsohn: In <strong>Oracle</strong> Database 11g,<br />

we’ve improved our algorithms for compression<br />

so they are enabled on every<br />

update to even a single row of a table.<br />

Now you can do compression for any<br />

kind of application workload, not just<br />

the data warehouse. This will make<br />

compression very interesting for people<br />

who want to implement ILM, because as<br />

the data ages out, you want to compress<br />

that data to lower your storage costs<br />

even further.<br />

<strong>Oracle</strong> <strong>Magazine</strong>: How will <strong>Oracle</strong> help<br />

customers migrate to <strong>Oracle</strong> Database<br />

11g and manage this change process?<br />

Mendelsohn: When we talk to customers,<br />

one of their big pain points is migration,<br />

whether they’re migrating to a<br />

new version of the database, a new<br />

version of an operating system, or even<br />

a new version of their own databasebased<br />

internal applications. In <strong>Oracle</strong><br />

Database 11g, we looked at the whole<br />

lifecycle of what customers do when<br />

they do a migration, an upgrade, or<br />

a change of any sort, and we have a<br />

number of technologies to lower the<br />

cost and the risk of change.<br />

First, we’ve enhanced our <strong>Oracle</strong><br />

Data Guard technology to make it really<br />

easy to automate the creation of a test<br />

environment. As you run tests, the data<br />

in the test environment is no longer in<br />

sync with the production environment,<br />

but you can use <strong>Oracle</strong> Data Guard to<br />

resync the test environment with the<br />

latest version of the production environment<br />

in a very clever fashion.<br />

The next things we’ve added are two<br />

major <strong>Oracle</strong> Real Application Testing<br />

features. The first one lets you point at<br />

a production system and say, “I want to<br />

take a real production workload off of<br />

that production system and move it into<br />

my test environment and then run it as<br />

a regression test.” Today, doing something<br />

like this is basically a development<br />

project. With <strong>Oracle</strong> Real Application<br />

Testing, you can just point to a real<br />

system, capture the workload, bring it<br />

over to a test environment, and replay it,<br />

purely within the database tier.<br />

The other [<strong>Oracle</strong> Real Application<br />

Testing] thing we’re doing is that you<br />

can go to a production environment and<br />

just pull off the SQL statements. If you<br />

want to make sure that the performance<br />

of individual SQL statements hasn’t<br />

regressed, you can go to your production<br />

environment, pull off the SQL statements,<br />

bring them over to a test environment,<br />

and then run them against both the old<br />

and the new version of the query optimizer.<br />

So between both of these features,<br />

you can now have a lot more confidence<br />

that when you go live you’re going to get<br />

the quality, robustness, and performance<br />

you need out of the new release.<br />

Another new feature is SQL Plan<br />

Change Control. One of the key things<br />

people really would like to do when<br />

they move to a production environment<br />

is keep the SQL plans unchanged.<br />

So in <strong>Oracle</strong> Database 11g, SQL Plan<br />

Change Control lets you move to a<br />

new production environment. You can<br />

freeze the query execution plans there<br />

and then periodically look at what the<br />

optimizer is recommending as better<br />

plans and move to these new plans in a<br />

controlled fashion.<br />

Finally, with <strong>Oracle</strong> Database 11g,<br />

we’re rolling out a new capability called<br />

hot patching, where you can actually<br />

apply a bug fix to a production system<br />

online without any downtime.<br />

<strong>Oracle</strong> <strong>Magazine</strong>: How would you summarize<br />

the benefits that all these new<br />

technologies deliver?<br />

Mendelsohn: Well, the key goal for all customers<br />

is better quality of service, higher<br />

performance, better scalability, reliability,<br />

24 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

—Andy Mendelsohn, Senior Vice President of Database Server Technologies at <strong>Oracle</strong><br />

and security—at lower costs.<br />

As far as lowering costs, a big focus<br />

for us has been ease of management.<br />

In <strong>Oracle</strong> Database 11g, we continue<br />

strongly pushing in that direction. The<br />

big new area in <strong>Oracle</strong> Database 11g<br />

is our change assurance capabilities,<br />

where we really have spent a lot of<br />

time to lower the risk of change. This is<br />

really the lifeblood of every enterprise:<br />

everybody knows they need to change<br />

to be more competitive, to grow their<br />

business, but there’s this opposite force<br />

that says, “Any change I make is going<br />

to destabilize my IT environment.” It’s<br />

a real problem for customers, and we<br />

think we’ve done a great job in tackling<br />

that problem.<br />

<strong>Oracle</strong> <strong>Magazine</strong>: What is the single<br />

most exciting new technology in <strong>Oracle</strong><br />

Database 11g, from your perspective?<br />

Mendelsohn: What’s always most exciting<br />

is when we move into a new area. The<br />

<strong>Oracle</strong> Real Application Testing feature<br />

is that one for me in <strong>Oracle</strong> Database<br />

11g. It’s a whole new area. Customers<br />

have no good solutions out there today<br />

for dealing with creating test suites<br />

or doing online hot patching of their<br />

systems. It’s an area that’s dying for help<br />

from <strong>Oracle</strong>, and we have unique technologies<br />

that are going to be exciting for<br />

our customers to really lower their risk<br />

of change and help them really innovate<br />

much more freely. �<br />

Rich Schwerin is a product marketing manager<br />

with <strong>Oracle</strong> technology marketing and a regular<br />

contributor to <strong>Oracle</strong> <strong>Magazine</strong>.<br />

LISTEN to the podcast<br />

otn.oracle.com/syndication/magcasts<br />

LEARN more about <strong>Oracle</strong> Database 11g<br />

oracle.com/database<br />

DOWNLOAD <strong>Oracle</strong> Database 11g<br />

otn.oracle.com/database


������������������������������������������<br />

������������������������������������������<br />

���������������������������������������������<br />

������������������������������������������������������������������������������������������<br />

�������������������������������������������������������������������������������������������������<br />

�����������������������������������������������������������������<br />

�����������������������������������������������


ANNE HESLOP<br />

he state of Uttar Pradesh,<br />

in northern India, is a place<br />

of extremes. With 167 million<br />

citizens, the territory is the most<br />

populous of India’s states. Poverty is<br />

endemic, with per capita income among<br />

the lowest of all Indian states. Life<br />

expectancy—which at 58 years is 10<br />

percent lower than the global<br />

average—is on par with the<br />

war-torn African nations of<br />

Sudan and Eritrea.<br />

CARE, one of the world’s<br />

largest humanitarian organizations,<br />

began its operations in<br />

the Asian subcontinent nearly<br />

60 years ago, and while conditions<br />

have improved since<br />

1950—indeed, India hosts<br />

one of the world’s fastestgrowing<br />

economies—the<br />

situation in Uttar Pradesh has<br />

remained difficult. In addition<br />

to poverty and below-average<br />

life expectancy, education is<br />

also a challenge; for example,<br />

only one in four girls can read<br />

in this populous state. CARE<br />

is working there to establish a comprehensive<br />

education improvement campaign<br />

in hopes of improving economic<br />

opportunity, promoting citizenship, and<br />

fostering positive change.<br />

The results are undeniable. Between<br />

1997 and 2004, enrollment rates for girls<br />

in the target regions in Uttar Pradesh<br />

have increased by 40 percent.<br />

“CARE believes that education<br />

plays an important role in our efforts<br />

to achieve our vision of a world where<br />

poverty has been overcome,” says Helene<br />

D. Gayle, president and CEO of CARE.<br />

“Education gives people, especially<br />

women and girls, the skills, knowledge,<br />

and confidence they need to lift themselves<br />

out of poverty.”<br />

communityCOMMITMENT<br />

26 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

BY AARON LAZENBY<br />

SMART Project, Smarter Students<br />

<strong>Oracle</strong> supports CARE’s education initiatives in impoverished Uttar Pradesh.<br />

CARE’s hard work in Uttar Pradesh<br />

earned the organization one of <strong>Oracle</strong>’s<br />

Commitment Grants in 2006. The<br />

US$1 million gift funded education<br />

improvement efforts in the area, specifically<br />

the introduction of high-quality,<br />

proven teaching practices across the<br />

state. Working with a handful of model<br />

An <strong>Oracle</strong> Commitment Grant supports CARE’s efforts to improve education for<br />

impoverished residents of India’s Uttar Pradesh.<br />

schools, CARE hosts a series of teacher<br />

trainings and workshops, student and<br />

curriculum assessments, and community<br />

outreach in an effort to mobilize educators,<br />

students, and parents to take interest<br />

in the quality of local schools. The<br />

stakeholders in these model schools can<br />

then share these lessons and promote the<br />

adoption of best practices in neighboring<br />

schools. Ultimately, the program will train<br />

325 teachers to serve 13,000 students.<br />

The program kicked off with the<br />

Science, Math and Relevant Technology<br />

(SMART) project. Its curriculum focuses<br />

on introducing core skills that can have<br />

an immediate impact on students’ school<br />

performance. CARE works with teachers<br />

to ensure that each student receives<br />

a minimum of one hour of math and<br />

science instruction a day.<br />

Early efforts are already having an<br />

impact. At a school in rural Pilibhit, the<br />

SMART curriculum has already transformed<br />

the education experience of one<br />

girl. Marked as a discipline problem and<br />

a slow learner, the eighth grader was<br />

left to her own devices as teachers<br />

chose to direct their limited<br />

resources toward more-willing<br />

pupils. But a series of competency<br />

tests revealed that her<br />

behavior troubles stemmed from<br />

struggles with basic math skills.<br />

Now in a classroom with students<br />

at the same skill level, she<br />

is a different student. Her math<br />

and language skills have both<br />

improved, and many other children<br />

now see her as an example.<br />

Such a success may seem<br />

like a drop in the bucket of millions<br />

of students, but CARE’s<br />

impact on the project schools<br />

has improved achievement in<br />

core school subjects—paving the<br />

way for better living standards.<br />

And <strong>Oracle</strong>’s partnership with CARE<br />

only promises to expand the good work.<br />

“Because of <strong>Oracle</strong>’s tremendous partnership<br />

with CARE, students will develop a<br />

better understanding of certain academic<br />

concepts using computers and other<br />

important tools, and teachers will have<br />

the necessary tools and instruction to<br />

convey subject matter through appropriate<br />

learning materials,” Gayle says. �<br />

Aaron Lazenby is a director with <strong>Oracle</strong> Publishing.<br />

<strong>Oracle</strong>’s Commitment<br />

oracle.com/commitment<br />

CARE<br />

www.care.org


������������������������������������������<br />

����������������������������������������������<br />

��������������� � ��������������������������������������<br />

�������������������������������������������������������<br />

�����������������������<br />

���������������������<br />

������������������������������������������������������������������������������������������������<br />

�����������������������������������������������������������������������


ook BEAT<br />

<strong>Oracle</strong> Database<br />

11g New Features<br />

By Robert G. Freeman,<br />

with Arup Nanda<br />

<strong>Oracle</strong> Press<br />

www.oraclepress.com<br />

ISBN: 0071496610<br />

Learn how to take advantage of the latest<br />

release of <strong>Oracle</strong> Database with <strong>Oracle</strong><br />

Database 11g New Features. This completely<br />

rewritten guide from the author of <strong>Oracle</strong><br />

Database 10g New Features details the<br />

new features and tools available in <strong>Oracle</strong><br />

Database 11g, including high-availability<br />

features, security measures, and business<br />

intelligence tools. Author Robert Freeman<br />

discusses how to maximize the potential of<br />

these capabilities, making the book an ideal<br />

resource for decision-makers and IT staff<br />

preparing for upgrades or migration.<br />

Freeman is an <strong>Oracle</strong> Certified Professional<br />

and the author of eight other <strong>Oracle</strong> books.<br />

He is an expert in UNIX and <strong>Oracle</strong> Real<br />

Application Clusters and specializes in <strong>Oracle</strong><br />

backup and recovery and performance tuning<br />

for complex databases.<br />

The book includes contributions by Arup<br />

Nanda, a frequent <strong>Oracle</strong> <strong>Magazine</strong> author.<br />

RMAN Recipes for<br />

<strong>Oracle</strong> Database 11g<br />

By Darl Kuhn, Sam<br />

Alapati, and Arup Nanda<br />

Apress<br />

www.apress.com<br />

ISBN: 1590598512<br />

Your database is going down. Some or all of<br />

your database files will be lost or damaged.<br />

Are you ready? Do you know what to do?<br />

It’s often said that the one true job of an<br />

<strong>Oracle</strong> Database DBA is to be able to recover<br />

a database. In RMAN Recipes for <strong>Oracle</strong><br />

Database 11g, authors Darl Kuhn, Sam Alapati,<br />

and Arup Nanda provide a task-oriented<br />

collection of ready-made and example-based<br />

solutions to common (and some not-socommon)<br />

backup and recovery operations.<br />

When the pressure’s on, DBAs don’t have<br />

time for long discussions of theory. They need<br />

solutions, and they need them now. This book<br />

delivers, getting right to the point with quick,<br />

easy-to-read, step-by-step solutions that DBAs<br />

can implement with confidence.<br />

Coauthors Kuhn, Alapati, and Nanda are<br />

all experienced <strong>Oracle</strong> DBAs. Kuhn has more<br />

than 18 years of experience; Alapati has been<br />

working with databases since the 1980s; and<br />

Nanda has been an <strong>Oracle</strong> DBA since 1993.<br />

Look for <strong>Oracle</strong> books at oracle.com/<br />

technology/books/10g_books.html<br />

CISCO SOLUTIONS OPTIMIZE ORACLE<br />

DEPLOYMENTS<br />

<strong>Oracle</strong> Certified Advantage Partner<br />

Cisco Systems has released Cisco<br />

Solutions for <strong>Oracle</strong> Deployments, a set<br />

of three tested, documented, and validated<br />

solutions that together make up<br />

an end-to-end network architecture to<br />

optimize <strong>Oracle</strong> Applications and <strong>Oracle</strong><br />

Fusion Middleware implementations.<br />

Providing elevated application availability,<br />

performance, and security; lower<br />

application complexity and cost; and<br />

reduced deployment risk, these solutions<br />

include best practices and deployment<br />

guidance for WAN optimization,<br />

application and Ethernet switching, firewall<br />

access control, and storage switching<br />

technologies.<br />

Cisco, with the support of <strong>Oracle</strong><br />

product teams, also continues to invest in<br />

testing and documenting of best-in-class<br />

network solutions for new <strong>Oracle</strong> releases<br />

such as <strong>Oracle</strong> SOA Suite and Siebel<br />

Customer Relationship Management<br />

8.0. This commitment will reduce risk<br />

and shorten deployment times for future<br />

<strong>Oracle</strong> customer implementations.<br />

ZEND CORE FOR ORACLE 2.0 RELEASED<br />

Zend Technologies and <strong>Oracle</strong> have<br />

released Zend Core for <strong>Oracle</strong> 2.0,<br />

merging Zend Core’s production-quality<br />

PHP solution with native integration<br />

with <strong>Oracle</strong> Database and PHP support<br />

in <strong>Oracle</strong> Application Server. Zend Core<br />

provides a certified, high-performance<br />

PHP development and production environment<br />

based on best practices in configuring<br />

and tuning PHP. This version<br />

includes PHP 5.2.1, <strong>Oracle</strong>’s new OCI-8<br />

extension, and <strong>Oracle</strong> Instant Client.<br />

Zend Core works with <strong>Oracle</strong>9i<br />

Database and <strong>Oracle</strong> Database 10g and<br />

can be integrated with <strong>Oracle</strong> Database<br />

10g client libraries. It enables interoperability<br />

between PHP and Java (and other<br />

popular technologies) through an <strong>Oracle</strong><br />

JDeveloper PHP extension.<br />

Zend, an <strong>Oracle</strong> partner, supports<br />

Zend Core for <strong>Oracle</strong>, which is certified<br />

by both <strong>Oracle</strong> and Zend. It includes<br />

28 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

communityPARTNER NEWS<br />

support for a variety of operating systems<br />

and Web servers, including <strong>Oracle</strong><br />

Enterprise Linux; Solaris; AIX; Windows;<br />

Macintosh OS X; and many versions of<br />

Apache, Microsoft Internet Information<br />

Server, and <strong>Oracle</strong> HTTP Server.<br />

INGRAM MICRO, TECH DATA EXTEND<br />

ORACLE’S REACH TO SMBS<br />

More than 400 new value-added<br />

resellers (VARs) have joined with<br />

<strong>Oracle</strong> in the last year as a result of<br />

<strong>Oracle</strong>’s distribution agreements with<br />

Ingram Micro and Tech Data. With the<br />

expertise, resources, and broad customer<br />

base of these two IT distributors, <strong>Oracle</strong><br />

has expanded the community of solution<br />

providers offering <strong>Oracle</strong> Database<br />

and <strong>Oracle</strong> Fusion Middleware to small<br />

and medium businesses (SMBs).<br />

<strong>Oracle</strong> has a dedicated team of<br />

specialists available through Ingram<br />

Micro and Tech Data to provide their<br />

reseller channels with technical support<br />

and guidance throughout the SMB sales<br />

cycle. More than 175,000 SMBs currently<br />

use <strong>Oracle</strong>’s technology products.<br />

“Tech Data supports tens of thousands<br />

of resellers nationwide, and we’ve<br />

had tremendous success expanding<br />

<strong>Oracle</strong>’s reach in the SMB market,”<br />

says Stacy Nethercoat, Tech Data’s vice<br />

president of software product marketing.<br />

“Our team of dedicated <strong>Oracle</strong><br />

specialists have recruited many SMB<br />

VARs, helping to expand the <strong>Oracle</strong><br />

PartnerNetwork.”<br />

“Ingram Micro places great focus on<br />

helping the channel provide its customer<br />

base with the most up-to-date solutions<br />

that are designed for the SMB market,”<br />

says Jodi Honore, vice president of<br />

vendor management at Ingram Micro.<br />

“Being able to offer <strong>Oracle</strong> products is<br />

just another step in the right direction to<br />

providing our channel partners with new<br />

ways to generate business opportunities.”<br />

FUJITSU FLEXFRAME FOR ORACLE APPLIES<br />

GRID COMPUTING DYNAMICALLY<br />

Certified Advantage Partner<br />

Fujitsu has announced FlexFrame<br />

O racle


PARTNER SPOTLIGHT Partners Support <strong>Oracle</strong> Information Appliance Initiative<br />

Agrowing number of <strong>Oracle</strong> partners are supporting the<br />

<strong>Oracle</strong> Information Appliance Initiative with optimized<br />

data warehousing solutions built on scalable, balanced,<br />

high-performance hardware platforms. Examples include<br />

the team of Certified Advantage Partners Dell Inc. and<br />

EMC and <strong>Oracle</strong> Partner PANTA Systems. Other <strong>Oracle</strong><br />

partners involved in the Information Appliance Initiative<br />

include HP, IBM, and Sun.<br />

The <strong>Oracle</strong> Information Appliance Initiative has two<br />

levels: <strong>Oracle</strong> Information Appliance Foundations are validated,<br />

balanced designs (software, hardware, storage, I/O,<br />

and networking) for customers who want flexibility and<br />

choice in a data warehousing platform. <strong>Oracle</strong> Information<br />

Appliances are preinstalled and preconfigured data warehouse<br />

products for customers who want simple and quickto-implement<br />

data warehouse solutions. <strong>Oracle</strong> software<br />

is preinstalled on a jointly developed <strong>Oracle</strong> Information<br />

Appliance Foundation.<br />

The new <strong>Oracle</strong> Information Appliance Foundation on<br />

Dell Inc. and EMC is a reference configuration consisting<br />

of a database, server, and storage mix optimized for data<br />

warehouses with 1 terabyte of raw data. The modular components<br />

can be combined to support larger data warehouses<br />

for <strong>Oracle</strong>, the first dynamic infrastructure<br />

solution based on <strong>Oracle</strong> grid<br />

technology for application and database<br />

services. Fujitsu FlexFrame for <strong>Oracle</strong><br />

eliminates the permanent assignment of<br />

<strong>Oracle</strong> services to specific servers, and<br />

instead uses all resources dynamically to<br />

handle workloads.<br />

Under the FlexFrame architecture, all<br />

services software resides on the storage<br />

system and can be assigned to any<br />

server in the infrastructure—even non<br />

local servers—via NetBoot. In addition<br />

to providing flexibility, this approach<br />

simplifies patches, updates, and other<br />

software lifecycle management tasks.<br />

The FlexFrame architecture is based<br />

on an IP network with a cluster of<br />

Fujitsu PRIMERGY servers and flexible,<br />

integrated storage. This architecture<br />

ensures that every <strong>Oracle</strong>-based service<br />

can be run on any server at any time,<br />

so enterprises can consolidate IT landscapes<br />

and provide on-demand availability<br />

of applications and services. Scalable<br />

PRIMERGY blade servers also provide an<br />

attractive software-licensing model.<br />

APPLIMATION AND SIERRA ATLANTIC PROVIDE<br />

ENTERPRISE DATA MANAGEMENT<br />

Sierra Atlantic, a provider of business<br />

process–based integration and<br />

enterprise application optimization,<br />

has teamed with Applimation, a maker<br />

of enterprise data management solutions,<br />

to provide a data management<br />

archiving solution for <strong>Oracle</strong> Process<br />

Manufacturing based on Applimation’s<br />

Informia Archive product. Applimation<br />

will extend Informia Archive’s data<br />

archiving functionality to <strong>Oracle</strong> customers<br />

with Sierra Atlantic acting as its<br />

implementation partner.<br />

The offering is aimed at customers<br />

that have experienced exponential<br />

growth in transaction data. Informia<br />

Archive provides packaged templates<br />

for <strong>Oracle</strong> Process Manufacturing’s key<br />

high-transaction modules and offers<br />

archiving for customizations. Informia<br />

so solutions can scale over time. The new Dell/EMC foundation<br />

consists of dual-processor, dual-core Dell PowerEdge<br />

2950 servers running Linux, two Emulex or QLogic Host<br />

Bus Adapters, Brocade four-gigabyte switches, and one EMC<br />

CLARiiON CX-310 networked storage system.<br />

“The long-standing collaboration amongst EMC, Dell<br />

and <strong>Oracle</strong> enables us to help reduce the risk customers<br />

face in developing a well-designed, scalable data warehouse<br />

solution,” says Chuck Hollis, vice president, Technology<br />

Alliances, EMC. “The <strong>Oracle</strong>-Dell-EMC Information<br />

Appliance Foundation will help joint customers achieve<br />

considerable cost and time savings.”<br />

<strong>Oracle</strong> and PANTA Systems are offering the first preconfigured<br />

data warehouse appliance under the <strong>Oracle</strong><br />

Information Appliances banner: the <strong>Oracle</strong> Information<br />

Appliance on PANTA Systems. This appliance provides<br />

customers with a preconfigured, turnkey grid of industrystandard<br />

Linux servers and storage modules with <strong>Oracle</strong><br />

Database 10g and <strong>Oracle</strong> Real Application Clusters preinstalled<br />

and configured for a real-world data warehouse<br />

environment. Built for data warehouses ranging from 3 to<br />

100 terabytes, the products are built on PANTA’s DM4000<br />

family of appliances.<br />

Archive uses a single engine for online<br />

and long-term data retention of structured<br />

and unstructured data. �<br />

Cisco Systems<br />

www.cisco.com/go/oracle<br />

Zend Core for <strong>Oracle</strong><br />

www.zend.com<br />

Ingram Micro<br />

www.ingrammicro.com<br />

Tech Data<br />

www.techdata.com<br />

Fujitsu<br />

us.fujitsu.com/computers<br />

<strong>Oracle</strong> Information Appliance<br />

Initiative<br />

oracle.com/solutions/business_intelligence/<br />

oiai.html<br />

oracle.com/solutions/business_intelligence/<br />

emc.html<br />

oracle.com/solutions/business_intelligence/<br />

panta.html<br />

Applimation<br />

www.applimation.com<br />

Sierra Atlantic<br />

www.SierraAtlantic.com<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 29


Innovating and Unplugging<br />

Three peers celebrate getting online and occasional escapes.<br />

Lutz Hartmann<br />

How did you get started in IT?<br />

During university, I worked in<br />

Hamburg University’s statistics<br />

department, dealing with large<br />

amounts of data. I was especially<br />

interested in indexing<br />

multilingual data for library<br />

catalogs. When I started studying,<br />

there were two machines<br />

available in our entire department. When I left the university, we<br />

had installed a network, linked three scientific libraries to the<br />

international library network, and installed computing pools.<br />

How did you help bring the university up to speed in terms of its<br />

systems and connectivity? I organized<br />

a get-together with the<br />

department director, the library<br />

staff, and technical staff from the<br />

university’s data center. We discussed<br />

possible options for linking<br />

the department with the Web, and<br />

while there was money available for<br />

the hardware, there were no funds<br />

for the necessary work. I suggested<br />

we coordinate the installation with<br />

volunteers, and it was all done in<br />

two weeks during summer break.<br />

If you were going to the Space Station<br />

for six months and could only take<br />

communityPEER-TO-PEER<br />

peerSPECS<br />

Company: sysdba database<br />

consulting GmbH, a network of<br />

<strong>Oracle</strong> experts<br />

Job title/description: Founder<br />

and owner, offering <strong>Oracle</strong><br />

training and premium consulting<br />

and support services for <strong>Oracle</strong><br />

databases<br />

Location: Near Zurich, Switzerland<br />

<strong>Oracle</strong> credentials: <strong>Oracle</strong><br />

Certified Professional (<strong>Oracle</strong>9i<br />

Database, <strong>Oracle</strong> Database 10g ),<br />

with eight years of experience using<br />

<strong>Oracle</strong> products<br />

<strong>Oracle</strong> ACE<br />

otn.oracle.com/community/<br />

oracle_ace<br />

one <strong>Oracle</strong> reference book, what would it be? K. Gopalakrishnan’s<br />

<strong>Oracle</strong> Database 10g Real Application Clusters Handbook [<strong>Oracle</strong><br />

Press, 2006]—it gives comprehensive insight.<br />

Eric Marcoux<br />

What’s your favorite tool or technique<br />

on the job? Since last year,<br />

my favorite tools have been<br />

<strong>Oracle</strong> JDeveloper and its<br />

<strong>Oracle</strong> Application Development<br />

Framework [<strong>Oracle</strong> ADF], especially<br />

<strong>Oracle</strong> ADF Faces. I can<br />

now build and deliver simple<br />

Web applications more quickly.<br />

What advice do you have about how to get into Web and database<br />

development? My first advice would be to think differently,<br />

because Web development is not the same as client/server<br />

30 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

development. Then, you must<br />

think in tiers, because Web development<br />

involves the separation<br />

of layers—presentation, business,<br />

persistence. By using a component<br />

model approach, it is much easier<br />

to reuse, thus simplifying development<br />

and delivering Web applications<br />

quickly.<br />

Do you have a favorite vacation spot?<br />

Every summer weekend I go to<br />

my favorite campsite with my<br />

family. I have no internet access, no phone, and plenty of time<br />

to spend with my wife and three children.<br />

Daniel Uehara<br />

What big changes in technology<br />

have you witnessed in the course<br />

of your career? It’s amazing how<br />

the Java IDEs have evolved over<br />

time. I remember when I started<br />

programming Java and we had<br />

a few IDEs, most of them just<br />

nice look-and-feel text editors.<br />

Now we have tools like <strong>Oracle</strong><br />

JDeveloper, which basically does everything we need, and for<br />

the things we can’t do we just need to create an extension.<br />

At EDS, we’ve been able to integrate <strong>Oracle</strong> JDeveloper with<br />

some of our standard tools from the project lifecycle to get a<br />

full software engineering environment.<br />

What would you like to see <strong>Oracle</strong>, as a company, do more of?<br />

<strong>Oracle</strong>’s portfolio of products is getting bigger. It would be<br />

helpful if we had a clearer mapping between the products<br />

and types of services we can<br />

develop with them, and a path<br />

of training, tutorials, and documents<br />

that would help us get<br />

ready to apply a product to a<br />

certain service domain.<br />

What’s your favorite thing to do that<br />

doesn’t involve work? Running is<br />

my hobby. It’s when I have the<br />

opportunity to unplug from the<br />

network and relax from the stress<br />

of globalization and being available<br />

on demand. �<br />

BY BLAIR CAMPBELL<br />

peerSPECS<br />

Company: Fujitsu Consulting, a<br />

client-focused IT services provider<br />

Job title/description:<br />

Consultant, specializing as either<br />

an <strong>Oracle</strong> technical architect or a<br />

Java Platform, Enterprise Edition,<br />

technical architect<br />

Location: Quebec City, Canada<br />

Length of time using <strong>Oracle</strong><br />

products: Six years<br />

<strong>Oracle</strong> ACE<br />

otn.oracle.com/community/<br />

oracle_ace<br />

peerSPECS<br />

Company: Electronic Data Systems<br />

(EDS), a provider of business<br />

and technology solutions to help<br />

clients worldwide improve business<br />

performance<br />

Job title/description: Manager<br />

of the EDS Java Center of Expertise,<br />

overseeing a team of 140 Java<br />

developers<br />

Location: São Paulo, Brazil<br />

Length of time using <strong>Oracle</strong><br />

products: Seven years<br />

<strong>Oracle</strong> ACE<br />

otn.oracle.com/community/<br />

oracle_ace


SPECIAL ADVERTISING SECTION<br />

An Ounce<br />

of Prevention<br />

A well-planned, strategic approach to disaster recovery has helped<br />

Dell strengthen its infrastructure—and provided some valuable lessons<br />

about keeping enterprise systems up and running.<br />

Dell IT’s comprehensive<br />

disaster recovery plan<br />

takes into account critical<br />

operations such as the<br />

Enterprise Command Center<br />

above, which provides<br />

vital customer support.<br />

It has become a truism in business that IT is<br />

a strategic asset that is vital to the operation<br />

of companies. A few years ago, however,<br />

Dell decided to take a deeper look at just what<br />

that meant.<br />

To start, executives asked a fairly straightforward<br />

question: What would it cost the business<br />

if the company’s main data center were destroyed?<br />

The Dell IT group determined that it could take as<br />

long as 12 weeks to get things back up and<br />

running, and then worked with business people<br />

to determine what that would mean to areas such<br />

as sales, manufacturing, shipping, and service.<br />

“When you multiplied that impact out across that<br />

time frame, needless to say, the lost-revenue<br />

figure was huge,” says Debi Higdon, Dell’s Global<br />

Disaster Recovery test manager.<br />

With that financial assessment in hand, it was<br />

S1


S2<br />

clear that Dell could benefit from an<br />

enterprise approach to disaster recovery.<br />

But not many companies had implemented<br />

such an approach—disaster<br />

recovery was typically addressed in<br />

a fragmented, tactical manner. “There<br />

just wasn’t a good handbook to go by—<br />

we had to write our own,” says Higdon.<br />

The group did just that, and worked<br />

out a comprehensive plan for using<br />

standards-based technology in a rigorous,<br />

robust approach to protecting<br />

its strategic IT assets.<br />

Plans and priorities<br />

After assessing the financial impact,<br />

the next step was to develop an understanding<br />

of where to focus disaster<br />

recovery initiatives. “We created a risk<br />

profile based on hard data, rather than<br />

guesswork,” says Higdon. To get that<br />

SPECIAL ADVERTISING SECTION<br />

hard data, the IT group gathered input<br />

from a range of sources, including meteorologists<br />

and the company’s insurance<br />

carrier—an especially valuable source<br />

of risk information.<br />

Next, the group conducted a careful<br />

analysis to identify the applications<br />

that would have the greatest impact on<br />

the business in the event of a disaster,<br />

creating three classifications. Class 1<br />

applications are those that need to be<br />

up and running in the event of a disaster<br />

within four hours—generally, things that<br />

affect manufacturing, sales, and service.<br />

Class 2 applications need to be up within<br />

48 hours. And Class 3 applications are<br />

to be back up based on “best effort.”<br />

That classification helped the group<br />

prioritize efforts and allocate investments<br />

appropriately in order to be able<br />

to recover the most crucial systems first.<br />

Disaster Recovery: Rules of the Road<br />

In creating and implementing its enterprise approach to disaster recovery, Dell’s IT group<br />

developed 10 principles designed to help ensure a thorough, focused effort.<br />

1. Articulate the need in financial terms. Doing so provides<br />

a clear business case, helps ensure organizational buy-in,<br />

and provides a guidepost for investing in disaster recovery.<br />

2. Use hard data to create a risk profile. Rather than simply<br />

taking a best guess, work with insurers and other data<br />

sources to determine the true nature of the risk—such as<br />

fire, storms, etc.—for a particular operation.<br />

3. Identify critical resources. Conduct a rigorous analysis to<br />

identify key applications that warrant redundancy, backup,<br />

and recovery attention, and categorize applications to help<br />

prioritize efforts.<br />

4. Think beyond the data center. Factor in essential and relevant<br />

business processes and infrastructure components<br />

across the organization.<br />

5. Eliminate or mitigate single points of failure. Perform a<br />

detailed single-point-of-failure analysis across the entire<br />

infrastructure—including seemingly minor components—to<br />

find areas where redundancy is lacking.<br />

Strengthening the infrastructure<br />

Armed with that understanding, Dell<br />

laid the cornerstone of its disaster<br />

recovery effort—a new 40,000-squarefoot<br />

data center with some 5,000 servers<br />

to provide redundant backup to the<br />

company’s main data center in Austin,<br />

Texas. In both centers, Dell IT professionals<br />

looked at business continuity<br />

across several levels, including the site<br />

as a whole, computing platforms, applications,<br />

and data.<br />

For example, the centers make use<br />

of <strong>Oracle</strong> ® Real Application Clusters<br />

(<strong>Oracle</strong> RAC) technology, running on<br />

Dell PowerEdge servers that have a<br />

number of high-availability features.<br />

With <strong>Oracle</strong>’s clustering technology, if<br />

one system in a cluster fails or is taken<br />

down for maintenance, the others can<br />

pick up its workload instantly. “About<br />

6. Assume that everything is going to fail. Create business<br />

continuity plans based on the idea that every key piece<br />

of internal and external infrastructure may fail or become<br />

unavailable for extended periods.<br />

7. Consider an active-active data center strategy. A distributed<br />

environment that runs across data centers enables<br />

high availability and the use of load balancing as a constant<br />

test of recoverability.<br />

8. Recognize potential vendor weaknesses. Evaluate<br />

vendors’ disaster recovery capabilities, and include vendors<br />

in disaster recovery testing to understand how their policies<br />

and technologies might affect the enterprise.<br />

9. Keep disaster recovery capabilities up to date. Monitor<br />

documentation and establish strong procedures and processes<br />

to make disaster recovery part of everyday activity.<br />

10. Perform tests on a regular basis. Validate failover and<br />

recovery capabilities to make sure things work as planned—<br />

perhaps on a quarterly basis.


“We assume that everything<br />

is going to fail. It might be<br />

systems, a network, phone<br />

lines, roads leading to one<br />

of the data centers. And then<br />

we think about what to do if<br />

those things do fail.”<br />

—Mitchell McGovern, director,<br />

Dell Global Operation Services<br />

72 percent of the <strong>Oracle</strong> databases we<br />

have in production are <strong>Oracle</strong> Database<br />

10g and Real Application Clusters,”<br />

says Logan McLeod, IT strategist for<br />

Dell. “They provide high availability and<br />

scalability, and they enable us to dynamically<br />

respond to ever-changing workloads<br />

in our environment.” The data<br />

centers also use <strong>Oracle</strong> Data Guard<br />

software to manage standby databases,<br />

and <strong>Oracle</strong> Enterprise Manager 10g Grid<br />

Control, which provides a single point of<br />

management for 100 percent of Dell’s<br />

global production databases.<br />

Mitchell McGovern, director of Dell’s<br />

Global Operation Services, says that Dell<br />

paid close attention to rooting out single<br />

points of failure in the infrastructure.<br />

“We did a detailed analysis across the<br />

entire infrastructure, focusing on<br />

ensuring redundancy at all levels—<br />

power, cooling, network, software,<br />

hardware,” says McGovern. “You may<br />

have duplicate networks and systems,<br />

but if the power fails, for example, and<br />

you just have one generator that doesn’t<br />

come on, it’s all for naught.”<br />

The group also found that it needed to<br />

pay close attention to processes as well<br />

as technologies. In particular, they established<br />

detailed change-management<br />

SPECIAL ADVERTISING SECTION<br />

processes to make sure that over time,<br />

patches and upgrades are applied consistently<br />

across the data centers so that<br />

the two remain identical as the infrastructure<br />

evolves. Otherwise, seemingly<br />

minor differences in the two centers<br />

could delay and complicate failover<br />

efforts in an actual emergency.<br />

Maintaining that consistency is<br />

especially important as Dell moves to<br />

an active-active configuration across<br />

the two data centers. With this configuration,<br />

systems operate in a fully<br />

distributed production environment,<br />

with each data center able to handle<br />

75 percent of peak workloads and<br />

100 percent of normal workloads. For<br />

example, Dell’s Quote Management<br />

System runs in both data centers on<br />

two independent <strong>Oracle</strong> Database 10g<br />

RAC clusters, using <strong>Oracle</strong> Streams<br />

technology. If there were a disaster,<br />

failover would be automatic and instantaneous—the<br />

problem would constitute<br />

a loss of capacity, but not of data or<br />

functionality. Thus, if one system handling<br />

quotes becomes unavailable, the<br />

other simply carries on, and customers<br />

continue to get quotes without noticing<br />

any difference except possibly a minor<br />

degradation in response times. That<br />

active-active configuration not only provides<br />

high levels of availability, it also<br />

allows Dell to balance loads across<br />

centers to maintain high performance<br />

levels. What’s more, this load balancing<br />

is essentially testing the failover capabilities—all<br />

the time, as a part of dayto-day<br />

operations.<br />

Dell IT recognized that although the<br />

data centers are critical, they don’t<br />

operate in a vacuum. The group took a<br />

broad look at its infrastructure to identify<br />

where business continuity depended<br />

on applications in other Dell facilities<br />

around the world, and took steps to<br />

apply disaster recovery procedures<br />

in those areas. It also looked outside<br />

corporate boundaries. “We felt that it<br />

is important to look for potential vendor<br />

For high availability, Dell’s data centers rely<br />

on Dell PowerEdge servers running <strong>Oracle</strong><br />

Database 10g with Real Application Clusters.<br />

weaknesses,” says Higdon. “We spend<br />

time testing with our vendors—for<br />

example, we might simulate a disaster<br />

here at Dell and include a couple of<br />

vendors to see how an event here might<br />

affect them. You don’t want to get in a<br />

silo and forget about everything else<br />

that touches your operations.”<br />

McGovern says that the broad<br />

search for weaknesses—internally and<br />

externally—is the result of a guiding<br />

principle adopted by the IT group: “We<br />

assume that everything is going to fail.<br />

It might be systems, a network, phone<br />

lines, roads leading to one of the data<br />

centers. And then we think about what<br />

to do if those things do fail.”<br />

S3


S4<br />

Keeping disaster recovery current<br />

Dell has completed its transformation<br />

of its disaster recovery plans and processes—but<br />

the effort will never be<br />

entirely finished, says McGovern. Technologies,<br />

business needs, and security<br />

threats all continue to evolve, and Dell’s<br />

disaster recovery policies and procedures<br />

are designed to do the same.<br />

For example, when a change is made<br />

to an application, database, or data<br />

center, disaster recovery capabilities<br />

are updated as well. New applications<br />

must be engineered for recoverability.<br />

Dell actively monitors and manages<br />

disaster recovery compliance, and<br />

disaster recovery documentation for<br />

each system has to be updated every<br />

90 days.<br />

The company also maintains a strict<br />

policy that calls for all of its more than<br />

250 Class 1 applications to be tested<br />

at least once a year. “That’s not negotiable—it’s<br />

mandatory,” says Higdon.<br />

Dell has created a disaster recovery<br />

scorecard that lets the company keep<br />

close track of testing and documentation<br />

status. The card is used by the<br />

IT group and the CIO, and is eventually<br />

shared with the corporate audit function<br />

and the audit committee of the board<br />

of directors. “You can see how serious<br />

we are about this,” says Higdon.<br />

The Dell disaster recovery initiative<br />

has put the company in good position to<br />

ensure business continuity—and keep<br />

supporting customers—in the event of<br />

a serious interruption at its data center.<br />

“The goal is to do a complete failover<br />

to the disaster recovery site within four<br />

hours, and we’ve been hitting that mark.<br />

In our last test, we actually failed over<br />

all the applications in scope in less than<br />

an hour,” says Higdon. And as an unexpected<br />

benefit, the company has seen<br />

SPECIAL ADVERTISING SECTION<br />

The Dell and <strong>Oracle</strong> Relationship<br />

its insurance premiums go down,<br />

because its carrier has recognized the<br />

value of Dell’s disaster recovery efforts.<br />

“This initiative shows how costeffective,<br />

standards-based servers can<br />

be used to support a strategic, enterprise<br />

approach to disaster recovery,”<br />

says McGovern. “Just as important,<br />

it has enabled us to build disaster<br />

recovery into our culture. That’s key to<br />

keeping disaster recovery in sync with<br />

the business. In today’s world, disaster<br />

recovery is not a ‘nice to have’—it’s a<br />

‘must have.’ And we’ve been able to<br />

make it a part of everyday life at Dell.”<br />

July <strong>2007</strong>. Printed in the U.S.A. Dell, the DELL logo, and PowerEdge are trademarks of Dell Inc. <strong>Oracle</strong> is a registered<br />

trademark of <strong>Oracle</strong> Corporation. Linux is a registered trademark of Linus Torvalds. Microsoft and Windows Server are registered<br />

trademarks of Microsoft Corporation. Other trademarks and trade names may be used in this document to refer to either<br />

the entities claiming the marks or their products. Dell disclaims any proprietary interest in the marks and names of others.<br />

© <strong>2007</strong> Dell Inc. All rights reserved. Reproduction in any manner whatsoever without the written permission of Dell Inc. is<br />

strictly forbidden. For more information, please contact Dell Inc.<br />

Dell and <strong>Oracle</strong> have a long collaborative relationship based in large part<br />

on the similar long-term visions of both companies. <strong>Oracle</strong>’s Grid Computing<br />

strategy focuses on delivering flexible, reliable database throughput; the dynamic<br />

provisioning of database workloads on grids of industry-standard servers; and<br />

the ability to easily add more capacity to grids. Dell’s Scalable Enterprise vision<br />

complements that strategy with its focus on standardizing the core elements of<br />

IT infrastructure to deliver superior value, and ultimately enabling customers to<br />

simplify operations, improve utilization, and scale effectively.<br />

With those complementary visions in mind, Dell and <strong>Oracle</strong> work together on<br />

a number of fronts. For example, experts from both companies have collaborated<br />

to develop a number of pre-engineered, tested, and validated Intel-based <strong>Oracle</strong><br />

database solutions on Red Hat Linux ® and Microsoft ® Windows Server ® 2003.<br />

Dell and <strong>Oracle</strong> test and support the entire solution stack—servers, storage,<br />

switches, operating systems, and <strong>Oracle</strong> Database software—giving companies<br />

a cost-effective solution to legacy data center technologies. In addition, Dell<br />

Services and <strong>Oracle</strong> Consulting Services work together to provide fixed-fee and<br />

custom services designed to accelerate implementation and help organizations<br />

make the best use of the technology.<br />

The two companies also have a firsthand view of the effectiveness of these<br />

technologies: Both use Dell and <strong>Oracle</strong> platforms in their own operations. <strong>Oracle</strong><br />

develops and tests much of its software on Dell PowerEdge servers and relies<br />

on more than 20,000 Dell Linux servers to power key elements of its Global IT<br />

operations. Similarly, Dell entrusts several mission-critical business systems to<br />

PowerEdge servers running <strong>Oracle</strong> Database 10g—including not only its EMEA<br />

(Europe, Middle East, and Africa) order-management system, but also its North<br />

American supply chain database.<br />

Resources<br />

Dell PowerEdge servers<br />

www.dell.com/PowerEdge<br />

Dell and <strong>Oracle</strong> Database 10g<br />

www.dell.com/oracle10g<br />

<strong>Oracle</strong> and Dell<br />

www.oracle.com/dell<br />

www.dell.com/oracle


New<br />

Database Vault<br />

The only database<br />

that prevents your IT staff<br />

from seeing your data.<br />

Without <strong>Oracle</strong>’s new Database Vault,<br />

your staff can see:<br />

Your financial results<br />

Your customer list<br />

Your employees’ salaries<br />

Only <strong>Oracle</strong> has a Database Vault<br />

oracle.com/security<br />

or call 1.800.ORACLE.1<br />

Copyright © <strong>2007</strong>, <strong>Oracle</strong>. All rights reserved. <strong>Oracle</strong> is a registered trademark of <strong>Oracle</strong> Corporation and/or its affiliates.<br />

Other names may be trademarks of their respective owners.


BY DAVID BAUM<br />

MANAGE CHANGE WITH ORACLE<br />

NEW FEATURES<br />

SPEED INNOVATION<br />

AND TRANSFORM<br />

THE ENTERPRISE.<br />

ith the recent launch of <strong>Oracle</strong> Database 11g, customers<br />

are realizing a broad array of new capabilities in many<br />

areas—grid computing, data security, high availability,<br />

performance and scalability, and manageability. Especially impor-<br />

tant to many are the new features that manage change faster,<br />

thus helping to lower the risk and cost of implementing new<br />

software and other system changes.<br />

“Change is a constant, which means IT depart-<br />

ments are constantly upgrading servers, rolling out<br />

upgrades, applying patches, and resolving problems,” says<br />

Andy Mendelsohn, <strong>Oracle</strong> senior vice president, Database<br />

Server Technologies. “<strong>Oracle</strong> Database 11g helps customers<br />

manage these changes in a controlled manner—minimizing the<br />

risk of new projects and the potential for error.”<br />

36 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

Change assurance capabilities are among <strong>Oracle</strong> Database 11g’s<br />

many new features that customers have had a chance to test-drive.<br />

Since <strong>September</strong> 2006, hundreds of <strong>Oracle</strong> customers have partici-<br />

pated in a comprehensive beta testing program for <strong>Oracle</strong> Database<br />

11g. Their stories are as diverse as the companies they work for, yet<br />

as IDC Research Vice President Carl Olofson points out, a common<br />

chord resonates through them all: a desire to reduce the risk of


DATABASE 11g<br />

RICHARD MERCHÁN<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 37


“With these new capabilities of <strong>Oracle</strong> Database 11g, we can record everything<br />

that happens to the database during a particular period in the real world and<br />

then replay it on a test system to see how it reacts.”<br />

managing data and to enable their organizations to do<br />

more with less.<br />

“Today’s DBAs face challenges on a scale never<br />

before seen in the industry,” says Olofson. “On the one<br />

hand, they’re dealing with exploding databases, both<br />

in numbers and in sizes. And at the same time, they’re<br />

increasingly expected to manage new complex datatypes<br />

that we’ve never seen in the database before.”<br />

One of the problems of coping with all these changes<br />

is the time and effort it has taken in the past to prepare<br />

for and execute them. But new <strong>Oracle</strong> Database 11g capa-<br />

38 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

—Thomas Knauber, Architect<br />

Postbank Systems AG<br />

bilities, such as database replay, which lets customers<br />

simulate production environments, can help.<br />

RISING COMFORT LEVEL<br />

These capabilities appealed to Qualcomm, a telecommunications<br />

equipment manufacturer based in San Diego.<br />

Qualcomm pioneered a digital wireless technology that<br />

works by converting analog information, such as speech,<br />

into digital information, which is then transmitted as a<br />

radio signal over a wireless network. The company now<br />

has 400 mission-critical databases that depend on <strong>Oracle</strong><br />

Thomas Knauber, an architect for Postbank Systems AG, says that <strong>Oracle</strong> Database 11g offers real-world testing, which will be especially valuable when the<br />

company needs to evaluate changes to databases that underlie critical applications.


BOB ADLER<br />

technology. After beta testing the new management<br />

capabilities of <strong>Oracle</strong> Database 11g, Qualcomm DBAs<br />

determined that several features, including database<br />

replay, will make it easier to tune database applications<br />

to improve performance.<br />

“Right now our test environments might not give us<br />

the correct picture of what production will be,” says Shaik<br />

Hidayatullah, staff DBA at Qualcomm. “Database replay<br />

will allow us to be more comprehensive and systematic<br />

and will also give us a more accurate test experience.”<br />

<strong>Oracle</strong> Database 11g continues the effort to simplify<br />

and ultimately fully automate common DBA tasks.<br />

<strong>Oracle</strong> has introduced more self-management utilities,<br />

along with advisors for partitioning, database repair,<br />

streams performance, and space management. Thomas<br />

Knauber, an architect for Postbank Systems AG—the<br />

IT service provider for Deutsche Postbank AG, in<br />

Bonn, Germany—says these enhancements will enable<br />

the DBA team to work smarter and not always be<br />

driven by incidents. “We don’t want to be in a constant<br />

state of reacting to issues,” he says. “Clearly, <strong>Oracle</strong><br />

sees the value in this outlook.”<br />

For example, Knauber looks forward to a new feature<br />

called snapshot standby, which will allow the DBAs to<br />

temporarily convert physical standby databases to snapshot<br />

standby databases for testing and maintenance. In<br />

addition, the database replay facility will allow Postbank<br />

Systems to capture production workloads at the database<br />

level and then play them back on a test system to fully<br />

gauge the impact of changes—including critical concurrency<br />

characteristics. Knauber says this type of realworld<br />

testing will be especially valuable when they need<br />

to evaluate changes to databases that underlie the bank’s<br />

critical applications.<br />

“We have a dedicated test network, but it has always<br />

been difficult to simulate the cash dispenser workload,”<br />

he says. “With these new capabilities of <strong>Oracle</strong> Database<br />

11g, we can record everything that happens to the database<br />

during a particular period in the real world and<br />

then replay it on a test system to see how it reacts.”<br />

WORKING SMARTER<br />

One of the features that appeals to the Qualcomm DBAs<br />

is automatic memory tuning, which enables automatic,<br />

unified tuning of both system global area (SGA) and<br />

program global area (PGA) memory buffers. “Before,<br />

we used to look at each instance manually,” says Justin<br />

Ambrose, another staff DBA at Qualcomm. “Now, we can<br />

set one or two global parameters, and everything will be<br />

adjusted. <strong>Oracle</strong> automatically balances the memory allocated<br />

to each group of nodes, depending on the load.”<br />

Other features that Qualcomm DBAs expect will<br />

help improve database performance are database<br />

replay; automatic SQL tuning, which automatically<br />

chooses the workload and tests, implements, and<br />

retunes SQL profiles; and the SQL tuning set, which is<br />

used to store the SQL workload.<br />

“We can adapt database replay to most of our<br />

databases when we go from test to production,” says<br />

ORACLE DATABASE 11g FEATURES<br />

<strong>Oracle</strong> Database 11g helps companies protect information,<br />

reduce complexity of operations, and adapt to change. Here are<br />

just a few of the innovations and improvements.<br />

<strong>Oracle</strong> Real Application Testing. This new feature in <strong>Oracle</strong><br />

Database 11g makes it easier to test systems before and<br />

after database upgrades and hardware and operating system<br />

changes so you can more quickly identify and fix problems,<br />

thus lowering costs. <strong>Oracle</strong> Real Application Testing includes<br />

��Database replay, which lets you capture production<br />

workloads at the database level and replay them on your test<br />

system—so you can test the impact of system changes, including<br />

critical concurrency characteristics<br />

��SQL performance analyzer, which identifies SQL execution<br />

plan changes and performance regressions<br />

Enhanced partitioning. These capabilities include partitioning<br />

by parent/child references; partitioning by virtual columns;<br />

more composite partitioning choices; and interval partitioning,<br />

which automatically generates new partitions based on intervals,<br />

such as every day or every month.<br />

Advanced compression. <strong>Oracle</strong> Database 11g supports<br />

data compression for update, insert, and delete operations<br />

commonly used in online transaction processing (OLTP) applications.<br />

<strong>Oracle</strong> Database 11g table compression improves database<br />

performance with better use of memory for caching data<br />

and reduced I/O for table scans. With table compression, you<br />

can achieve two- to three-fold compression ratios with minimal<br />

processing overhead.<br />

Flashback data archive. Part of the <strong>Oracle</strong> Total Recall<br />

option, this feature lets you query data in selected tables<br />

“as of” earlier times, which adds a time dimension to your<br />

data for change tracking, information lifecycle management,<br />

auditing, and compliance. Flashback data archive stores<br />

change data automatically to enable fast query access to old<br />

versions of the data.<br />

<strong>Oracle</strong> SecureFiles. This feature lets you store large objects<br />

such as images, large text objects, or advanced datatypes—<br />

including XML, medical imaging, and geospatial raster<br />

objects—inside the database. Performance is comparable to<br />

file systems, and <strong>Oracle</strong> SecureFiles provides advanced functionality<br />

including intelligent compression, transparent encryption,<br />

and transparent deduplication.<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 39


Ambrose. “Additionally, automatic SQL tuning and automatic<br />

memory tuning will reduce the amount of time we spend on<br />

tuning tasks by about 70 percent. The SQL tuning set will<br />

look at the overall picture of all our SQL statements and give<br />

us recommendations.”<br />

Online hot database patching is another feature that<br />

Manage More Data<br />

Manage your ever-growing<br />

database storage needs<br />

more easily with advanced<br />

partitioning and data<br />

compression, and efficiently<br />

manage the lifecycle of<br />

information inside<br />

your database.<br />

“Automatic SQL tuning and automatic memory tuning will reduce the<br />

Innovate Faster with <strong>Oracle</strong> Database 11g<br />

Ensure Security<br />

and Compliance<br />

Keep data secure and ensure<br />

regulatory compliance with<br />

transparent data encryption,<br />

flashback data archive, <strong>Oracle</strong><br />

Database Vault, and <strong>Oracle</strong><br />

Audit Vault.<br />

Maximize Availability<br />

Manage unplanned downtime from<br />

server, storage, or site failure and<br />

human error, perform online patch<br />

updates and rolling upgrades, and<br />

get more performance out of<br />

production systems using new<br />

<strong>Oracle</strong> Data Guard features.<br />

40 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

Qualcomm DBAs are interested in, since it will allow many<br />

database patches to be applied with no downtime in both<br />

<strong>Oracle</strong> Real Application Clusters (<strong>Oracle</strong> RAC) and non–<br />

<strong>Oracle</strong> RAC environments. “Right now we need downtime to<br />

do a patch,” Ambrose says. “That can be eliminated totally<br />

with <strong>Oracle</strong> Database 11g and the online patching facility.”<br />

Manage All Your Information<br />

Consolidate and integrate all your<br />

enterprise information including<br />

binary XML, RFID datatypes, DICOM<br />

medical images, 3-D spatial data, and<br />

other multimedia data into your<br />

business processes.<br />

Make Changes Faster<br />

Change with confidence and<br />

reduce the time it takes to<br />

change your IT systems with<br />

the realistic production<br />

workload testing and diagnosis<br />

capabilities of <strong>Oracle</strong> Real<br />

Application Testing.<br />

Performance and Scalability<br />

Deliver optimal database<br />

performance and scalability with<br />

enhancements and optimizations,<br />

including query result caches, new<br />

<strong>Oracle</strong> SecureFiles LOB storage<br />

architecture, and OLAP cubeorganized<br />

materialized views.


amount of time we spend on tuning tasks by about 70 percent.”<br />

BOB ADLER<br />

Qualcomm’s Hidayatullah<br />

likes <strong>Oracle</strong> Database 11g’s<br />

adaptive threshold capabilities.<br />

Performance monitoring<br />

is established with baselines,<br />

which capture metric value<br />

statistics and are automatically<br />

computed over the system’s<br />

moving window. The baseline<br />

metric statistics are used to<br />

determine alert thresholds,<br />

and companies can use <strong>Oracle</strong><br />

Enterprise Manager to configure<br />

adaptive thresholds for alerts.<br />

Hidayatullah adds that these<br />

settings will enable Qualcomm<br />

to vary the expected performance<br />

levels at certain times<br />

of the day and week. “We can<br />

set the parameters so that the<br />

database automatically senses<br />

the threshold,” he says. “It will<br />

know what the expected load<br />

should be and then adjust the<br />

parameters accordingly.”<br />

Vishu Krishnamurthy, <strong>Oracle</strong>’s<br />

senior director of XML Database,<br />

search, and information management,<br />

believes that these automated<br />

management capabilities<br />

are becoming increasingly important,<br />

particularly as customers<br />

use <strong>Oracle</strong> Database to store both<br />

structured and unstructured data<br />

ranging from office documents<br />

and spreadsheets to medical<br />

images and geographical data. “It makes good economic sense<br />

to store, manipulate, and protect all types of information in<br />

a common repository,” he says. “<strong>Oracle</strong> Database 11g can<br />

manage all information in the enterprise, with robust security<br />

and information lifecycle management (ILM) capabilities.”<br />

DATATYPE CONVERGENCE<br />

Motorola was most enthusiastic about <strong>Oracle</strong> Database 11g’s<br />

enhanced XML capabilities and more-robust support for<br />

unstructured data. The global wireless and broadband communications<br />

provider implemented <strong>Oracle</strong> Database 10g to<br />

—Justin Ambrose, Staff DBA, Qualcomm<br />

Justin Ambrose (left) and Shaik Hidayatulla, staff DBAs at Qualcomm, anticipate that <strong>Oracle</strong> Database 11g’s management<br />

capabilities will save time, give DBAs a better picture of test results, and ultimately, make it easier to tune database<br />

applications to improve performance.<br />

create a large-scale storage system for its Printrak Biometrics<br />

Identification Solution.<br />

According to Aris Prassinos, a database architect for the<br />

biometrics division of Motorola, the company selected <strong>Oracle</strong><br />

for its ability to store large, complex biometric images such<br />

as fingerprints, palm prints, facial and iris images, and signatures<br />

in a secure, highly flexible way. Motorola uses <strong>Oracle</strong><br />

large objects (LOBs) to store these images within the database,<br />

along with <strong>Oracle</strong> XML Database (<strong>Oracle</strong> XML DB) to<br />

store diverse textual data.<br />

Prassinos believes that <strong>Oracle</strong> Database 11g will improve<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 41


“Since the [large objects] have been rearchitected for <strong>Oracle</strong> Database 11g with<br />

<strong>Oracle</strong> SecureFiles, we have seen huge performance improvements.”<br />

performance significantly.<br />

“90 percent of our data is<br />

either images or XML data<br />

stored in LOB format,” he<br />

says. “Since the LOBs have<br />

been rearchitected for <strong>Oracle</strong><br />

Database 11g with <strong>Oracle</strong><br />

SecureFiles, we have seen<br />

huge performance improvements.<br />

For smaller images<br />

such as fingerprints, reading<br />

and writing from the LOBs is<br />

three times faster. For larger<br />

images such as palm prints,<br />

we’ve clocked it at seven<br />

times faster using <strong>Oracle</strong><br />

Database 11g beta software.”<br />

<strong>Oracle</strong> SecureFiles is<br />

<strong>Oracle</strong>’s next-generation offering<br />

for storing LOBs such<br />

as images—as well as large<br />

text objects and advanced<br />

datatypes such as XML,<br />

medical images, and geospatial<br />

raster objects—inside the<br />

database, with performance<br />

comparable to file systems. This<br />

speed and flexibility are essential for Motorola’s demanding<br />

justice and public-safety customers, as well as for<br />

disaster recovery efforts. Prassinos says general manageability<br />

enhancements such as <strong>Oracle</strong> RAC–aware automatic<br />

database diagnostic monitor (ADDM) will improve<br />

reliability and uptime for these customers. “We’re heavy<br />

users of ADDM. With <strong>Oracle</strong> Database 11g we can apply<br />

its performance diagnostic and tuning capabilities across<br />

all the nodes of our <strong>Oracle</strong> RAC clusters,” he says.<br />

Another advancement for Motorola in <strong>Oracle</strong><br />

Database 11g is the way <strong>Oracle</strong> treats XML data as part of<br />

Motorola’s XML Index product. “Everything that <strong>Oracle</strong><br />

supports for SQL we can now do in XML and vice versa,”<br />

Prassinos says. “Binary XML storage and enhanced<br />

XML indexing will give us more options for storing and<br />

retrieving important data.”<br />

ENHANCING THE GRID PARADIGM<br />

One of <strong>Oracle</strong>’s primary objectives with <strong>Oracle</strong> Database<br />

11g is to extend the benefits of grid computing, as cus-<br />

42 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

—Aris Prassinos, Database Architect, Biometrics Division, Motorola<br />

General manageability enhancements such as <strong>Oracle</strong> RAC–aware automatic database diagnostic monitor will<br />

improve reliability and uptime. “With <strong>Oracle</strong> Database 11g we can apply its performance diagnostic and tuning<br />

capabilities across all nodes of our <strong>Oracle</strong> RAC clusters,” says Aris Prassinos, Database Architect for Motorola.<br />

tomers transform data centers from silos of isolated<br />

resources to versatile, shared pools of servers and storage<br />

capacity. <strong>Oracle</strong> Database 11g helps these organizations<br />

take full advantage of infrastructure grids by managing<br />

changes to the database and the surrounding IT infrastructure,<br />

such as when they move their data from one<br />

hardware platform to another.<br />

“We enhanced all the key areas in grid computing,”<br />

says <strong>Oracle</strong>’s Mendelsohn. “We improved automatic<br />

storage management to make software mirroring faster.<br />

We enhanced <strong>Oracle</strong> RAC’s cache fusion protocol. One of<br />

the cool things we did was an enhancement with ADDM.<br />

In <strong>Oracle</strong> Database 11g, ADDM can look for interconnect<br />

issues or global I/O problems when it performs diagnostics<br />

and tuning. That’s a very exciting improvement for<br />

our administrators.”<br />

Fidelity National Information Services welcomes these<br />

enhancements. This leading provider of core financial<br />

institution processing, card issuer, and transaction processing<br />

services specializes in mortgage loan processing<br />

RAFFI ALEXANDER


CHARITY DEMEER<br />

and related information products.<br />

Nearly 50 percent of all U.S. residential<br />

mortgages are processed<br />

using Fidelity software. In 2006,<br />

Fidelity converted an IBM DB2<br />

database to <strong>Oracle</strong> Database 10g<br />

and <strong>Oracle</strong> RAC. Managers valued<br />

<strong>Oracle</strong>’s ability to eliminate single<br />

points of failure and improve<br />

capacity planning. Today, Fidelity<br />

uses the <strong>Oracle</strong> software to store<br />

50 million mortgage title documents<br />

and associated metadata<br />

with a combination of XML data<br />

and PDF files. “We are heavily<br />

vested in <strong>Oracle</strong> as a product and<br />

future direction,” says Fidelity’s<br />

Mike Amble, senior vice president of operations and engineering.<br />

“Our database is a very large component of our<br />

overall operation.”<br />

Amble and his team have been<br />

evaluating <strong>Oracle</strong> Database 11g,<br />

which they plan to deploy later<br />

this year. They are particularly<br />

enthusiastic about the software’s<br />

high-availability capabilities and<br />

flashback data archive, which<br />

provide an easy, practical way to<br />

add a time dimension for change<br />

tracking, auditing, and compliance.<br />

Fidelity has standardized<br />

on an <strong>Oracle</strong> RAC environment,<br />

along with <strong>Oracle</strong> Automatic<br />

Storage Management, <strong>Oracle</strong> Data<br />

Guard, recovery manager, and<br />

flashback technologies. These<br />

systems have been implemented<br />

according to <strong>Oracle</strong> Maximum<br />

Availability Architecture, with<br />

help from <strong>Oracle</strong> Consulting.<br />

“For an operation of our size,<br />

any type of outage translates into<br />

millions of dollars of loss in a<br />

very short period of time,” says<br />

Amble. “We need an environment<br />

that permits instantaneous<br />

backup, anchored by highly<br />

available systems in separate locations.<br />

<strong>Oracle</strong> RAC enables us to<br />

distribute data more effectively<br />

to improve response time, and<br />

<strong>Oracle</strong> Database 11g has many<br />

Mike Amble, Senior Vice President of Operations and<br />

Engineering at Fidelity National Information Services, says<br />

that <strong>Oracle</strong> Database 11g’s new internal encryption will<br />

enable the company to encrypt sensitive data transparently.<br />

SNAPSHOTS<br />

Qualcomm www.cdmatech.com<br />

Location: San Diego, California Industry: High technology<br />

Annual revenue: US$1 billion Employees: 5,000–9,999<br />

<strong>Oracle</strong> products and services: <strong>Oracle</strong> Database,<br />

<strong>Oracle</strong> Real Application Clusters, <strong>Oracle</strong> E-Business<br />

Suite, <strong>Oracle</strong> Enterprise Manager, <strong>Oracle</strong> Fusion<br />

Middleware<br />

Deutsche Postbank AG www.postbank.com<br />

Location: Bonn, Germany Industry: Financial services<br />

Annual revenue: €941 million Employees: 22,000<br />

<strong>Oracle</strong> products and services: <strong>Oracle</strong> Database,<br />

<strong>Oracle</strong> JDeveloper<br />

Motorola www.motorola.com<br />

Location: Schaumburg, Illinois Industry: High technology<br />

Annual revenue: US$42.6 billion Employees: 69,000<br />

<strong>Oracle</strong> products and services: <strong>Oracle</strong> Database,<br />

<strong>Oracle</strong> Real Application Clusters, <strong>Oracle</strong> Data Guard,<br />

<strong>Oracle</strong> XML DB, <strong>Oracle</strong> Automatic Storage Management,<br />

<strong>Oracle</strong> Diagnostic Pack, <strong>Oracle</strong> Tuning Pack<br />

Fidelity National Information Services<br />

www.fidelityinfoservices.com/fnfis<br />

Location: Jacksonville, Florida Industry: Financial services<br />

Financial services US$9.4 billion Employees: 25,000<br />

<strong>Oracle</strong> products and services: <strong>Oracle</strong> Database,<br />

<strong>Oracle</strong> Enterprise Manager Grid Control, <strong>Oracle</strong><br />

Enterprise Manager Performance Pack, <strong>Oracle</strong> Recovery<br />

Manager, <strong>Oracle</strong> Data Guard, <strong>Oracle</strong> Real Application<br />

Clusters, <strong>Oracle</strong> Partitioning, <strong>Oracle</strong> E-Business Suite,<br />

including Human Capital Management and Financials<br />

useful tools that can improve the<br />

structure, layout, and query plan<br />

associated with our databases.”<br />

With millions of mortgage,<br />

title, and escrow documents<br />

stored as LOBs in its database,<br />

Fidelity also favors <strong>Oracle</strong><br />

Database 11g because its <strong>Oracle</strong><br />

SecureFiles feature can manage<br />

structured and unstructured<br />

information in a cohesive way—<br />

securely and with encryption<br />

capabilities. “We have extremely<br />

demanding security issues,”<br />

Amble continues. “We need to<br />

maintain information about bank<br />

accounts, mortgages, credit cards,<br />

and personal data like social security numbers in different<br />

formats. <strong>Oracle</strong>’s new internal encryption mechanism in<br />

11g will enable Fidelity to encrypt sensitive data, including<br />

LOBs, transparently.”<br />

AND SO MUCH MORE . . .<br />

The customers profiled here are<br />

discovering useful enhancements<br />

to <strong>Oracle</strong>’s flagship database<br />

environment, yet Mendelsohn<br />

points out that there are many<br />

more enhancements. “We’ve<br />

enhanced our data warehousing<br />

and business intelligence [BI]<br />

capabilities on several fronts to<br />

improve manageability and make<br />

advanced technologies such<br />

as online analytical processing<br />

[OLAP] and data mining more<br />

accessible to mainstream users,”<br />

he says. <strong>Oracle</strong> OLAP capabilities<br />

are now fully integrated with<br />

the <strong>Oracle</strong> Materialized Views<br />

feature, and OLAP cubes can<br />

be automatically refreshed from<br />

relational data and transparently<br />

accessed using SQL.<br />

“In addition, automatic data<br />

preparation at the SQL/Java API<br />

level, an improved management<br />

console, and more predictive<br />

analytics have made data mining<br />

in <strong>Oracle</strong> Database 11g both<br />

easier to use and more powerful,”<br />

Mendelsohn says. When it<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 43


comes to managing this advanced BI infrastructure, <strong>Oracle</strong><br />

Enterprise Manager is fully “DW [data warehouse] aware,”<br />

as Mendelsohn puts it, and includes data warehouse–specific<br />

screens, parallelism, and partitioning.<br />

MAKING IT ALL SECURE<br />

Vipin Samar, <strong>Oracle</strong>’s vice president of database security<br />

development, points to the comprehensive security and compliance<br />

features and products associated with <strong>Oracle</strong> Database<br />

11g such as the recently introduced <strong>Oracle</strong> Audit Vault,<br />

enhancements to transparent data encryption, and improved<br />

security tools. “While <strong>Oracle</strong> Database Vault protects the<br />

data inside the database from highly privileged users through<br />

custom controls and flexible policies, <strong>Oracle</strong> Audit Vault<br />

helps monitor the enterprise by consolidating audit data from<br />

multiple enterprise databases—<strong>Oracle</strong>9i Database Release<br />

2 and higher—into a centralized secure data warehouse,<br />

enabling auditors to efficiently report, analyze, and raise alerts<br />

on suspicious user activity,” he says.<br />

Data encryption continues to be a top priority for customers<br />

coping with personally identifiable information and privacy<br />

regulations such as Peripheral Component Interconnect, Samar<br />

says. “<strong>Oracle</strong> Database 11g provides significant new enhancements<br />

to transparent data encryption with <strong>Oracle</strong> SecureFiles<br />

(LOB encryption) and tablespace encryption, making it easier<br />

to encrypt an entire application’s data or sensitive objects,”<br />

�����������������<br />

���������<br />

�������������������������<br />

�<br />

�����������������<br />

����������������������<br />

������������������<br />

��������������������<br />

�����������������������������������<br />

����������������������������<br />

����������� �����������<br />

44 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

he says. <strong>Oracle</strong> Database 11g also includes new management<br />

interfaces in <strong>Oracle</strong> Enterprise Manager for encryption, <strong>Oracle</strong><br />

Label Security, and enterprise user security. Other security<br />

enhancements include case-sensitive passwords, default profile<br />

password settings, and default audit settings.<br />

Mendelsohn says that the release of <strong>Oracle</strong> Database 11g<br />

this year is apropos, because <strong>Oracle</strong> is celebrating its 30th<br />

anniversary as one of the world’s leading technology providers.<br />

“It’s a time for celebration,” he says, “and it’s great to have such<br />

enthusiastic customers on board for the occasion.” �<br />

David Baum (david@dbaumcomm.com) is a freelance business writer based in<br />

Santa Barbara, California.<br />

READ about <strong>Oracle</strong> Database<br />

oracle.com/database<br />

DOWNLOAD <strong>Oracle</strong> Database<br />

otn.oracle.com/database<br />

DISCUSS <strong>Oracle</strong> Database<br />

forums.oracle.com/forums/category.jspa?categoryID=18<br />

DISCOVER <strong>Oracle</strong> Database documentation<br />

otn.oracle.com/documentation<br />

EXPLORE <strong>Oracle</strong> Database tutorials<br />

otn.oracle.com/obe<br />

�����������������<br />

�����������������<br />

��<br />

����������������<br />

�<br />

�����<br />

��������������������� ��


ORACLE DATABASE 11g<br />

Special Advertising Section<br />

Partner<br />

Guide<br />

Partners Are Lining Up to Help Customers Meet<br />

Change with Confi dence<br />

THE FOLLOWING SECTION HIGHLIGHTS<br />

key hardware, storage, and service partners<br />

who are ready to help <strong>Oracle</strong> customers<br />

manage change while reducing risk, lowering<br />

cost, and improving performance.<br />

PARTNER INDEX<br />

HP .............................................................46<br />

Fujitsu Siemens Computers .......................47<br />

Pillar Data Systems ...................................48<br />

The Pythian Group ....................................49<br />

Quest Software .........................................50<br />

TUSC .........................................................50<br />

NetApp ......................................................51<br />

Autodesk ...................................................52<br />

AMD ..........................................................52


The speed and unpredictability of business cycles<br />

have pushed the limits of information technology (IT)<br />

infrastructures at many enterprises. Organizations need to<br />

become more adaptable, but often their information systems<br />

are slow to respond. At the same time, these enterprises<br />

want to gain greater efficiency and effectiveness from their<br />

IT systems, lower the cost of computing, and optimize their<br />

business outcomes.<br />

HP has a tradition of helping customers profit from new IT<br />

innovations. As enterprises all over the world discover that<br />

they need new levels of availability and integration—in real<br />

time—they are turning to HP. HP Integrity, HP ProLiant, and<br />

HP BladeSystem servers offer the highest levels of service<br />

of any platform in their class. HP storage systems scale to<br />

meet the most demanding customer workloads. HP software<br />

provides a leading management platform for the data center,<br />

plus tools such as HP LoadRunner and Quality Center<br />

software, to help customers optimize their environments. In<br />

other words, HP provides all of the components of an agile,<br />

high-performance, highly available data center, thus helping<br />

customers achieve better business outcomes.<br />

HP also has a long history of working with <strong>Oracle</strong>. And<br />

<strong>Oracle</strong> Database 11g will be an integral part of HP’s customer<br />

solutions.<br />

“<strong>Oracle</strong> Database 11g, with its low-cost maximum availability<br />

architecture, combined with HP’s software, servers,<br />

and storage, provides an opportunity for customers to take<br />

advantage of this next level of IT innovation and, in turn, achieve<br />

better business outcomes,” says Ron Eller, vice president and<br />

general manager, enterprise solution alliances, at HP.<br />

A TOTAL SOLUTION<br />

HP and <strong>Oracle</strong> share more than 100,000 customers, from<br />

small and medium businesses to large enterprises. The<br />

breadth and depth of this joint solution stack—including HP/<br />

<strong>Oracle</strong> reference architectures, applications, and operating<br />

systems—allow these two partners to provide customers<br />

Special Advertising Section<br />

HP<br />

HP and <strong>Oracle</strong>: Improving Business Outcomes<br />

FOR MORE INFORMATION VISIT | www.hp.com/go/oracle<br />

with a total solution. “For customers who want to optimize<br />

their business outcomes, HP and <strong>Oracle</strong> together offer the<br />

products, services, and experience to accelerate business<br />

growth, mitigate risks, and lower costs, providing a solid<br />

return on IT investments,” explains Eller.<br />

The companies have invested heavily in their joint<br />

solutions. In fact, HP and <strong>Oracle</strong> manage 13 competency<br />

centers across the globe that provide proofs of concept;<br />

design, configuration, and benchmarking assistance; thought<br />

leadership; and training.<br />

HP has been involved in the <strong>Oracle</strong> Database 11g beta<br />

program for more than a year. As an <strong>Oracle</strong> database<br />

customer, HP gained insight into how the new release would<br />

help the company improve its business. At the same time, as<br />

an <strong>Oracle</strong> partner participating in the beta program, HP lent<br />

its perspective and expertise to <strong>Oracle</strong>’s development team<br />

to make the new database release even better.<br />

For example, HP worked with <strong>Oracle</strong> to incorporate HP’s<br />

industry-leading network-attached storage solution directly<br />

into the <strong>Oracle</strong> Direct network file system (<strong>Oracle</strong> Direct<br />

NFS) The result? With <strong>Oracle</strong> Database 11g, customers<br />

can realize scalable and available I/O performance on<br />

network-attached storage that was not previously possible.<br />

In addition, this combination of <strong>Oracle</strong> and HP technology<br />

can leverage existing storage area networks, providing<br />

customers with investment protection while allowing<br />

flexibility for growth with mitigated risk.<br />

“We’re excited that <strong>Oracle</strong> has developed its [<strong>Oracle</strong>]<br />

Direct NFS feature in <strong>Oracle</strong> Database 11g on HP Storage<br />

products so that customers can choose simple, inexpensive<br />

storage connectivity and provisioning for grid deployment,”<br />

says Eller. “It’s just another example of the way <strong>Oracle</strong><br />

and HP work together to provide customers with better<br />

overall answers.”<br />

HP and <strong>Oracle</strong> share a common goal of improving their<br />

customers’ business outcomes through IT. Because IT isn’t a<br />

separate piece of the business—IT helps drive the business.


“<br />

It’s a fact that no one vendor offers the whole picture, so<br />

partnerships are vital,” says Dr. Bernd Kosch, vice president<br />

of strategic alliances within Fujitsu Siemens Computers. “The<br />

key is that both companies bring unique contributions to a<br />

strategic partnership, giving joint customers a leading edge<br />

and business advantage.”<br />

It is precisely these types of strategic partnerships that<br />

fuel growth and innovation. It’s also one of the many drivers<br />

behind why <strong>Oracle</strong> has had a strategic global partnership with<br />

the Fujitsu Group for decades —including Fujitsu Limited and<br />

Fujitsu Siemens Computers.<br />

<strong>Oracle</strong> technology is a key component in the Fujitsu<br />

Group’s range of servers running Linux, Windows, and Solaris<br />

operating environments on both Intel and SPARC platforms.<br />

The Fujitsu Group meets the needs of the world’s largest<br />

and most-progressive users of information technology by<br />

providing enterprise and e-business open systems server<br />

and storage solutions. In fact, Fujitsu Siemens Computers<br />

is the only company that supports three out of five strategic<br />

platforms—Linux, Windows, and Solaris running on UNIX/<br />

SPARC–based PRIMEPOWER, PRIMEQUEST, and Intel-based<br />

PRIMERGY servers.<br />

A SYMBIOTIC RELATIONSHIP<br />

<strong>Oracle</strong> recently named the Fujitsu Group a Global Alliance<br />

Partner and assigned a dedicated Global Alliance Manager<br />

in Europe who reports directly to <strong>Oracle</strong>’s headquarters<br />

in Redwood Shores. “We are now able to draw on direct<br />

support from <strong>Oracle</strong>’s headquarters, which clearly improves<br />

the planning and implementation of joint activities,” Kosch<br />

explains. Within the <strong>Oracle</strong> PartnerNetwork, Fujitsu Siemens<br />

Computers is an <strong>Oracle</strong> Certified Advantage Partner.<br />

“Together with <strong>Oracle</strong> we can guarantee our customers<br />

enhanced application performance, unlimited scalability,<br />

fault tolerance, optimum security, and increased value from<br />

products and services that are fully integrated and compatible<br />

with our technology,” says Kosch.<br />

Special Advertising Section<br />

FUJITSU SIEMENS COMPUTERS<br />

<strong>Oracle</strong> and Fujitsu Siemens Computers<br />

<strong>Oracle</strong> Database 11g will deliver the highest level of<br />

manageability, availability, performance, and security for customers.<br />

In the jointly run Center of Excellence at the <strong>Oracle</strong><br />

facility in Munich, Germany, Fujitsu Siemens Computers and<br />

<strong>Oracle</strong> will evaluate and test <strong>Oracle</strong> Database 11g with Fujitsu<br />

Siemens Computers’s infrastructure solutions and storage<br />

systems. Fujitsu Siemens Computers also plans to integrate<br />

<strong>Oracle</strong> Database 11g as soon as possible into its own product<br />

and solution portfolio, and to promote its benefits to customers<br />

and partners via the joint <strong>Oracle</strong>/Fujitsu Siemens Computers<br />

ISV Migration Centers in Europe.<br />

CHECKS AND BALANCES<br />

Ongoing performance testing and analysis will ensure that<br />

<strong>Oracle</strong> and Fujitsu Siemens Computers deliver on the top<br />

performance-improvement features, including faster and<br />

more-reliable direct connections to network file system storage<br />

devices, faster upgrades, faster backup/restore for large files,<br />

faster backup compression, and new security features, such<br />

as improved transparent data encryption to support tablespace<br />

encryption and tighter integration with hardware security<br />

modules for high-assurance masterkey protection. Also in the<br />

works is increased password security with support for casesensitive,<br />

multibyte passwords, plus strong password-hashing<br />

algorithms such as Secure Hash Algorithm (SHA-1) and salt.<br />

Additional features include secure-by-default configuration<br />

settings supporting password policies and audit options,<br />

and strong authentication support for database system<br />

administrator and database system operator connections.<br />

Kosch anticipates great things to come. “Fujitsu and<br />

Fujitsu Siemens Computers are strategic to <strong>Oracle</strong>,” he<br />

says. “We see significant sales opportunities for <strong>Oracle</strong>’s<br />

technology solutions running on Fujitsu Siemens Computers<br />

platforms in general, including PRIMERGY, PRIMEPOWER,<br />

PRIMEQUEST, and BS2000, as well as especially the<br />

FlexFrame for <strong>Oracle</strong> solution. We look forward to growing<br />

our sales efforts to capitalize on this opportunity.”<br />

FOR MORE INFORMATION VISIT | www.fujitsu-siemens.com/solutions/strategic_partners/oracle/index.html


When it comes to business data, there’s no such thing<br />

as too much of a good thing. There is, however, the<br />

ongoing challenge of effectively managing and storing<br />

all that data. And that’s where Pillar Data Systems and<br />

<strong>Oracle</strong> come in.<br />

Pillar provides <strong>Oracle</strong> Database customers with end-toend<br />

solutions for cost-effective data storage. From validating<br />

specific hardware and software configurations to providing<br />

customers with tools for managing and consolidating multiple<br />

storage tiers on a single platform, Pillar’s goal is to help<br />

customers maximize data center performance while lowering<br />

infrastructure costs.<br />

In addition to providing <strong>Oracle</strong> Database 11g customers<br />

with higher levels of efficiency, automation, and quality of<br />

service, Pillar addresses the growing customer concern of<br />

resources: power and physical space. In fact, Gartner predicts<br />

that 50 percent of data centers will not have sufficient power<br />

or cooling capacity by 2008 to keep up with current demands<br />

for high-density computing.<br />

GET CONFIDENT WITH VALIDATED CONFIGURATIONS<br />

Pillar’s <strong>Oracle</strong> Validated Configurations will certify<br />

architectures based on <strong>Oracle</strong> Database 11g to ensure<br />

that servers, operating systems, and storage network<br />

connectivity components all work together seamlessly,<br />

according to Mike Workman, Pillar’s CEO. <strong>Oracle</strong> Validated<br />

Configurations also include documented best practices for<br />

standardization and deployment—saving time and expense<br />

and improving overall quality of service (QoS). “The result is<br />

true IT automation and higher efficiency,” says Workman.<br />

Pillar’s commitment to publishing new validated configurations<br />

for <strong>Oracle</strong> Database 11g running on <strong>Oracle</strong> Enterprise<br />

Linux will provide confidence to customers looking to expedite<br />

early adoption of our joint technologies.<br />

“We see [<strong>Oracle</strong>] Database 11g as a natural progression<br />

in providing our joint customers with the right solutions<br />

for their needs,” says Paul Veilleux, Pillar’s executive<br />

Special Advertising Section<br />

PILLAR DATA SYSTEMS<br />

Making Room for Automation<br />

FOR MORE INFORMATION VISIT | www.pillardata.com<br />

director, global alliances. “Customers who migrate to<br />

<strong>Oracle</strong> Database 11g on Pillar will experience a new era in<br />

automation.”<br />

CONSOLIDATE ON PILLAR FOR MAXIMUM EFFICIENCY<br />

Pillar is working with <strong>Oracle</strong> to provide adapters for <strong>Oracle</strong><br />

Enterprise Manager so that database administrators can<br />

manage storage based on <strong>Oracle</strong> Database 11g from a single<br />

console. Database administrators can also establish qualityof-service<br />

levels by using a policy-driven framework for<br />

automating storage requirements.<br />

“There is a major shift in the way database administrators<br />

and IT professionals view storage today,” says Pillar’s<br />

Veilleux. “Space is at a premium and power requirements are<br />

becoming an important issue. Companies can avoid significant<br />

costs by purchasing a Pillar solution that consolidates SAN<br />

[storage-area network] and NAS [network-attached storage]<br />

systems onto a single platform and scales out to grow with<br />

your database applications.”<br />

By consolidating multiple tiers of storage, customers<br />

can achieve more than twice the efficiency for each IOPS<br />

performed per watt consumed, he says. Pillar is also a member<br />

of the Green Grid, a consortium of information technology<br />

companies and professionals seeking to improve energy<br />

efficiency in data centers around the globe.<br />

MORE ABOUT PILLAR<br />

Pillar Data Systems takes a sensible, customer-centric<br />

approach to networked storage. We started with a simple<br />

yet powerful idea: Build a successful storage company<br />

by creating value that others had promised, but never<br />

produced. At Pillar, we’re on a mission to deliver the most<br />

cost-effective, highly available networked storage solutions<br />

on the market. We build reliable, flexible solutions that, for<br />

the first time, seamlessly unite SAN with NAS and enable<br />

multiple tiers of storage on a single platform. In the end, we<br />

created an entirely new class of storage.


“<br />

We’ve seen features in <strong>Oracle</strong> Database 11g that<br />

are so compelling that many companies are going<br />

to want to adopt them sooner rather than later,” says Paul<br />

Vallee, president of the Pythian Group. “And when they do,<br />

our DBA teams are ready to help.”<br />

Engineers from Pythian, an industry-leading outsourced<br />

DBA services company, have spent over a year mastering<br />

<strong>Oracle</strong> Database 11g features as part of a select beta tester<br />

group on the <strong>Oracle</strong> campus.<br />

The Pythian Group, founded in 1997, works with<br />

organizations such as the University of Pennsylvania and<br />

Forbes.com to blend its DBA expertise into the customer’s<br />

existing database management team. “We can, of course,<br />

outsource the entire DBA function, and we do that for many<br />

customers,” says Vallee. “We’ve also spent 10 years finetuning<br />

a service that blends our expertise with a customer’s<br />

existing DBA team to great advantage for customers.”<br />

Pythian customers range in size from startups to medium<br />

businesses to Fortune 500 members.<br />

SCALE UP WHEN YOU NEED TO, DOWN WHEN YOU DON’T<br />

“A big part of our success is that we do not lock our<br />

clients into long-term contracts,” says Vallee. “A company<br />

can change how much work they flow to Pythian with<br />

only 30 days notice.” This means Pythian customers can<br />

quickly change their contracts to add Pythian’s expertise for<br />

a major IT initiative, and then scale back when workloads<br />

return to normal. “Even without long-term contracts,<br />

customers stick around,” says Vallee. “We still have many<br />

customers from our early years that have stayed with us all<br />

this time.”<br />

Another key to Pythian’s success is the level of<br />

expertise it provides to clients. “We have deep roots<br />

in the <strong>Oracle</strong> community,” says Vallee. “Our engineers<br />

are very active in the <strong>Oracle</strong> users groups and the<br />

<strong>Oracle</strong> beta process, and we have one of the world’s top<br />

<strong>Oracle</strong>-focused blogs,” says Vallee. “When customers<br />

contract our services, they’re getting access to consultantquality<br />

engineers.”<br />

Special Advertising Section<br />

THE PYTHIAN GROUP<br />

Your 11g Database Maestros<br />

ORACLE DATABASE 11g EXPERTISE<br />

One Pythian consulting engineer, Christo Kutrovsky, a Pythian<br />

DBA team lead and <strong>Oracle</strong> Database 11g beta member,<br />

sees compelling features that customers are going to want<br />

right away. “I’m very, very excited about real application<br />

testing,” says Kutrovsky. “It’s the ability to capture workloads<br />

on the production database and replay them on a different<br />

environment. That is very, very useful. <strong>Oracle</strong> is going to<br />

backport this feature to [<strong>Oracle</strong> Database] 10g, so you can<br />

capture workloads in [<strong>Oracle</strong> Database] 10g and play them in<br />

[<strong>Oracle</strong> Database] 11g. This might be the No. 1 feature that will<br />

convince my clients to upgrade to [<strong>Oracle</strong> Database] 11g.”<br />

Kutrovsky sees other features that will entice his current<br />

clients to upgrade as well. “[<strong>Oracle</strong>] Database 11g allows you<br />

to take a standby database and put it to use as a reporting<br />

database while changes are still being propagated in real time<br />

from the production database. I already have a customer use<br />

case for this feature,” says Kutrovsky. “[<strong>Oracle</strong>] Database 11g<br />

also allows server-side data connection pooling. This is very<br />

interesting for our clients who run many, many Web servers,<br />

and they’re having issues with too many connections to the<br />

database,” he says. “Having a connection pool on the server<br />

side will be extremely useful to them.”<br />

GET ORACLE DATABASE 11g FEATURES NOW<br />

FOR MORE INFORMATION VISIT | www.pythian.com<br />

By being able to quickly scale up with help from Pythian’s<br />

expertise, customers that didn’t have the opportunity to<br />

participate in the beta can quickly upgrade to <strong>Oracle</strong> Database<br />

11g to take advantage of compelling features. “If <strong>Oracle</strong><br />

customers want to inject skills into their operations in DBA<br />

roles, such as feature implementation or developer support,<br />

they can blend Pythian resources into their DBA team and be<br />

up and running right out of the gate,” says Vallee.<br />

The Pythian Group is headquartered in Ottawa,<br />

Canada, and performs most of its work from that location.<br />

Pythian also maintains offices in Sydney, Australia, and<br />

Hyderabad, India, to provide clients anywhere in the world<br />

with 24/7 access to its broad range of database and system<br />

administration capabilities.


QUEST SOFTWARE<br />

Mastering the Art of<br />

Database Management<br />

Complexity is inherent in IT—and change, it seems, is<br />

the only constant. To fully realize the value of their IT<br />

investments and ensure the peak performance of critical<br />

applications, organizations must adopt strategies and best<br />

practices that minimize the impact of change—on both the<br />

IT environments and the people who manage them. And that’s<br />

where Quest Software, an <strong>Oracle</strong> Certified Partner, comes in.<br />

As <strong>Oracle</strong> seeks to extend platform functionality in<br />

<strong>Oracle</strong> Database 11g, Quest seeks to give IT professionals<br />

additional tools to fully realize that extended functionality.<br />

As <strong>Oracle</strong> seeks to optimize performance tuning and add<br />

automation capabilities, Quest seeks to give IT professionals<br />

the knowledgebase and techniques for making the most of<br />

those capabilities.<br />

It’s a synergistic relationship that helps both <strong>Oracle</strong> and<br />

Quest customers get a better return on their IT investments,<br />

says Larry Humphries, Quest Software’s vice president of<br />

product management. “Our understanding of the market and of<br />

customers’ needs is quite similar. Our [common] goal is to help<br />

customers get maximum price performance and productivity<br />

from their database platform and from their people.”<br />

The new features in <strong>Oracle</strong> Database 11g are a good<br />

case in point, adds Humphries, who sees them as addressing<br />

two key customer requirements: managing and the impact<br />

of change and improving automation. New features and enhancements<br />

such as change impact analysis, performance<br />

auditing, capacity management, and automated suggestions<br />

for testing and tuning will complement workflow features and<br />

best practices that Quest is infusing in its own tools, including<br />

SharePlex for <strong>Oracle</strong>, Toad for <strong>Oracle</strong>, Space Manager with<br />

LiveReorg, Spotlight, and SQL Navigator.<br />

When <strong>Oracle</strong> and Quest products are used together,<br />

says Humphries, “Not only does the database perform<br />

more efficiently and with less risk, the people developing,<br />

administering, and analyzing the data themselves perform<br />

more efficiently.”<br />

FOR MORE INFORMATION VISIT | www.quest.com<br />

Special Advertising Section<br />

TUSC<br />

The <strong>Oracle</strong> Database Experts<br />

Since 1988<br />

“T<br />

he amount of data continues to grow while the pace<br />

of change accelerates,” says Rich Niemiec, TUSC CEO<br />

and an <strong>Oracle</strong> Certified Master. “<strong>Oracle</strong> Database 11g meet<br />

these challenges by giving us a way to visualize and manage<br />

huge data loads and to meet change with confidence,” he says.<br />

“We’re very excited to bring <strong>Oracle</strong> Database 11g advancements<br />

to our customers and to our own <strong>Oracle</strong> systems.”<br />

TUSC, <strong>Oracle</strong>’s Partner of the Year in 2002 and 2004, was an<br />

early and enthusiastic member of the <strong>Oracle</strong> Database 11g beta<br />

program. It sees <strong>Oracle</strong> Database 11g as both a smooth next step<br />

and a new version with the power and manageability features<br />

to handle the megadatabases of the future. “We brought almost<br />

20 years of deep <strong>Oracle</strong> experience to the beta program, so we<br />

were able see where the improvements are in <strong>Oracle</strong> Database<br />

11g and how they work,” says Niemiec, who says his <strong>Oracle</strong><br />

Database 11g favorites include tuning and manageability<br />

features such as invisible indexing and SQL Repair Advisor, and<br />

memory advantages such as result cache.<br />

As an <strong>Oracle</strong> Certified Advantage Partner (one of only a<br />

handful in the U.S.), TUSC provides expertise in the areas of<br />

<strong>Oracle</strong> E-Business Suite consulting, business intelligence/data<br />

warehousing, custom development (<strong>Oracle</strong> Fusion Middleware,<br />

Web services, service-oriented architecture), database services,<br />

managed services for remote DBA and <strong>Oracle</strong> E-Business Suite<br />

support, software licensing, and training and mentoring.<br />

TUSC sees clients not only as valued customers, but also<br />

true partners, and its record of client satisfaction sets it apart<br />

as an industry leader. “Whether it’s a phone call for technical<br />

advice, an executive planning meeting, or a cooperative effort<br />

across the company, we support our clients with our entire<br />

firm at their doorstep, even after the project is completed,”<br />

says Niemiec.<br />

“We’ve done well over a hundred major upgrades for<br />

<strong>Oracle</strong> technology and <strong>Oracle</strong> E-Business Suite customers,”<br />

adds Niemiec. “And with more than a year on the <strong>Oracle</strong><br />

Database 11g beta, both in our own systems and in several<br />

customer sites, we’re ready to help any organization get the<br />

most out of <strong>Oracle</strong> Database 11g.”<br />

FOR MORE INFORMATION VISIT | www.tusc.com


Akey <strong>Oracle</strong> partner in the development of grid computing,<br />

leading storage provider Network Appliance, Inc.,<br />

(NetApp) provides solutions that significantly enhance the power<br />

of <strong>Oracle</strong> Database 11g to enable cost-efficient ILM, increase<br />

DBA productivity, and shrink development cycle times.<br />

“Since the advent of grid computing, NetApp and <strong>Oracle</strong><br />

have gone down the same path and shared the same<br />

mind-set,” says Patrick Rogers, vice president of solutions<br />

marketing, Network Appliance, Inc. “Both companies are focused<br />

on developing innovative solutions that reduce IT cost<br />

and complexity.”<br />

CLOSING THE ILM LOOP<br />

With the launch of <strong>Oracle</strong> Database 11g, <strong>Oracle</strong> has significantly<br />

expanded its commitment to content management.<br />

Running on NetApp’s unified storage architecture, <strong>Oracle</strong><br />

Database 11g can deliver seamless information lifecycle<br />

management (ILM).<br />

Unlike many of its competitors, NetApp doesn’t have a siloed<br />

approach to storage. High-performance, low-cost, archival,<br />

and write-once-read-many (WORM) systems all run on a single<br />

architecture, making it far simpler to migrate data from one system<br />

to another. The result: Enhanced data protection for compliance<br />

as well as reduced data management costs. “NetApp’s single<br />

architecture means that customers can leverage a single<br />

platform to enable data security and compliance,” Rogers adds.<br />

BOOSTING DBA PRODUCTIVITY<br />

<strong>Oracle</strong> Database 11g includes a series of advances that speed<br />

development cycles and boost DBA productivity. NetApp builds<br />

on the momentum with SnapManager for <strong>Oracle</strong>, “applicationaware”<br />

software that detects and responds intelligently to the<br />

application on which it is running.<br />

SnapManager for <strong>Oracle</strong> automates key DBA tasks and<br />

enables DBAs to perform functions that were previously limited<br />

to storage administrators, including storage provisioning,<br />

backup and restore functions, and even creation of clones.<br />

Underlying SnapManager for <strong>Oracle</strong> is NetApp’s FlexClone<br />

software, which dramatically speeds instant point-in-time<br />

Special Advertising Section<br />

NETWORK APPLIANCE, INC.<br />

Multiplying the Power of <strong>Oracle</strong> Database 11g<br />

copying of production data. As a result, developers can complete<br />

testing, updating, and patching far more quickly than before.<br />

“When you have to copy and distribute a terabyte of data<br />

multiple times, the potential time and space savings that<br />

FlexClone enables is huge,” says Rogers.<br />

GROWING THE GRID<br />

Many new features in <strong>Oracle</strong> Database 11g are designed to<br />

further improve availability and performance of infrastructure<br />

grids. Leveraging FlexVol technology, NetApp provides <strong>Oracle</strong><br />

Database 11g with virtualization capabilities that allow dynamic<br />

pooling of storage resources, enabling customers to add or<br />

shrink storage and meet the dynamic needs of the enterprise.<br />

“NetApp FlexVol technology allows customers to grow their<br />

grid environment,” says Rogers. <strong>Oracle</strong> has done it; they use<br />

FlexVol to quickly provision and decommission systems and<br />

rapidly repurpose assets.”<br />

OPENING WINDOWS WITH DNFS<br />

NetApp was a key partner in the development of <strong>Oracle</strong><br />

Database 11g most notably in developing, testing and optimizing<br />

direct NFS (DNFS) performance and resiliency.<br />

DNFS, a new feature in <strong>Oracle</strong> Database 11g, not only makes<br />

it even simpler to run and manage a database and storage<br />

system over an IP network, it also improves performance and<br />

scalability through automatic link aggregation. And for the<br />

first time, companies running <strong>Oracle</strong> Database 11g Standard<br />

Edition can also run on Windows—a development that will<br />

enable more small and medium businesses to leverage the<br />

benefits of <strong>Oracle</strong> Database.<br />

THE NEXT PHASE IN THE RELATIONSHIP<br />

The relationship between NetApp and <strong>Oracle</strong> goes deeper<br />

than most partnerships. It spans technical integration, services<br />

and support, and sales and marketing, as well as executive<br />

alignment. On <strong>Oracle</strong> E-Business Suite since 2001, NetApp is<br />

also the standard storage platform for <strong>Oracle</strong>’s state-of-theart<br />

Austin Data Center. “Our shared goal is always to reduce<br />

IT cost and complexity for <strong>Oracle</strong> customers,” adds Rogers.<br />

FOR MORE INFORMATION VISIT | www.netapp.com/partners/oracle/


AUTODESK<br />

Adding a New Dimension to<br />

Business Intelligence<br />

Applications that use geospatial information—data that<br />

can be referenced in either two or three dimensions—<br />

aren’t just for design engineers anymore. Web-based<br />

mapping services, GPS watches, and onboard vehicle<br />

navigation systems have made consumer applications<br />

that use geospatial data much more commonplace. And<br />

now enterprises are exploring new ways to boost business<br />

intelligence by integrating geospatial data into corporate<br />

applications. For example, up-to-date electricity network<br />

maps help power utilities respond faster to customer service<br />

calls and maintain their valuable infrastructure assets.<br />

In fact, bringing powerful geospatial analysis to the<br />

corporate masses is a goal both Autodesk and <strong>Oracle</strong> share.<br />

As an <strong>Oracle</strong> Certified Partner, Autodesk is working with <strong>Oracle</strong><br />

to offer easy-to-use, affordable, and open solutions based on<br />

<strong>Oracle</strong> Database 11g that enable customers in a variety of<br />

markets and industries to expand their use of geographic data<br />

and realize new and valuable business insights.<br />

“Our flagship engineering GIS product, AutoCAD Map 3D,<br />

was Autodesk’s first product based on AutoCAD to support<br />

<strong>Oracle</strong> software and its geospatial components,” notes Lisa<br />

Campbell, Autodesk vice president. “For more than six years,<br />

we have offered native support for each release of <strong>Oracle</strong><br />

with products like Autodesk MapGuide Enterprise and now<br />

Autodesk Topobase. Having seen the upcoming enhancements<br />

to <strong>Oracle</strong> Database 11g, I believe that this release will benefit<br />

our customers by delivering faster applications and spatial tools<br />

that speed decisions and lower operating costs significantly.”<br />

The recipient of <strong>Oracle</strong>’s <strong>2007</strong> Spatial Excellence<br />

Partnership Award, Autodesk is already developing industryspecific<br />

solution suites that integrate Autodesk’s leading-edge<br />

geographic information systems (GIS) and computer-aided<br />

design (CAD) applications with <strong>Oracle</strong>’s spatially enabled<br />

relational database technology. With the help of such<br />

integrated applications, even nontechnical users will soon be<br />

able to use sophisticated geospatial relationships to quickly<br />

make informed business decisions.<br />

FOR MORE INFORMATION VISIT | www.autodesk.com<br />

Special Advertising Section<br />

AMD<br />

Combining the Highest<br />

Performance with Energy<br />

Efficiency for Unbeatable TCO<br />

Today, <strong>Oracle</strong> customers across the board are running<br />

bigger data centers. In response, <strong>Oracle</strong> Database 11g<br />

increases automation and introduces change-assurance<br />

features designed to improve IT performance and bring down<br />

management costs. Advanced Micro Devices (AMD), an<br />

<strong>Oracle</strong> Certified Advantage Partner, is working with <strong>Oracle</strong><br />

to deliver industry-leading server performance while bringing<br />

down another source of cost in the data center: energy.<br />

“Power usage is becoming more important to customers<br />

today for both environmental and practical reasons,” says<br />

Terri Hall, vice president of commercial systems marketing and<br />

alliances at AMD. Businesses today require highly available<br />

and highly scalable applications—and that means more muscle<br />

in the data center. “Customers are using so much computing<br />

power now that they are sometimes literally in danger of running<br />

out of enough energy resources to power them.”<br />

AMD has made a point of seeking <strong>Oracle</strong>’s input to help<br />

shape the direction of AMD development, says Hall. With<br />

<strong>Oracle</strong>’s collaborative help, AMD continues to advance its<br />

multicore processor technology to include features that maximize<br />

performance per watt. “Our dual-core and quad-core<br />

processors will provide <strong>Oracle</strong> Database 11g customers with<br />

enterprise-class performance, but on a very power-efficient<br />

platform,” say Hall.<br />

Providing benchmarking and validated configurations are<br />

two examples of the way in which AMD collaborates with<br />

<strong>Oracle</strong> to provide customers with market-ready solutions.<br />

“Joint benchmarking gives customers proof of the<br />

performance advantage of running <strong>Oracle</strong> on AMD,” says Hall.<br />

“Validated configurations allow customers to buy complete,<br />

pretested solutions, which is particularly nice for small and<br />

medium businesses.”<br />

Combined with AMD’s Direct Connect Architecture,<br />

power-efficient AMD Opteron processors will provide<br />

<strong>Oracle</strong> Database customers with an unmatched TCO in an<br />

x86 solution. AMD is well positioned to help customers get the<br />

most out of <strong>Oracle</strong>’s grid computing solution, Hall says.<br />

FOR MORE INFORMATION VISIT | www.amd.com


DAVE BRADLEY<br />

OPEN<br />

BY DAVID A. KELLY<br />

PFIZER USES ORACLE SECURITY FEATURES<br />

TO OPEN THE DOOR TO PARTNERS AND<br />

LOCK DOWN IDENTITY AND DATA. WILLIAM<br />

BARNES, PFIZER’S MANAGER OF IDENTITY<br />

SERVICES, TALKS ABOUT THE SOLUTION.<br />

and<br />

SECURE<br />

ompanies have always had a huge interest in<br />

controlling who gets to see what information<br />

or manage which data. The increased<br />

security that results from controlling access<br />

to systems and applications is a basic business value.<br />

In addition, automating access management increases<br />

efficiency and reduces the resources required to manage<br />

individual user access to applications or systems.<br />

With today’s greater demands for data security, organizations<br />

have realized additional benefits from deploying<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 53


access management, especially in areas<br />

such as compliance and federation.<br />

“With the advent of the Sarbanes-<br />

Oxley Act [SOX] a few years ago, capabilities<br />

like Web access management have<br />

become almost the de facto technology<br />

that you use to enforce some of the SOX<br />

requirements, such as Section 404,” says<br />

Wynn White, vice president, product<br />

marketing, <strong>Oracle</strong>. “Access control and<br />

identity management systems can enable<br />

organizations to enforce access and<br />

provide a detailed audit trail to show<br />

auditors exactly what’s happening.”<br />

Many organizations have also identified<br />

new value in federated access<br />

management, which gives business partners<br />

greater access to corporate systems<br />

and applications.<br />

Federated access management solutions<br />

can streamline processes and reduce risk<br />

and security vulnerabilities. “The idea is<br />

that if you have a trusted partner that<br />

they’ve authenticated to, then you can rely on that authentication<br />

to let them into your application without necessarily<br />

storing all sorts of private data that might be breached,”<br />

explains Trent Henry, senior analyst, Burton Group.<br />

In many cases, even organizations that have already<br />

deployed access management are taking a fresh look at<br />

its potential.<br />

THE EXPANDING ROLE OF ACCESS MANAGEMENT<br />

Pharmaceutical giant Pfizer is a good example of a<br />

company that’s expanding its use of access management<br />

to meet an ever-broadening set of IT challenges and business<br />

opportunities. The goal is to treat authentication<br />

as an infrastructure service, so that each application can<br />

require the proper form of authentication from users.<br />

This structure is important<br />

because the company’s pharmaceuti-<br />

cal research and development efforts<br />

around developing and marketing<br />

new drugs entail both applications<br />

that are low sensitivity, with a<br />

low risk of information disclosure<br />

and loss of data integrity, and high<br />

sensitivity, with high requirements<br />

for absolute data integrity and for<br />

ensuring that data not be disclosed<br />

to those who shouldn’t have access.<br />

54 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

Pfizer uses <strong>Oracle</strong> Access Manager and <strong>Oracle</strong> Virtual Directory for identity and access management.<br />

“We’ve worked closely with <strong>Oracle</strong> to develop a solution that enables individual users to select the level<br />

of authentication that’s right for the task,” says William Barnes, Pfizer’s Manager of Identity Services.<br />

SNAPSHOT<br />

Pfizer<br />

www.pfizer.com<br />

Location: New York City<br />

Industry: Pharmaceutical<br />

Employees: 100,000<br />

<strong>Oracle</strong> products: <strong>Oracle</strong> Database, <strong>Oracle</strong><br />

Access Management, <strong>Oracle</strong> Identity<br />

Management<br />

The company started by leveraging two <strong>Oracle</strong> products<br />

to build a unified—and centralized—portal for moreefficient<br />

internal and external access.<br />

“We use <strong>Oracle</strong> Access Manager and the <strong>Oracle</strong> Virtual<br />

Directory products for our identity and access management<br />

infrastructure,” says William Barnes, manager of<br />

identity services, Pfizer. “We’ve worked closely with<br />

<strong>Oracle</strong> over the past two years to develop a solution that<br />

enables individual users to select the level of authentication<br />

that’s right for the task they’re trying to do.”<br />

That solution, a portal called logon.pfizer.com, enables<br />

a more-flexible authentication system for organizations<br />

and their partners. The solution allows end users to<br />

determine what form of credential they would like to<br />

use—from logon IDs and passwords to digital certificates<br />

or two-factor authentication options.<br />

As one example of how flexible<br />

authentication can be, Pfizer is a<br />

member of the biopharmaceutical<br />

group Signatures and Authentication<br />

for Everyone (SAFE), an organization<br />

that delivers electronic credentials for<br />

business-to-business transactions. In<br />

accessing the portal, an internal Pfizer<br />

user might use a standard logon ID/<br />

password combination, and an external<br />

partner might use a SAFE certifi-<br />

DAVE BRADLEY


“Our authentication portal has multiple levels of trust associated with different levels of<br />

authentication. We think that this is really important.”<br />

—William Barnes, Manager of Identity Services, Pfizer<br />

cate. Alternatively, a mobile user accessing the system<br />

from a kiosk might use a secure ID one-time passwordtype<br />

device such as RSA’s SecurID or the standardized,<br />

open source Open Authentication (OATH) secure token.<br />

“The hope is that by allowing users to select<br />

what they want to use, it gives them the greatest<br />

control over the experience they intend<br />

to have,” explains Barnes. “One of the<br />

major business benefits of this approach is<br />

allowing people to use a credential they<br />

may already have.”<br />

According to Burton Group’s Henry,<br />

having a centralized facility to enforce<br />

and support access management policies<br />

throughout multiple applications is a fairly<br />

popular approach. “The idea is that no<br />

matter what application a user is accessing,<br />

the organization can rely on the same types<br />

of authentication framework,” says Henry. “That<br />

reduces the management burdens and helps to eliminate<br />

potential mistakes that might occur.”<br />

CENTRALIZING AUTHENTICATION<br />

With its centralized authentication service, Pfizer has<br />

taken the authentication process out of each application<br />

and put it in the hands of the end user. And in the<br />

future, Pfizer can immediately take advantage of any new<br />

authentication methods that it wants to deploy, such as<br />

biometric or fingerprint-type authentication options.<br />

“Authentication is probably one of the hottest areas<br />

in technology today, so we’re not prescriptive on exactly<br />

what forms we will leverage,” says Pfizer’s Barnes. “But as<br />

new ones emerge, we see this as the single place where<br />

we can make them available.”<br />

Of course, another important aspect of access<br />

management for Pfizer is being able to manage<br />

risk better by ensuring that the proper level<br />

of authentication is required for specific<br />

applications. For example, some applications<br />

might have a low risk associated with access<br />

to their data, while others might require<br />

very high data integrity.<br />

“Our authentication portal has multiple<br />

levels of trust associated with different levels<br />

of authentication,” Barnes says. “We think that<br />

this is really important. Going forward, it will<br />

allow application developers either to lower or<br />

raise the bar required to get access to information and<br />

protect the integrity of the data.”<br />

Eventually, using this framework, Pfizer expects that<br />

it could leverage the use of national IDs, which might<br />

be issued through the European Union or by individual<br />

countries. “As national and international identity providers<br />

emerge, we see this framework as giving us the ability to<br />

link directly to them,” adds Barnes. “And we will continue<br />

to work with <strong>Oracle</strong> to enhance the native capabilities of<br />

<strong>Oracle</strong> Audit Vault and <strong>Oracle</strong> Database Vault<br />

In addition to providing authentication<br />

and identity management, organizations<br />

must provide data security that addresses<br />

growing privacy and regulatory considerations.<br />

For example, compliance and auditing<br />

requirements have become a fact of<br />

life for most organizations. Beyond ensuring<br />

that the proper regulatory or industry<br />

requirements are followed, organizations<br />

also need to collect and analyze audit<br />

data to keep track of the activities within<br />

their systems. And because audit data can<br />

be distributed across many systems and<br />

stored in many databases, securing it and<br />

ensuring that it hasn’t been tampered with<br />

can be difficult.<br />

“<strong>Oracle</strong> Audit Vault provides the ability to<br />

consolidate audit data from different database<br />

sources into one secure and scalable<br />

repository, and then view all the audit trail<br />

data, from all those sources, in one report,”<br />

explains Tammy Bednar, senior principal<br />

product manager, database security, <strong>Oracle</strong>.<br />

“<strong>Oracle</strong> Audit Vault provides a consolidated<br />

view of all audit operations, making it easier<br />

to see the activities of your privileged users<br />

across all your databases and raise alerts<br />

on any suspicious activities.”<br />

Securing the data in the database from<br />

highly privileged users, <strong>Oracle</strong> Database<br />

Vault helps to ensure database security<br />

by protecting against insider threats and<br />

addressing regulatory compliance needs.<br />

It can also transparently enforce specific<br />

operational policies or fine-grained security<br />

requirements as specified by the auditors.<br />

“<strong>Oracle</strong> Database Vault helps companies<br />

implement separation of duties—managers<br />

might not want even powerful administrators<br />

to be able to look at important financial<br />

data, for example,” says Vipin Samar, vice<br />

president, database security, <strong>Oracle</strong>. “With<br />

<strong>Oracle</strong> Database Vault, organizations can<br />

increase the security level of an existing<br />

application without changing the application,<br />

which improves security throughout<br />

the enterprise and helps reduce risks posed<br />

by insider threats.”<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 55


“The idea is that no matter what application a user is accessing, the organization can<br />

rely on the same types of authentication framework.”<br />

—Trent Henry, Senior Analyst, Burton Group<br />

<strong>Oracle</strong> Access Manager and <strong>Oracle</strong> Virtual Directory to provide<br />

the functionality of the logon.pfizer.com authentication portal.”<br />

THE EVOLUTION OF ACCESS MANAGEMENT<br />

Access management has come a long way in the past few<br />

years. But as organizations struggle to meet new compliance<br />

and security requirements and to reach out to partners and<br />

customers in a secure and manageable way, access management<br />

seems poised to play an even greater role in the corporate<br />

IT infrastructure.<br />

“Over the past few years, the adoption of federation technologies<br />

has become much more prevalent,” says Eric Leach,<br />

senior group product manager, access management, <strong>Oracle</strong>.<br />

“That means that organizations can use their baseline Web<br />

access management deployments and layer on standards-based<br />

federation products that can greatly simplify the integration of<br />

business partners.”<br />

For many companies, the need to interact efficiently with<br />

more organizations—whether it’s suppliers, outsourcers, partners,<br />

customers, or someone else—will only increase. At the<br />

same time, organizations need to increase their agility and<br />

keep pace with changing business environments.<br />

JULY/AUGUST 2006<br />

ORACLE.COM/ORACLEMAGAZINE<br />

<strong>Oracle</strong> Enterprise Manager<br />

Brings Order to Your Grid<br />

GROWING RETAIL<br />

BUSINESSES /44<br />

ID MANAGEMENT<br />

OPENS DOORS /49<br />

ARCHIVING<br />

XML /73<br />

56 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

“A lot of new requirements have come in since most organizations<br />

originally adopted access management,” Leach adds.<br />

“From compliance and auditing requirements to federation<br />

needs to stronger authentication requirements, now is the time<br />

for organizations to reconsider their access management solutions<br />

and opportunities in a broader context.” �<br />

David A. Kelly (dkelly@upsideresearch.com) is a business, technology, and travel<br />

writer who lives in West Newton, Massachusetts.<br />

READ more about<br />

<strong>Oracle</strong> Identity Management<br />

oracle.com/identity<br />

<strong>Oracle</strong> Audit Vault<br />

oracle.com/goto/auditvault<br />

<strong>Oracle</strong> Database Vault<br />

oracle.com/goto/databasevault<br />

Security Solutions from <strong>Oracle</strong><br />

oracle.com/security<br />

<strong>Oracle</strong> <strong>Magazine</strong> Readers<br />

Close Deals Six Times Larger Than Nonreaders!<br />

Internal <strong>Oracle</strong> research has found<br />

that readers of <strong>Oracle</strong> <strong>Magazine</strong> are<br />

responsible for expenditures with <strong>Oracle</strong><br />

that are six times larger than customers<br />

who don’t read the magazine. These<br />

readers spend a combined total of more<br />

than US$11 billion annually on IT!<br />

JULY/AUGUST 2005 ORACLE.COM/ORACLEMAGAZINE<br />

GREAT EXPECTATIONS<br />

BIG TECHNOLOGY THAT GROWS WITH YOUR SMALL BUSINESS<br />

IN THIS ISSUE: LINUX FOR DATA WAREHOUSES •• PHP AND ORACLE XML DB • • TUNING UNDO TABLESPACE<br />

<strong>Oracle</strong> <strong>Magazine</strong> exists to drive <strong>Oracle</strong><br />

customers your way. Utilize our programs<br />

and make our best customers your best<br />

customers. For detailed information on<br />

how your company will benefit from our<br />

print and interactive go-to-market programs,<br />

contact your local representative.<br />

Northeast U.S./Canada<br />

David and Ann Schissler<br />

+1.508.394.4026<br />

Schissler@comcast.net<br />

Mid-Atlantic/Southeast<br />

Dawn Becker<br />

+1.732.772.0160<br />

dbeck71@optonline.com<br />

Northwest/Central<br />

Tom Cometa<br />

+1.415.206.9855<br />

Thomas.cometa@sbcglobal.net<br />

Southwest/LAD<br />

Shaun Mehr<br />

+1.949.923.1660<br />

shaun@sprocketmedia.com<br />

EMEA/APAC<br />

Mark Makinney<br />

+44 0 1273 774341<br />

mark.makinney@oracle.com<br />

Associate Publisher<br />

Kyle Walkenhorst<br />

+1.323.340.8585<br />

kyle@sprocketmedia.com


Fastest<br />

Growing Middleware<br />

<strong>Oracle</strong><br />

Fusion Middleware<br />

Hot-Pluggable. Comprehensive.<br />

Business Process Management — SOA — Data Integration — Portal and Enterprise 2.0<br />

J2EE — Content Management — Business Intelligence — Identity Management<br />

oracle.com/goto/middleware<br />

or call 1.800.ORACLE.1<br />

Source: Gartner “Market Share: Application Integration, Middleware and Portal Software,”<br />

Worldwide, 2005. Based on 2005 license revenue worldwide.<br />

Copyright © <strong>2007</strong>. <strong>Oracle</strong> is a registered trademark of <strong>Oracle</strong> Corporation and/or its affiliates. Other names may be trademarks of their respective owners.


58 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

THE POW<br />

Embedded <strong>Oracle</strong> databases drive


ER WITHIN<br />

technology at the edge of the enterprise.<br />

JUPITER IMAGES<br />

or Riverbed Technology, choosing the right database<br />

for its network-acceleration appliances isn’t something<br />

it takes lightly. The company’s Steelhead appliances<br />

help boost WAN speeds an average of 30 times for customers<br />

running anywhere from hundreds to several thousands<br />

of nodes, and what Riverbed needs is a database that’s robust<br />

and that can go the distance. To achieve the performance<br />

gains it needs with the smallest technology footprint possible,<br />

Riverbed relies on <strong>Oracle</strong> Berkeley DB, a member of <strong>Oracle</strong>’s<br />

family of embeddable databases.<br />

Unlike traditional databases, embedded versions reside<br />

within software applications or hardware appliances like<br />

Riverbed’s and don’t require day-to-day management by DBAs.<br />

Instead, they work behind the scenes, often without end users<br />

even knowing they’re using the data management technology.<br />

“Customers like our turnkey solution. They buy our appliances<br />

because they don’t want to mess around with operating<br />

systems and figure how to get this piece of hardware to work<br />

with that piece of software,” explains David Wu, Riverbed’s<br />

vice president of software development. “Our customers aren’t<br />

database experts, so it makes sense for us to bundle in an<br />

embedded database that just tunes itself.”<br />

NEW CHOICES<br />

Embedded databases aren’t new—developers have relied on<br />

them for decades. Many developers have built their own,<br />

because their application requirements were so unique, and<br />

commercial choices were inadequate.<br />

“Although custom development is very time-consuming<br />

and expensive, it enables developers to build very specific<br />

capabilities,” says Rex Wang, vice president of embedded<br />

product marketing at <strong>Oracle</strong>. “We understand that developers<br />

need technical flexibility and choice, so that’s why<br />

BY ALAN JOCH<br />

<strong>Oracle</strong>’s strategy is to offer developers the broadest selection<br />

of embeddable databases for the diverse range of applications<br />

out there.” In fact, <strong>Oracle</strong> offers four embedded database<br />

choices. (See the “Choosing an Embedded Database” sidebar<br />

for more information.)<br />

“<strong>Oracle</strong> offers a suite of embedded databases for network<br />

appliances, mobile devices, packaged applications, and other<br />

uses,” says Noel Yuhanna, principal analyst with Forrester<br />

Research. “Customers can choose among any of those products,<br />

with the additional advantage of having compatibility<br />

across the various databases.”<br />

PERFORMANCE DEMANDS<br />

Cisco Systems released the Cisco License Manager (CLM) at<br />

the beginning of <strong>2007</strong>. The CLM enables Cisco customers to<br />

inventory and manage sometimes thousands of licenses for<br />

network devices running in their enterprises.<br />

“If a customer wants to upgrade any of the licenses, they<br />

place an order online and enter an authorization key into the<br />

CLM, and it automatically obtains the licenses and deploys<br />

them to the network devices,” says Niraj Gopal, CLM product<br />

manager at Cisco. When customers download the CLM, the<br />

product includes <strong>Oracle</strong> Berkeley DB Java Edition for managing<br />

licensing and authentication information for each device.<br />

Before Cisco settled on <strong>Oracle</strong> Berkeley DB Java Edition,<br />

the company considered several other databases, including<br />

several commercial offerings and a homegrown solution. Cisco<br />

chose Berkeley DB Java Edition after pilot tests convinced<br />

developers that it could meet their top design goals—the<br />

database had to be scalable and portable and work within a<br />

small resource footprint.<br />

“[The database] had to run on powerful servers as well as<br />

a single blade,” explains Shaw Li, Cisco software development<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 59


“After an evaluation and a<br />

prototype, we decided that the<br />

scalability and portability of<br />

Berkeley DB Java Edition fit the bill.”<br />

—Shaw Li<br />

Software Development Manager<br />

Cisco Systems<br />

manager. The scalability test bed networked dozens<br />

of Windows PCs to simulate the traffic load of<br />

10,000 devices.<br />

“After an evaluation and a prototype, we decided<br />

that the scalability and portability of Berkeley DB<br />

Java Edition fit the bill,” says Li. In addition, Li says,<br />

because <strong>Oracle</strong> Berkeley DB Java Edition is written<br />

in Java, “it gives us great portability across different<br />

operating systems.”<br />

REAL-TIME SERVICE<br />

Aspect Software uses both <strong>Oracle</strong> Database and <strong>Oracle</strong><br />

TimesTen In-Memory Database within its contact<br />

center solutions for organizations to manage incoming<br />

questions and service requests from customers.<br />

“Traditionally, contact centers were measured by ‘handle<br />

time’—basically how long it takes to address each customer’s<br />

call. The quicker being the better,” says Mike Sheridan,<br />

Aspect’s senior vice president of strategy and marketing. “But<br />

now companies recognize that’s not the best performance measurement<br />

because it doesn’t speak to whether they satisfied<br />

the customer or what the propensity is for that person to buy<br />

more things from you in the future as a result of that call.”<br />

Contact centers are massive data generators that collect<br />

CHOOSING AN EMBEDDED DATABASE<br />

Hardware developers and ISVs have a range of<br />

<strong>Oracle</strong> high-performance, scalable embedded<br />

databases to choose from. These include<br />

<strong>Oracle</strong> Database Enterprise Edition,<br />

<strong>Oracle</strong> Database Standard Edition, <strong>Oracle</strong><br />

Database Standard Edition One, and<br />

<strong>Oracle</strong> Database Express Edition. These<br />

solutions provide advanced relational database<br />

capabilities in an embeddable package that<br />

requires no DBA and enables the embedding<br />

application to automatically install and configure<br />

it. <strong>Oracle</strong> Database is often embedded<br />

within medical equipment and telecommuni-<br />

Cisco’s Niraj Gopal, Product Manager for Cisco License Manager (left), and Shaw Li, Software<br />

Development Manager, find that <strong>Oracle</strong> Berkeley DB Java Edition gives them great portability across<br />

different operating systems.<br />

cations systems that require advanced data<br />

management capabilities and do not have<br />

highly constrained memory and CPUs.<br />

<strong>Oracle</strong> Berkeley DB. The only nonrelational<br />

database in <strong>Oracle</strong>’s portfolio, <strong>Oracle</strong> Berkeley<br />

DB delivers very high performance for applications<br />

that have static, predictable access<br />

patterns. Top applications include networking<br />

equipment, storage appliances, and geospatial<br />

mapping software.<br />

<strong>Oracle</strong> TimesTen In-Memory Database.<br />

This relational database keeps data in<br />

memory, so it delivers extremely fast response<br />

times and high transaction throughput. As a<br />

60 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

data for years. It must be possible to retrieve detailed records<br />

to service an individual call, as well as look at aggregated<br />

information about the contact center’s overall performance.<br />

To help meet this challenge, Aspect relies on <strong>Oracle</strong> Database<br />

for its enterprise data mart and <strong>Oracle</strong> TimesTen for real-time<br />

analytics about performance across multiple call centers.<br />

<strong>Oracle</strong> TimesTen also feeds a program that provides graphic<br />

visualizations of contact center performance to help managers<br />

and supervisors monitor the environment.<br />

Aspect Software chose <strong>Oracle</strong> TimesTen because it performs<br />

fast enough to serve real-time demands. “Traditional databases<br />

full relational database, <strong>Oracle</strong> TimesTen supports<br />

SQL, Open Database Connectivity, and<br />

Java DataBase Connectivity. It can run as a<br />

standalone database or as a cache to accelerate<br />

<strong>Oracle</strong> Database, and it often runs in telecommunications<br />

systems and customer-facing<br />

applications requiring low latency.<br />

<strong>Oracle</strong> Database Lite. This small-footprint<br />

relational database is designed for PDAs,<br />

smartphones, and automobile telematics<br />

units. Because it can synchronize with <strong>Oracle</strong><br />

Database, it allows mobile employees to use<br />

their devices in the field and later sync data<br />

with the main enterprise database server.<br />

BOB ADLER


ANDREA MANDEL<br />

“<strong>Oracle</strong> is clearly investing<br />

in the <strong>Oracle</strong> TimesTen product<br />

going forward.”<br />

haven’t been quick enough for us to get the visualizations<br />

we needed in a timely fashion,” says<br />

Roger Sumner, senior vice president in the Aspect<br />

Software Office of Technology.<br />

But speed wasn’t the company’s only consideration.<br />

The database also needed to perform all of<br />

the essential data organization tasks of traditional<br />

information management systems, including replicating<br />

data, sorting through it, and retrieving<br />

information for reporting tools.<br />

“We looked for a fully functional relational database<br />

that could be used in an embedded setting,”<br />

Sumner says.<br />

An added bonus is that as a long-time <strong>Oracle</strong><br />

customer, Aspect now works with a single vendor for both<br />

<strong>Oracle</strong> Database and <strong>Oracle</strong> TimesTen. “If we’re looking for<br />

consulting help, we can go to a single team,” Sumner says.<br />

“And we see staying power. <strong>Oracle</strong> is clearly investing in the<br />

<strong>Oracle</strong> TimesTen product going forward.”<br />

LIGHTWEIGHT IMPLEMENTATIONS<br />

The Riverbed Central Management Console (CMC) configures<br />

and manages Riverbed Technology’s Steelhead appliances and<br />

embeds <strong>Oracle</strong> Berkeley DB to hold traffic and performance<br />

data about each device on a network. The information ranges<br />

from details about performance from five minutes ago to<br />

historical trend summaries that span months or years, says<br />

Riverbed’s Wu. Customers may install dozens or thousands of<br />

SNAPSHOTS<br />

—Roger Sumner<br />

Senior Vice President, Office of Technology<br />

Aspect Software<br />

Riverbed Technology www.riverbed.com<br />

Location: San Francisco Industry: Wide area data services<br />

Employees: 450 <strong>Oracle</strong> products and services: <strong>Oracle</strong> Berkeley DB,<br />

<strong>Oracle</strong> E-Business Suite<br />

Cisco Systems www.cisco.com<br />

Location: San Jose, California Industry: IT networking systems<br />

Employees: 56,790 <strong>Oracle</strong> products and services: <strong>Oracle</strong> Berkeley DB<br />

Aspect Software www.aspect.com<br />

Location: Chelmsford, Massachusetts Industry: Software development<br />

Employees: 2,100 <strong>Oracle</strong> products and services: <strong>Oracle</strong> Database 10g,<br />

<strong>Oracle</strong> TimesTen In-Memory Database<br />

Roger Sumner, Senior Vice President, Aspect Software Office of Technology, says that traditional<br />

databases haven’t been quick enough for his company to get the visualizations they needed<br />

in a timely fashion.<br />

appliances, depending on the size of their WANs.<br />

“Our requirements for an embedded database are that it<br />

needs to be robust, scale efficiently, and be enterprise grade,”<br />

Wu explains. “One of the top reasons we went with Berkeley<br />

DB is its low resource consumption when it comes to memory,<br />

CPU, and disk usage. It has such lightweight requirements<br />

that it doesn’t steal away important processing power.”<br />

Wu also appreciates the database’s “very clean” APIs, which<br />

were easy for developers to understand and which enabled<br />

them to integrate the product into Riverbed’s existing technology<br />

framework in only a couple of weeks.<br />

Quick development time was critical because Wu and<br />

his staff were under a tight deadline to roll out the CMC. To<br />

accomplish this goal, Riverbed tapped the <strong>Oracle</strong> technical<br />

support staff to apply integration strategies that worked for<br />

other customers to the CMC project. “<strong>Oracle</strong> support folks are<br />

top-notch, and it was very easy to get us up and running very<br />

quickly,” Wu says. �<br />

Alan Joch (ajoch@worldpath.net) is a technology writer based in New England who<br />

specializes in enterprise, Web, and high-performance-computing applications.<br />

READ more about <strong>Oracle</strong> Embedded Technology<br />

oracle.com/technologies/embedded<br />

VISIT the Embedded Developer Center<br />

otn.oracle.com/tech/embedded<br />

DOWNLOAD embeddable technology<br />

otn.oracle.com/software<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 61


COMPANIES TRUST ORACLE<br />

WITH THEIR MOST VITAL INFORMATION.<br />

WHICH IS WHY ORACLE TRUSTS DELL.<br />

<strong>Oracle</strong> depends on its Austin Data Center to be ready and available 24/7/365.<br />

So <strong>Oracle</strong> turned to Dell to cluster and maintain 12,000 servers, hosting the<br />

<strong>Oracle</strong> On Demand Applications their customers rely on. Because Dell<br />

designs business solutions with one company in mind. Yours.<br />

Read the whole story online<br />

or call Dell to start your own. dell.com/oracle/oraclemag 1.877.485.DELL<br />

Dell cannot be responsible for errors in typography or photography. Dell and the Dell logo are trademarks of Dell Inc. <strong>Oracle</strong> is a registered trademark of <strong>Oracle</strong> Corporation and/or its affi liates. Other<br />

trademarks and trade names may be used in this document to refer to either the entities claiming the marks and names or their products. Dell disclaims proprietary interest in the marks and names of<br />

others. © <strong>2007</strong> Dell Inc. All rights reserved.


developerFRAMEWORKS<br />

BY STEVE MUENCH<br />

Defining a Cascading List of Values<br />

Setting up LOVs is easier than ever with <strong>Oracle</strong> JDeveloper 11g.<br />

ost data-intensive applications<br />

require users to select values<br />

from lists of choices. In many<br />

cases, the list of valid choices<br />

for one field depends on the selection a<br />

user makes in another field. For example,<br />

in a global commerce application, a user<br />

might first pick a country, leading the<br />

application to display a list of products<br />

for sale in that particular country.<br />

The ability to simplify the creation<br />

of lists of values (LOVs) to support this<br />

kind of scenario has been one of the<br />

most common enhancement requests<br />

for <strong>Oracle</strong> Application Development<br />

Framework (<strong>Oracle</strong> ADF) 11g. In this<br />

column, I show how easy this task has<br />

become. In doing so, I take a first look at<br />

the upcoming <strong>Oracle</strong> JDeveloper/<strong>Oracle</strong><br />

ADF 11g release and use it to build<br />

LOVs, including a list with cascading<br />

data dependencies.<br />

To follow along, download and<br />

install the <strong>Oracle</strong> JDeveloper 11.1.1.0<br />

Technology Preview release, available<br />

at otn.oracle.com/products/jdev/11. As<br />

with all of my other Frameworks tutorial<br />

articles, you should also have an <strong>Oracle</strong><br />

Database instance available with access to<br />

the default SCOTT schema.<br />

SETTING UP THE MODEL<br />

Let’s start by creating a new application<br />

in <strong>Oracle</strong> JDeveloper. If you don’t have<br />

any other applications open, click the<br />

New Application node that appears<br />

in the Application Navigator. If you do<br />

have other applications open, select<br />

New Application from the application<br />

selector list at the top of the<br />

Application Navigator. In either case,<br />

the Create Application dialog box will<br />

appear. Enter OraMagDemo in the New<br />

Application field, and enter oramag<br />

.lovdemo in the New Application Prefix<br />

field. For Application Template, select<br />

Web Application [ADF Faces, ADF<br />

Page Flow, ADF BC], and then click<br />

OK to create the application.<br />

Next, let’s build our starter application<br />

(as in past Frameworks columns) by<br />

creating default business components for<br />

the DEPT and EMP tables in the SCOTT<br />

account. To do this, right-click the Model<br />

project in the Application Navigator and<br />

select New. In the New Gallery dialog box<br />

that appears, select the ADF Business<br />

Components category (in the Business<br />

Tier grouping) and double-click the<br />

Business Components from Tables<br />

wizard. When the Initialize Business<br />

Components Project dialog box appears,<br />

click New to create a new applicationlevel<br />

database connection. In the Create<br />

Database Connection dialog box, enter<br />

scott for the connection name, enter the<br />

appropriate username and password for<br />

the SCOTT schema, and enter the hostname<br />

and instance ID (SID) to connect<br />

to your database. Note that in <strong>Oracle</strong><br />

JDeveloper 11g, the default SID is now<br />

XE. This default will work if you’re using<br />

<strong>Oracle</strong> Database Express Edition, but<br />

you’ll need to change this to the correct<br />

SID (such as ORCL) if you’re using a different<br />

<strong>Oracle</strong> Database edition. Click OK<br />

to create the database connection and OK<br />

again to start the Business Components<br />

from Tables wizard. As you’ve done<br />

before, go through the wizard to define<br />

entity objects for the DEPT and EMP<br />

tables, DeptView and EmpView, updatable<br />

view objects for each respective entity<br />

object, and an application module named<br />

HRModule. As before, don’t bother creating<br />

any read-only view objects or a business<br />

components diagram.<br />

When defining a list of values in<br />

<strong>Oracle</strong> JDeveloper, you reference a view<br />

object that provides the source of valid<br />

choices for your list. In this example,<br />

you’ll create two lists of values. First,<br />

you’ll define a list of values for the<br />

Deptno attribute in the EmpView view<br />

object created above, using the DeptView<br />

view object as the source for the list of<br />

valid departments. Then you’ll build a<br />

more complex list of values for the Mgr<br />

(manager) attribute. This list will reference<br />

a new view object that queries a<br />

filtered list of employees who can serve<br />

as the current employee’s manager. For<br />

the sake of this exercise, let’s assume<br />

that the list of available managers for a<br />

given employee will be the list of other<br />

employees in the same department, along<br />

with any employee without a manager<br />

(such as the president).<br />

To define this new view object, rightclick<br />

the Model project in the Application<br />

Navigator and select New. Select the ADF<br />

Business Components category, and<br />

double-click the View Object component<br />

to open the Create View Object wizard.<br />

In the Name panel, change the name to<br />

ManagerListForDepartment and click Next.<br />

In the Entity Objects panel, select the<br />

Emp entity object from the Available<br />

list, click Add (the right-arrow button),<br />

and click Next. In the Attributes panel,<br />

include the Empno and Ename attributes,<br />

and click Next twice to get to the SQL<br />

Statement panel. In the Where field, add<br />

the following WHERE clause: (DEPTNO =<br />

:CurrentDept OR MGR IS NULL) AND EMPNO<br />

! = :CurrentEmp. This clause will filter the<br />

list of employees to produce the set you<br />

defined above. Click Next to get to the<br />

Bind Variables panel. In this panel, create<br />

two new variables called CurrentDept and<br />

CurrentEmp (which are both referenced<br />

in the WHERE clause) and set both variables<br />

to be of type Number. Now click<br />

Finish to create the view object.<br />

DEFINING THE LISTS OF VALUES<br />

Now that the basic model layer objects<br />

are in place, the next step is to configure<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 63


FRAMEWORKS<br />

FRAMEWORKS<br />

the two lists of values. In <strong>Oracle</strong><br />

ADF 11g, you can configure a list<br />

of values as a declarative feature<br />

of any view object attribute. By<br />

defining the list of values at the<br />

model layer instead of within<br />

the user interface (UI), you can<br />

ensure that your UI will present a<br />

list of values correctly and consistently,<br />

regardless of the particular<br />

<strong>Oracle</strong> ADF–supported UI client<br />

technology you decide to use.<br />

In the Application Navigator,<br />

begin by double-clicking<br />

EmpView to open the view<br />

object editor. Note that in <strong>Oracle</strong><br />

JDeveloper 11g, the business component<br />

editors appear as tabs within the<br />

main editor area instead of in a modal<br />

dialog box. Select the Attributes category<br />

along the left edge of the editor<br />

page, and select the Deptno attribute in<br />

the table that appears in the Attributes<br />

section near the top of the editor frame.<br />

Find the List of Values: Deptno section<br />

header below, and click the green plussign<br />

icon on the right side of the header<br />

to create a list of values for the Deptno<br />

attribute. When the List of Values dialog<br />

box appears, click the green plus-sign<br />

icon in the List Data Source section to<br />

add a datasource that will supply the<br />

list of valid choices for this attribute’s<br />

value. In the View Accessors dialog box<br />

that appears, select the DeptView view<br />

object in the Available View Objects list<br />

on the left and click the Add Instance<br />

(right-arrow) button to add a new<br />

view accessor named DeptView1 for the<br />

selected view object. Then click OK.<br />

Note that the newly added view accessor<br />

datasource DeptView1 appears in the<br />

List Data Source tree display in the List of<br />

Values dialog box. Expand it, and select<br />

its Deptno attribute. Note that the List<br />

Return Values section updates to show<br />

how attributes in the list datasource will<br />

be assigned to attributes in the base view<br />

object when the user makes a choice<br />

from the list. You won’t need to modify<br />

this section for this example, but note<br />

that you could map additional return<br />

value attributes in your application by<br />

adding to this list.<br />

Before leaving the List of Values dialog<br />

Figure 1: Testing view object with cascading lists of values<br />

box, click the Edit List UI Hints...<br />

button (near the top of the window) to<br />

open the List UI Hints dialog box. These<br />

settings provide information that defines<br />

how the list should appear within the<br />

user interface. Note that the default<br />

list type indicates a Choice List display<br />

style. You will use this default list type<br />

for this simple example, but if you click<br />

the list, you’ll see the other types of list<br />

controls you can use within your own<br />

applications. In the Display Attributes<br />

section, select the Dname attribute from<br />

the Available list and click the Add<br />

(right-arrow) button to add it to the<br />

list of selected attributes. This selection<br />

indicates that you want the user to see<br />

the department name, rather than the<br />

department number, in the list. Finally,<br />

click OK to close the List UI Hints<br />

dialog box and OK again to close the<br />

List of Values dialog box.<br />

Next, let’s configure the list of values<br />

for the Mgr attribute. As before, select<br />

this attribute in the Attributes section of<br />

the view object editor for the EmpView<br />

object. Then click the green plus-sign<br />

icon in the List of Values: Mgr section<br />

header. When the List of Values dialog<br />

box appears, click the green plus-sign<br />

icon in the List Data Source section to<br />

add a new datasource that will supply<br />

the list of valid choices for this attribute’s<br />

value. In the View Accessors dialog box,<br />

select the ManagerListForDepartment<br />

view object from the Available View<br />

Objects list on the left and click the<br />

Add Instance (right-arrow) button to<br />

add a new view accessor named<br />

64 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

ManagerListForDepartment1 for the<br />

selected view object.<br />

Because this view object has<br />

bind variables, you need to configure<br />

how those bind values will get<br />

their values. To do so, make sure<br />

the ManagerListForDepartment1<br />

view accessor is selected and click<br />

the Edit button. In the Edit View<br />

Accessor dialog box, note that the<br />

bind variable names CurrentDept<br />

and CurrentEmp appear in the Bind<br />

Parameter Values section. Check<br />

the Row-level bind values exist<br />

check box and double-click the<br />

Value column for the CurrentEmp<br />

bind variable in the table. You want to<br />

assign the value of this bind variable<br />

to be the value of the Empno attribute<br />

in the current row, so enter the (casesensitive)<br />

expression Empno in this cell.<br />

Similarly, double-click the value column<br />

for the CurrentDept bind variable, and<br />

enter the expression Deptno to assign<br />

this bind variable’s value to the value of<br />

the Deptno attribute in the current row.<br />

Finally, click OK to close the Edit View<br />

Accessor dialog box and OK again to<br />

close the View Accessors dialog box. In<br />

the List of Values dialog box, expand<br />

ManagerListForDepartment1 in the List<br />

Data Source tree and select its Empno<br />

attribute. Then, click Edit UI Hints as<br />

before to configure Ename as the list’s<br />

display attribute. Click OK to close the<br />

List UI Hints dialog box and OK again to<br />

close the List of Values dialog box.<br />

TESTING YOUR LISTS OF VALUES<br />

You can use the enhanced <strong>Oracle</strong><br />

ADF 11g <strong>Oracle</strong> Business Component<br />

Browser to immediately test the LOVs<br />

you’ve just configured. To run the<br />

application module in the <strong>Oracle</strong><br />

Business Component Browser, rightclick<br />

the HRModule component in the<br />

Application Navigator and select Run.<br />

After you click Connect in the dialog<br />

box that appears, the <strong>Oracle</strong> Business<br />

Component Browser will appear.<br />

Double-click the EmpView1 view object<br />

instance to see its data. As shown in<br />

Figure 1, both Mgr and Deptno appear<br />

as lists. If you select the Mgr list, you’ll<br />

notice that the list includes the employ-


ees in the current department (excluding<br />

the current employee) and employees<br />

such as KING who have no manager.<br />

When you navigate to different rows in<br />

the result set, you can see the lists automatically<br />

change to reflect the current<br />

department for the current employee. If<br />

you change an employee’s department<br />

by choosing a different department name<br />

from the list, you’ll notice that when you<br />

select the Mgr list, the set of choices will<br />

automatically update to reflect the<br />

new department.<br />

When you’re done experimenting,<br />

select File -> Exit to exit the <strong>Oracle</strong><br />

Business Component Browser. Because<br />

the <strong>Oracle</strong> Business Component Browser<br />

has been reimplemented in the <strong>Oracle</strong><br />

JDeveloper 11g release with <strong>Oracle</strong> ADF<br />

Swing, this example also serves as a quick<br />

illustration of how <strong>Oracle</strong> ADF Swing<br />

applications can make automatic use of<br />

model-defined LOVs.<br />

USING LISTS OF VALUES IN<br />

JAVASERVER FACES<br />

Now that you’ve configured and tested<br />

the LOVs on the EmpView view object,<br />

let’s see how simple it is to use them in an<br />

Ajax-enabled Web page using JavaServer<br />

Faces (JSF). In the Application Navigator,<br />

expand the ViewController project and<br />

its Web Content folder to display the<br />

project’s Page Flows folder. Inside this<br />

folder, double-click the adfc-config node<br />

to open the page flow diagram. Next, go<br />

to the Component palette and find the<br />

Activities section. In this section, drag<br />

a View component and drop it onto<br />

the page flow diagram. When the new<br />

view appears on the diagram, rename<br />

the component Employees and press<br />

Enter. To create the JSF page for this<br />

view, double-click the icon representing<br />

the new view. When the Create JSF JSP<br />

dialog box appears, click OK to create the<br />

Employees.jspx page, using the default<br />

settings. The new Web page appears in<br />

the visual page designer.<br />

The next step is to drop a data<br />

collection onto the page. First, take<br />

a look at the Application Navigator<br />

and note that the frame is grouped<br />

into several sections, each containing<br />

a titled heading bar and an arrow<br />

to enable you to expand or collapse<br />

the section contents. Below the<br />

Projects section of the Application<br />

Navigator is the Data Controls section.<br />

Expand that section, and then expand<br />

HRModuleDataControl to reveal the<br />

EmpView1 and DeptView1 data collections<br />

it contains. Drag the EmpView1<br />

data collection, and drop it onto the<br />

center of the visual JSF page editor. From<br />

the Create menu, select Forms -> ADF<br />

Form to create an editable form showing<br />

EmpView1 data. In the Edit Form Fields<br />

dialog box that appears, note that the<br />

Component To Use value for both the<br />

Mgr and Deptno attributes is set to ADF<br />

Select One Choice. <strong>Oracle</strong> JDeveloper<br />

selects these UI component values by<br />

default as a result of the List Type UI hint<br />

you configured earlier when defining<br />

the list of values for those two attributes.<br />

Check the Include Navigation Controls<br />

check box, and click OK to create the<br />

form. Note that as expected, both the<br />

Mgr and Deptno fields appear as lists.<br />

On a traditional Web page, when a<br />

user makes a change (such as picking a<br />

department from a list), those changes<br />

don’t take effect until that person clicks<br />

a Submit button to send form results<br />

to a server. However, the <strong>Oracle</strong> ADF<br />

Faces JSF components make it easy to<br />

build more-interactive Web pages. For<br />

example, you can enable the Deptno list<br />

to automatically submit changes to the<br />

server whenever the end user changes its<br />

value, simply by setting its AutoSubmit<br />

property to true. To do this, select<br />

View -> Property Inspector from the<br />

<strong>Oracle</strong> JDeveloper main menu to show<br />

the Property Inspector. Next, select the<br />

Deptno list in the visual editor. In the<br />

Property Inspector window, note that the<br />

properties are grouped into categories<br />

such as Common, Data, Appearance,<br />

Style, and Behavior. Click the Behavior<br />

category, and set the AutoSubmit property<br />

to true.<br />

Because you configured the list of<br />

values for the Mgr attribute to depend<br />

on the current value of the Deptno<br />

attribute, you need to perform two<br />

additional declarative steps to force<br />

the Mgr list to immediately update to<br />

reflect a changed list of managers. The<br />

first step is to assign a unique name to<br />

identify the Deptno list on the page. To<br />

do this, select the Common category in<br />

the Property Inspector, type the name<br />

DeptList in the Id field, and press Enter.<br />

The second step is to configure the Mgr<br />

list to refresh whenever the value of the<br />

Deptno component changes. To perform<br />

this step, select the Mgr list in the visual<br />

editor. Then select the Behavior category<br />

in the Property Inspector, type the same<br />

DeptList name into the PartialTriggers<br />

field, and press Enter.<br />

The online version of this column,<br />

at otn.oracle.com/oramag/oracle/07sep/o57frame.html,<br />

concludes with a<br />

test of the sample application in your<br />

browser and a demonstration of the lists<br />

of values you created.<br />

In this column I’ve shown how, by<br />

using a few declarative settings, you<br />

can configure both simple and cascading<br />

lists of values and use them within<br />

Web pages without writing any code.<br />

This example highlights the first in a<br />

series of new declarative features due<br />

in the <strong>Oracle</strong> JDeveloper/<strong>Oracle</strong> ADF<br />

11g release. In future columns, I’ll<br />

explore many more. For more information<br />

on <strong>Oracle</strong> JDeveloper/<strong>Oracle</strong> ADF<br />

11g new features, see otn.oracle.com/<br />

products/jdev/11. �<br />

Steve Muench is a consulting product manager for<br />

<strong>Oracle</strong> JDeveloper and an <strong>Oracle</strong> ACE. In his more than<br />

17 years at <strong>Oracle</strong>, he has developed and supported<br />

<strong>Oracle</strong> tools and XML technologies and continues to<br />

evangelize them. Muench coauthored the <strong>Oracle</strong> ADF<br />

Developer’s Guide for Forms/4GL Developers (<strong>Oracle</strong>,<br />

2006), and wrote Building <strong>Oracle</strong> XML Applications<br />

(O’Reilly Media, 2000). He shares tips and tricks on<br />

<strong>Oracle</strong> Technology Network (otn.oracle.com) and in his<br />

Dive into ADF blog (radio.weblogs.com/0118231).<br />

READ online-only column content<br />

otn.oracle.com/oramag/oracle/07-sep/<br />

o57frame.html<br />

READ more about <strong>Oracle</strong> JDeveloper<br />

and <strong>Oracle</strong> ADF<br />

otn.oracle.com/products/jdev<br />

otn.oracle.com/products/adf/learnadf.html<br />

DOWNLOAD <strong>Oracle</strong> JDeveloper<br />

otn.oracle.com/products/jdev/11<br />

otn.oracle.com/products/jdev<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 65


‘07 Copyright<br />

Where<br />

You Innovate<br />

November 11–15, <strong>2007</strong> I Moscone Center, San Francisco<br />

<strong>Oracle</strong> OpenWorld is where <strong>Oracle</strong> customers and partners come together<br />

to innovate, collaborate, and connect. Plan now to attend the year’s biggest<br />

technology and business conference, featuring hundreds of sessions, scores<br />

of partners, Keynotes by industry leaders, and exclusive networking events.<br />

Learn. Grow. Succeed. Innovate.<br />

<strong>Oracle</strong> thanks the following sponsors:<br />

MARQUEE INNOVATION DIAMOND<br />

GRANDE ELITE<br />

PLATINUM<br />

© <strong>2007</strong>, <strong>Oracle</strong>. All rights reserved. <strong>Oracle</strong> is a registered trademark of <strong>Oracle</strong> Corporation and/or its affiliates. Other names may be trademarks of their respective owners. 0702894<br />

PREMIER


developerBROWSER-BASED<br />

Express Web 2.0<br />

Create dynamic interfaces that minimize page refresh with <strong>Oracle</strong> Application Express.<br />

he term Web 2.0 refers to a<br />

second generation of Web-based<br />

applications that emphasize<br />

online collaboration, participation,<br />

and interactivity. This includes<br />

social networking sites, wikis, and communication<br />

tools.<br />

For Web application developers, Web<br />

2.0 is also synonymous with technologies<br />

that underpin modern, dynamic,<br />

rich-client Web applications that mimic<br />

personal computer applications and can<br />

improve the user experience in browserbased<br />

applications. These technologies<br />

include Asynchronous JavaScript and<br />

XML (Ajax), partial page refresh (PPR),<br />

Dynamic HTML (DHTML), Flash, and<br />

JavaScript. They enable a Web page to<br />

request an update for some part of its<br />

content and to alter that part in the<br />

browser, without needing to refresh the<br />

whole page. These techniques are not<br />

a replacement for underlying protocols<br />

such as HTTP but an additional layer of<br />

abstraction on top of them.<br />

<strong>Oracle</strong> Application Express is<br />

designed to help facilitate the creation<br />

of Web 2.0 applications. More specifically,<br />

it is designed to take much of the<br />

complexity out of building scalable<br />

dynamic applications by providing a<br />

declarative database-centric framework.<br />

Some Web 2.0 technologies, such<br />

as PPR, Flash, and many JavaScriptenabled<br />

controls, are built into the latest<br />

release of <strong>Oracle</strong> Application Express.<br />

The following are some of the Web<br />

2.0 features and capabilities of <strong>Oracle</strong><br />

Application Express:<br />

���PPR reporting is incorporated into<br />

the report templates so that only the<br />

report changes when the next set of<br />

data is retrieved—no other page components<br />

are refreshed.<br />

���Flash charting enables sophisticated<br />

charting capabilities and display attri-<br />

BY DAVID PEAKE<br />

codeLISTING 1: Code for creating a tooltip structure, including image layout<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

butes, including animations.<br />

���Tooltips enable page elements to<br />

include tooltips—using Ajax—that<br />

are invoked when the mouse moves<br />

over the item.<br />

���Expanding trees are based on hierarchical<br />

elements, such as a company’s<br />

organizational structure, and with Ajax,<br />

they load only the initial hierarchy<br />

and later populate nodes when they<br />

are expanded.<br />

���Detail frames use Ajax to enable the<br />

dynamic display of detail information<br />

within a master report.<br />

���Dynamic menus use Ajax to provide<br />

a context-sensitive list of actions to<br />

the user.<br />

���Cascading select lists narrow the<br />

choices available during the cascade<br />

through subsequent select lists.<br />

For more details on Web 2.0 features<br />

in <strong>Oracle</strong> Application Express, including<br />

sample applications and additional<br />

code snippets, go to otn.oracle.com/<br />

products/database/application_express/<br />

html/web2.0.html.<br />

STEP-BY-STEP INSTRUCTIONS FOR<br />

ADDING TOOLTIPS<br />

The following steps demonstrate how<br />

to integrate Ajax-powered tooltips<br />

into an <strong>Oracle</strong> Application Express<br />

application. The o57browser.zip file, at<br />

otn.oracle.com/oramag/oracle/07-sep,<br />

provides the SQL and the images used<br />

to develop the tooltips in this column.<br />

Step 1. Download and unzip the Aria<br />

employee lookup application from<br />

otn.oracle.com/products/database/<br />

application_express/packaged_apps/<br />

packaged_apps.html, and install it in<br />

your local <strong>Oracle</strong> Application Express<br />

instance or in the public instance at<br />

apex.oracle.com. Select Application<br />

Builder -> Import -> Application, click<br />

Browse, select the aria_people_search_<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 67


BROWSER-BASED<br />

installer-0.91.sql file from the downloaded<br />

application files, and click Next.<br />

Step 2. Download, unzip, and install<br />

the images and JavaScript file from<br />

the o57browser.zip file. Select Shared<br />

Components -> Files -> Images,<br />

click Create, browse to an image file,<br />

select the Aria application from the<br />

Application list, and click Upload.<br />

Repeat the upload process for each<br />

image. To install the aria.js file, select<br />

Shared Components -> Files -> Static<br />

Files, click Create, browse to the aria.js<br />

file, select the Aria application from the<br />

Application list, and click Upload.<br />

Step 3. Add the code to create the tooltip<br />

structure, including the image layout.<br />

In the application builder and the Aria<br />

application, click Page 0 to display the<br />

page definition. In the Regions section,<br />

click the Create (+) icon, and then click<br />

HTML (on two successive screens).<br />

Enter a title, select No Template from<br />

the Region Template list, select After<br />

Header from the Display Point list,<br />

and click Next. Enter the HTML from<br />

Listing 1 as the region source, and click<br />

Create Region.<br />

Step 4. Create an on-demand application<br />

process named Person_Detail.<br />

Select Shared Components -> Logic -><br />

Application Processes, click Create,<br />

enter Person_Detail in the Name field,<br />

select On Demand: Run this application<br />

process when requested by a<br />

page process from the Process Point<br />

list, and click Next. In the Process Text<br />

field, enter aria_detail;, click Next, and<br />

click Create Process.<br />

Step 5. Install the aria_detail procedure<br />

(provided as part of the o57browser.zip<br />

download for this column). Select SQL<br />

Workshop -> SQL Scripts -> Upload,<br />

click Browse, choose the aria_detail.sql<br />

file, and click Upload.<br />

Step 6. Create two application-level<br />

items named TEMP_ID and TEMP_<br />

PAGE_ID, respectively. Select Shared<br />

Components -> Logic -> Application<br />

Items. Click Create, enter the name for<br />

the item, and click Create.<br />

Step 7. Add the following JavaScript<br />

snippet to any element that should<br />

display a person detail, where PERSON_<br />

ID is a valid employee ID:<br />

Figure 1: A tooltip over a name in a list of results<br />

Figure 2: A tooltip over a name in a detail result<br />

onmouseover=<br />

”ARIA_DETAIL(this, ’#PERSON_ID#’)”<br />

For example, to create the tooltip<br />

shown in Figure 1, in the application<br />

builder, click Page 1, click Report (in<br />

the Regions section), click Column<br />

Attributes, and click the icon (edit)<br />

next to the REVERSE_NAME column<br />

alias. Under Column Link, enter the<br />

JavaScript snippet in the Link Attributes<br />

field, and click Apply Changes.<br />

To create the tooltip shown in Figure<br />

2, select Shared Components -> User<br />

Interface -> Templates, and under the<br />

Report Type, click Person_Detail. In<br />

the Row Template 1 text field, replace<br />

<br />

<br />

#MANAGER_NAME#<br />

with<br />

<br />

<br />

#MANAGER_NAME#<br />

Finally, run the application to see<br />

68 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

your tooltips in action. Figure 1 shows<br />

an example tooltip appearing over a<br />

name in a list of results. Figure 2 shows<br />

an example tooltip appearing over a<br />

manager name in a detail result.<br />

CONCLUSION<br />

<strong>Oracle</strong> Application Express is a very<br />

easy-to-use, rapid development tool<br />

optimized for building Web 2.0–enabled<br />

applications. The underlying framework<br />

provides built-in declarative Web 2.0<br />

capabilities and several “hooks” and<br />

APIs to enable developers to readily<br />

incorporate Web 2.0 functionality. �<br />

David Peake (david.peake@oracle.com) is a principal<br />

product manager in <strong>Oracle</strong>’s Server Technologies<br />

division. He has been with <strong>Oracle</strong> since 1993.<br />

READ more about<br />

<strong>Oracle</strong> Application Express<br />

otn.oracle.com/apex<br />

DOWNLOAD<br />

<strong>Oracle</strong> Application Express<br />

otn.oracle.com/products/database/application_<br />

express/download.html<br />

packaged applications<br />

otn.oracle.com/products/database/application_<br />

express/packaged_apps/packaged_apps.html<br />

sample content for tooltips<br />

otn.oracle.com/oramag/oracle/07-sep/o57browser.zip


Add Use PL/SQL Developer<br />

to at work... your business...<br />

...and save time and money<br />

to enjoy yourself<br />

PL/SQL Developer is an <strong>Oracle</strong> development tool that gives you maximum productivity,<br />

ease of use, and all the features you need.<br />

Visit our website for additional details: www.allroundautomations.com/plsqldev


aNew for<br />

<strong>Oracle</strong><br />

Database<br />

11g<br />

ORACLE<br />

PRESS<br />

YOUR DESTINATION FOR ORACLE EXPERTISE<br />

Written by leading <strong>Oracle</strong> professionals, <strong>Oracle</strong> Press books offer the most definitive,<br />

complete, and up-to-date coverage of <strong>Oracle</strong> products and technologies available.<br />

We’ve been the premier source for <strong>Oracle</strong> information for more than a decade, and the<br />

tradition continues with the release of <strong>Oracle</strong> Database 11g.<br />

<strong>Oracle</strong> Database 11g<br />

New Features<br />

Robert G. Freeman<br />

Quickly find out about all the revolutionary<br />

new features available in <strong>Oracle</strong><br />

Database 11g so you can plan for<br />

upgrades or migrations.<br />

AVAILABLE NOVEMBER<br />

aNew for<br />

<strong>Oracle</strong><br />

Database<br />

11g<br />

<strong>Oracle</strong> Database 11g<br />

DBA Handbook<br />

Bob Bryla and Kevin Loney<br />

The bestselling, comprehensive guide<br />

to <strong>Oracle</strong> database administration has<br />

been fully revised and updated for the<br />

new release.<br />

AVAILABLE NOVEMBER<br />

aCovers<br />

<strong>Oracle</strong><br />

Database<br />

10g & 11g<br />

AVAILABLE SOON EVERYWHERE BOOKS ARE SOLD.<br />

Join the <strong>Oracle</strong> Press Community to be the first to hear about new<br />

<strong>Oracle</strong> Press releases and special offers at www.oraclepressbooks.com.<br />

<strong>Oracle</strong> Automatic Storage Management<br />

Concepts & Configuration<br />

Nitin Vengurlekar, Murali Vallath,<br />

and Rich Long<br />

Learn how to implement and manage<br />

robust storage solutions with <strong>Oracle</strong><br />

Automatic Storage Management.<br />

AVAILABLE NOVEMBER<br />

ORIGINAL • AUTHENTIC<br />

ONLY FROM OSBORNE


developerPL/SQL PRACTICES<br />

BY STEVEN FEUERSTEIN<br />

On the PL/SQL Function Result Cache<br />

Best practices—and preparation—for PL/SQL in <strong>Oracle</strong> Database 11g<br />

have been reading that <strong>Oracle</strong> is launching<br />

the 11th release of its database. Very exciting!<br />

But here’s the problem: I don’t think I’ll<br />

be able to use it for another two years. So<br />

why should I even care about the new PL/SQL<br />

features of this future (for me) release?<br />

Ah, yes, the real world. <strong>Oracle</strong><br />

comes out with a new database release,<br />

and by the time it does so, its developers<br />

are already focused on the next new<br />

release. People like me start writing<br />

about, demonstrating, and even training<br />

on the newer release. And then<br />

there’s almost everybody else: still on<br />

older releases, hoping and praying that<br />

someday maybe their management will<br />

see fit to catch up.<br />

I feel your pain.<br />

Having said that, I do think it makes<br />

an awful lot of sense to learn now<br />

about what <strong>Oracle</strong> Database 11g will<br />

have to offer you and your company in<br />

the future. The reason is very simple:<br />

once you see what is going to be available<br />

in <strong>Oracle</strong> Database 11g, you will<br />

probably change the way you write<br />

your code now!<br />

I would say that the single most<br />

important new PL/SQL feature in <strong>Oracle</strong><br />

Database 11g is the PL/SQL function<br />

result cache. Quite a mouthful, but then<br />

it is quite a feature.<br />

I offer in this answer a quick overview<br />

of this feature, and I conclude<br />

by discussing how knowing about this<br />

feature should affect the way you write<br />

PL/SQL programs for earlier <strong>Oracle</strong><br />

Database releases.<br />

Suppose I am on a team that is<br />

building a human resources application.<br />

The employees table is one of<br />

the key structures, holding all the<br />

data for all the employees. Hundreds<br />

of users execute numerous programs<br />

in the application that read from this<br />

table—and read from it very often. Yet<br />

the table changes relatively infrequently,<br />

perhaps once or twice an hour. As a<br />

result, the application code repeatedly<br />

retrieves from the block buffer cache<br />

what is mostly static data, enduring the<br />

overhead of checking to see if the particular<br />

query has already been parsed,<br />

finding the data in the buffer, and<br />

returning it.<br />

The team needs to improve the<br />

performance of querying data from the<br />

employees table. Currently, we use the<br />

following function to return a row from<br />

the employees table:<br />

FUNCTION one_employee (employee_id_in<br />

IN employees.employee_id%TYPE)<br />

RETURN employees%ROWTYPE<br />

IS<br />

l_employee employees%ROWTYPE;<br />

BEGIN<br />

SELECT *<br />

INTO l_employee<br />

FROM employees<br />

WHERE employee_id = employee_id_in;<br />

RETURN l_employee;<br />

EXCEPTION<br />

WHEN NO_DATA_FOUND<br />

THEN<br />

/* Return an empty record. */<br />

RETURN l_employee;<br />

END one_employee;<br />

In <strong>Oracle</strong> Database 11g, however,<br />

we can add a line to the header of this<br />

function as follows:<br />

FUNCTION one_employee (employee_id_in<br />

IN employees.employee_id%TYPE)<br />

RETURN employees%ROWTYPE<br />

RESULT_CACHE RELIES_ON (employees)<br />

IS<br />

l_employee employees%ROWTYPE;<br />

BEGIN<br />

...<br />

This RESULT_CACHE clause tells<br />

<strong>Oracle</strong> Database that it should remember<br />

(store in a special in-memory<br />

result cache) each record retrieved for<br />

a specific employee ID number. And<br />

when a session executes this function<br />

and passes in an employee ID that was<br />

previously stored, the PL/SQL runtime<br />

engine will not execute the function<br />

body, which includes that query.<br />

Instead, it will simply retrieve the<br />

record from the cache and return that<br />

data immediately. The result is much<br />

faster retrieval.<br />

In addition, by specifying RELIES_<br />

ON (employees), we inform <strong>Oracle</strong><br />

Database that if any session commits<br />

changes to that table, any data in the<br />

result cache drawn from the table must<br />

be invalidated. The next call to the one_<br />

employee function would then have to<br />

execute the query and retrieve the data<br />

fresh from the table.<br />

Because the cache is a part of the<br />

System Global Area (SGA), its contents<br />

are available to all sessions connected<br />

to the instance. Furthermore, <strong>Oracle</strong><br />

Database will apply its “least recently<br />

used algorithm” to the cache, to ensure<br />

that the most recently accessed data will<br />

be preserved in the cache.<br />

Prior to <strong>Oracle</strong> Database 11g, a<br />

similar kind of caching was possible<br />

with package-level collections, but this<br />

cache is session-specific and located<br />

in the Process Global Area (PGA).<br />

This means that if I have 1,000 different<br />

sessions running the application, I<br />

could use up an enormous amount of<br />

memory in addition to that consumed<br />

by the SGA.<br />

The PL/SQL function result cache<br />

minimizes the amount of memory<br />

needed to cache and share this data<br />

across all sessions. This low memory<br />

profile, plus the automatic purge of<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 71


PL/SQL PRACTICES<br />

cached results whenever changes are<br />

committed, makes this feature of <strong>Oracle</strong><br />

Database 11g very practical for optimizing<br />

performance in PL/SQL applications.<br />

ANALYZE PERFORMANCE AND PGA<br />

MEMORY IMPACT<br />

To test the improvement in performance<br />

and the impact on PGA memory<br />

over repeated queries of the data, I put<br />

together a set of scripts, available at<br />

otn.oracle.com/oramag/oracle/07-sep/<br />

o57plsql.zip, that compares three<br />

different ways to retrieve a row of<br />

employee data:<br />

1. Execute the query repeatedly<br />

2. Cache all the rows of the employees<br />

table in a packaged collection and then<br />

retrieve the data from that cache<br />

3. Use the PL/SQL function result cache<br />

to avoid repetitive querying<br />

To try this out yourself, unzip the<br />

o57plsql.zip file and run the 11g_<br />

emplu.tst script. It should take about<br />

five or six seconds to complete, and<br />

then you should see results like this:<br />

PGA before tests are run:<br />

session PGA: 910860 bytes<br />

Execute query each time<br />

Elapsed: 4.5 seconds.<br />

session PGA: 910860 bytes<br />

Cache table in PGA memory<br />

Elapsed: .11 seconds.<br />

session PGA: 1041932 bytes<br />

<strong>Oracle</strong> Database 11g result cache<br />

Elapsed: .27 seconds.<br />

session PGA: 1041932 bytes<br />

Here are my conclusions from this<br />

admittedly incomplete analysis:<br />

� The <strong>Oracle</strong> Database 11g PL/SQL function<br />

result cache is, indeed, much faster<br />

than repetitive querying. In this test, it<br />

was over an order of magnitude faster.<br />

� A packaged collection cache is even<br />

faster, most likely because the PL/SQL<br />

runtime engine can access the data<br />

from PGA memory rather than SGA<br />

memory. Unfortunately, this also means<br />

that the consumption of memory<br />

occurs on a per-session basis, which is<br />

not very scalable.<br />

� The packaged collection approach<br />

consumed additional PGA memory, but<br />

the <strong>Oracle</strong> Database 11g function result<br />

cache did not.<br />

And then, of course, there are the<br />

other key advantages of the function<br />

result cache: automatic invalidation of<br />

cache contents when a dependent table<br />

is changed, the fact that the cache is<br />

shared across sessions, and the application<br />

of the least recently used algorithm<br />

to the memory in the cache.<br />

SO WHY SHOULD YOU CARE NOW?<br />

“All right,” you may be saying to yourself,<br />

“It’s cool. Super cool. But I still can’t<br />

use it for two years or more, so what<br />

good does that do me now?”<br />

You may not be able to use the<br />

PL/SQL function result cache yet,<br />

but you can write your code now so<br />

that when you eventually upgrade to<br />

<strong>Oracle</strong> Database 11g, you will be able<br />

to quickly and easily use this cache in<br />

your application code.<br />

In other words, you can and should<br />

prepare now for this future feature.<br />

How do you do that? By placing<br />

all your queries (at least those against<br />

tables that change infrequently but<br />

are queried often) inside functions, so<br />

that you can easily add the RESULT_<br />

CACHE clause.<br />

Think about it: today you probably<br />

don’t do that. Instead, whenever<br />

you need data from the database, you<br />

write the required query, right there in<br />

the application logic you are writing<br />

(whether that logic resides in the back<br />

end—other PL/SQL programs—or the<br />

front end—languages such as Java).<br />

And that same query (or some minor<br />

variation on it) will likely appear in<br />

multiple places in your application<br />

code. Why not? It is so easy to write<br />

those SQL statements; that’s one of the<br />

beauties of PL/SQL. But that ease of use<br />

in executing SQL inside PL/SQL makes<br />

us all take SQL for granted, and when<br />

you upgrade to <strong>Oracle</strong> Database 11g,<br />

you will pay the price.<br />

If after upgrading, you want to take<br />

advantage of RESULT_CACHE, you<br />

will have to find every affected SQL<br />

72 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

statement and either put the RESULT_<br />

CACHE hint inside that query (that’s<br />

right, this feature is available natively<br />

within SQL as well as for functions) or<br />

construct the function, put the query<br />

inside it, find each of the applicable<br />

queries, and replace the query with the<br />

function call.<br />

Certainly both of these approaches<br />

are eminently doable, but they are also<br />

very unlikely to happen. IT managers<br />

are loathe to go into existing, working<br />

production code and upset the applecart<br />

by making lots of changes.<br />

If, conversely, you start right now, in<br />

<strong>Oracle</strong>9i Database or <strong>Oracle</strong> Database<br />

10g, to place your queries inside functions,<br />

you will almost instantly be able<br />

to upgrade your code to use this fantastic<br />

new feature when you upgrade to<br />

<strong>Oracle</strong> Database 11g.<br />

And, best of all, the application code<br />

that calls the function will not have to<br />

be changed at all! Your manager will be<br />

very impressed.<br />

And that is why you should learn<br />

about the new features of <strong>Oracle</strong><br />

Database 11g. Today. �<br />

Steven Feuerstein (steven.feuerstein@quest.com) is<br />

Quest Software’s PL/SQL evangelist. He has published<br />

10 books on <strong>Oracle</strong>’s programming language, including<br />

<strong>Oracle</strong> PL/SQL Programming and <strong>Oracle</strong> PL/SQL Best<br />

Practices (O’Reilly Media). Feuerstein’s self-appointed<br />

mission in life these days is to improve the quality and<br />

quantity of PL/SQL code testing.<br />

READ more about<br />

PL/SQL function result cache<br />

otn.oracle.com/oramag/oracle/07-sep/<br />

o57asktom.html<br />

otn.oracle.com/documentation<br />

READ more<br />

Best Practice PL/SQL<br />

otn.oracle.com/pub/columns/plsql<br />

PL/SQL Practices<br />

otn.oracle.com/oramag/oracle/plsql<br />

DOWNLOAD<br />

<strong>Oracle</strong> Database 11g<br />

otn.oracle.com/database<br />

test scripts for comparing row<br />

retrieval speed<br />

otn.oracle.com/oramag/oracle/07-sep/o57plsql.zip


TIM WEBB<br />

technologyPARTITIONING<br />

More Partitioning Choices<br />

Learn when and how to use new partitioning schemes in <strong>Oracle</strong> Database 11g.<br />

he July/August 2006 issue of<br />

<strong>Oracle</strong> <strong>Magazine</strong> included an<br />

article I wrote on the various types<br />

of database partitioning and how<br />

to choose a partitioning strategy to meet<br />

your specific requirements. In <strong>Oracle</strong><br />

Database 11g, the partitioning schemes<br />

have been greatly expanded to offer more<br />

functionality, including the<br />

ability to define new composite<br />

partitioning, choose<br />

a partition interval, specify<br />

a foreign key to inherit the<br />

partitioning key of its parent<br />

table, and partition on<br />

virtual columns.<br />

REFERENTIAL PARTITIONING<br />

Consider a hypothetical<br />

company, Acme Hotels, for<br />

which you are building a<br />

hotel reservation system.<br />

One core table, named<br />

RES, stores the reservation<br />

information. Here are the<br />

columns of the RES table:<br />

RES_ID NUMBER<br />

RES_DATE DATE<br />

HOTEL_ID NUMBER(3)<br />

GUEST_ID NUMBER<br />

The res_id, res_date, hotel_id, and<br />

guest_id columns refer to a unique ID<br />

number for the reservation, the date for<br />

which the reservation was made, the<br />

unique ID of the hotel for which the<br />

reservation was made, and the unique<br />

identifier of the guest who made the<br />

reservation, respectively. Because most<br />

users query on the res_date column and<br />

it is also used to identify records for partitioning,<br />

you decide to range-partition<br />

the table on that column with a partition<br />

per quarter, as shown in Listing 1.<br />

Next, you want to create a table to<br />

hold the transactions resulting from the<br />

reservations. The table, called TRANS,<br />

looks like this:<br />

TRANS_ID NUMBER<br />

RES_ID NUMBER<br />

TRANS_DATE DATE<br />

AMT NUMBER<br />

There can be many transactions for<br />

a specific reservation, and each record<br />

is uniquely identified by a trans_id.<br />

Because TRANS is a child table of RES,<br />

there is a foreign key on the TRANS.res_<br />

id column, pointing to the RES table.<br />

Because the TRANS table has the same<br />

archival requirements as the RES table,<br />

you want to partition it in exactly the<br />

same way—range-partition on res_date,<br />

with one partition per quarter.<br />

But there is a problem: the TRANS<br />

table does not have a res_date column,<br />

so how can you partition on a column<br />

that does not exist?<br />

Enter <strong>Oracle</strong> Database 11g.<br />

<strong>Oracle</strong> Database 11g provides a very<br />

useful new feature: referential partition-<br />

BY ARUP NANDA<br />

ing. So instead of adding a res_date<br />

column to the TRANS table and specifying<br />

the partitioning clause, as you did for<br />

RES in Listing 1, you can specify a simple<br />

PARTITION BY REFERENCE clause in<br />

<strong>Oracle</strong> Database 11g, as shown in Listing<br />

2. You must pass the foreign key constraint<br />

name as an argument that tells<br />

how the references are established.<br />

For instance, in this<br />

case, you are creating referential<br />

partitions on TRANS,<br />

referencing the foreign key<br />

as FK_TRANS_01, which<br />

points to the parent table<br />

RES. The TRANS table will<br />

inherit the partitioning<br />

strategy of the RES table,<br />

even though the partitioning<br />

column is not present<br />

in TRANS. Referential<br />

partitioning essentially<br />

instructs <strong>Oracle</strong> Database to<br />

equipartition the child table<br />

(TRANS, in this example) in<br />

exactly the same way as the<br />

parent table (RES).<br />

You can see how the<br />

referential partitioning has been set up,<br />

by querying the USER_PART_TABLES<br />

dictionary view, as shown in Listing 3.<br />

The partitioning_type column shows<br />

the type of partitioning scheme; in<br />

Listing 3, the type is REFERENCE, and<br />

the ref_ptn_constraint_name column<br />

shows the foreign key constraint name,<br />

FK_TRANS_01, when the partition<br />

type is REFERENCE.<br />

To check the boundaries of the<br />

partitions, query the USER_TAB_<br />

PARTITIONS dictionary view, as shown<br />

in Listing 4. Note that the boundaries of<br />

the partitions of the TRANS child table,<br />

shown in the HIGH_VALUE column,<br />

are all null. This indicates that the<br />

boundaries are the same as those of the<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 73


PARTITIONING<br />

partitions of the RES parent table and<br />

are not independently defined.<br />

With referential partitioning, you can<br />

partition any child table in the same way<br />

as its parent to improve performance<br />

and meet archival requirements, even<br />

though the partition key column is not<br />

present in any of the child tables.<br />

Suppose you purge the RES table by<br />

dropping partitions. All the child tables<br />

are consequently purged as well, automatically.<br />

When you add a partition to<br />

the parent, a corresponding partition is<br />

added to the child table, automatically.<br />

Similarly, when you split the PM partition<br />

of the RES table to carve out a new<br />

partition, the PM partition of the TRANS<br />

table is also split into two partitions, at<br />

exactly the same point. Here is how you<br />

can split the PM partition of the RES<br />

table at the value 401:<br />

alter table res<br />

split partition pm<br />

at (401)<br />

into (partition p4, partition pm);<br />

Now if you query the partitions of<br />

the TRANS table, the child, you see<br />

select partition_name<br />

from user_tab_partitions<br />

where table_name = ‘TRANS’;<br />

PARTITION_NAME<br />

–––––––––––––––––– – –––– –––––––<br />

P1<br />

P2<br />

P3<br />

P4<br />

SYS_P45<br />

Note the new partition, SYS_P45,<br />

which was created when the PM partition<br />

was split. (The SYS_P45 name<br />

comes from a sequence number prefixed<br />

by SYS_P.) You may want to change its<br />

name to be consistent with the naming<br />

of the PM partition in RES. To rename it,<br />

use the following SQL:<br />

alter table trans rename partition<br />

SYS_P45 to PM;<br />

Note that if the child table had any<br />

codeLISTING 1: Creation of RES table<br />

create table res (<br />

res_id number primary key not null,<br />

res_date date,<br />

hotel_id number(3),<br />

guest_id number<br />

)<br />

partition by range (res_date) (<br />

partition p1 values less than (to_date(‘01/01/<strong>2007</strong>’,’mm/dd/yyyy’)),<br />

partition p2 values less than (to_date(‘04/01/<strong>2007</strong>’,’mm/dd/yyyy’)),<br />

partition p3 values less than (to_date(‘07/01/<strong>2007</strong>’,’mm/dd/yyyy’)),<br />

partition p4 values less than (to_date(‘10/01/<strong>2007</strong>’,’mm/dd/yyyy’)),<br />

partition pm values less than (maxvalue)<br />

);<br />

create table trans (<br />

trans_id number not null,<br />

res_id number not null,<br />

trans_date date not null,<br />

amt number,<br />

constraint fk_trans_01<br />

foreign key (res_id)<br />

references res<br />

)<br />

partition by reference<br />

(fk_trans_01);<br />

74 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

codeLISTING 2: Creating TRANS table, using reference partitioning<br />

codeLISTING 3: Checking for foreign key in reference partitioning<br />

SQL> select table_name, partitioning_type, ref_ptn_constraint_name<br />

2 from user_part_tables<br />

3 where table_name in (‘RES’, ’TRANS’);<br />

TABLE_NAME PARTITIONING_TYPE REF_PTN_CONSTRAINT_NAME<br />

–––––––––––––––––– – –––– –––––––––––––––––––––––––––––––––––– –––––––––––––––––––––––––––––––––––––––––––––––––––<br />

RES RANGE<br />

TRANS REFERENCE FK_TRANS_01<br />

locally partitioned indexes, their corresponding<br />

partitions would have been<br />

split as well. When you drop or split<br />

partitions on the parent, the operations<br />

are performed on the corresponding<br />

partitions on the child. If the parent has<br />

multiple referentially partitioned child<br />

tables, the operations are performed<br />

automatically on all of them. Referential<br />

partitioning enables you to define an<br />

appropriate partitioning strategy for the<br />

parent table while leaving the details out<br />

for the child tables. This not only simplifies<br />

the administration of partitioned<br />

objects significantly but also allows equipartitioning<br />

even when it is not desirable<br />

to include the partition key columns<br />

in the child table—or even possible to<br />

include them, such as with prepackaged<br />

applications where adding an extra<br />

column in a table is not allowed.<br />

INTERVAL PARTITIONING<br />

What happens when an incoming record<br />

in an INSERT statement has a value<br />

in the partitioning key column, for<br />

which no partitions have been defined?<br />

The INSERT will fail. However, if you<br />

have defined a default partition by, for<br />

example, using the MAXVALUE clause<br />

in a range-partition scheme (as shown in<br />

Listing 1) or the DEFAULT partition for<br />

a list-partitioned table, the INSERT will<br />

not fail but the new record will go into<br />

the default partition, which defeats the<br />

purpose of partitioning. So you have to<br />

ensure that you have a partition available<br />

for all possible records coming into<br />

the table; you have to carefully identify<br />

all possible values and then create partitions<br />

for all of them before the actual<br />

data arrives. For instance, suppose that<br />

the RES table is partitioned on the res_


id column with partitions defined on<br />

value ranges 1–100, 101–200, and 201–<br />

300, so that you have defined partitions<br />

up to res_id = 300. You can monitor the<br />

maximum res_id column value, and just<br />

before it approaches 300, you can create<br />

a new p4 partition for values 301–400.<br />

This task may be easier said than<br />

done. If you forget to add the partition,<br />

the new record with res_id = 301 will<br />

either fail to insert or go into the default<br />

partition, if you have defined one.<br />

Wouldn’t it be great if the partitions were<br />

somehow created automatically?<br />

<strong>Oracle</strong> Database 11g can do exactly<br />

that: create partitions automatically as<br />

needed without your intervention. To<br />

accomplish this, implement an interval<br />

partitioning method, as follows:<br />

create table res (<br />

res_id number not null,<br />

res_date date,<br />

hotel_id number(3),<br />

guest_id number<br />

)<br />

partition by range (res_id)<br />

interval (100) store in (users)<br />

(<br />

partition p1 values less than (101)<br />

);<br />

This script creates a partition named<br />

p1 for records in which the value of<br />

the res_id column is 1–100. When<br />

records with a res_id value of less<br />

than 101 are inserted, they go into the<br />

p1 partition, but when a new record<br />

shows up with a res_id value equal to<br />

or greater than 101, <strong>Oracle</strong> Database<br />

11g creates a new partition for it with a<br />

system-generated name. For instance,<br />

suppose you insert a record that has a<br />

res_id value of 901, as follows:<br />

insert into res values (901,sysdate,1,1);<br />

Now check the partitions defined on<br />

the table by executing the query shown<br />

in Listing 5. Note how the partition<br />

SYS_P82 was created automatically to<br />

hold the new 901 value, which was not<br />

within the boundary value of the P1 partition.<br />

At this time, if you insert another<br />

record with a res_id value of 301, the<br />

codeLISTING 4: Checking partitions of tables<br />

SQL> select table_name, partition_name, high_value<br />

2 from user_tab_partitions<br />

3 where table_name in (‘RES’, ’TRANS’);<br />

TABLE_NAME PARTITION_NAME HIGH_VALUE<br />

–––––––––––––––––– – –––– ––––––––––––––– ––––––––––––––––– ––––––––––––– ––––––––––––––––––––––––––––––<br />

RES P1 TO_DATE(‘ <strong>2007</strong>-01-01 00:00:00’, ‘SYYYY-M<br />

M-DD HH24:MI:SS’, ‘NLS_CALENDAR=GREGORIA<br />

RES P2 TO_DATE(‘ <strong>2007</strong>-04-01 00:00:00’, ‘SYYYY-M<br />

M-DD HH24:MI:SS’, ‘NLS_CALENDAR=GREGORIA<br />

RES P3 TO_DATE(‘ <strong>2007</strong>-07-01 00:00:00’, ‘SYYYY-M<br />

M-DD HH24:MI:SS’, ‘NLS_CALENDAR=GREGORIA<br />

RES P4 TO_DATE(‘ <strong>2007</strong>-10-01 00:00:00’, ‘SYYYY-M<br />

M-DD HH24:MI:SS’, ‘NLS_CALENDAR=GREGORIA<br />

RES PM MAXVALUE<br />

TRANS P1<br />

TRANS P2<br />

TRANS P3<br />

TRANS P4<br />

TRANS PM<br />

codeLISTING 5: Checking partitions generated in interval partitioning<br />

SQL> select partition_position, partition_name, high_value<br />

2 from user_tab_partitions<br />

3 where table_name = ‘RES’<br />

4 order by 1;<br />

PARTITION_POSITION PARTITION_NAME HIGH_VALUE<br />

–––––––––––––––––– – –––– ––––––––––––––– ––––––––––––––––– ––––––––––––– ––––––––––––––––––––––––––––––<br />

1 P1 101<br />

2 SYS_P82 1001<br />

The result of the same query after inserting res_id = 301:<br />

PARTITION_POSITION PARTITION_NAME HIGH_VALUE<br />

–––––––––––––––––– – –––– ––––––––––––––– ––––––––––––––––– ––––––––––––– ––––––––––––––––––––––––––––––<br />

1 P1 101<br />

2 SYS_P83 401<br />

3 SYS_P82 1001<br />

partition SYS_P82 is split in two, as<br />

shown in the output at the bottom half<br />

of Listing 5.<br />

You may want to address partitions<br />

by name, such as when you are truncating<br />

a specific partition. Given that the<br />

partition names are generated at runtime<br />

and you don’t know them in advance,<br />

how can you address the specific partition<br />

of the table? For instance, suppose<br />

you want to truncate the partition that<br />

contains the value 901 as the res_id<br />

but you don’t know the name of the<br />

partition. One way to find the partition<br />

name is to query the USER_TAB_<br />

PARTITIONS data dictionary view,<br />

as shown in Listings 4 and 5, but an<br />

easier way is to use the expanded partition<br />

access syntax in <strong>Oracle</strong> Database<br />

11g. You can truncate that partition by<br />

issuing the following SQL:<br />

alter table res truncate partition<br />

for (901);<br />

You can use the FOR (value) syntax<br />

in any direct partition access SQL statement<br />

for any kind of partitioned table,<br />

not only for interval-partitioned tables.<br />

In interval partitioning, the first partition<br />

you specify in the table creation<br />

script is created in the default tablespace<br />

of the user but the subsequent partitions<br />

are created in the default tablespace of<br />

the database, not that of the user. Even<br />

if you change the attributes of the table<br />

to change the default tablespace, the<br />

new partitions still go into the default<br />

tablespace of the database. To force them<br />

to go to different tablespaces, you have<br />

to specify an additional clause at table<br />

creation time. To specify the RESDATA1<br />

and RESDATA2 tablespaces as the loca-<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 75


PARTITIONING<br />

tions for all new partitions, include the<br />

STORE IN clause after the INTERVAL<br />

clause, as follows:<br />

interval (100) store in (resdata1,resdata2)<br />

Now the new partitions will be<br />

spread over these two tablespaces in a<br />

round-robin manner.<br />

You can also use a time stamp as the<br />

partitioning interval. This comes in handy<br />

for creating a table containing date ranges<br />

and a partition for each month of records.<br />

To accomplish that, write the INTERVAL<br />

clause as follows:<br />

interval (numtoyminterval(1, ’MONTH’))<br />

EXPANDED COMPOSITE PARTITIONING<br />

In my earlier partitioning article, I showed<br />

another important feature: composite partitioning.<br />

A composite partition is a partition<br />

further broken up into subpartitions.<br />

Up through <strong>Oracle</strong> Database 10g Release<br />

2, you could divide only range partitions<br />

into hash or list subpartitions. Although<br />

this was adequate for most partitioning,<br />

some situations could really benefit<br />

from a range subpartition. For instance,<br />

consider the example of the hotel reservations<br />

table (RES) you saw earlier.<br />

Suppose the hotel ID shows the type of<br />

hotel: values 1–100 are for 5-star hotels,<br />

values 101–200 indicate 4-star hotels,<br />

and so on. Because a comparative revenue<br />

analysis is usually done within the same<br />

star rating, users tend to select the data<br />

for a specific range of hotel IDs, such as<br />

1–100 only. Therefore, it makes a lot of<br />

sense to range-partition the RES table on<br />

the hotel_id column. However, users also<br />

tend to select the most recent data and<br />

you may want to store the older data on<br />

cheaper disks to save storage costs. So a<br />

perfectly valid competing argument may<br />

be to range-partition the table on the<br />

res_date column. Both are attractive alternatives—which<br />

one should you choose?<br />

Why not both? In <strong>Oracle</strong> Database<br />

11g, you can create—in addition to<br />

already available range-hash and rangelist<br />

composite partitioning—the following:<br />

range-range, list-range, list-hash,<br />

and list-list composite partitioning. In<br />

this example, you can create range parti-<br />

codeLISTING 6: Range-range composite subpartitioning<br />

create table res (<br />

res_id number not null,<br />

res_date date,<br />

hotel_id number(3),<br />

guest_id number<br />

)<br />

partition by range (res_date)<br />

interval (numtoyminterval(1,’MONTH’)) store in (example)<br />

subpartition by range (hotel_id)<br />

subpartition template<br />

(<br />

subpartition s1 values less than (101),<br />

subpartition s2 values less than (201),<br />

subpartition s3 values less than (301),<br />

subpartition s4 values less than (401),<br />

subpartition sm values less than (maxvalue)<br />

)<br />

(<br />

partition p1 values less than (to_date(‘01-FEB-<strong>2007</strong>’,’DD-MON-YYYY’))<br />

);<br />

tions on res_date and then create a range<br />

subpartition on the hotel_id column,<br />

as shown in Listing 6. Note that I have<br />

deliberately chosen an interval scheme<br />

for the partitioning. I could have chosen<br />

explicit partition names and high values<br />

as well, but I wanted to show how you<br />

can use interval partitioning to ease<br />

maintenance. I could instead have chosen<br />

to reverse the order of partitioning—I<br />

could have partitioned on hotel_id and<br />

then subpartitioned on res_date. To find<br />

the subpartitions created, you can select<br />

from the USER_TAB_SUBPARTITIONS<br />

data dictionary view, as follows:<br />

SQL> select partition_name,<br />

2 subpartition_name<br />

3 from user_tab_subpartitions<br />

4 where table_name = ‘RES’;<br />

PARTITION_NAME SUBPARTITION_NAME<br />

–––––––––––––––––– – –––– ––––––– ––––––––––––––––– ––––––––––––––––––––––<br />

P1 P1_SM<br />

P1 P1_S4<br />

P1 P1_S3<br />

P1 P1_S2<br />

P1 P1_S1<br />

SYS_P106 SYS_SUBP105<br />

SYS_P106 SYS_SUBP104<br />

SYS_P106 SYS_SUBP103<br />

SYS_P106 SYS_SUBP102<br />

SYS_P106 SYS_SUBP101<br />

The online version of this article, at<br />

otn.oracle.com/oramag/oracle/07-sep/<br />

o57partition.html, includes information<br />

76 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

on partitioning with new virtual columns<br />

available in <strong>Oracle</strong> Database 11g.<br />

CONCLUSION<br />

Partitioning is a powerful feature in<br />

modern database design that enables<br />

easier database administration with no<br />

change in logical design. In most cases, it<br />

helps accomplish the seemingly contradictory<br />

objectives of fine-grained storage,<br />

backup, archival, and retrieval—all<br />

with no application changes. In <strong>Oracle</strong><br />

Database 11g, the partitioning option is<br />

further enhanced with the introduction<br />

of referential and interval partitioning,<br />

extended composite partitioning, and<br />

partitioning on virtual columns to offer a<br />

compelling reason to include partitioning<br />

in your physical database design. �<br />

Arup Nanda (arup@proligence.com) has been an<br />

<strong>Oracle</strong> DBA for more than 12 years, handling all<br />

aspects of database administration, from performance<br />

tuning to security and disaster recovery. He was <strong>Oracle</strong><br />

<strong>Magazine</strong>’s DBA of the Year in 2003.<br />

READ online-only article content<br />

otn.oracle.com/oramag/oracle/07-sep/<br />

o57partition.html<br />

READ more about partitioning<br />

otn.oracle.com/documentation<br />

“Partition Decisions”<br />

otn.oracle.com/oramag/oracle/06-sep/<br />

o56partition.html<br />

DOWNLOAD <strong>Oracle</strong> Database 11g<br />

otn.oracle.com/database


JOSEF GAST<br />

technologySTORAGE<br />

BY JONATHAN GENNICK<br />

Faster, Safer, and Smaller LOBs<br />

<strong>Oracle</strong> SecureFiles provides increased performance, better security, and reduced disk usage.<br />

any organizations today face<br />

the challenge of an explosion<br />

in the amount of unstructured,<br />

often file-based data<br />

that must be managed in conjunction<br />

with the more-structured data typically<br />

associated with relational databases.<br />

Banking applications store check<br />

images for cleared checks,<br />

healthcare applications<br />

store digital images from<br />

X-rays and CAT scans,<br />

geospatial systems store<br />

satellite imagery, enterprise<br />

resource planning systems<br />

store invoice images, and<br />

the list goes on.<br />

<strong>Oracle</strong> Database 11g<br />

makes significant strides<br />

in addressing the problem<br />

of unstructured data, by<br />

introducing a completely<br />

new storage infrastructure<br />

for data that today is often<br />

left in file systems. This<br />

new infrastructure is called<br />

<strong>Oracle</strong> SecureFiles, and<br />

it is a complete, drop-in<br />

replacement of <strong>Oracle</strong>’s previous largeobject<br />

(LOB) infrastructure (now called<br />

BasicFiles). Every facet of the <strong>Oracle</strong><br />

SecureFiles LOB architecture, from disk<br />

format to network protocol to redo and<br />

undo algorithms, has been rethought<br />

and reimplemented to<br />

��Improve performance<br />

��Improve security<br />

��Reduce disk usage<br />

Suppose you’re migrating digital<br />

assets from databases and file systems<br />

and developing a more-complete digital<br />

asset management system such as one<br />

a magazine publisher might use. Your<br />

system must manage article drafts<br />

and the workflow involved in writing,<br />

editing, revising, and publishing that<br />

content. This article describes how to set<br />

up and configure <strong>Oracle</strong> SecureFiles and<br />

how to migrate sample content for this<br />

digital asset management system.<br />

CONFIGURING YOUR INSTANCE<br />

After installing <strong>Oracle</strong> Database 11g and<br />

before using <strong>Oracle</strong> SecureFiles, check<br />

the setting of the new <strong>Oracle</strong> Database<br />

11g db_securefile initialization parameter.<br />

The default setting is<br />

db_securefile = permitted<br />

This setting makes BasicFiles, not<br />

SecureFiles, the default storage approach<br />

for any new LOB columns you create<br />

while enabling you to explicitly specify<br />

SecureFiles when needed. (BasicFiles is<br />

also the LOB architecture in previous<br />

database releases.) Other settings give<br />

you various options for forcing the use<br />

of one or the other storage type. For<br />

example, you can set db_securefile =<br />

force to ensure that all LOBs are created<br />

as SecureFiles even when the creating<br />

user explicitly specifies otherwise. You<br />

should be aware of which db_securefile<br />

setting is in effect for your database.<br />

CREATING TABLESPACES<br />

Any tablespaces you plan to use with<br />

<strong>Oracle</strong> SecureFiles need to be configured<br />

for automatic segment space management<br />

(ASSM). The key here is to<br />

specify SEGMENT SPACE<br />

MANAGEMENT AUTO<br />

when creating your LOB<br />

tablespaces. The following<br />

creates the ARTICLE_LOBS<br />

tablespace for this article:<br />

CREATE TABLESPACE<br />

article_lobs<br />

DATAFILE ‘H:\APP\<br />

JONATHAN\ORADATA\ORCL\<br />

ARTICLE_LOBS.DBF’<br />

SIZE 5M<br />

EXTENT MANAGEMENT LOCAL<br />

SEGMENT SPACE<br />

MANAGEMENT AUTO;<br />

If you are following<br />

along with this article’s<br />

example, be sure to give yourself adequate<br />

quota on the ARTICLE_LOBS tablespace.<br />

You’ll also need to adjust the datafile path<br />

to something appropriate for your system.<br />

SETTING UP FOR ENCRYPTION<br />

<strong>Oracle</strong> SecureFiles provides optional<br />

transparent data encryption of LOBs.<br />

Transparent data encryption protects<br />

LOB data from unauthorized users who<br />

might somehow gain access to a datafile.<br />

This encryption is completely transparent<br />

to end users and applications.<br />

If you plan to use encryption with<br />

<strong>Oracle</strong> SecureFiles, you’ll need to create<br />

a transparent data encryption wallet to<br />

hold the encryption key. First, create<br />

a directory to contain the wallet. You<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 77


STORAGE<br />

can place that directory underneath<br />

$ORACLE_HOME. For example<br />

mkdir H:\app\Jonathan\product\11.1.0\<br />

db_1\wallet<br />

Next, add an ENCRYPTION_<br />

WALLET_LOCATION setting to your<br />

sqlnet.ora file. You’ll find sqlnet.ora<br />

in $ORACLE_HOME/network/admin.<br />

Following is the setting corresponding<br />

to the directory just created:<br />

ENCRYPTION_WALLET_LOCATION=<br />

(SOURCE=(METHOD=FILE)(METHOD_DATA=<br />

(DIRECTORY= H:\app\Jonathan\product\<br />

11.1.0\db_1\wallet)))<br />

Be certain to include the<br />

ENCRYPTION_WALLET_LOCATION<br />

setting in sqlnet.ora as one long line.<br />

And again, if you are following along<br />

with this article’s example, you’ll need to<br />

adjust the wallet directory to something<br />

appropriate for your own system.<br />

Finally, set an encryption key:<br />

ALTER SYSTEM SET ENCRYPTION KEY<br />

AUTHENTICATED BY “My secret key”;<br />

With this setting, your <strong>Oracle</strong><br />

Database instance will generate an<br />

encryption key and place it in the<br />

wallet. The wallet is then protected by<br />

the password “My secret key.”<br />

CREATING SECUREFILE LOBS<br />

Creating an <strong>Oracle</strong> SecureFiles LOB<br />

can be as simple as specifying STORE<br />

AS SECUREFILE in the LOB storage<br />

clause of a CREATE TABLE or ALTER<br />

TABLE statement. (Be sure to assign<br />

your SecureFiles LOBs to appropriate,<br />

ASSM-enabled tablespaces.) Listing 1<br />

creates the article_draft_redef table,<br />

with a single, SecureFiles LOB column<br />

named article_content. Data for that<br />

LOB is assigned to the ARTICLE_LOBS<br />

tablespace (created earlier in this<br />

article). Each row in the table contains a<br />

magazine article at a specific stage in the<br />

writing/editing/revising cycle.<br />

Listing 1 shows some of the options<br />

available when creating a new LOB.<br />

RETENTION MIN 3600 ensures<br />

codeLISTING 1: Creating an <strong>Oracle</strong> SecureFiles LOB<br />

CREATE TABLE article_draft_redef (<br />

article_id NUMBER,<br />

article_stage VARCHAR(10),<br />

article_content BLOB,<br />

CONSTRAINT article_stage_check_b<br />

CHECK (article_stage IN (<br />

‘1st Draft’, ‘Edit Pass’, ‘2nd Draft’,<br />

‘Copyedit’, ‘Review’, ‘Final’)),<br />

CONSTRAINT article_draft_pk_b<br />

PRIMARY KEY (article_id)<br />

)<br />

LOB (article_content) STORE AS SECUREFILE<br />

article_content (<br />

TABLESPACE article_lobs<br />

RETENTION MIN 3600<br />

KEEP_DUPLICATES NOCOMPRESS DECRYPT<br />

CACHE READS);<br />

that at least one hour (60 minutes x 60<br />

seconds/minute = 3,600) of undo data<br />

is retained for the LOB column. This<br />

ability to specify a minimum retention<br />

time is helpful for running your database<br />

in flashback mode. The default is<br />

RETENTION AUTO, which retains only<br />

enough undo to satisfy consistent read<br />

requests while a transaction is in progress.<br />

You can also specify a maximum<br />

retention in bytes or no retention at all.<br />

See the <strong>Oracle</strong> SQL Reference for details<br />

on the syntax for retention.<br />

KEEP_DUPLICATES,<br />

NOCOMPRESS, and DECRYPT explicitly<br />

disable deduplication, compression,<br />

and encryption. I’ll come back to these<br />

options later in the article. In real life,<br />

you would likely enable one or more of<br />

them from the beginning.<br />

CACHE READS causes LOB data to<br />

be placed into the buffer cache during<br />

read operations but not during write<br />

operations. You gain improved read performance<br />

here at the price of potentially<br />

crowding other data out of the buffer<br />

cache. NOCACHE specifies the default<br />

behavior, which is never to bring a<br />

LOB’s data into the buffer cache.<br />

I’ve created the article_draft_redef<br />

table in Listing 1 to migrate a table that<br />

uses the older BasicFiles to the newer<br />

SecureFiles storage method. To follow<br />

along with the migration, download the<br />

o57securefiles.zip file referenced under<br />

“nextSTEPS” at the end of this article,<br />

unzip that file, and follow the instructions<br />

in readme.txt to create the original<br />

78 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

table named article_draft that I will be<br />

migrating. The logical column structure<br />

of article_draft is exactly the same as<br />

that of article_draft_redef.<br />

The article_draft table contains existing<br />

LOB data stored with BasicFiles.<br />

I’ll assume that that data is in use by<br />

running applications and that I want<br />

to migrate that data from BasicFiles<br />

to SecureFiles. The article_draft_redef<br />

table, with its SecureFiles LOB column,<br />

represents the destination of the<br />

article_draft table data. (Bonus! There is<br />

even a real article for you to read in the<br />

example data.)<br />

PLANNING A MIGRATION<br />

Because <strong>Oracle</strong> SecureFiles represents a<br />

completely new way of writing LOB data<br />

to the database, the only way to migrate<br />

LOB data from BasicFiles to SecureFiles<br />

is essentially to rewrite the data by recreating<br />

or redefining the tables containing<br />

BasicFiles columns. If you can afford<br />

to take your data offline, you can simply<br />

select data from your old table and<br />

insert it into the new one. Begin with a<br />

statement such as<br />

INSERT INTO article_draft_redef<br />

SELECT article_id,<br />

article_stage,<br />

article_content<br />

FROM article_draft;<br />

Follow this INSERT with a DROP<br />

and a RENAME to make the new table<br />

take the place of the old one:


DROP TABLE article_draft;<br />

RENAME article_draft_redef<br />

TO article_draft;<br />

There’s really no need to take your<br />

data offline, though. Instead, consider<br />

using the online table redefinition<br />

feature introduced in <strong>Oracle</strong>9i Database<br />

Release 1. Listing 2 shows a PL/SQL<br />

block that migrates the article_draft<br />

table to the structure indicated by the<br />

article_draft_redef table. Online table<br />

definition is very easy to do, and it<br />

makes the migration transparent to<br />

users and applications, because the<br />

table being migrated remains available<br />

the entire time.<br />

If your LOB table happens to be<br />

partitioned, another approach to consider<br />

is partition exchange. You can<br />

specify LOB storage on a perpartition<br />

basis, giving you the option<br />

of migrating one partition at a time<br />

from BasicFiles to SecureFiles. Use the<br />

URL under “nextSTEPS” to go to Arup<br />

Nanda’s article on partitioning features,<br />

“Partition Decisions,” where you will<br />

find an example showing how partition<br />

exchange is done.<br />

Be sure you have enough tablespace<br />

and disk space set aside to support<br />

whatever migration method you<br />

choose. For the online redefinition<br />

approach, you’ll need enough space<br />

for two complete copies of your data<br />

to coexist. Partition exchange requires<br />

only enough disk space to hold two<br />

copies of whichever partition you are<br />

exchanging. Bear in mind that one<br />

downside of partition exchange is that<br />

the partition being swapped needs to<br />

be briefly taken offline. In the end,<br />

you’ll have to weigh the different<br />

approaches and their trade-offs and<br />

choose the approach that works best in<br />

your own situation.<br />

CONFIRMING MIGRATION<br />

You can confirm the SecureFiles status<br />

of a given LOB column by checking<br />

that column’s segment subtype. For<br />

example, execute the following to<br />

confirm that article_content is now a<br />

SecureFiles LOB:<br />

codeLISTING 2: Migrating by online redefinition<br />

DECLARE<br />

error_counter PLS_INTEGER;<br />

BEGIN<br />

--Begin the redefinition process<br />

DBMS_REDEFINITION.START_REDEF_TABLE (<br />

‘gennick’, ’article_draft’, ’article_draft_redef’,<br />

‘article_id, article_stage, article_content’);<br />

--Finish the redefinition process<br />

DBMS_REDEFINITION.FINISH_REDEF_TABLE (<br />

‘gennick’, ’article_draft’, ’article_draft_redef’);<br />

END;<br />

codeLISTING 3: Checking space used by a LOB<br />

DECLARE<br />

seg_blocks NUMBER;<br />

seg_bytes NUMBER;<br />

used_blocks NUMBER;<br />

used_bytes NUMBER;<br />

expired_blocks NUMBER;<br />

expired_bytes NUMBER;<br />

unexpired_blocks NUMBER;<br />

unexpired_bytes NUMBER;<br />

BEGIN<br />

DBMS_SPACE.SPACE_USAGE (<br />

‘GENNICK’, ‘ARTICLE_CONTENT’, ‘LOB’<br />

, seg_blocks, seg_bytes, used_blocks, used_bytes<br />

, expired_blocks, expired_bytes, unexpired_blocks, unexpired_bytes);<br />

DBMS_OUTPUT.PUT_LINE (‘Bytes used = ‘ || to_char(used_bytes));<br />

END;<br />

SELECT segment_subtype<br />

FROM user_segments<br />

WHERE segment_name=’ARTICLE_CONTENT’;<br />

The result you want to see is<br />

SECUREFILE, which indicates<br />

SecureFiles storage. If you see ASSM,<br />

you’re still set for BasicFiles storage.<br />

ENABLING DEDUPLICATION<br />

Having migrated to <strong>Oracle</strong> SecureFiles,<br />

you can choose to enable deduplication,<br />

an <strong>Oracle</strong> SecureFiles feature whereby<br />

the database server stores only one<br />

copy of a given LOB in a given column<br />

within the same partition. Two or more<br />

users can independently store the same<br />

data in a LOB column—storing the<br />

same article draft twice, for example—<br />

and the database keeps track of that<br />

duplication, storing only one copy of<br />

the data. Deduplication is transparent.<br />

Users each perceive that they have their<br />

own copy of deduplicated data, even<br />

though that is not really the case.<br />

In a real-life migration, it would<br />

likely make sense to deduplicate during,<br />

not after, the migration process. For<br />

example purposes, though, it’s nice to<br />

be able to see that removal of duplicates<br />

is actually occurring. Run the<br />

code in Listing 3 to see how many<br />

bytes are in use by the LOB segment.<br />

(Be sure to change the first parameter<br />

of the procedure call to a valid schema<br />

name on your system.) On my system,<br />

the result is<br />

Bytes used = 450560<br />

To deduplicate the data in the<br />

article_content column in the<br />

article_draft table, issue the following<br />

ALTER TABLE statement:<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 79


STORAGE<br />

ALTER TABLE article_draft<br />

MODIFY LOB(article_content)<br />

(DEDUPLICATE LOB);<br />

Existing LOBs in the article_content<br />

column will be scanned, and any current<br />

duplicates will be detected and eliminated.<br />

Any new LOB values written to<br />

the column will be checked against existing<br />

values to prevent future duplication.<br />

Now, run the code in Listing 3 again,<br />

and you can see the effects of the deduplication.<br />

The number of bytes used by<br />

the segment should be reduced. On my<br />

system, I see the following, lower usage:<br />

Bytes used = 376832<br />

The number of bytes used in the LOB<br />

segment has dropped because document<br />

#6 is a duplicate of an article stored in a<br />

different row. Because of deduplication,<br />

that article is not stored twice. Instead, a<br />

pointer is stored to the LOB in that other<br />

row. When you read the contents of the<br />

LOB for document #6, that pointer is<br />

dereferenced for you in a completely<br />

transparent manner.<br />

Duplicate detection is based on<br />

checksums computed with the SHA1<br />

cryptographic hash algorithm. When you<br />

write a new LOB into a LOB segment, a<br />

checksum is computed over the first n<br />

bytes of that new LOB. If that checksum<br />

doesn’t match that for any existing LOB<br />

in the segment, the new LOB is written<br />

to the database. Checksums are saved for<br />

each LOB, for future deduplication.<br />

When the checksum for a newly<br />

incoming LOB matches an existing<br />

checksum, there is the strong possibility<br />

that the two LOBs are identical. The<br />

database instance will begin doing a<br />

byte-by-byte comparison of the incoming<br />

LOB data with the possible duplicate that<br />

is already stored. That possible duplicate<br />

is referred to as the primary LOB. The<br />

comparison process reads the primary<br />

LOB, but no new data is written, so long<br />

as the LOB data continues to match.<br />

If the LOBs compare as equal, only a<br />

pointer to the primary LOB is written.<br />

If the comparison fails, data from the<br />

primary LOB up to that point is used to<br />

construct the first part of the new LOB,<br />

and remaining incoming data for the<br />

new LOB is written to disk.<br />

ENABLING COMPRESSION<br />

Compression encodes the data in a LOB to<br />

reduce the number of bytes required to<br />

store that LOB. Compression is transparent<br />

and reduces the amount of storage<br />

needed for your LOB data, giving you<br />

more benefit from each dollar your organization<br />

spends on disk storage systems.<br />

Compression requires additional CPU<br />

cycles, so be sure that compression is<br />

worthwhile before enabling it on a LOB<br />

column. For example, image data, such<br />

as PNG files and JPEG files, is often compressed<br />

as part of the encoding scheme<br />

used. Further compression of image<br />

files may be a waste of CPU cycles. But<br />

text-based data such as XML and wordprocessing<br />

documents tends to compress<br />

a great deal, making the trade-off of CPU<br />

time for more disk space very worthwhile.<br />

To enable compression on the sample<br />

SecureFiles LOB column, issue the following<br />

ALTER TABLE statement:<br />

ALTER TABLE article_draft<br />

MODIFY LOB(article_content)<br />

(COMPRESS HIGH);<br />

This statement activates a high level<br />

of compression on the column data.<br />

You can specify MEDIUM to trade away<br />

some of that compression for reduced<br />

CPU cycles. There is currently no LOW<br />

compression option, but that keyword is<br />

reserved for future implementation.<br />

If you rerun the code in Listing 3,<br />

you should see that even less space is<br />

now used by the LOB segment. I get the<br />

following result:<br />

Bytes used = 90112<br />

The online version of this article, at<br />

otn.oracle.com/oramag/oracle/07-sep/<br />

o57securefiles.html, includes information<br />

on compression benefits and<br />

instructions for enabling encryption<br />

with <strong>Oracle</strong> SecureFiles.<br />

REAP THE BENEFITS!<br />

<strong>Oracle</strong> SecureFiles offers three compelling<br />

features you can take advantage<br />

80 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

of immediately without making any<br />

changes to your LOB-using applications:<br />

��Deduplication<br />

��Compression<br />

��Encryption<br />

Preliminary testing also shows significant<br />

increases in performance through<br />

use of <strong>Oracle</strong> SecureFiles. <strong>Oracle</strong>’s inhouse<br />

testing shows a 200 to 900 percent<br />

increase in write performance, depending<br />

on LOB size and whether existing<br />

segment space is being reused. Earlyadopter<br />

clients have reported 300 to 700<br />

percent increases in performance of key<br />

application functions.<br />

Because <strong>Oracle</strong> SecureFiles is completely<br />

backward-compatible with<br />

BasicFiles, even to the point of using<br />

the same datatype names, you can begin<br />

to take advantage of everything <strong>Oracle</strong><br />

SecureFiles has to offer, almost from the<br />

moment you upgrade to <strong>Oracle</strong> Database<br />

11g. You do need to rewrite your LOB<br />

data in the database, but you can do that<br />

while keeping the data online, and the<br />

change is completely transparent to both<br />

users and applications.<br />

<strong>Oracle</strong> SecureFiles is a gift. Drop it in.<br />

Take immediate advantage of improved<br />

performance, save money on disk<br />

storage, and secure your data from those<br />

who would do you harm. �<br />

Jonathan Gennick (www.gennick.com) is an<br />

experienced <strong>Oracle</strong> professional and member of<br />

the Oak Table Network. He wrote the best-selling<br />

SQL Pocket Guide and the <strong>Oracle</strong> SQL*Plus Pocket<br />

Reference, both from O’Reilly Media.<br />

READ online-only article content<br />

otn.oracle.com/oramag/oracle/07-sep/<br />

o57securefiles.html<br />

READ more about<br />

partition exchange<br />

“Partition Decisions”<br />

otn.oracle.com/oramag/oracle/06-sep/<br />

o56partition.html<br />

<strong>Oracle</strong> SecureFiles<br />

<strong>Oracle</strong> Database 11g Large Object’s Developer’s Guide<br />

otn.oracle.com/documentation<br />

DOWNLOAD<br />

sample code for this article<br />

otn.oracle.com/oramag/oracle/07-sep/<br />

o57securefiles.zip<br />

<strong>Oracle</strong> Database 11g<br />

otn.oracle.com/products/database


technologySQL DEVELOPER<br />

BY SUE HARPER<br />

Moving to an <strong>Oracle</strong> Database<br />

Use <strong>Oracle</strong> Migration Workbench to migrate third-party schema objects to an <strong>Oracle</strong> database.<br />

oes your business have a collection<br />

of different databases<br />

in house? Do you want an easy<br />

way to review all the data in<br />

these various databases by using one tool<br />

and then, in some cases, to consolidate<br />

the databases by migrating objects and<br />

data to an <strong>Oracle</strong> database? This column<br />

introduces the new <strong>Oracle</strong> Migration<br />

Workbench, a powerful extension to<br />

<strong>Oracle</strong> SQL Developer that enables you<br />

to access data in <strong>Oracle</strong> and third-party<br />

databases and migrate third-party<br />

databases—including the schema objects,<br />

triggers, and stored procedures—to an<br />

<strong>Oracle</strong>9i Database or <strong>Oracle</strong> Database<br />

10g. Third-party databases currently supported<br />

include Microsoft SQL Server,<br />

Microsoft Access, and MySQL.<br />

This column shows you how to set<br />

up your environment and then, using<br />

a Microsoft SQL Server database as an<br />

example, how to browse and migrate<br />

database objects and data from SQL<br />

Server to an <strong>Oracle</strong> database.<br />

CONFIGURING THE ENVIRONMENT<br />

Before you migrate your third-party<br />

database objects, you need to configure<br />

your <strong>Oracle</strong> SQL Developer and <strong>Oracle</strong><br />

Migration Workbench environment to<br />

work with your third-party database(s).<br />

<strong>Oracle</strong> Migration Workbench is available<br />

in <strong>Oracle</strong> SQL Developer as of Release<br />

1.2.0.29.98. You can download <strong>Oracle</strong><br />

SQL Developer at otn.oracle.com/<br />

products/database/sql_developer.<br />

<strong>Oracle</strong> SQL Developer uses Java<br />

DataBase Connectivity (JDBC) to<br />

connect to databases, so in addition to<br />

installing <strong>Oracle</strong> SQL Developer, you<br />

need to install and set up the JDBC<br />

drivers for the third-party database to<br />

which you want to connect. The following<br />

includes download requirements<br />

and location information for supported<br />

third-party databases:<br />

��The MySQL JDBC driver, version 5.04,<br />

is available at http://dev.mysql.com/<br />

downloads/connector/j/5.0.html.<br />

���Microsoft SQL Server requires the jTDS<br />

driver, available at http://jtds.sourceforge<br />

.net. The download for version 1.2 is<br />

available at http://sourceforge.net/project/<br />

showfiles.php?group_id=33291.<br />

���Microsoft Access does not require<br />

an additional driver, because it uses a<br />

JDBC/ODBC bridge.<br />

SETTING UP JDBC DRIVERS<br />

Once you have downloaded the JDBC<br />

drivers you need, expand the driver<br />

binary JAR file, typically a separate JAR<br />

file inside the downloaded archive file:<br />

�� For MySQL, the mysql-connectorjava-5.0.4.tar.gz<br />

(or .zip) download<br />

includes a binary driver JAR file called<br />

mysql-connector-java-5.0.4-bin.jar.<br />

���For SQL Server, the jtds-1.2-dist.zip<br />

file includes a file called jtds-1.2.jar.<br />

Ensure that your third-party database<br />

is up and running, and start up <strong>Oracle</strong><br />

SQL Developer. From the main menu,<br />

select Tools -> Preferences…, expand<br />

the Database node, select Third Party<br />

JDBC Drivers, and click Add Entry.…<br />

Then browse to and select the JAR file<br />

mentioned above, and click OK.<br />

CREATING DATABASE CONNECTIONS<br />

Before you can work with a database<br />

in <strong>Oracle</strong> SQL Developer, you need to<br />

create a database connection. Create<br />

a connection for any third-party database<br />

you plan to browse or migrate<br />

from and a connection for any <strong>Oracle</strong><br />

database you plan to browse or migrate<br />

database objects to.<br />

To create a database connection<br />

in <strong>Oracle</strong> SQL Developer, click<br />

the Connections tab, right-click the<br />

Connections node, and select New<br />

Connection. For a SQL Server connection,<br />

click the SQLServer tab and complete<br />

the following:<br />

���Connection name, such as<br />

SQLServer2005_mwb<br />

���Username and password<br />

���Hostname of the machine where the<br />

SQL Server database resides<br />

�� Port<br />

Now click Retrieve database to<br />

populate the list of available SQL Server<br />

databases. For this column, I am using<br />

Northwind, a sample database provided<br />

with SQL Server.<br />

Finally, click Test, to ensure that<br />

you can connect successfully, and then<br />

click Connect to save the connection,<br />

close the dialog box, and connect to the<br />

selected SQL Server database.<br />

BROWSING YOUR DATA<br />

When you open a database connection<br />

in <strong>Oracle</strong> SQL Developer, a SQL worksheet<br />

opens to enable you to write basic<br />

queries and commands. Expand the SQL<br />

Server connection you have created, and<br />

navigate to the Tables node under dbo.<br />

You can select and drag any table onto<br />

the SQL worksheet, and the action will<br />

create a SELECT statement. Press F9 to<br />

execute the query.<br />

If you have multiple queries you<br />

want to execute, press F5. As with any<br />

other <strong>Oracle</strong> database connection, you<br />

can sort the returned data by clicking<br />

the column headings.<br />

To view the definition of a table<br />

such as Customers in the Connections<br />

Navigator, click the table. Note that the<br />

tabs displayed are slightly different from<br />

those available when the connection is to<br />

an <strong>Oracle</strong> database. Also note that when<br />

<strong>Oracle</strong> SQL Developer is connected to<br />

an <strong>Oracle</strong> database, the context menus<br />

offer many Data Definition Language<br />

(DDL) commands or utilities; the context<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 81


SQL DEVELOPER<br />

menus for third-party databases are<br />

focused on browsing and migration.<br />

SETTING UP A REPOSITORY<br />

<strong>Oracle</strong> Migration Workbench uses an<br />

<strong>Oracle</strong> database schema as a migration<br />

repository to store the metadata it collects<br />

and transforms for the migration<br />

process. You need to set up a migration<br />

repository only once, regardless of how<br />

many migrations you perform. The<br />

repository consists of 37 tables, with<br />

associated primary keys and indexes,<br />

eight views, triggers, and PL/SQL code.<br />

Although this is not required, <strong>Oracle</strong><br />

recommends that you configure a dedicated<br />

database schema for the repository.<br />

The user who creates and owns the<br />

repository must be granted various<br />

system privileges and roles. Listing 1<br />

creates a user named migration and<br />

grants the necessary privileges.<br />

Once you have created this user,<br />

you’ll need to create a new database<br />

connection, such as Migration_Repos,<br />

for this user in the same way you did<br />

before. However, for this user you are<br />

creating the connection for an <strong>Oracle</strong><br />

database. After you have entered the<br />

necessary information, click Connect<br />

to save the connection and close the<br />

dialog box. From the main menu, select<br />

Migration -> Repository Management<br />

-> Create Repository (as shown in<br />

Figure 1). Select the connection for<br />

your new repository, and click Create.<br />

An Installing Repository dialog box will<br />

appear, showing the progress. When the<br />

process completes, close the dialog box.<br />

Two additional windows open below<br />

the Connections Navigator, displaying<br />

captured and converted models.<br />

MIGRATION<br />

The migration process comprises a few<br />

separate activities. Once you have connected<br />

to the database you want to<br />

migrate and have built the migration<br />

repository, the process is as follows:<br />

1. Capture the source database<br />

2. Convert the captured database<br />

3. Generate DDL for the new <strong>Oracle</strong><br />

schema objects<br />

4. Run the generated DDL script to<br />

create the new user and objects<br />

Figure 1: Creating a repository<br />

Figure 2: Captured and converted models<br />

5. Copy any data from the source database<br />

to the new database, if required<br />

Quick Migration. <strong>Oracle</strong> SQL Developer<br />

also provides a Quick Migration feature.<br />

This wizard-driven approach migrates<br />

schemas and data to an <strong>Oracle</strong> database<br />

and supports least privilege migration,<br />

which means that users can migrate<br />

source database objects for which they<br />

have access to the target database without<br />

the DBA privilege. The Quick Migration<br />

wizard completes the migration process<br />

without user intervention.<br />

To invoke the Quick Migration option,<br />

select Migration -> Quick Migrate from<br />

the main menu. The wizard provides a<br />

single dialog box that requires you to<br />

select the source connection, which is the<br />

connection to the third-party database,<br />

and the target connection, which is the<br />

82 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

connection to the <strong>Oracle</strong> database for<br />

the new data. The wizard determines<br />

whether you have an available repository,<br />

and if there is none, it creates one during<br />

the migration process. (You can also elect<br />

to save or delete the repository once the<br />

migration is complete.) Click Verify to<br />

connect to the third-party and <strong>Oracle</strong><br />

databases and verify that the schema in<br />

the <strong>Oracle</strong> database has been granted the<br />

necessary privileges. With verification<br />

complete, click Migrate to complete the<br />

quick migration.<br />

Manual Migration. Using manual migration,<br />

you have much more control over<br />

the process and can select individual<br />

tables or schema objects to migrate. You<br />

can also make updates at various stages of<br />

the migration process, such as renaming<br />

the schema and dropping or renaming


tables after they have been captured and<br />

before they are converted to the <strong>Oracle</strong><br />

model. Let’s take them one at a time:<br />

Step 1. Capture the source database. Rightclick<br />

the source database connection<br />

node (SQL Server2005_mwb in this<br />

example) in the Connections Navigator,<br />

and select Capture Microsoft SQL<br />

Server. A progress dialog box showing<br />

you the capture process appears. Once<br />

it is complete, click Close. After the<br />

source has been captured, the metadata<br />

definitions are stored in the Migration<br />

Repository and are ready to be converted.<br />

The captured definitions are available in<br />

the Captured Objects window. Expand<br />

the new node, \\sourcehostname:port\<br />

Northwind (Microsoft SQL Server),<br />

and browse the output. You can make<br />

any modifications, such as renaming<br />

tables, at this point.<br />

Step 2. Convert the captured database.<br />

Once you are satisfied with it, rightclick<br />

the newly captured model,<br />

\\sourcehostname:port\Northwind<br />

(Microsoft SQL Server), and select<br />

Convert to <strong>Oracle</strong> Model. A data map<br />

appears for you to accept or modify. For<br />

this exercise, click Apply to accept the<br />

mappings offered. A progress dialog box<br />

appears; click Close when the process<br />

completes. Figure 2 illustrates the status<br />

thus far. Both Captured Models and<br />

Converted Models reflect the metadata<br />

stored in the Migration Repository.<br />

Step 3. Generate DDL for the new <strong>Oracle</strong><br />

schema objects. At this stage, you can<br />

elect to generate the DDL for individual<br />

objects or categories of objects. To generate<br />

all the converted objects, rightclick<br />

the high-level converted model,<br />

Converted: \\hostname:port\<br />

Northwind (Microsoft SQL Server),<br />

and click Generate.<br />

Step 4. Run the script to create the new<br />

user and schema objects. When the DDL<br />

generation is complete, the DDL script<br />

opens in the SQL worksheet. Note that<br />

the opening commands create a new database<br />

user and grant the new user privileges.<br />

This means that you need to run<br />

the script as a user who has these privileges,<br />

such as SYSTEM. At the top right<br />

side of the SQL worksheet, select the user<br />

you want to run the script, as shown in<br />

Figure 3: Run script as system<br />

codeLISTING 1: Creating the migration user<br />

CREATE USER migration IDENTIFIED BY migration<br />

DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;<br />

GRANT CONNECT, RESOURCE, CREATE VIEW, CREATE PUBLIC SYNONYM<br />

TO migration WITH ADMIN OPTION;<br />

GRANT ALTER ANY ROLE, ALTER ANY SEQUENCE, ALTER ANY TABLE, ALTER TABLESPACE, ALTER ANY<br />

TRIGGER, COMMENT ANY TABLE, CREATE ANY SEQUENCE, CREATE ANY TABLE,CREATE ANY TRIGGER,<br />

CREATE ROLE, CREATE TABLESPACE, CREATE USER, DROP ANY SEQUENCE, DROP ANY TABLE, DROP ANY<br />

TRIGGER, DROP TABLESPACE, DROP USER, DROP ANY ROLE, GRANT ANY ROLE, INSERT ANY TABLE,<br />

SELECT ANY TABLE, UPDATE ANY TABLE<br />

TO migration;<br />

Figure 3, and press F5 to run the script.<br />

Once the script is complete, create<br />

a new database connection, such<br />

as ConvertedSQLServer_mwb, in the<br />

Connections Navigator to browse and<br />

review the newly migrated objects.<br />

Step 5. Copy the data from the source<br />

database to the new database, if required.<br />

The last phase of the migration process is<br />

to copy any data you have in the source<br />

database to the target database. From the<br />

main menu, select Migration -> Migrate<br />

Data. In the dialog box, select the Source<br />

Connection, the Target Connection,<br />

and the Converted Model (in this<br />

example, Converted: \\hostname:port\<br />

Northwind (Microsoft SQL Server)),<br />

and click OK. You can now browse, edit,<br />

and work with your new objects and data<br />

as you would with any other schema in<br />

your <strong>Oracle</strong> database.<br />

CONCLUSION<br />

<strong>Oracle</strong> Migration Workbench supports<br />

the migration of Microsoft Access,<br />

Microsoft SQL Server, and MySQL database<br />

schemas to <strong>Oracle</strong> Database. It also<br />

reduces the risks involved in migration<br />

and reduces migration time by automating<br />

a large portion of the process. �<br />

Sue Harper (sue.harper@oracle.com) is an <strong>Oracle</strong><br />

senior principal product manager based in London.<br />

LEARN more about <strong>Oracle</strong><br />

Migration Workbench<br />

otn.oracle.com/products/database/sql_developer<br />

DOWNLOAD <strong>Oracle</strong> SQL Developer<br />

otn.oracle.com/software/products/sql<br />

DISCUSS <strong>Oracle</strong> Migration Workbench<br />

forums.oracle.com/forums/forum.jspa?forumID=1<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 83


54% of Profit Readers<br />

Make Buying Decisions Based on Third-Party Ads<br />

They See in the <strong>Magazine</strong>!<br />

As a Profit reader, you know we’re all about the business<br />

of technology. From small and medium businesses, <strong>Oracle</strong><br />

Fusion, vertical market developments in BI, and analysis by<br />

<strong>Oracle</strong> executives and industry luminaries, Profit illuminates<br />

the business impact of technology through customer features,<br />

executive interviews, and business strategy articles.<br />

Executive managers, line-of-business VPs/managers, and IT VPs/managers and<br />

consultants read Profit for the same reasons you do:<br />

• 84% say reading Profit helps them make better strategic decisions<br />

• 81% go online to read more about products and services they see in Profit<br />

• 79% consider Profit a must-read<br />

• 75% say reading Profit shows them <strong>Oracle</strong> understands the challenges<br />

they face<br />

• 66% say Profit provides information they can’t find in other magazines<br />

• 54% say they make buying decisions based on third-party ads in the<br />

magazine<br />

If your company’s products or services are purchased by executive managers,<br />

line-of-business VPs/managers, and IT VPs/managers and consultants running<br />

<strong>Oracle</strong> applications, you need to promote your products or services in Profit.<br />

PROFIT…our name says it all!<br />

For detailed information on how your company will benefit from our print<br />

and interactive go-to-market programs, contact your representative below.<br />

Northeast U.S./Canada Mid-Atlantic/Southeast Northwest/Central<br />

David and Ann Schissler Dawn Becker Tom Cometa<br />

+1.508.394.4026 +1.732.772.0160 +1.510.339.2427<br />

schissler@comcast.net dbeck71@optonline.com thomas.cometa@sbcglobal.net<br />

Southwest/LAD EMEA/APAC Associate Publisher<br />

Shaun Mehr Mark Makinney Kyle Walkenhorst<br />

+1.949.923.1660 +44 0 1273 774341 +1.323.340.8585<br />

shaun@sprocketmedia.com mark.makinney@oracle.com kyle@sprocketmedia.com


technologyASK TOM<br />

On <strong>Oracle</strong> Database 11g<br />

Our technologist takes a look at the server results and PL/SQL function caches.<br />

ver the next few months, I’ll be<br />

looking at new features coming<br />

out with the latest release<br />

of <strong>Oracle</strong> Database, <strong>Oracle</strong><br />

Database 11g. There are so many to<br />

choose from that it was hard to pick a<br />

few to start with. So I’ve been talking<br />

with Bryn Llewellyn, the PL/SQL<br />

product manager, and he filled me in<br />

on a couple of great new SQL and<br />

PL/SQL features.<br />

CACHE IT<br />

<strong>Oracle</strong> Database 11g raises the bar<br />

on data caching. In the past, <strong>Oracle</strong><br />

Database cached database blocks. It<br />

could cache these blocks in various<br />

places, such as the default pool, a keep<br />

buffer pool, or a recycle buffer pool.<br />

But it always cached blocks of data—the<br />

building blocks used to build result sets.<br />

Starting with <strong>Oracle</strong> Database<br />

11g, the database can also now cache<br />

result sets! If you have a query that is<br />

executed over and over again against<br />

slowly or never-changing data, you will<br />

find the new server results cache to be<br />

of great interest. This is a feature from<br />

which virtually every application can<br />

and will benefit.<br />

In a nutshell, the concept is this:<br />

when you run a query, <strong>Oracle</strong> Database<br />

11g will first see if the results of that<br />

query have already been computed and<br />

cached by some session or user, and if<br />

so, it will retrieve the answer from the<br />

server result cache instead of gathering<br />

all of the database blocks and computing<br />

the answer all over again from<br />

scratch. The first execution of the query<br />

will take as long as usual (because it is<br />

computing the result), but subsequent<br />

executions will appear to be instantaneous,<br />

because the answer is being<br />

returned immediately—instead of being<br />

computed and then returned.<br />

I view this feature as being analogous<br />

to a just-in-time materialized<br />

view. In <strong>Oracle</strong>8i Database Release 1,<br />

<strong>Oracle</strong> introduced the concept of materialized<br />

views, whereby DBAs could<br />

create a summary table, much as they<br />

might create an index, and the database<br />

optimizer would recognize that this<br />

summary table existed and, when possible,<br />

use it to respond to queries rather<br />

than query and process the detailed<br />

information stored in the base tables.<br />

This method of operation works well<br />

but is rather static, much like an indexing<br />

scheme. The <strong>Oracle</strong> Database 11g<br />

server results cache, however, is in<br />

effect creating and maintaining materialized<br />

views on the fly, using a cache. The<br />

server result cache (a just-in-time materialized<br />

view) is populated as needed<br />

without DBA intervention.<br />

By way of example, I’ll copy the<br />

ALL_OBJECTS table into a table:<br />

SQL> create table t<br />

2 as<br />

3 select *<br />

4 from all_objects;<br />

Table created.<br />

Now I’ll create a small function that<br />

executes a report—a query against this<br />

table. To clearly demonstrate the difference<br />

in performance of this query,<br />

I’ll do nothing inside the loop (where<br />

I would normally be printing the rows<br />

and performing some computation):<br />

SQL> create or replace procedure<br />

2 my_function<br />

3 as<br />

4 begin<br />

5 for x in<br />

6 (select owner,<br />

7 object_type,<br />

8 count(*) cnt<br />

BY TOM KYTE<br />

9 from t<br />

10 group by owner, object_type<br />

11 order by owner, object_type )<br />

12 loop<br />

13 -- do_something<br />

14 null;<br />

15 end loop;<br />

16 end;<br />

17 /<br />

Procedure created.<br />

Now I execute this process three<br />

times, noting the time it takes to<br />

execute each invocation:<br />

SQL> set timing on<br />

SQL> exec my_function<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:01.54<br />

SQL> exec my_function<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:00.10<br />

SQL> exec my_function<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:00.11<br />

SQL> set timing off<br />

Note that the first execution took<br />

a significant amount of time, about<br />

1.5 seconds, due to the physical I/O<br />

required to read the data from disk<br />

into the conventional buffer cache. The<br />

second and third executions took much<br />

less time, about 0.1 second, because<br />

the blocks needed to answer the query<br />

were found in the cache, not on disk.<br />

Compare what happens if I add a<br />

“cache the results” hint to the query:<br />

SQL> create or replace procedure<br />

2 my_function<br />

3 as<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 85


ASK TOM<br />

4 begin<br />

5 for x in<br />

6 (select /*+ result_cache */<br />

7 owner,<br />

8 object_type,<br />

9 count(*) cnt<br />

10 from t<br />

11 group by owner, object_type<br />

12 order by owner, object_type )<br />

13 loop<br />

14 -- do_something<br />

15 null;<br />

16 end loop;<br />

17 end;<br />

18 /<br />

Procedure created.<br />

SQL> set timing on<br />

SQL> exec my_function<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:00.10<br />

SQL> exec my_function<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:00.00<br />

SQL> exec my_function<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:00.01<br />

SQL> set timing off<br />

Note how the first execution took<br />

about 0.1 second, because the answer<br />

was assembled for the first execution,<br />

but that the subsequent executions were<br />

blindingly fast—sometimes so fast that<br />

they appear instantaneous.<br />

The nice thing about this is that the<br />

cache is invalidated and refreshed by<br />

the database—and the process is completely<br />

transparent to the application.<br />

The application need not worry about<br />

“stale” or invalid results. For example,<br />

if I update a single row, thus changing<br />

the results—<br />

SQL> update t<br />

2 set owner = lower(owner)<br />

3 where rownum = 1;<br />

1 row updated.<br />

SQL> commit;<br />

Commit complete.<br />

—I observe the following behavior:<br />

SQL> set timing on<br />

SQL> exec my_function<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:00.10<br />

SQL> exec my_function<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:00.00<br />

SQL> exec my_function<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:00.01<br />

SQL> set timing off<br />

Note that the first execution after<br />

the UPDATE went back up to about 0.1<br />

second of execution time because it had<br />

to build the new answer. The subsequent<br />

executions benefit from this work<br />

and appear instantaneous.<br />

I’m sure that if you sit back and<br />

ponder your own applications, you<br />

will be able to think of more than one<br />

place where the server results cache<br />

feature will come in handy. It provides<br />

many of the benefits of some materialized<br />

views, but without the setup and<br />

administrative overhead associated<br />

with them.<br />

BUT WAIT—THERE’S MORE. . . .<br />

As they say on late night television,<br />

“If you thought that was really good,<br />

wait till you see this!” <strong>Oracle</strong> Database<br />

11g has a new PL/SQL function results<br />

cache as well. Whereas the aforementioned<br />

server results cache is about<br />

caching SQL result sets, this extension<br />

of the server results cache feature caches<br />

the results of PL/SQL function and procedure<br />

calls.<br />

In the past, if you called a PL/SQL<br />

function 1,000 times and each function<br />

call consumed 1 second, the 1,000<br />

calls would take 1,000 seconds. With<br />

this new function results cache feature,<br />

depending on the inputs to the function<br />

and whether the data underlying<br />

the function changes, 1,000 function<br />

calls could take about 1 second, total. A<br />

small example will be useful: I’ll create<br />

86 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

two functions, identical except in name<br />

and compiler parameter options. They<br />

will both access the previously created<br />

table T:<br />

SQL> create or replace<br />

2 function not_cached<br />

3 ( p_owner in varchar2 )<br />

4 return number<br />

5 as<br />

6 l_cnt number;<br />

7 begin<br />

8 select count(*)<br />

9 into l_cnt<br />

10 from t<br />

11 where owner = p_owner;<br />

12 dbms_lock.sleep(1);<br />

13 return l_cnt;<br />

14 end;<br />

15 /<br />

Function created.<br />

SQL> create or replace<br />

2 function cached<br />

3 ( p_owner in varchar2 )<br />

4 return number<br />

5 result_cache<br />

6 relies_on(T)<br />

7 as<br />

8 l_cnt number;<br />

9 begin<br />

10 select count(*)<br />

11 into l_cnt<br />

12 from t<br />

13 where owner = p_owner;<br />

14 dbms_lock.sleep(1);<br />

15 return l_cnt;<br />

16 end;<br />

17 /<br />

Function created.<br />

The only difference in the functions<br />

besides the names are the compiler<br />

parameters RESULT_CACHE and<br />

RELIES_ON. The RESULT_CACHE<br />

directive tells <strong>Oracle</strong> Database that you<br />

would like the answers from this function<br />

to be saved, so that if someone<br />

invokes this function again with the<br />

same inputs, the code should not<br />

actually be executed but, rather, that<br />

person should just receive the already<br />

known answer. The RELIES_ON clause<br />

tells the database when to invalidate<br />

this function result cache value—in


this case, if the table T is modified<br />

(which would change the answer from<br />

my cached function, hence I need it to<br />

be re-executed). Note that for effect,<br />

I’ve put a 1-second sleep in both functions<br />

and that that sleep call will make<br />

it painfully obvious when the function<br />

is actually invoked and when the<br />

results are reused.<br />

I start by calling the conventional<br />

(not_cached) function three times with<br />

timing on:<br />

SQL> exec dbms_output.put_line( not_<br />

cached( ‘SCOTT’ ) );<br />

6<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:01.93<br />

SQL> exec dbms_output.put_line( not_<br />

cached( ‘SCOTT’ ) );<br />

6<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:01.29<br />

SQL> exec dbms_output.put_line( not_<br />

cached( ‘SCOTT’ ) );<br />

6<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:01.07<br />

As you can see, each invocation<br />

takes at least one second—the work<br />

done by the function plus the SQL<br />

it executes take a little more than a<br />

second. Now I try out the cached<br />

version of this function:<br />

SQL> exec dbms_output.put_line( cached(<br />

‘SCOTT’ ) );<br />

6<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:01.09<br />

SQL> exec dbms_output.put_line( cached(<br />

‘SCOTT’ ) );<br />

6<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:00.01<br />

SQL> exec dbms_output.put_line( cached(<br />

‘SCOTT’ ) );<br />

6<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:00.01<br />

If you have a query that is executed over and over<br />

again against slowly or never-changing data, you<br />

will find the new server results cache to be of<br />

great interest.<br />

As you can see, the first execution<br />

takes a little more than a second, just<br />

like the noncached versions, but the<br />

subsequent ones run at light speed,<br />

simply because the cached function is,<br />

in fact, not being executed. If I modify<br />

the table this function relies on or<br />

change the inputs I use, I can see that<br />

the database does the right thing:<br />

SQL> update t set owner = initcap(owner)<br />

where rownum = 1;<br />

1 row updated.<br />

SQL> commit;<br />

Commit complete.<br />

SQL> exec dbms_output.put_line( cached(<br />

‘SCOTT’ ) );<br />

6<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:01.25<br />

This first execution of the cached<br />

function takes more than a second,<br />

because it must refresh the result cache,<br />

but subsequent executions benefit from<br />

this cached result:<br />

SQL> exec dbms_output.put_line( cached(<br />

‘SCOTT’ ) );<br />

6<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:00.01<br />

SQL> exec dbms_output.put_line( cached(<br />

‘SCOTT’ ) );<br />

6<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:00.01<br />

And just to show that the PL/SQL<br />

function results cache understands<br />

that different inputs result in different<br />

outputs, I can call the cached function<br />

with a different username:<br />

SQL> exec dbms_output.put_line( cached(<br />

‘SYS’ ) );<br />

29339<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:01.21<br />

SQL> exec dbms_output.put_line( cached(<br />

‘SYS’ ) );<br />

29339<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:00.01<br />

Note that the first execution takes a<br />

relatively long time (to build the result<br />

cache), a subsequent execution is fast,<br />

and calling the function with a different<br />

username does not invalidate or throw<br />

away other cached results:<br />

SQL> exec dbms_output.put_line( cached(<br />

‘SCOTT’ ) );<br />

6<br />

PL/SQL procedure successfully completed.<br />

Elapsed: 00:00:00.00<br />

Function calls that use SCOTT as<br />

the input will remain fast until the<br />

cache must be invalidated or until it<br />

runs out of room and must make way<br />

for other elements.<br />

Again, this is a feature that can be<br />

implemented without massive rearchitecting<br />

of your applications—in fact,<br />

without rearchitecting at all. The compiler<br />

parameter RESULT_CACHE can<br />

activate this feature, and any client that<br />

invokes the function will benefit. For<br />

example, informal tests with <strong>Oracle</strong><br />

Application Express show an approximately<br />

15 percent decrease in runtime<br />

in a standard benchmark harness—your<br />

mileage may vary, of course!<br />

WHEN OTHERS THEN NULL REDUX<br />

In the July/August <strong>2007</strong> issue of <strong>Oracle</strong><br />

<strong>Magazine</strong> (at otn.oracle.com/oramag/<br />

oracle/07-jul/o47asktom.html), I wrote<br />

about a certain PL/SQL programming<br />

construct, the WHEN OTHERS<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 87


ASK TOM<br />

exception handler. I wrote<br />

There’s a programming construct,<br />

WHEN OTHERS, in PL/SQL that I wish<br />

weren’t there.<br />

Well, I knew <strong>Oracle</strong> could never<br />

really remove this language feature—but<br />

<strong>Oracle</strong> certainly has made it safer. Just<br />

to reiterate why I wish this programming<br />

construct did not exist, I’ll quote<br />

myself again:<br />

But the problem I see is that far too<br />

many people use the WHEN OTHERS<br />

clause without following it by a RAISE or<br />

RAISE_APPLICATION_ERROR call. That<br />

effectively hides the error. In reality, the<br />

error happened, but it was not handled in<br />

any meaningful way; it was just ignored—<br />

silently. The invoker of your code has no<br />

idea that something went horribly wrong<br />

and that your code failed, and he or she<br />

typically thinks that everything was, in<br />

fact, successful.<br />

Many times—many more times than<br />

I can recall or count—“quirky” behavior<br />

in a PL/SQL program unit is found to be<br />

caused by the improper use of a WHEN<br />

OTHERS clause—one that is not followed<br />

by RAISE. The error was hidden,<br />

error handling was effectively disabled,<br />

and the outcome is typically logically<br />

corrupt data (the application did not do<br />

its job) or the wrong answer.<br />

Now, in <strong>Oracle</strong> Database 11g, I can<br />

easily find the offending bits of code.<br />

When I suspect that an exception is<br />

being raised and hidden in this fashion,<br />

I’ll be able to verify my hunch rapidly.<br />

Consider this innocuous procedure:<br />

SQL> create table t( x varchar2(4000) );<br />

Table created.<br />

SQL> create or replace<br />

2 procedure maintain_t<br />

3 ( p_str in varchar2 )<br />

4 as<br />

5 begin<br />

6 insert into t<br />

7 ( x ) values<br />

8 ( p_str );<br />

9 exception<br />

10 when others<br />

11 then<br />

12 -- call some log_error() routine<br />

13 null;<br />

14 end;<br />

15 /<br />

Procedure created.<br />

It’s as simple as can be. Nothing<br />

should go wrong, but in case it does, I’ll<br />

log the error by using a utility routine<br />

I’ve developed. That’ll write a nice<br />

error message somewhere (hopefully!),<br />

but whoever invokes this routine will<br />

have no idea that an exception that was<br />

not expected—and that could not be<br />

fixed—happened. (I see code like this<br />

time after time after time.) Now when<br />

someone calls this routine,<br />

SQL> exec maintain_t( rpad( ‘x’, 4001,<br />

‘x’ ) );<br />

PL/SQL procedure successfully completed.<br />

it sure looks successful, but it wasn’t:<br />

SQL> select * from t;<br />

no rows selected<br />

This is where confusion comes in:<br />

people get on the phone; they write<br />

e-mails; they say “<strong>Oracle</strong> Database is<br />

broken; the transaction succeeds, but<br />

the data is wrong.” In fact, the problem<br />

is the hidden error. Now, to find these<br />

errors in <strong>Oracle</strong> Database 11g, I will<br />

simply ask people to perform the following<br />

operation on their code first:<br />

SQL> alter procedure maintain_t compile<br />

2 PLSQL_Warnings = ‘enable:all’<br />

3 reuse settings<br />

4 /<br />

SP2-0805: Procedure altered with<br />

compilation warnings<br />

SQL> show errors procedure maintain_t<br />

Errors for PROCEDURE MAINTAIN_T:<br />

LINE/COL ERROR<br />

-----------––––– –––––––––––––––––––––––––––––––––––––––<br />

9/8 PLW-06009: procedure<br />

“MAINTAIN_T” OTHERS handler<br />

does not end in RAISE or<br />

RAISE_APPLICATION_ERROR<br />

And instantly you’ll have a list of<br />

applications—and the source code<br />

88 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

lines—to immediately go to and add a<br />

simple RAISE to see where this hidden<br />

error is coming from. Job done.<br />

IT’S THE LITTLE THINGS. . . .<br />

There’s a saying that goes, “It’s the little<br />

things in life that really make a difference.”<br />

So I’ll close with a little thing<br />

that will make your coding life a bit<br />

easier and the PL/SQL language a bit<br />

more complete:<br />

SQL> create sequence this_is_nice;<br />

Sequence created.<br />

SQL> declare<br />

2 n number;<br />

3 begin<br />

4 n := this_is_nice.nextval;<br />

5 dbms_output.put_line( n );<br />

6 end;<br />

7 /<br />

1<br />

PL/SQL procedure successfully completed.<br />

Compare that to what would have<br />

happened in <strong>Oracle</strong> Database 10g and<br />

prior releases. In <strong>Oracle</strong> Database 11g,<br />

there’s no more selecting a sequence<br />

FROM DUAL. PL/SQL is that much<br />

more complete.<br />

Tom Kyte has worked for <strong>Oracle</strong> since 1993. He is a<br />

vice president in the <strong>Oracle</strong> Public Sector group and<br />

the author of Expert <strong>Oracle</strong> Database Architecture:<br />

9i and 10g Programming Techniques and Solutions<br />

(Apress, 2005) and Effective <strong>Oracle</strong> by Design (<strong>Oracle</strong><br />

Press, 2003), among others.<br />

ASK Tom<br />

<strong>Oracle</strong> Vice President Tom Kyte answers your most<br />

difficult technology questions. Highlights from that<br />

forum appear in this column.<br />

asktom.oracle.com<br />

READ more about<br />

<strong>Oracle</strong> Database 11g<br />

otn.oracle.com/products/database<br />

READ more Tom<br />

Expert <strong>Oracle</strong> Database Architecture: 9i and 10g<br />

Programming Techniques and Solutions<br />

amazon.com/exec/obidos/tg/detail/-/<br />

1590595300/<br />

DOWNLOAD<br />

<strong>Oracle</strong> Database 11g<br />

otn.oracle.com/technology/software


Do you belong<br />

in the <strong>Oracle</strong> community ?<br />

Join UKOUG to:<br />

Network with over<br />

9,000 members<br />

Participate and learn at more<br />

than 120 events per year<br />

Save with a free place at our<br />

annual conference<br />

UKOUG Conference <strong>2007</strong> 3-6 December<br />

International Convention Centre, Birmingham UK<br />

The largest independent user<br />

group conference in EMEA<br />

Over 350 leading edge<br />

presentations<br />

Three day exhibition with<br />

over 100 exhibitors<br />

www.ukoug.org<br />

Hyperion JD Edwards <strong>Oracle</strong> PeopleSoft Stellent Siebel


<strong>Oracle</strong> PartnerNetwork Certified Advantage Partner Index<br />

The partners featured in this index have recently reached or renewed their status of Certified Advantage Partner in the <strong>Oracle</strong> PartnerNetwork.<br />

COMPANY NAME URL COMPANY NAME URL<br />

Global<br />

Accenture www.accenture.com<br />

Advanced Micro Devices, Inc. www.amd.com<br />

Apple www.apple.com<br />

BearingPoint www.bearingpoint.com<br />

Capgemini www.capgemini.com<br />

Cisco www.cisco.com<br />

Computer Sciences Corporation www.csc.com<br />

Dell Inc. www.dell.com<br />

Deloitte www.deloitte.com<br />

EDS www.eds.com<br />

EMC www.emc.com<br />

Fujitsu Group www.fujitsu.com<br />

HP www.hp.com<br />

IBM / IBM Global Business Services www.ibm.com<br />

Infosys www.infosys.com<br />

Ingram Micro www.ingrammicro.com<br />

Insight www.insight.com<br />

Intel www.intel.com<br />

Microsoft www.microsoft.com<br />

Network Appliance, Inc. www.netapp.com<br />

Satyam www.satyam.com<br />

Sun Microsystems www.sun.com<br />

Tata Consultancy Services www.tcs.com<br />

TechData www.techdata.com<br />

Wipro www.wipro.com<br />

Africa<br />

2Cana Solutions (Pty) Ltd. www.2cana.co.za<br />

Computer Warehouse Nigeria www.cwlgroup.com<br />

Corporate Software www.corporate.ma<br />

De Chazal Du Mee Consulting (DCDM) www.dcdm.biz<br />

EOH Consulting Services (Pty) Ltd. www.eoh.co.za<br />

Implementation Factory (Pty) Ltd. www.ifactory.co.za<br />

Integrated Tertiary Software (Pty) Ltd. www.its.co.za<br />

New Dawn Technologies www.ndt.co.za<br />

Omnidata www.omnidata.co.ma<br />

or@dist www.oradist.com.tn<br />

RPC DATA LIMITED www.rpcdata.com<br />

State Informatics Ltd. (SIL) sil.intnet.mu<br />

VESL www.vesltech.com<br />

Waymark Infotech (Pty) Ltd. www.waymark.co.za<br />

Asia Pacific<br />

Acumen Alliance Investments www.acumen.com.au<br />

Alcatel Australia Limited www.alcatel.com.au<br />

ASG (Asia Pacific) Pty Ltd. www.asggroup.com.au<br />

Application Hosting Services Co., Ltd. www.a-host.co.th<br />

Attain IT Pty Ltd. www.attainit.com.au<br />

Automated Systems (HK) Ltd. www.asl.com.hk<br />

Beijing Futong Dong Fang Technology Co. Ltd. www.futong.com.cn<br />

China National Software & Service Company Limited www.css.com.cn<br />

DataHeaven Co., Ltd. www.dataheaven.co.kr<br />

Dataone Asia (Thailand) Co. Ltd. www.diasia.co.th<br />

Daesang Information Technology Co., Ltd. www.daesangit.com<br />

Digital China (China) Limited www.digitalchina.com.cn<br />

DMS Software Technologies (Pvt.) Ltd. www.dmsswt.com<br />

ECS International Trading (Shanghai) Co., Ltd. www.ecschina.com<br />

Electronic Data Systems (India) Pvt Ltd. www.eds.com<br />

FPT Information System www.fis.com.vn<br />

FPT Software Solutions www.fss.com.vn<br />

Fujian Fujitsu Communication Software Co., Ltd. www.ffcs.cn<br />

Fusion5 Limited www.fusion5.co.nz<br />

GTL Limited www.gtllimited.com<br />

FPT Corporation www.fpt.com.vn<br />

HAND Enterprise Solutions Co., Ltd. www.hand-china.com<br />

HPT Vietnam Corporation www.hptvietnam.com<br />

Huadi Computer Group Co., Ltd. www.huadi.com.cn<br />

Huawei Technologies Co., Ltd. www.huawei.com/cn<br />

iCE Consulting Co Ltd. www.iceconsulting.co.th<br />

i-flex Solutions Limited www.iflexsolutions.com<br />

Jigsaw Services Pty Ltd. www.jigsawservices.com.au<br />

LG CNS Co., Ltd. www.lgcns.com<br />

L&S Information Technology Co. Ltd. www.lnsit.co.kr<br />

IT&C Co., Ltd. www.itnc.co.kr<br />

KPMG Consulting Co Ltd. www.kpmg.com.tw<br />

KOLON I’Networks Corp. www.kdc.kolon.co.kr<br />

NCS Pte. Ltd. www.ncs.com.sg<br />

Nucleus Software Exports Ltd. www.nucleussoftware.com<br />

Ora-Tech System Pvt. Ltd. www.ora-tech.com<br />

OED Technology Sdn Bhd www.patimas.com<br />

Propia Co., Ltd. www.propia.co.kr<br />

Pythis www.pythis.com<br />

Red Hat Asia Pacific www.redhat.com<br />

Red Rock Consulting www.redrock.net.au<br />

Sam Yung Holdings IT Business Division www.syhds.com<br />

Samsung SDS www.sds.samsung.co.kr<br />

Shanghai New Century High Tecnology Services Ltd. www.shsnc.com<br />

Shen Yang Neusoft Co., Ltd. www.neusoft.com<br />

Sierra Atlantic Pte Ltd. www. sierraatlantic.com<br />

Sonata Information Technology www.sonata-infotech.com<br />

Sysage Technology Co., Ltd. www.sysage.com.tw<br />

System Access Pte Limited www.systemaccess.com<br />

Systex Corporation Taiwan www.systex.com.tw<br />

Systex Information (H.K.) Ltd. www.systex.com.hk<br />

Taiji Computer Corporation www.taiji.com.cn<br />

Tata Infotech Ltd. www.tatainfotech.com<br />

TechAccess Pakistan (Pvt.) Ltd. www.techaccesspak.com<br />

Tietoenator Software Technologies Pvt Ltd. www.tietoenator.in<br />

Wezoomtek Corporation www.wezoomtek.com<br />

90 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

Canada<br />

Allstream Inc. www.allstream.com<br />

Castek www.castek.com<br />

CGI Group, Inc. www.cgi.com<br />

TietoEnator Canada Inc. www.tietoenator.com<br />

Europe<br />

Actebis Peacock GmbH www.actebispeacock.de<br />

ACURE A/S www.acure.dk<br />

Afina Sistemas Informaticos www.afina.es<br />

Alcatel www.alcatel.com<br />

Alcatel CIT www.alcatel.fr<br />

Anelia SAS www.anelia.fr<br />

Application Lynx www.applicationlynx.co.uk<br />

Ares www.ares.fr<br />

Asseco Poland S.A. www.asseco.pl<br />

Atos Origin IT Services UK www.atosorigin.com<br />

Atos Origin Nederland BV www.atosorigin.com<br />

B3iT Management AB www.b3it.se<br />

Basilica Computing Limited www.basilica.co.uk<br />

Bell Microproducts Limited www.bellmicro.eu<br />

Borlas IBC www.borlas.ru<br />

Capgemini Telecom Media und Networks GmbH www.de.cgey.com<br />

CBOSS www.cboss.ru<br />

Cedar Consulting Ltd. www.cedarconsulting.co.uk<br />

CGI Group INC www.cgi.com<br />

Ciber UK www.ciber.com<br />

Cnsys www.cnsys.bg<br />

ComArch S.A. www.comarch.pl<br />

CompelSolve Ltd. www.compel.co.uk<br />

CompIT Technologies www.compit-t.com.by<br />

Computacenter AG & Co. OHG www.computacenter.de<br />

ComputerLand S.A. www.computerland.pl<br />

Comverse www.comverse.com<br />

Consit A/S www.consit.dk<br />

Convergys EMEA Ltd. www.convergys.com<br />

Cozum Bilgisayar www.cozumbil.com.tr<br />

CSC France www.csc.com<br />

CROC Incorporated www.croc.ru<br />

Cronos NV www.cronos.be<br />

Cronos Ibérica, S.A. www.cronosiberica.es<br />

CSC www.csc.com<br />

CSG Systems (Silicon Iberia) www.csgsystems.com<br />

Deutsche Post ITSolutions GmbH www.dp-itsolutions.de<br />

Developing World Systems Ltd. www.dwsonline.co.uk<br />

DIGORA www.digora.com<br />

DISTRILOGIE (France) www.distrilogie.com<br />

DBConcepts Daten - und Informationsverarbeitungsges.m.b.H. www.dbconcepts.at<br />

Diligenta Limited www.Diligenta.co.uk<br />

DNS Hungary Ltd. www.dns-hungary.hu<br />

Ecletic Group Ltd. www.eclectic.co.uk<br />

Edenbrook Limited www.edenbrook.co.uk<br />

Engineering Ingegneria Informatica S.p.A. www.eng.it<br />

Everis Spain S.L. www.everis.com<br />

Explorer (UK) Limited www.explorer.uk.com<br />

Experteam Consulting www.experteam.com.tr<br />

Fadata www.fadata.bg<br />

FORS Development Center www.fdc.ru<br />

Fujitsu Services Limited www.uk.fujitsu.com<br />

Fujitsu Siemens Computers Ltd. www.fujitsu-siemens.com<br />

Getronics PinkRoccade www.getronicspinkroccade.nl<br />

Global Services Aarhus & Copenhagen A/S www.maerskdata.dk<br />

Groupe LGS France www.lgsrecrut.com<br />

GWI Unternehmensgruppe www.gwi-ag.com<br />

Horizon Clarity Technology Ltd. www.claritytechnology.co.uk<br />

Hunkler GmbH & Co. KG www.hunkler.biz<br />

I-Teco www.i-teco.ru<br />

i-flex solutions bv www.iflexsolutions.com<br />

Inatech Solutions Ltd. www.inatech.com<br />

INDRA Sistemas S.A. www.indra.es<br />

Industrial and Financial Systems, IFS AB www.ifsworld.com<br />

Ineum Consulting www.ineum.fr<br />

Infor Global Solutions GmbH www.infor.de<br />

Informacines Technologijos www.it.lt<br />

Informatica El Cortes Ingles www.ieci.es<br />

Information Technologies Company www.it.ru<br />

Intec Billing Ireland www.intecbilling.com<br />

Intec Telecom Systems www.intec-telecom-systems.com<br />

Intel Solution Services UK www.intel.com<br />

Inter Access B.V. www.interaccess.nl<br />

IT Alise www.it-alise.com<br />

IT-eye www.it-eye.nl<br />

KNAPP Systemintegration GmbH www.knapp.com<br />

KPMG Consulting www.kpmg.be<br />

Kurt Salmon Associates www.kurtsalmon.com<br />

Leaves www.leaves.ru<br />

LGS France www.lgs.com<br />

LogicaCMG www.logicacmg.nl<br />

LogicaCMG www.Logicacmg.com<br />

LOGIX www.logix.fr<br />

Mdtvision www.mdtvision.com<br />

Memorex Telex/EDS www.memorex.ie<br />

Micros-Fidelio GmbH www.micros-fidelio.org<br />

Montora www.montora.com<br />

Morse Group Ltd. www.morse.com<br />

Mphasis Ltd. www.mphasis.com<br />

Msg Systems ag www.msg-systems.com<br />

Network Centric Solutions Limited www.ncsltd.com<br />

Noetix www.noetix.com


COMPANY NAME URL COMPANY NAME URL<br />

Nokia Corporation www.nokia.com<br />

Ordina www.ordina.nl<br />

Oficina de Cooperación Universitaria www.ocu.es<br />

Open Technologies www.ot.ru<br />

Opitz Consulting GmbH www.opitz-consulting.de<br />

Patech Solutions Limited www.patech-solutions.com<br />

PC-Ware Information Technologies AG www.pc-ware.de<br />

Peak Systems Support Ltd. www.peaksystems.co.uk<br />

PDV-Systeme Erfurt Gesellschaft für Systemtechnik mbH www.pdv.de<br />

Peak Systems Support Ltd. www.peaksystems.uk.com<br />

Peter-Service www.billing.ru<br />

Prodatis Consulting AG www.prodatis.com<br />

QAS Ltd. www.qas.com<br />

Quantix Ltd. www.quantix-uk.com<br />

RDTEX www.rdtex.ru<br />

Rila Solutions www.rila.com<br />

RTC Real-Time Center AG www.rtc.ch<br />

S.C. RomSoft S.R.L. www.romsoft.info<br />

SCC PLC www.scc.com<br />

Sddc www.sddc.fr<br />

SIV AG www.siv.de<br />

SIVECO Romania S.A. www.siveco.ro<br />

Service & Systems Solutions www.northgate-is.com<br />

Softek Storage Solutions www.softek.com<br />

Softman S.A. www.softman.pl<br />

Software Design & Management AG www.sdm.de<br />

Sogeti Espana www.sogeti.biz<br />

Sopra Group www.sopragroup.com<br />

Symatrix Limited www.symatrix.co.uk<br />

TEAM GmbH www.team-pb.de<br />

Teamsolve www.teamsolve.co.uk<br />

Tech Data Midrange GmbH www.tdmidrange.de<br />

Technologica www.tlogica.com<br />

Technology Reply Srl www.reply.it<br />

Temenos www.temenos.com<br />

Teta S.A www.teta.com.pl<br />

TietoEnator Corporation www.tetioenator.com<br />

TimeStamp - Sistema de Informação www.timestamp.pt<br />

T-Systems International GmbH www.t-systems.com<br />

Unisys France www.unisys.com<br />

Up to Data, Professional Services GMBH www.uptodata.de<br />

Vector Software SRL www.vectorsoftware.ro<br />

Version 1 Software www.version1.com<br />

Whitehouse Consultants Ltd. www.whitehouse-consult.com<br />

WM-data Danmark A/S www.wmdata.com<br />

Latin America<br />

Abaco Tecnologia de Informacao Ltda. www.abaco.com.br<br />

Acao Informatica Brasil Ltda. www.acao.com.br<br />

Advanced Database & IT Sistemas de Informação S.A. www.advancedit.com.br<br />

Aporte Gestao Empresarial e Tecnologia da Informacao Ltda. www.aporte.com<br />

Apply Solutions www.applysolutions.com.br<br />

Asistir Ltda. www.asistir.com<br />

Atel S.A. (Quanam Uruguay) www.quanam.com<br />

B2BR Business to Business Informatica do Brasil www.b2br.com.br<br />

Bertini Comércio e Serviços de Informática Ltda. www.bertini.com.br<br />

BGH, S.A. www.bgh.com.ar<br />

BusinessMind S.A. www.businessmind.com.ec<br />

Casa de Software S.A. www.casasoft.com.br<br />

Compusoluciones y Asociados, S.A. de C.V. www.compusoluciones.com<br />

CFP3 Consultoria e Tecnologia www.commitconsultores.com.br<br />

CONSULT SOFT S.A. www.consult-soft.com<br />

CTIS Tecnologia S.A. www.ctis.com.br<br />

Datastar Argentina S.A. www.datastar.com.ar<br />

Datavision Digital, S.A. De C.V. www.datavision.com.mx<br />

Datum www.datum.com<br />

Discover Technology Informatica Ltda. www.discover.com.br<br />

e-Builders & Consulting Group S. A. C. www.ebuilders.com.pe<br />

Elucid Solutions S.A. www.elucid.com.br<br />

Enorey International www.quanam.com<br />

EN-SOF Consultoria e Informática Ltda. www.en-sof.com.br<br />

E-Partner Comercial e Serviços de Informática Ltda. www.epartnerbr.com.br<br />

ERP Soluciones S.A. de C.V. www.erpsol.com.mx<br />

Eserv Expert Services Del Ecuador S.A. www.eserv-andina.com<br />

Excelsis S.A.C.I.G www.excelsis.com.py<br />

FYC Soluciones Integrales, C.A. www.fyccorp.com<br />

Grupo Quanam www.quanam.com<br />

Illuminat Ltd. www.illuminatnm.com<br />

In Motion Servicios S.A. www.inmotion.cl<br />

Ingenieria Condor S.A. DE C.V. www.i-condor.com<br />

Innovat S.A. www.itexperts.com.ec<br />

Intec Telecom Systems do Brasil Ltda. www.intec-telecom-system.com<br />

JFM Informática Ltda. www.jfm.com.br<br />

Kruger Corporation S.A. www.kruger.com.ec<br />

MATERA Systems Informatica Ltda. www.matera.com<br />

MPL Corporate Software S.A. www.mpl.com.br<br />

Netix Distribuidores de Tecnologia, C.A. www.netixcorp.com<br />

Nexsys www.nexsysla.com<br />

Officer Distribuidora www.officer.com.br<br />

Politec Ltda. www.politec.com.br<br />

Preteco www.preteco.com<br />

Procwork CRM www.procwork.com.br<br />

Recours Informatica Consultoria e Assessoria Ltda. www.recours.com.br<br />

Senior Serviços em Tecnologia de Informática Ltda. www.senior.com.br<br />

Servicios, Tecnologia y Organizacion S.A. de C.V. (STO) www.stoconsulting.com<br />

Sinergy Solutions, S.A. de C.V. www.sinergysolutions.com.mx<br />

Snoop Consulting S.R.L. www.snoopconsulting.com<br />

Soft Bolivar S.A. www.softbolivar.com<br />

Softcomex Informática Ltda. www.softcomex.com.br<br />

Solusoft www.solusoft.com<br />

Sonda del Peru S.A. www.sonda.com<br />

SQL Technology S.A. www.sqltech.cl<br />

Sunrising Desenvolvimento de Sistemas www.sunrising.com.br<br />

Sysdesign Consultoria Em Informatica Limitada www.sysdesign.com.br<br />

Tilsor S.A. www.tilsor.com.uy<br />

TSnet S.A. www.tsnetglobal.com<br />

Unimix Tecnologia Ltda. www.unimix.com.br<br />

Unisys www.unisys.com<br />

YKP Consultoria e Sistemas Ltda. www.ykp.com.br<br />

Middle East<br />

Bahwan Cybertek LLC www.bahwancybertek.com<br />

Computer and Communications Systems www. ccs.com.jo<br />

Computer Information Systems www.cis.com.lb<br />

Computer and Engineering Bureau CEB www.ceb.com.jo<br />

Districom www.cis.com.lb<br />

Emirates Computers Est www.emiratescomputers.co.ae<br />

Giza Systems www.gizasystems.com<br />

Global Technology Services LLC www.gtsuae.com<br />

Hyperlink www.hyperlink-me.com<br />

Integrated Data Solutions www.idscomp.com<br />

International Turnkey Systems (ITS) www.its.ws<br />

Intracom Jordan www.intracom.jo<br />

Mannai Trading Company Limited www.mannaicorp.com<br />

Mercator www.mercator.co.ae<br />

Macro Software Systems LLC www.macro-soft.com<br />

Mindscape www.mindscapeit.com<br />

Raya Gulf LLC www.rayaholding.com<br />

Royah www.royah.com<br />

United States<br />

170 Systems, Inc. www.170systems.com<br />

Abaris, Inc. www.abaris-inc.com<br />

Actuate Corporation www.actuate.com<br />

Apex IT, Inc. www.Apexit.com<br />

Applications Software Technology Corp. www.astcorporation.com<br />

Applied Biosystems www.sqllims.com<br />

Applimation, Inc. www.applimation.com<br />

Avnet www.avnet.com<br />

BMC Software, Inc. www.bmc.com<br />

Business & Decision www.businessdecision.com<br />

Business & Technology Resource Group Inc. www.btrgroup.com<br />

CedarCrestone www.cedarcrestone.com<br />

CherryRoad Technologies www.cherryroad.com<br />

CIBER www.ciber.com/ces/oracle<br />

Cognizant Technology Solutions www.cognizant.com<br />

COLLEGIS INC www.collegis.com<br />

CSS International www.cssus.com<br />

DAZ Systems www.dazsi.com<br />

Eastern Software Corporation www.easternsoftware.com<br />

Fidelity Information Services www.fidelityinfoservices.com/FNFIS<br />

GNC Consulting, Inc. www.gnc-consulting.com<br />

GNUCO, LLC dba Emerging Solutions www.emergenow.com<br />

Hyperion Solutions www.hyperion.com<br />

IAE Solutions, LLC www.iaesolutions.com<br />

IMPAC Services www.impacservices.com<br />

INRANGE Consulting Corporation www.inrangeconsulting.com<br />

INTELLIGROUP INC www.intelligroup.com<br />

KBACE Technologies, Inc. www.kbace.com<br />

Kronos Inc. www.kronos.com<br />

Lucidity Consulting Group LP www.luciditycg.com<br />

MAXIMUS Inc. www.maximus.com<br />

MSS Technologies, Inc. www.msstech.com<br />

Mythics www.mythics.com<br />

NaviSite, Inc. www.navisite.com<br />

Noetix Corporation www.noetix.com<br />

Novell, Inc. www.novell.com<br />

Optimum Solutions Group, LLC www.optimumsolutions.com<br />

OSI Consulting, Inc. www.osius.com<br />

Perot Systems Corporation www.perotsystems.com<br />

Princeton Softech www.princetonsoftech.com<br />

Protege Software Services, Inc. www.protege.com<br />

Red Hat, Inc. www.redhat.com<br />

Solbourne Computer Inc. www.solbourne.com<br />

Solution Beacon, LLC www.solutionbeacon.com<br />

SYSTIME www.systime.net<br />

TietoEnator Majiq, Inc. www.tietoenator.com<br />

TITAN Technology Partners www.ttpartners.com<br />

TUSC www.tusc.com<br />

Unisys Corporation www.unisys.com<br />

USinternetworking, Inc. www.usi.net<br />

Waters Corporation www.waters.com<br />

Wave Consulting Group www.wavecg.com<br />

Whitbread Technology Partners, Inc. www.whitbreadtech.com<br />

Xcelicor, Inc. www.xcelicor.com<br />

Zanett Commercial Solutions, Inc. www.whitbreadtech.com<br />

Partners able to demonstrate superior product knowledge, competence, and a commitment to doing business with <strong>Oracle</strong> qualify for the <strong>Oracle</strong> PartnerNetwork (OPN) Certified Advantage Partner level. These partners receive the<br />

highest level of service, training, benefits, and resources from <strong>Oracle</strong> to support them in delivering quality to customers. For more information on partners, please visit the OPN Solutions Catalog at solutions.oracle.com.<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 91<br />

CERTIFIEDadvantage partner index


commentIN THE FIELD<br />

What’s New in <strong>Oracle</strong> Database 11g<br />

The latest version of the database has great new features for everyone.<br />

racle Database 11g, the biggest<br />

release of <strong>Oracle</strong>’s flagship<br />

database in several years, was<br />

launched recently. I’m impressed<br />

that <strong>Oracle</strong> invests so much effort in<br />

each new version of the database, and<br />

the effort shows. The database has consistently<br />

been the technology market<br />

leader, often by many years, and this<br />

new version continues that tradition.<br />

Full disclosure: The Independent<br />

<strong>Oracle</strong> Users Group (IOUG) has been a<br />

significant part of the beta program for<br />

<strong>Oracle</strong> Database 11g. IOUG members<br />

have been working with <strong>Oracle</strong> on features<br />

and testing, and many members<br />

have installed beta versions of the<br />

release and run real applications against<br />

it—and there’s a lot to like in <strong>Oracle</strong><br />

Database 11g. You’ve probably heard<br />

about some of the major features, and I<br />

want to tell you about some of my favorite<br />

features of this new release.<br />

ORACLE AUDIT VAULT<br />

One feature I love in <strong>Oracle</strong> Database<br />

11g is called <strong>Oracle</strong> Audit Vault, and<br />

if you’re not using it now in <strong>Oracle</strong>9i<br />

Database or <strong>Oracle</strong> Database 10g, maybe<br />

you should be. What’s so special about<br />

<strong>Oracle</strong> Audit Vault? It makes <strong>Oracle</strong> the<br />

only database to enable you to be truly<br />

security-process compliant.<br />

From my experience as a DBA, I<br />

know—and you probably do, too—that<br />

DBAs who are skilled enough can view<br />

and change data if they really want to.<br />

They can then alter the audit trail—wipe<br />

away their footprints—to make sure no<br />

one can find out what they’ve done. It’s<br />

always been a problem, and now it’s also<br />

a major compliance issue.<br />

<strong>Oracle</strong> Audit Vault changes that scenario<br />

considerably. The audit trail goes<br />

into a one-way “lockbox.” No one, not<br />

even a highly skilled DBA, can alter<br />

that audit trail once it’s in the lockbox.<br />

People can view it, but no one can<br />

change it or delete it.<br />

This functionality prevents problems,<br />

whether deliberate or accidental,<br />

caused by insiders. <strong>Oracle</strong> Audit<br />

Vault is implemented using encryption<br />

techniques, and those who try to<br />

tamper with it leave telltale signs of<br />

their attempts. Enterprises that need<br />

to comply with regulatory audit procedures—and<br />

which don’t?—will love<br />

<strong>Oracle</strong> Audit Vault. I can’t wait.<br />

HOT PATCHING<br />

Another feature that DBAs will really<br />

appreciate is hot patching, which allows<br />

you to apply updates and bug fixes<br />

to the database without bringing the<br />

system down. Previously, you would<br />

have to stop production by halting work<br />

entirely—or do an intricate and expensive<br />

dance of transferring to another<br />

system and back—to do any patching.<br />

It’s no surprise that administrators were<br />

reluctant to do this, and praiseworthy<br />

dedication to uptime sometimes meant<br />

not applying critical patch updates. Hot<br />

patching resolves such dilemmas: you<br />

can run your patches, including security<br />

fixes, without affecting production.<br />

Gotta love that.<br />

Another new feature I like in <strong>Oracle</strong><br />

Database 11g is the ability to store<br />

data in compressed format—called<br />

advanced table compression. Suppose<br />

you’re storing a lot of long documents.<br />

Keeping them in compressed format<br />

can save up to two-thirds of the usual<br />

space necessary. Naturally the amount<br />

of space you can save depends on the<br />

kind of information you’re storing: this<br />

compression won’t help much with data<br />

that’s already compressed, for example.<br />

But if you have large uncompressed<br />

data elements, this feature will save you<br />

92 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

BY ARI KAPLAN<br />

a lot of space and expense.<br />

Even managing large amounts of<br />

ordinary data can be a chore. The new<br />

partition advisor can suggest how best<br />

to manage large amounts of data, such<br />

as census data by state. It can also<br />

physically create partitions. You still have<br />

control over what it does—specifying<br />

how long to keep data, for example.<br />

QUERY RESULT CACHE<br />

Another neat feature is query result<br />

cache, which is what it sounds like:<br />

<strong>Oracle</strong> Database 11g will cache the results<br />

of queries in memory, where they act like<br />

tables. Multiple users can see these results<br />

without repeating the same query. For<br />

common and frequently used queries,<br />

this can save system effort and improve<br />

performance. You can configure how<br />

much space to allocate to query result<br />

cache and how long to retain results.<br />

These are just a few of the new features<br />

I looked at in <strong>Oracle</strong> Database 11g.<br />

<strong>Oracle</strong> consistently comes out with new,<br />

useful, and—for some business issues—<br />

mandatory technology. The company’s<br />

commitment to its database product is<br />

impressive. This one will be fun. �<br />

Ari Kaplan (ari_kaplan@ioug.org) is president of the<br />

Independent <strong>Oracle</strong> Users Group (IOUG) and a senior<br />

consultant at Datalink. He founded Expand Beyond<br />

Corporation, a leader in mobile IT software. He has<br />

been involved in <strong>Oracle</strong> technology since 1992.<br />

READ more about<br />

<strong>Oracle</strong> Database 11g<br />

oracle.com/database<br />

<strong>Oracle</strong> Database 11g in Ask Tom<br />

otn.oracle.com/oramag/oracle/07-sep/<br />

o57asktom.html<br />

DOWNLOAD <strong>Oracle</strong> Database 11g<br />

otn.oracle.com/database


commentALL SECURE<br />

Automating Security<br />

Papa’s got a brand-new bag (of tools).<br />

racle is celebrating its 30th<br />

anniversary this year. Some<br />

of us old-timers have been<br />

busy wallowing in nostalgia<br />

by cataloging remembrances of how<br />

<strong>Oracle</strong> has changed over these 30 years.<br />

There’s sometimes a tendency to think<br />

that old times were better, but even<br />

those with Luddite inclinations can<br />

agree with my mother when she says,<br />

“Without change, there is no growth.”<br />

(I used to joke that working at <strong>Oracle</strong><br />

was like the weather in San Francisco:<br />

if you aren’t 100 percent thrilled at<br />

any given moment, wait half an hour,<br />

because it will change.)<br />

There are a great many things that<br />

are actually better now than in the<br />

“good old days.” One of these has been<br />

the growth in tools that help people<br />

do security-related things more easily.<br />

Security automation can help everyone<br />

from developers trying to get their products<br />

out the door securely (by finding<br />

defects in software that could lead to<br />

security vulnerabilities) to customers<br />

trying to ensure that their security<br />

posture remains strong from day to day<br />

despite frequent configuration changes.<br />

Figure that most systems are larger and<br />

more complex than they used to be, and<br />

you realize why security automation<br />

is the wave of the future even if it was<br />

needed yesterday.<br />

AUTOMATING SECURITY NOW<br />

<strong>Oracle</strong> has some homegrown tools we<br />

use to help find and root out common<br />

secure-coding errors. Some of these<br />

have been developed by <strong>Oracle</strong>’s ethical<br />

hacking team, whose technical acumen<br />

is exceeded only by its sense of humor<br />

in naming the tools. (SQL*Splat is a<br />

tool for finding SQL injections, and<br />

Bit*Rotter is a protocol fuzzer.) The<br />

ethical hacking team uses these tools to<br />

automate its security assessments, and<br />

the quality assurance teams use them to<br />

keep ahead of the ethical hackers.<br />

We’ve also licensed tools from thirdparty<br />

vendors. You can’t test security<br />

into a product, but even a really good<br />

developer can benefit from tools that<br />

automate finding security-related<br />

defects. Some of these tools do static<br />

analysis: tracing through source code to<br />

find how an input at X (that is not correctly<br />

handled, for example) could lead<br />

to an actual exploit at point Y later in<br />

the code. We also use automated tools to<br />

test Web interfaces—in both our development<br />

and production environments—<br />

for common security vulnerabilities. No<br />

one tool does it all. Just as for building<br />

a house, you need hammers, saws, and<br />

screwdrivers as well as a good design<br />

and excellent workers.<br />

It took us a long time to find good<br />

tools, train people to use them, and roll<br />

them out. We have helped our vendors<br />

make their tools more robust (nobody<br />

could scan 50 million lines of code daily<br />

when we started looking at tools), which<br />

helps not only <strong>Oracle</strong> but also others in<br />

the industry. We all need the equivalent<br />

of spell-checkers for code to find where<br />

we have misspelled security, so to speak.<br />

I am pleased that <strong>Oracle</strong> is helping push<br />

the envelope for security automation<br />

higher and broader for everyone.<br />

Security automation is also important<br />

in secure configuration. Most people<br />

don’t have the time or expertise to set,<br />

say, 82 configuration parameters by<br />

hand (on 37 instances), much less do<br />

it every day to ensure that they didn’t<br />

leave a cyberdoor wide open. Being able<br />

to automate those “Am I secure?” checks<br />

is like having a night watchman (who<br />

never needs to sleep) checking every<br />

door and window every quarter hour in<br />

perpetuity. Ideally, every software vendor<br />

BY MARY ANN DAVIDSON<br />

ought to document best security practice,<br />

make it easy to install its products<br />

that way by default, and provide a tool<br />

to automate the security checks.<br />

SECURING GOOD TIMES<br />

One thing that hasn’t changed in 30<br />

years is that people who work in IT are<br />

always doing at least four things at once,<br />

and being able to automate three of them<br />

will not only make us all more secure<br />

but will also make better use of a scarce<br />

resource (time!). So I look forward to<br />

the “good new days” when there are lots<br />

of automated security tools in the marketplace<br />

that meet the needs of vendors<br />

large and small as well as those of Jane<br />

or Joe Developer building a custom<br />

application for Mom-and-Pop.com.<br />

Another thing hasn’t changed in 30<br />

years: we can all use more time. �<br />

Mary Ann Davidson is the chief security officer at<br />

<strong>Oracle</strong>, responsible for secure development practice,<br />

security evaluations, and assessments. She represents<br />

<strong>Oracle</strong> on the board of directors of the Information<br />

Technology Information Security Analysis Center (IT-<br />

ISAC) and the Defense Science Board and is on the<br />

editorial review board of SC <strong>Magazine</strong>.<br />

LEARN more about<br />

<strong>Oracle</strong> security solutions<br />

oracle.com/security/security-solutions.html<br />

<strong>Oracle</strong> Software Security Assurance<br />

oracle.com/security/software-security-assurance.html<br />

Critical Patch Updates and<br />

Security Alerts<br />

otn.oracle.com/deploy/security/alerts.htm<br />

READ more Davidson<br />

blogs.oracle.com/maryanndavidson<br />

DISCUSS<br />

<strong>Oracle</strong> Identity Management<br />

forums.oracle.com/forums/forum.jspa?forumID=47<br />

Security<br />

forums.oracle.com/forums/forum.jspa?forumID=51<br />

ORACLE MAGAZINE SEPTEMBER/OCTOBER <strong>2007</strong> 93


adINDEX<br />

Receive Free Product Information<br />

from Our Advertisers<br />

Contact vendors below for additional information about products or services advertised in this issue.<br />

ADVERTISER WEB SITE PAGE<br />

Allround Automations www.allroundautomations.com 69<br />

AMD www.amd.com 27, 52<br />

Autodesk www.autodesk.com 52<br />

BEZ www.bez.com 44<br />

BI Consulting Group www.biconsultinggroup.com 9, 11<br />

Citrix www.citrix.com 10<br />

Conquest Software www.sqldetective.com 2, 3<br />

Dell Inc. www.dell.com 31-34, 62<br />

EMC www.emc.com 4<br />

Fujitsu Group www.fujitsu.com IFC -1, 47<br />

HP www.hp.com 25, 46<br />

ImageNow www.imagenow.com 22<br />

McGraw-Hill/Osborne www.oraclepressbooks.com 70<br />

Network Appliance www.netapp.com 51. OBC<br />

Pillar Data Systems www.pillar.com 8, 48<br />

The Pythian Group www.pythian.com 49<br />

Tusc www.tusc.com 50<br />

Quest www.quest.com 7, 50<br />

Syncsort www.syncsort.com 13<br />

USi www.USi.com 15<br />

Web addresses are provided as a service. <strong>Oracle</strong> <strong>Magazine</strong> is not responsible for errors or Web address changes.<br />

<strong>Oracle</strong> Publishing allows sharing of our mailing list with selected third parties. If at any time you would like to be removed from this mailing list,<br />

please contact our customer service department at +1.847.763.9635 or send an e-mail to oracle@halldata.com.<br />

ADVERTISING CLOSE DATES FOR <strong>2007</strong> ISSUES<br />

ISSUE CLOSE DATE<br />

November/December <strong>2007</strong> August 29, <strong>2007</strong><br />

<strong>Oracle</strong> <strong>Magazine</strong> (ISSN 1065-3171) is published bimonthly with a free subscription price by: <strong>Oracle</strong>, 500 <strong>Oracle</strong> Parkway, MS OPL-3C, Redwood City, CA<br />

94065-1600. Periodicals Postage Paid at Redwood City, CA, and additional mailing offices. CPC Sales Agreement #1518151 • POSTMASTER: Send address<br />

changes to: <strong>Oracle</strong> <strong>Magazine</strong>, P.O. Box 1263, Skokie, IL 60076-8263.<br />

94 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE


<strong>Oracle</strong> Database<br />

Get Better Results<br />

“35% increase in performance and<br />

reduced costs by several million<br />

with <strong>Oracle</strong> and AMD”<br />

With The World’s #1 Database<br />

oracle.com/database<br />

or call 1.800.ORACLE.1<br />

Copyright © <strong>2007</strong>. <strong>Oracle</strong> is a registered trademark of <strong>Oracle</strong> Corporation and/or its affi liates. Other names may be trademarks of their respective owners.


commentANALYST’S CORNER<br />

96 SEPTEMBER/OCTOBER <strong>2007</strong> ORACLE.COM/ORACLEMAGAZINE<br />

BY DAVID BAUM<br />

Secure Data for Every Business Need<br />

New needs for compliance mean tighter access control.<br />

racle <strong>Magazine</strong> spoke with Trent<br />

Henry of Burton Group about<br />

data protection, compliance,<br />

encryption, and access control.<br />

<strong>Oracle</strong> <strong>Magazine</strong>: What changes in today’s<br />

business climate are motivating organizations<br />

to adopt stronger database security?<br />

Henry: One of the guiding factors is a<br />

realization that they need to control what<br />

insiders, such as system administrators,<br />

can and can’t do. Until recently, these<br />

folks had system-level privileges to see<br />

any data, mainly for the sake of convenience.<br />

Today, federal regulators require<br />

public companies to constrain what privileged<br />

users can see, such as the financial<br />

data within a general ledger. Companies<br />

can do this explicitly, using fine-grained<br />

authorizations, access control, or encryption,<br />

as well as after the fact, with database<br />

audits and monitoring tools.<br />

<strong>Oracle</strong> <strong>Magazine</strong>: What are the guiding<br />

principles behind access control?<br />

Henry: The important thing is to ensure<br />

that trusted employees obey policies<br />

governing their respective roles, because<br />

regulators and auditors are asking hard<br />

questions about how carefully companies<br />

control the activities of these personnel—<br />

whether you trust them or not. DBAs<br />

may dislike the controls that are put in<br />

place, but many times these controls are<br />

in response to an external requirement.<br />

<strong>Oracle</strong> <strong>Magazine</strong>: How difficult is it to<br />

establish these controls?<br />

Henry: In smaller organizations, segregation<br />

of duties can be difficult to<br />

achieve, because you might have only<br />

one administrator. That’s when auditing<br />

and monitoring make a lot of sense. At<br />

Burton Group, we advocate a layered<br />

approach to protection. It begins with<br />

access control in the database. For<br />

example, <strong>Oracle</strong> Database 11g enables<br />

you to isolate certain parts of the database<br />

or to implement perimeter control<br />

around the database. On top of that,<br />

<strong>Oracle</strong> Audit Vault can be used to ensure<br />

that your layered protections are operating<br />

as you expect them to operate.<br />

<strong>Oracle</strong> <strong>Magazine</strong>: What else can organizations<br />

do to protect data from those who<br />

shouldn’t have access to it?<br />

Henry: Label security lets you describe<br />

information as having a particular property<br />

or label. It can be used in a wide<br />

range of situations—everything from classifying<br />

an employee record to protecting<br />

national security information. Companies<br />

categorize data in a certain way and apply<br />

the appropriate label to identify it. After<br />

that, the information is always treated<br />

the same way, in terms of who can see<br />

that data or when people can see it. The<br />

database explicitly enforces controls over<br />

that information based on that label.<br />

<strong>Oracle</strong> <strong>Magazine</strong>: How does encryption fit<br />

into this access-control picture?<br />

Henry: Encryption is used to prevent<br />

people from seeing certain data. It can<br />

be applied to a subset of the database,<br />

the whole database, or even the disk<br />

hosting the database (sometimes called<br />

media-level encryption). The encryption<br />

can take place outside of the database,<br />

within the application layer. Different<br />

levels of encryption protect against different<br />

types of threats. Media encryption<br />

prevents unauthorized users from<br />

accessing a lost or stolen disk but won’t<br />

prevent inside users from viewing data.<br />

Protecting against insiders requires a different<br />

level of encryption. For example,<br />

you might encrypt social security<br />

numbers in a customer database yet<br />

still allow support reps to view phone<br />

numbers and addresses. You could<br />

do this with <strong>Oracle</strong> Transparent Data<br />

Encryption, which provides columnar<br />

encryption within the database. This<br />

utility doesn’t require a third-party tool,<br />

so from a configuration and management<br />

standpoint, it’s easy to put in place.<br />

<strong>Oracle</strong> <strong>Magazine</strong>: Do these strategies<br />

work for external users as well?<br />

Henry: Encryption works well within<br />

an enterprise setting. However, by the<br />

time the information is viewed through<br />

a Web portal, it may be decrypted. So<br />

at that level you may need some type of<br />

application-level encryption, in association<br />

with Web access control.<br />

<strong>Oracle</strong> <strong>Magazine</strong>: How does encryption<br />

work with identity management?<br />

Henry: It’s tied to identity management,<br />

but one challenge with Web access<br />

control is that you might be talking<br />

about a broader audience than just<br />

internal employees. For example, with<br />

an extranet portal or e-commerce portal,<br />

instead of thousands of employees, there<br />

might be millions of users. So there’s an<br />

issue of scale to consider. There’s also an<br />

issue of the types of authenticators that<br />

may be convenient to deploy. Within<br />

the enterprise, you might use one-time<br />

password tokens or smart cards to<br />

authenticate users, but this can be costprohibitive<br />

when it comes to strengthening<br />

authentication for consumers. �<br />

David Baum (david@dbaumcomm.com) is a freelance<br />

business writer based in Santa Barbara, California.<br />

Burton Group (www.burtongroup.com) provides<br />

vendor-independent research and advisory services<br />

focused on enterprise IT infrastructure technologies.<br />

READ more about<br />

<strong>Oracle</strong> Security<br />

oracle.com/security<br />

<strong>Oracle</strong> Audit Vault<br />

oracle.com/goto/auditvault<br />

<strong>Oracle</strong> Label Security<br />

oracle.com/database/label-security.html<br />

<strong>Oracle</strong> Transparent Data Encryption<br />

otn.oracle.com/deploy/security/database-security/<br />

transparent-data-encryption


Sometimes<br />

what’s slowing<br />

you down is obvious.<br />

Usually, it’s harder to pinpoint.<br />

Amazing what you can accomplish once you have<br />

the information you need.<br />

When the source of a database-driven application slowdown isn’t immediately<br />

obvious, try a tool that can get you up to speed. One that pinpoints database<br />

bottlenecks and calculates application wait time at each step. Confio lets you<br />

unravel slowdowns at the database level with no installed agents. And solving<br />

problems where they exist costs a tenth of working around it by adding new<br />

server CPU’s. Now that’s a vision that can take you places.<br />

A smarter solution makes everyone look brilliant.<br />

Download your FREE trial of Confio Ignite at www.confio.com.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!