B:8.25” T:8” S:7”
Dell recommends Windows Vista® Business.
T:10.875”
B:11.125”
S:9.875”
I WANT
MY LAPTOP TO BE A VAULT ControlVault™ identity protection. Embedded fingerprint reader. Contactless smart card.
THE NEW LATITUDE
™
Featuring the Intel® Centrino®2 Processor with vPro™ technology
DELL.COM/LATITUDE 866.238.DELL
Intel, the Intel logo, Centrino, Centrino Inside, Intel vPro and vPro Inside are trademarks of Intel Corporation in the U.S. and other countries.
FILE: 094_COM_M8J53600a2_c.indd CLIENT: Dell STUDIO ARTIST: Stan Henry 6-9932
STUDIO #: 8J53600 LAST SAVE DATE: 10-2-2008 11:59 AM
JOB #: PDL-COM-C34356 PAGE COUNT: 1 of 1
BILLING#: PDL-COM-C34356 PRINT SCALE: 100%
DOCUMENT PATH: Retouching:Volumes:Retouching:Clients:Davinci:8J53600_PDL_COM_C34356:Latest Files:094_COM_M8J53600a2_c.indd FONT FAMILY: Gotham (Medium, Black, Bold, Book, Light), GothamCondensed (Book) LINK NAME: TMP8H52555c1.tif, Dell_DarkBlue_HSB_Gradient_yr.eps, cpt2vproPM_4c_088_yr.eps INK NAME: Cyan, Magenta, Yellow, Black
MECH. QC____________________ PRE-MEDIA QC____________________ RTC QC____________________ ES____________________ ES____________________ PROJ. MNGR. ____________________ TEL
URL
ART
PUBLICATION: Oracle ISSUE DATE: Nov/Dec - materials due 10/3 DESCRIPTION: I Want Vault + Intel BLEED: 8.25” x 11.125” TRIM: 8” x 10.875” SAFETY: 7” x 9.875” GUTTER: None ACCT. EXEC.: Linsay Tolles / Natalie Huffman ART DIRECTOR: None COPYWRITER: None PRINT PROD.: Simira Davis PROJ. MNGR.: Steven Korowitz 6-9958
O R A C L E.C O M /O R A CLEMA GA ZI NE
N OVEMBER/DEC E M BE R 2 0 0 8
EDITORS’ CHOICE AWARDS 2008
HONORING LEADERSHIP AND INNOVATION IN TECHNOLOGY
OUR CIOs OF THE YEAR
TOM LAMMING TELSTRA
KONSTANTINOS KAPPOS HELLENIC TELECOMMUNICATIONS ORGANIZATION (OTE)
RICHARD MARTINEZ PUERTO RICO DEPARTMENT OF EDUCATION
BARRY LIBENSON INGERSOLL-RAND
CELSO GUIOTOKO NISSAN
IN THIS ISSUE: HP ORACLE DATABASE MACHINE • HP ORACLE EXADATA STORAGE SERVER • KEEPING ACTIVE • NEED TO KNOW
ND08_Cover_new_R1.indd 5
10/14/08 12:04:45 PM
A L T E R N A T I V E T H I N K I N G A B O U T B U S I N E S S A N D T E C H N O L O G Y:
Move Ahead. Alternative thinking is recognizing the proper role of technology in this era is not just to be safe and steady and reliable, but to spur the business to compete aggressively, imaginatively and daringly. It is working with HP and Oracle to reduce risk and lower costs while driving your business ahead. hp.com/go/oracle
Technology for better business outcomes. ©2008 Hewlett-Packard Development Company, L.P.
CONTENTS
VOLU M E XXI I , I SSUE 6
FEATUR ES
EDITORS’ CHOICE AWARDS 2008
ORACLE NEWS
HONORING LEADERSHIP AND INNOVATION IN TECHNOLOGY From all corners of the globe, from all industries, and all areas of technology—the winners of the seventh annual Editors’ Choice Awards reflect outstanding leadership, innovation, and commitment. The editors of Oracle Magazine are pleased to honor the achievements of these talented professionals. —David A. Kelly
With partner HP, Oracle has released its first-ever hardware product, the HP Oracle Database Machine. This highperformance system promises to take Oracle data warehouse performance to extreme levels. —Jeff Erickson
/31
/19
Cover: I-hua Chen
RON SELLERS
ORACLE AND HP PARTNER ON HARDWARE OFFERING
D E PAR T M E N TS From the Editor / 6 Better Partnering, More Partnering—Tom Haunert
Oracle OpenWorld 2008 was bigger and greener than ever before. Here are some highlights from the conference. / 8
10
AT OR AC LE Interview / 21
Events / 10 Find out about current and upcoming industry events.
Oracle Resources / 13 Your guide to Oracle Webcasts, podcasts, blogs, education offerings, and more
Oracle News Briefs / 16
Sushil Kumar, senior director of database availability, manageability, and performance at Oracle, talks about Oracle’s support for cloud computing.
Interview / 22 Terry Olkin, vice president and chief architect at Oracle, discusses Oracle Beehive, Oracle’s next-generation collaboration platform.
ORACLE MAGAZINE
ND08_TOC.indd 1
NOVEMBER/DECEMBER 20 08
1
10/8/08 2:46:28 PM
CONTENTS
59
TEC HNOLOGY HIGH AVAILABILITY Keeping Active / 59 Use Oracle Active Data Guard to set up a physical standby database for reporting and recovery. —Arup Nanda
24
S QL DEV ELOP ER Programming Productively / 63
C O MMU NI TY
Use Oracle SQL Developer to work efficiently with PL/SQL constructs. —Sue Harper
Partner News / 24 Zmanda, U&SLUNO, Helpstream, Data Domain, Voltaire, nCipher, Accenture, ArcSight, Capgemini
INS IDE OC P
Book Beat / 24
Reverse transactions and track historical changes in Oracle Database 11g. —Sushma Jagannath
New Ways to Flash Back / 67
Education / 26 Oracle helps students prepare for global challenges.
AS K TOM
Up Close / 27
Our technologist promotes more than one schema, counts partitions, and uses TKPROF. —Tom Kyte
A user group leader helps members manage an expanding range of Oracle technologies.
On Separation and Counting / 69
Peer-to-Peer / 28 Ahmed Alomari, Gregory Rekounas, Penny Cookson
73
C OMMENT IN THE FIELD Integration: It’s Coming Together / 73 Mergers, acquisitions, and growth present opportunities for user groups. —Ian Abramson
50
ALL S EC UR E Need to Know / 75
D EVEL O PER F RA MEWO RKS
Getting better information is important, but some secrets are not for sharing. —Mary Ann Davidson
Developing a Regional Accent / 50 Use task flows as regions to improve UI reuse. —Steve Muench
PL / SQ L PRA CTI CES On Cursor FOR Loops / 53
ANALY S T’ S C OR NER Application Server Convergence / 76 Customers gain new capabilities from the combination of Oracle and BEA technologies. —David Baum
It’s important to know when not to use cursor FOR loops. —Steven Feuerstein
O D P.NET Instant ODP.NET Deployment / 56 Deploy ODP.NET applications instantly with Oracle Data Access Components. —Mark A. Williams
2
november/december 20 08
ND08_TOC.indd 2
oracle.com/oraclemagazine
10/8/08 2:46:53 PM
rs:
®
8 00
D a t a b a s e
M a n a g e m e n t
e po 2 alToad v Lo l Ex /Virtu
ad rtua t.com o n T Vi ues
tio Toad ww.q n te e t w
At or th 008 a 2 f
R
, ter 12th s i eg ber
m ve No
Win Every Time with the Right Tools. Whatever the job, there’s a Toad® that fits.
Toad World ®
www.toadworld.com
The game is delivering better business value. And providing your team with the right tools is a big part of a successful strategy. Quest Software can help. The Toad you’ve trusted for Oracle development now offers products specifically designed for DBAs and analysts. Whether your team needs to quickly build great code, make database administration a snap or easily access data wherever it resides, Quest makes sure the deck’s always stacked in your favor. Want more? Keep your game razor sharp at Toad World, where you not only learn from some of the world’s foremost database experts, but you connect with the Toad online community worldwide. Now that’s taking tools to the next level. Get the winning hand – Toad from Quest Software.
Ready to learn more? Watch “Something for Everyone: Finding the Right Tools for DBAs, Developers and Analysts” and get access to new Toad resources at www.quest.com/edge
©2008 Quest Software, Inc. All rights reserved. Quest and Quest Software are trademarks or registered trademarks of Quest Software. All other brand or product names are trademarks or registered trademarks of their respective holders. DBM_Toad4Oracle_ToadCards_Q4_2008.
Toad_ad_NovDec_2008_v1.indd 1
10/2/08 2:45:28 PM
contents
e ditorial editor in chief Tom Haunert
[email protected] Senior managing editor Caroline Kvitka
[email protected] Features editor Kay Keppler
[email protected] contributing editor and Writer Blair Campbell editor in chief, otn Justin Kestelyn
[email protected] technology advisor Tom Kyte contributors Marta Bright, Ed DeJesus, Kirk Donnan, Jeff Erickson, Aaron Lazenby, Fred Sandsmark, Rich Schwerin, Leslie Steere de Sign Senior creative director Francisco G. Delgadillo design director Richard Merchán Production designer Kathy Cygnarowicz e ditorial Board Ian Abramson, Karen Cannell, Andrew Clarke, Chris Claterbos, Karthika Devi, Kimberly Floss, Kent Graziano, Taqi Hasan, Tony Jambu, Tony Jedlinski, Ari Kaplan, Val Kavi, John King, Steve Lemme, Carol McGury, Sumit Sengupta, Jonathan Vincenzo, Dan Vlamis re Source S oracle Products +1.800.367.8674 (U.S./Canada) oracle Services +1.888.283.0591 oracle Press Books www.oraclepress.com Printed by Brown Printing P rivacy Oracle Publishing allows sharing of its mailing list with selected third parties. If you prefer that your mailing address or e-mail address not be included in this program, contact Customer Service at
[email protected]. copyright © 2008, oracle and/or its affiliates. All Rights Reserved. No part of this publication may be reprinted or other wise reproduced without permission from the editors. ORACLE MAGAZINE IS PROVIDED ON AN “AS IS” BASIS. ORACLE EXPRESSLY DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ORACLE BE LIABLE FOR ANY DAMAGES OF ANY KIND ARISING FROM YOUR USE OF OR RELIANCE ON ANY INFORMATION PROVIDED HEREIN. The information is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Oracle Magazine (ISSN 1065-3171) is published bimonthly with a free subscription price by: Oracle, 500 Oracle Parkway, MS OPL-3C, Redwood City, CA 94065-1600. Periodicals Postage Paid at Redwood City, CA, and additional mailing offices. • POSTMASTER: Send address changes to: Oracle Magazine, P.O. Box 1263 Skokie, IL 60076-8263.
4
NOVEMBER/DECEMBER 20 08
ND08_TOC.indd 4
WE LIVE IN THE
HOUSE WE ALL
BUILD. Every decision we make has consequences. We choose what we put into our lakes and rivers. We choose what we release into the air we breathe. We choose what we put into our bodies, and where we let our children run and play. We choose the world we live in, so make the right choices. Learn what you can do to care for our water, our air, our land and yourself at earthshare.org. Earth Share supports more than 400 environmental and conservation organizations that impact you every day.
Visit us at earthshare.org
oracle.com/oraclemagazine
10/8/08 2:47:27 PM
P ubl ishing Publisher Jeff Spicer
[email protected] adve rt ising sal e s associate Publisher Kyle Walkenhorst
[email protected] +1.323.340.8585 northwest & central u.s. Tom cometa
[email protected] +1.510.339.2403 southwest u.s. and lad Shaun mehr
[email protected] +1.949.923.1660 midatlantic u.s. dawn becker and Lisa rinaldo
[email protected] +1.732.772.0160 northeast u.s. and emea/aPac mark makinney
[email protected]
P roduct ion & oP e rat ions Production director and associate Publisher Jennifer Hamilton
[email protected] +1.650.506.3794 senior circulation manager Karin Kinnear
[email protected] +1.650.506.1985 mailing-list rentals edith roman Associates +1.800.223.2194, ext. 684 subscriP t ion inf ormat ion Subscriptions are complimentary for qualified individuals who complete the subscription card found in each issue or online at oracle.com/ oraclemagazine. For change of address, mail in label with the new address to Oracle Magazine, P.o. box 1263, Skokie, IL 60076-8263. magaz ine custome r se rvice
[email protected], fax +1.847.763.9638, phone +1.847.763.9635
oracle magazine
ND08_TOC.indd 5
november/december 20 08
5
10/8/08 2:47:52 PM
f r o m t h e editor
Better Partnering, More Partnering Oracle is not alone in the hardware business. efore I started working at Oracle, I worked for a computer hardware manufacturing company. During my job interviews at Oracle, several of the interviewers questioned how my experience working at a hardware company would translate to working at Oracle—an enterprise software company. I offered that my hardware experience didn’t happen in a software vacuum, and that most of my experience was actually with a variety of software that made the computer hardware work. I got the job, and either ironically or very deliberately, I was hired into a porting group whose responsibility was to make the base platform Oracle software run on other operating systems and hardware platforms. This was one of many porting groups at Oracle, and all of these groups worked closely with the respective operating system and hardware platform companies in building their own ports of Oracle software. out of the bag and into the Box
On September 24, 2008, at Oracle OpenWorld in San Francisco, Oracle CEO Larry Ellison announced: “Oracle is going into the hardware business, but we’re not going alone.” Ellison then detailed Oracle’s entrance, with partner HP, into the computer hardware market with the release of two products designed to boost data warehouse performance: HP Oracle Database Machine and HP Oracle Exadata Storage Server. Ellison outlined the features and performance benefits of these new HP Oracle hardware products, describing each product as a grid—of database servers and storage servers, respectively. The Oracle CEO also reported that beta testers of the products had experienced astonishing results, including performance improvements of 10 times or more over their current data warehouses. HP Oracle Exadata Storage Server is key to this speed improvement. It reduces the amount of data traveling between
nextSTEPS
storage and database servers by doing much of the query processing in the storage layer, and it increases the bandwidth between storage and database servers. (For more information on the hardware release announcements, see Jeff Erickson’s “Data Warehousing Gets Extreme,” on page 19.) GETTING BETTER
People have come to expect big announcements about the latest Oracle enterprise software releases—database, middleware, and applications—at each Oracle OpenWorld, and there were plenty of those announcements this year as well, including the launch of Oracle’s next-generation collaboration software, Oracle Beehive. (For more on Oracle Beehive, see “Beyond the Buzz,” on page 22.) And in the trade coverage leading up to Oracle OpenWorld, there was the usual speculation on announcements about the next releases of specific Oracle enterprise software components. But I didn’t see any speculation about Oracle making a big partner announcement or, specifically, about Oracle going into the hardware business. I think it’s safe to say that the HP Oracle Database Machine and HP Oracle Exadata Storage Server announcement surprised a lot of people. And while the hardware announcement meant that there was both a solution for significantly faster data warehouses and a significant addition to the business description of Oracle, for me the theme of the day was partnership. Oracle has developed and ported enterprise software to HP platforms for decades, but with the latest announcement, Oracle has taken its partnership with HP to a new, unprecedented level. Oracle has developed and ported its software to more than a hundred platforms, effectively partnering with the owners of each platform, but information technology’s move to standardized hardware and the Linux operating system means that, among other things, Oracle can now partner more closely in hardware than ever before. GETTING MORE
LEARN more about HP Oracle Database Machine
oracle.com/solutions/business_intelligence/database-machine.html
HP Oracle Exadata Storage Server oracle.com/exadata
JOIN Oracle PartnerNetwork oracle.com/partners
Within an hour of the HP Oracle Database Machine and HP Oracle Exadata Storage Server announcement, I received an e-mail from a company I was not familiar with. The company spokesperson informed me that the company’s hardware was included in HP Oracle Database Machine and HP Oracle Exadata Storage Server. Soon enough, I was corresponding with a new hardware partner about coverage in Oracle Magazine.
FLASHBACK to Oracle OpenWorld 2008 ondemandpreview.vportal.net
6
N o v e m b e r / D E C EMBER 2 0 0 8
ND08_EDNOTE_r3.indd 6
Tom Haunert, Editor in Chief
[email protected]
oracle.com/oraclemagazine
10/20/08 9:45:22 AM
ures of The adventtu
Harry & Garry
PL/SQL Developer is the Oracle development tool that gives you maximum productivity, ease of use and all the features you need, for a reasonable price. Visit our website for additional details: www.allroundautomations.com/plsqldev
O r a c l e openworld 2008
The Oracle OpenWorld E Annual conference is bigger, better, and greener an Francisco was the place to be from September 21–25, 2008, when more than 42,000 Oracle customers, partners, and enthusiasts converged on the city for the largest Oracle OpenWorld yet. The annual conference focused on helping enterprises understand and harness the power of information and use Oracle software to achieve better—and greener—business results. Throughout the week, Oracle executives including CEO Larry Ellison; President Charles Phillips; Executive Vice President, Product Development, Chuck Rozwat; and Senior hartmann Studios
Vice President, Oracle Fusion Middleware, Thomas Kurian took the stage to discuss and demonstrate how organizations can take advantage of Oracle’s complete, open, and integrated technology stack to reduce complexity and increase profitability. In his keynote, Ellison introduced Oracle’s first-ever hardware product, the HP Oracle Database Machine, which he said improves data warehouse query performance by a factor of 10
During his keynote address, Oracle President Charles Phillips chatted with Olympic swimmer Michael Phelps, who won a record-breaking eight gold medals at the Beijing 2008 Olympic Games. Phelps discussed his rigorous workout schedule and diet, and Phillips prompted laughs by comparing Phelps’ training routine to that of an Oracle developer.
or more (see page 19 for details). Other major announcements included Oracle’s support for cloud computing (see page 21 for more) and the release of Oracle Beehive, a new collaboration application that gives customers a new way to communicate and work together (see page 22 for details). In addition to nearly 1,800 breakout sessions and more than 300 live demonstrations, hundreds of partners and vendors showcased products and services in the exhibition halls. Oracle Develop, a special program for developers, returned to Oracle OpenWorld this year with more days, more sessions, and more hands-on labs. New to Oracle OpenWorld in 2008 was the Green Program, with 19 sessions devoted to sustainable business practices and products. In the Green Marketplace, attendees explored leading-edge technologies that could reduce their organization’s environmental footprint. This year’s conference was also
webLOCATOR Oracle OpenWorld 2008 oracle.com/openworld/2008
Oracle OpenWorld community experience aggregator
otn.oracle.com/events/oracle-openworld-2008
Oracle OpenWorld On Demand ondemandpreview.vportal.net
the greenest Oracle OpenWorld yet, featuring reusable water bottles and
Oracle Mix
water stations; recyclable signage; nontoxic, biodegradable giveaways; and
ThinkQuest
www.thinkquest.org
virtual collateral racks. 8
november/december 20 08
ND08_OOW_r1.indd 8
mix.oracle.com
oracle.com/oraclemagazine
10/16/08 9:53:57 AM
tha
d Experience hartmann studios
than ever before.
Oracle Chairman Jeff Henley (front row, second from left) with recipients of the 2008 Empower the Green Enterprise awards. Oracle recognized 16 global customers and their partners (for a list of winners, see page 49.) Henley kicked off the Green Program at the Yerba Buena Center for the Arts, where he said, “Green business practices aren’t just good for the environment. They are good for business.” hartmann studios
bengtson PhotograPhy
Oracle Executive Vice President Chuck Rozwat announces Oracle Beehive, a builtfrom-scratch collaboration application that includes e-mail, calendaring, task management, content sharing, desktop sharing, team workspaces, and more in a single, fully integrated solution.
ThinkQuest, an international Web site–building competition for students sponsored by the Oracle Education Foundation, brought 46 award-winning students from 10 countries to Oracle OpenWorld. Above, Math Movies, the first-place team in the 19-and-under age division, whose members hail from Australia, India, Tunisia, Vietnam, and the U.S., is pictured with ThinkQuest award presenters including Safra Catz, Oracle president and chair of the Oracle Education Foundation Board of Directors (second row, fifth from left). hartmann studios
eener
Oracle attendees converged upon Moscone West, home of one of two exhibition halls, the OTN Lounge, the Oracle OpenWorld Bookstore, the Oracle Applications Lounge, conference sessions, and much more. oracle magazine
ND08_OOW.indd 9
november/december 20 08
9
10/6/08 2:54:41 PM
a t O r a c l e EvEnts Oracle user grOups Zen and the Art of Database Tuning Class
Technology Events Conferences and sessions to help you stay on the cutting edge
November 6, Reston, Virginia November 7, Dublin, Ohio November 14, Irving, Texas
w3.ioug.org/ZenDatabaseTuning/ OracleMag OAUG Advanced Planning and Collaboration SIG Teleconference November 11, online
apscollaborationsig.oaug.org
Oracle BIWA Summit 2008 December 2–3, Redwood Shores, California The only national conference devoted exclusively to Oracle-based business intelligence, warehousing, and analytics, this event features more than 75 sessions on three technical tracks, plus hands-on workshops. Keynote speakers include executives from Yahoo!, Accenture, and Oracle. Sign up at www.oraclebiwa.org.
Grupo de Usuários Oracle RS Meeting November 13, Porto Alegre, Brazil
www.guors.com.br Indiana Regional User Group Meeting November 13, Indianapolis, Indiana
questers.questdirect.org/index.php? module=comm&op=index&gid=370 Northern California Oracle Users Group Fall Conference November 13, Pleasanton, California
www.nocoug.org JD Edwards Southern California User Group Holiday Social November 19, Long Beach, California
Gartner Identity and Access Management Summit
Oracle HEUG Alliance Down Under 2008
www.jdescug.org
November 10–12, Orlando, Florida
November 17–18, Brisbane, Australia
Data breaches lead to billions of dollars of losses each year, both reported and unreported. This summit is designed to help organizations address the exposure that identity and access management inefficiencies and lapses create. Learn more at www.gartner.com/it/ page.jsp?id=633107.
The Oracle Higher Education User Group’s event in Australia features five tracks and 40 sessions targeted at higher education and public sector professionals, an executive forum, and an exhibitor fair. Find information at www.heug.org.
November 19 and December 17, Nashville, Tennessee
Nashville Oracle Users Group Meeting
www.noug.net Australian Oracle User Group Business Analytics and Reporting Meeting November 20, Adelaide, South Australia
www.ausoug.org.au Michigan Oracle Users Summit 2008 November 20, Livonia, Michigan
Quest Southeast Conference
DOAG Conference and Exhibition 2008
November 12–14, Atlanta, Georgia
December 1–3, Nuremberg, Germany
Ottawa Oracle User Group Meeting
More than 100 sessions and 60 exhibitors will cater to users of Oracle E-Business Suite and Oracle’s Hyperion, JD Edwards, and PeopleSoft products. Quest Southeast will also feature a forum on human capital management education. Learn more at www.questdirect
www.oug-ottawa.org
.org/questdirect/events/quest+southeast/ quest+southeast.htm.
Sponsored by the German Oracle User Group (DOAG), this conference features more than 250 practical lectures given by experts from all lines of business, including technology, finance, research and development, and management. The conference also offers ample networking time and a large exhibition hall. Learn more at www.doag.org.
Gartner Master Data Management Summit
UK Oracle User Group Conference and Exhibition 2008
November 17–19, Chicago, Illinois
December 1–5, Birmingham, England
The second Gartner Master Data Management (MDM) Summit features new content in two main directions: helping organizations build a holistic, business-driven MDM program, and going deeper into the technology foundation that makes MDM work. Sign up at www .gartner.com/it/page.jsp?id=627609.
UKOUG 2008 is EMEA’s largest independent applications and technology event for the Oracle and Oracle’s BEA, PeopleSoft, JD Edwards, Siebel, Stellent, and Hyperion communities. The conference features more than 400 presentations and more than 80 exhibitors. Get information at www.ukoug.org.
10
November/december 20 08
ND08_events.indd 10
www.mi-oaug.org November 27, Ottawa, Ontario, Canada
Dallas Oracle Users Group Holiday Party December 4, Dallas, Texas
www.doug.org/meetings2008.cfm Eastern Caribbean Oracle Users Group Breakfast Meeting December 10, Port-of-Spain, Trinidad
www.ecoug.org New York Oracle Users Group General Meeting December 10, New York City
www.nyoug.org
eventsLOCAtOR oracle.com/events
Locate user groups
otn.oracle.com/collaboration/user_group
roN sellers
Oracle Events
oracle.com/oraclemagazine
10/3/08 2:12:19 PM
Drag & Drop
Data Conversion
Check out Altova MapForce® 2008 – the award-winning graphical data mapping tool from the creators of XMLSpy ®. Drag & drop to map, convert, and transform data between:
EDI
XML
XML
Databases
EDI
Flat files
Flat Files
WS
Excel 2007
Web Services
Once you have defined a data mapping in MapForce, • Mapping Excel 2007 (OOXML) data
simply click the Output Window to convert data instantly.
• Support for data streams in generated code
Or, generate royalty free code – and deploy it with no
• Support for SQL SELECT statements
additional fees or deployment adaptors required.
• Inline primary / foreign key creation • SOAP 1.2 support
New in n 2008 Versio e2 Releas
• And much more
With MapForce, you can implement data integration and Web services applications without writing any code!
• Drag & drop data mapping & conversion • Support for all major relational databases • Database query window with SQL editor • FlexText™ utility for parsing flat files • Support for EDIFACT and X12 EDI messages • New! Mapping OOXML / Excel 2007 (.xlsx) • Connecting data to Web services • Drag & drop Web services creation • Extensible function library for filtering / processing data • Visual function builder for custom functions • Instant data conversion & output window • Autogeneration of XSLT, XQuery, Java, C#, or C++ code • Visual Studio® & Eclipse integration
Test drive MapForce for yourself – Download a free, 30-day trial at www.altova.com
MapForce_Oracle_Mag_r2.indd 1
9/12/2008 9:44:53 AM
MP4_oracle_8.5x11_jul08.ai 7/24/2008 2:54:30 PM
Data Quality Solutions for Oracle Users Name Parsing & Genderizing
Telephone Area Code & Prefix
Geocoding Address Verification & Standardization
Email Address Parsing & Validation
C
Web Services & APIs
M
Multiplatform Tools
Y
CM
MY
CY
Data Submitted Now, finding the right data quality tools doesn’t have to be
CMY
so puzzling. Melissa Data offers customizable APIs, Web K
services and enterprise applications to match your budget and business needs. For solutions to cleanse, validate and standardize your contact data, we’re ready to help you find the perfect fit. • Global address verification for 240 countries • Clean and validate data at point-of-entry or in batch • Correct misspellings, missing directionals, and confirm deliverability • Enhance addresses with County, Census, FIPS, etc. • Append lat/long coordinates to the ZIP, +2 and +4 levels • Work natively with Oracle Forms, PL/SQL, C++, VB NET, C#, ASP and Java
Request your free trial at MelissaData.com/myoracle or call 1-800-MELISSA Oracle is registered trademark of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Name: John Wayne Brown Jr Address: 22382 Empresa 92688 Email Address:
[email protected] Phone: 7145895200
Data Returned 22382 Avenida Empresa Ste 100 Rancho Santa Margarita, CA 92688-2112 Carrier Route: C056 Delivery Point: 821 County Name: Orange TimeZone: Pacific Suite Status: Validated Latitude: 33.6480 Longitude: -117.6000 Web-based First Name: John change of Middle Name: Wayne address service Last Name: Brown Prefix: Mr available 24/7 Suffix: Jr Gender: M (Male) Prefix: 589 Suffix: 5200 New Area Code: 949 TLD: com Domain: melissadata Email:
[email protected] (More...) Status: V
a t O r a c l e resources
What’s New at Oracle The latest Webcasts, podcasts, courses, and offers WEBCASTS AND VIDEOS Drive Competitive Advantage with Better End-User Experience for Web Sites and Applications
oracle.com/goto/realuserexperience Rajiv Taori, director of product management for Oracle, and Jean-Pierre “J. P.” Garbani of Forrester Research, discuss the competitive advantages of a quality end-user experience in Web sites and applications. Tour Oracle’s Austin Data Center
oracle.com/goto/adcvideo Go behind the scenes at the 72,000-squarefoot Oracle On Demand data center in Austin, Texas, and find out how the massive collection of equipment there serves Oracle and its customers. Oracle Application Testing Suite: Deploy HighQuality Applications Faster
oracle.com/goto/powerfultesting Oracle offers powerful testing tools to ensure that applications are reliable and of high quality. Learn how these tools can identify and correct errors before an application is deployed. Oracle Universal Online Archive
oracle.com/goto/emailarchiving Oracle Universal Online Archive provides a manageable, scalable, and compliant solution for e-mail archiving and offers fast, selfservice access to current and historical mail to users and efficient, high-performance storage for IT and compliance teams.
ORACLE UNIVERSITY Choose Live Virtual Classes
oracle.com/education/lvc Oracle Fusion Middleware 10.1.3: Overview
This one-day course for business analysts, project managers, sales consultants, and other nontechnical personnel covers service-oriented architecture and the Oracle Fusion Middleware products that support it, and highlights the business intelligence, identity management, and Web capabilities in Oracle Fusion Middleware.
Oracle E-Business Suite Release 12 Financial Applications Overview
Database 11g Enterprise Edition and Oracle business intelligence tools.
In this five-day course, learn about Oracle General Ledger, Oracle Payables, Oracle Purchasing, and the rest of the financial tools in Oracle E-Business Suite. Find out how the applications work together to suit specific business needs.
Metro St. Louis Runs Oracle E-Business Suite on an Oracle Grid
PODCASTS Oracle-BEA Fusion: Oracle’s New Strategic Java Platform
oracle.com/techcasts Steve Harris, vice president of application server development at Oracle, discusses Oracle’s vision and strategy for incorporating BEA’s WebLogic technology into Oracle’s middleware product offerings.
oracle.com/database/podcasts.html Fred Linnenbrink, director of data architecture for Metro St. Louis, the public transportation agency of the St. Louis, Missouri, area, discusses how Oracle E-Business Suite running on Oracle Real Application Clusters helps his agency save money, meet performance requirements, and maintain high availability. Database Security for Database and Security Administrators
oracle.com/database/podcasts.html Rich Mogull, founder of Securosis and a former Gartner analyst, discusses the
Tooling Around: Where Do Oracle JDeveloper and Oracle Workshop Go from Here?
oracle.com/techcasts Duncan Mills and Greg Stachnick of the Oracle development tools group discuss the future of Oracle Fusion Middleware development tools and Oracle’s plans and strategy regarding Oracle JDeveloper and Eclipse. Sustainability Reporting, Planning, and Management
oracle.com/appcasts John O’Rourke, senior director of product marketing for Oracle enterprise performance management solutions, discusses the collection and reporting of environmental, social, and economic metrics. Find out what’s driving the push for sustainability reporting and how Oracle products can simplify the data collection process. SaaS Company Upgrades to Oracle Database 11g Enterprise Edition to Power Its Sales Compensation Applications
oracle.com/database/podcasts.html Satish Palvai, founder and CTO of Xactly, a provider of affordable, on-demand sales compensation applications delivered in a software-as-a-service (SaaS) model, explains why his company chose Oracle
oracle magazine
ND08_Resources.indd 13
oracle Direct For Oracle product information, call the number for your region: Country
Phone Number
U.S. and Canada .....................................1.800.367.8674 Australia ....................................................1800.735.467 Austria .......................................................0800.29.7626 Belgium ........................................................0800.73280 Brazil .........................................................0800.901.985 China .........................................................800.810.0161 Denmark.........................................................8088.1068 Finland ......................................................0800.113.573 France .......................................................0800.905.805 Germany .................................................0800.1.810.111 Greece .................................................00800.353.12020 Hong Kong ......................................................3002.1246 India ..........................................................1600.44.6725 Indonesia ...........................................001.800.1.672.253 Ireland ........................................................1850.672253 Italy ..............................................................8008.74720 Japan ........................................................0120.155.096 Malaysia ....................................................1800.80.1837 Mexico...................................................01800.221.7321 The Netherlands .............................................0800.0827 New Zealand .............................................0508.555.215 Norway ...........................................................800.14411 Philippines ........................................................811.5831 Portugal .......................................................800.853.021 Singapore ................................................1800.6722.531 South Africa ...............................................0800.994.225 South Korea ...............................................080.2194.114 Spain ............................................................900.952900 Sweden ........................................................020.798798 Switzerland................................................0800.55.2574 Taiwan .......................................................0800.672.253 Thailand ..............................................001800.441.0545 Turkey .................................................00800.353.90014 U.K. .........................................................0870.5.332200
november/december 20 08
13
10/3/08 2:17:25 PM
RESOURCES
overHeArD
“The Austin Data Center, to me, is the quintessential coming together of all of Oracle’s key technologies. It’s Oracle’s software, Oracle’s engineering experience, and Oracle’s operational and process experience, brought together under one roof.” —Mike Beck, Senior Vice President, Oracle On Demand, in Tour Oracle’s Austin Data Center (oracle.com/goto/adcvideo)
contact center technology, customer relationship management, data warehousing, Oracle on Windows, security, and serviceoriented architecture. Members of Oracle’s e-mail community are among the first to hear about upcoming events and Webcasts, receive exclusive offers, and read customer success stories.
RESOURCE KITS Oracle Application Express Resource Kit
oracle.com/goto/apex Learn how Oracle Application Express addresses manageability, security, and scalability challenges associated with mission-critical data stored in spreadsheets and personal databases. The free resource kit includes the latest release of Oracle Application Express, a link to related free packaged applications, and more.
overlap between database and security administration. He explores the role of data security in companies’ partner relationships and examines data breach reporting laws, the criminal element, and the ways thieves convert stolen data into cash.
Oracle WebLogic Server 10.3, including installing Oracle WebLogic Server and creating a domain, configuring managed servers, and managing machines using the administration console.
Improving Quality of Service for Oracle Database with Software Configuration Manager
BLOGS
Oracle Database Security Resource Kit
The Official Oracle Application Integration Architecture Blog
oracle.com/database/podcasts.html Sean Bingham, director of customer Web services at Oracle, describes Oracle Software Configuration Manager and explains how it can increase quality of service for Oracle Database deployments and improve integration with Oracle Support.
blogs.oracle.com/aia This is the place to go for Oracle Application Integration Architecture news, views, insight, best practices, and tips and tricks from the team behind the architecture.
oracle.com/goto/dbsec This free resource kit includes technical white papers, step-by-step tutorials, analyst reports, expert Webcasts, and a database security self-assessment tool.
Actionable Business Insight from Semantic Web Technology in Oracle Database 11g
oracle.com/database/podcasts.html Learn how Metatomix, a provider of semantics solutions, takes advantage of Oracle Spatial’s semantic Web technology in its applications to integrate information from disparate applications and data silos.
GO GREEN
Social CRM Blog
Help Save Paper—and Our Planet
blogs.oracle.com/socialcrm Find out what’s happening with Oracle’s social CRM applications from members of Oracle’s social CRM team.
oracle.com/goto/green Sign up to receive Oracle communications via e-mail to support Oracle’s commitment to reducing paper consumption and postal mailings. This helps the environment, supports Oracle’s social responsibility goals, and ensures that Oracle marketing is permission-based.
Oracle Certification Blog
blogs.oracle.com/certification Paul Sorensen, group director of global certification programs at Oracle University, comments and answers questions on topics related to Oracle certification.
TECHNICAL ARTICLE
webLOCATOR
Transforming BPMN into BPEL: Why and How
WHITE PAPERS
Oracle Blog Center
otn.oracle.com/pub/articles/ dikmans-bpm.html Oracle ACE Director Lonneke Dikmans discusses how Oracle Business Process Analysis Suite can be used to model the business architecture of an organization with Business Process Modeling Notation.
Making the Case for Oracle Database on Windows
Oracle Consulting
TUTORIAL
oracle.com/goto/ovumwp This Ovum Summit white paper discusses how companies of all sizes can benefit from deploying Oracle Database on Microsoft Windows. Read about how Oracle ensures interoperability with core Windows features such as Active Directory.
Oracle WebLogic Server 10.3
Free White Paper Downloads
otn.oracle.com/obe/fusion_middleware/ wls103 This Oracle By Example tutorial shows how to perform a variety of tasks using
oracle.com/goto/whitepaper Join Oracle’s e-mail community and download Oracle’s top 10 white papers for free. Topics include business intelligence,
14
november/december 20 08
ND08_Resources.indd 14
oracle.com/blogs oracle.com/consulting
Oracle events and Webcasts oracle.com/events
Oracle Podcast Center oracle.com/podcasts
My Oracle Support metalink.oracle.com
Oracle Newsletters oracle.com/newsletters
Oracle Support oracle.com/support
Oracle University oracle.com/education
oracle.com/oraclemagazine
10/3/08 2:17:58 PM
Runs Oracle Data Warehouses
10x Faster g n i c n Annou
The World’s Fastest Database Machine
• Hardware by HP • Software by Oracle
oracle.com/exadata or call 1.800.ORACLE.1 10x performance improvement based on customer tests comparing average performance of Oracle data warehouses on existing customer systems versus HP Oracle Database Machines. Actual results may vary.
Copyright © 2008, Oracle. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
TEMPLATE
PUBLICATION NOTES:
A
Job No.: 002165 File Name: DB_Sage_RnsODW10xFstr_2165 Product: Database (Sage) Headline: Runs Oracle DW 10x Faster Date: Fri, Sept. 19, 2008 7:00 PM Pub: TBD Traffic: Agency Library Ref.: 002150
Standard
Live: Trim: Bleed: Color: Production:
DATE
PUB NOTES
Mgr.
9/18/08
Traffic Mgr.
9/18/08
Please use center marks to align page.
Proofing
9/18/08
Graphic Mgr.
9/18/08
Production
9/18/08
APPROVALS
7" x 9.75" 7.875" x 10.5" 8.625" x 11.25" 4C
Fonts:
Univers LT Std. 75 Blk, 65 Bold, 55 Roman, 45 Light 47 Light Condensed, Brush Script Std. Medium
BY
READER
01 RElEAsED
9/19 2008
TEMPLATE PRODUCTION NOTES: PRODUCT: DB
ExcEPTiOnS TO GRaPHic GuiDElinES S Placement
Eyebrow
Gray Lines
NA
NA
NA
NA
PUBLICATION: TBD
Sub-Head
Body Copy
NA
NA
NA
NA
NS
NS Placement S Size
Headline
NS Size S = Standard Treatment
URL/Phone
Add. Logos NA
NS
NS NS = Non-Standard Treatment
Oracle Bar
NS S
NS
NA
PRODUCTION NOTES
This is a Larry designed ad!!! All treatments must be reproduced as close as possible in resizing.
NA = Not Applicable
Please examine these publication materials carefully. Any questions regarding the materials, please contact Jodi Cordova (650) 506-5482 or
[email protected].
?
a t O r a c l e briefs
d i d y O u KNOW
IT ExEcuTIvEs sEE GrEEN DaTa cENTEr as MIssION-crITIcal Nearly 90 percent of 100 CIOs and senior IT executives interviewed at the 2008 MIT Sloan CIO Symposium said that green data centers will be crucial to meeting business objectives in 2009. 57 percent said that going green gives them a competitive advantage, 76 percent do not have a committed budget for going green, and 43 percent of respondents will implement a green data center in the next two years. Source: Voltaire www.voltaire.com/NewsAndEvents/Press_ Releases/press2008
MOsT OrGaNIzaTIONs rEquIrE ONly PasswOrDs TO accEss crITIcal DaTa 52 percent of organizations require only passwords for employees to access critical data and do not augment passwords with hardware tokens, digital certificates, or risk-based scoring. 88 percent of enterprise users have multiple work-related passwords (averaging between five and six), 64 percent of organizations never require users to change their passwords, and 45 percent of organizations allow standard dictionary terms (such as “password”) to be used as passwords. Nearly 150 organizations from a diverse set of global industries were polled. Source: Strong User Authentication, a study from Quest Software and Aberdeen Group www.quest.com/newsroom/news-releasesshow.aspx?contentid=7986
cIOs lIkE wEb-basED TraINING, vIDEOcONfErENcING When 1,400 CIOs in the U.S. were asked which communication technologies their companies use or anticipate using, the most popular responses were online training (60 percent) and videoconferencing (52 percent). Cited less frequently were Web 2.0 tools such as blogs (25 percent) and wikis (21 percent). The telephone survey contacted CIOs from a random sample of U.S. companies with 100 or more employees. Source: Robert Half Technology www.roberthalftechnology.com/ PressRoom?id=2301
16
november/december 20 08
ND08_Briefs.indd 16
Oracle IntrOduces My Oracle suppOrt
O
racle has unveiled My Oracle Support, its next-generation customer support platform, which integrates OracleMetaLink with Oracle Software Configuration Manager to deliver personalized, proactive support capabilities. To use the new support portal, users download the configuration manager and upload their detailed configurations to Oracle to enable the enhanced functionality. My Oracle Support delivers service request creation up to 30 percent faster and service request resolution up to 40 percent faster than OracleMetaLink. It offers personalized knowledge management and guided search capabilities to quickly locate relevant articles and information. With proactive health checks based on personalized system configuration information, customers can avoid unplanned system downtime. A feature called My Oracle Support PowerView offers a personalized dashboard that allows customers to track, manage, and support their systems in a single, centralized location. In addition, Oracle Support personnel can access interactive reports about components, deployments, and hardware to quickly and efficiently fix problems. My Oracle Support is included with an Oracle Premier Support subscription. “We are focused on delivering exceptional customer service to drive business value for our customers and to enable them to achieve maximum success with their Oracle solutions,” says Juergen Rottler, executive vice president, global customer services, Oracle. “Enterprise customers are demanding more-proactive and more-simplified support from their providers to improve business agility and maximize performance,” adds Elaina Stergiades, senior research analyst, software support services, IDC. “The new My Oracle Support platform can deliver on this promise, a sign of continuing trends in software support services. With the My Oracle Support platform, Oracle will be able to provide a more personal-
ized experience and streamline support delivery for its customers.” Oracle WeblOgIc server 10g release 3 nOW avaIlable
O
racle has released Oracle WebLogic Server 10g Release 3, which features a lightweight footprint, faster startup, and optional service startup, for an improved developer and end-user experience. A new FastSwap feature provides seamless and rapid develop-debug-test cycles, while a new HTTP publishsubscribe feature enables improved out-of-the-box capability for support of dynamically updated Web 2.0–style rich user interfaces. This release works with a variety of development environments, including Eclipse, Oracle JDeveloper, and Oracle WebLogic Workshop 10.3. Oracle WebLogic Server 10g Release 3 supports Java Platform, Standard Edition 6, and Oracle JRockit Mission Control, which allows developers and end users to get more performance and insight into application behavior and responsiveness. It also supports the SAML 2.0, WS-Security 1.1, and WS-SecurityPolicy 1.2 security standards and JAX-WS 2.1, WS-Reliable Messaging 1.1, and WS-Policy 1.5 Web services standards. “The accelerated release of Oracle WebLogic Server 10g Release 3 demonstrates our commitment to BEA customers to quickly deliver new integrations with Oracle Fusion Middleware,” says Thomas Kurian, senior vice president, Oracle Fusion Middleware. “As the No. 1 middleware provider, we plan to continue providing a complete and preintegrated middleware suite that allows our customers to develop and deploy applications on the internet.” Oracle JdevelOper 11g and Oracle applIcatIOn develOpMent FraMeWOrk 11g released
N
ow available, Oracle JDeveloper 11g, Oracle’s Java-based integrated development environment, and Oracle Application Development Framework
oracle.com/oraclemagazine
10/7/08 12:35:36 PM
(Oracle ADF) 11g, Oracle’s Java development framework, offer developers higher levels of productivity by making it easier for them to create and deploy Java Platform, Enterprise Edition (Java EE) 5, Web 2.0, and Ajax applications. Oracle JDeveloper 11g and Oracle ADF 11g provide advanced tooling and a visual development environment that includes adaptive rendering, which targets applications for both desktop and mobile devices using prebuilt rendering kits optimized for a given client technology. These new releases support more than 150 Ajax-enabled, JavaServer Faces 1.2–based rich-client components, allowing visualization of tabular, cubic, XML, and spatial data into multidimensional, interactive, portable user interfaces. These tools also feature tight integration with Oracle WebLogic Server, an optimized debugging environment, and support for JAX-WS-compliant Web services. Oracle JDeveloper 11g and Oracle ADF 11g also offer reusability features including Oracle ADF task flows, JSF templating, simple component creation, and fully skinnable JSF components that help streamline the development process and boost productivity. Integration with the Oracle platform security services framework allows nonsecurity developers to incorporate security services such as authentication, authorization, audit, identity assertion, role mapping, single signon, and many others into applications. The framework also provides user-friendly abstractions of critical security functions that are required to protect sensitive data. “Developers are faced with a multitude of technologies and learning curves for building Web 2.0, mobile, and rich enterprise applications, adding complexity and cost to the development process,” says Ted Farrell, chief architect and senior vice president, tools and middleware, Oracle. “Oracle JDeveloper and Oracle ADF address these complexities by abstracting developers from the underlying technologies, providing a productivity boost for standards-based application development.”
Oracle TOplink 11g available
O
racle has released Oracle TopLink 11g, the latest version of its advanced object-relational persistence framework based on the open source EclipseLink project. Oracle TopLink 11g enhances the industry standard Java Persistence API (JPA) with advanced object-relational features for flexibility, performance, clustering, and scalability required for enterprise application deployments. The new release features a JPAenabled data grid that provides seamless integration with Oracle Coherence, allowing applications to leverage inmemory data grid capabilities through the standard JPA programming model, and allowing developers to leverage extreme performance without having to learn a new programming model. Another key feature is flexible objectXML binding, which supports efficient manipulation of XML through a Java domain model using Java Architecture for XML Binding and supports interaction with unstructured data through service data objects to reduce the need to integrate multiple point solutions. Oracle TopLink 11g offers out-ofthe-box compatibility with Oracle WebLogic Server and Oracle Application Development Framework 11g. “Oracle continues to demonstrate its commitment to Java and open source, while recognizing that support services and commercial extensions can make a strong, positive impact on enterprise adoption,” says Dennis Leung, vice president, software development, Oracle Fusion Middleware, Oracle. “With its enhanced persistence features and compatibility with other key infrastructure software, Oracle TopLink 11g helps developers significantly ease the development process.” Oracle enTerprise pack fOr eclipse nOw available
O
racle Enterprise Pack for Eclipse is a new component of Oracle Fusion Middleware that delivers a certified set of Eclipse plug-ins to accelerate data-
base development; Java development; Java Platform, Enterprise Edition (Java EE) development; and Oracle WebLogic Server development. With Oracle Enterprise Pack for Eclipse, customers using Eclipse 3.3, Eclipse 3.4, and Oracle WebLogic Server can develop, debug, and deploy applications to Oracle WebLogic Server 10g Release 3, in addition to earlier versions, either locally or remotely. “Continuing to enhance Oracle’s Eclipse developer tools for Oracle Fusion Middleware demonstrates our commitment to providing developers productivity with choice,” says Ted Farrell, chief architect and senior vice president, tools and middleware, Oracle. “The Oracle Enterprise Pack for Eclipse helps to expand our offerings for the Eclipse and open source developer community.” Oracle Delivers Oracle vM release 2.1.2 anD Oracle vM TeMplaTes
O
racle has unveiled the latest version of its server virtualization software, Oracle VM Release 2.1.2, which offers built-in high-availability features and provides secure, encrypted live migration capabilities. This new release is also certified with Oracle Real Application Clusters. Oracle VM Release 2.1.2 features Oracle VM guest high availability to enable customers to minimize or eliminate planned and unplanned downtime. It also offers secure live migration with SSL encryption to eliminate outages associated with planned downtime by allowing quick and easy migration of running Oracle VM virtual machines from one physical server to another. Other new features include a clustered high-availability Oracle VM manager and physical-tovirtual/virtual-to-virtual machine conversion to quickly convert existing Linux physical servers or VMware virtual machines to Oracle VM virtual machines. Oracle has also released the first Oracle VM templates, which provide preinstalled and preconfigured images of enterprise software to enable customers to reduce installation, configura-
oracle magazine
ND08_Briefs.indd 17
november/december 20 08
17
10/7/08 12:36:04 PM
briefs
tion, and ongoing maintenance costs. Oracle VM templates are available for Oracle Database 11g, Oracle Enterprise Manager, Oracle’s Siebel Customer Relationship Management 8, and Oracle Enterprise Linux. “Customers are experiencing increased challenges as the volume of information in their data centers continues to grow rapidly, leading to added hardware and energy costs and a depletion of server resources,” says Wim Coekaerts, vice president, Linux engineering, Oracle. “The combination of Oracle VM templates and Oracle VM offers customers the full benefits of server virtualization, including optimized resource utilization, and energy, power, and space savings, in addition to faster, easier, and more-cost-effective software deployment—leading to further lowering the cost of data center operations and contributing to green IT.” Oracle Delivers Oracle applicatiOn testing suite
O
racle Application Testing Suite, now available, provides an integrated solution for load testing, functional testing, and test management. Part of Oracle Enterprise Manager, Oracle Application Testing Suite enables customers to thoroughly test packaged, Web, and serviceoriented architecture (SOA)–based applications and their underlying infrastructures to ensure optimum quality, scalability, and availability. Three key components of the suite are Oracle Load Testing for Web Applications, Oracle Functional Testing for Web Applications, and Oracle Test Manager for Web Applications. Oracle Load Testing for Web Applications simulates tens of thousands of virtual users accessing the application simultaneously to measure the effect of the load on application performance. Oracle Functional Testing for Web Applications enables comprehensive functional testing of applications and Web services. Its transaction engine simplifies automated test script generation and enables the automation of complex Web applications and associated technologies out of the box to validate the end user’s
18
November/December 20 08
ND08_Briefs.indd 18
experience. Oracle Test Manager for Web Applications helps users manage the Web application testing process, enabling full test coverage by allowing them to define testing requirements, specify and execute manual or automated tests to validate requirements, and then manage the defects that those tests uncover. Oracle Application Testing Suite also provides a common scripting environment between functional testing and load testing to help simplify the test process and accelerate completion of tests by as much as 50 percent. “With Oracle Application Testing Suite, Oracle has delivered a comprehensive testing solution for SOA and Web applications to help customers deliver high-quality, mission-critical applications faster and with less effort,” says Leng Leng Tan, vice president, applications and systems management, Oracle. “With this unique testing platform, customers can tackle small to very large testing projects and save time in both functional and load testing efforts.” Oracle tO acquire glObal KnOwleDge sOftware
O
racle has agreed to acquire Global Knowledge Software (GKS), a leading provider of self-service training automation software. Longtime Oracle partner GKS offers products that improve enduser competency using enterprise applications through simulated transactional training and testing, as well as autogenerated step-by-step instructions. GKS’s OnDemand Personal Navigator product is resold as a core component of the Oracle User Productivity Kit, currently deployed at more than 2,000 Oracle customers. GKS products are also complementary to Oracle Tutor, Oracle’s role-based process documentation and training software. The combination of GKS products, Oracle Tutor, and Oracle’s learning management software is expected to provide customers a comprehensive, end-to-end enterprise solution for creating and deploying business process documentation, interactive system training, and just-in-time embedded
support for all applications. “With this acquisition, customers will have access to a single technology for enduser training and process documentation that spans applications across their enterprise,” says Ed Abbo, senior vice president of Oracle application development. Oracle tO buy clearapp
O
racle has agreed to acquire ClearApp, a leading supplier of application management solutions for composite applications. ClearApp addresses the increasingly difficult task of managing composite applications built on service-oriented architecture (SOA) platforms by providing visibility into business services across all related application components.
“As customers deploy more SOA-based applications, the task of effectively managing them becomes paramount,” says Leng Leng Tan, vice president, applications and systems management, Oracle. “With the addition of ClearApp’s technology to the Oracle Enterprise Manager product family, our customers are expected to get continuous and uninterrupted topdown views of their business services and applications, helping them maximize service availability while reducing IT operations costs.” ■
webLOCATOr My Oracle support metalink.oracle.com
Oracle WebLogic server oracle.com/appserver
Oracle JDeveloper otn.oracle.com/products/jdev
Oracle ADf otn.oracle.com/products/adf
Oracle TopLink oracle.com/tools/toplink_adf.html
Oracle enterprise Pack for eclipse oracle.com/tools/enterprise-eclipse-pack.html
Oracle VM otn.oracle.com/products/vm
Oracle Application Testing suite otn.oracle.com/products/oem/prod_focus/etest.html
Oracle and Global Knowledge software oracle.com/gks
Oracle and ClearApp oracle.com/clearapp
oracle.com/oraclemagazine
10/7/08 12:36:40 PM
a t O r a c l e NEWS
BY JEFF ERI CKSO N
Data Warehousing Gets Extreme
Oracle delivers the HP Oracle Database Machine and the HP Oracle Exadata Storage Server. racle is moving into the hardware business with partner HP to deliver a performance boost to Oracle data warehouses. The move, says Oracle CEO Larry Ellison, is a reaction to a trend that has seen databases triple in size every two years. While processor speed and disk storage capacity have grown to keep up, disk throughput has not. In traditional data warehouse configurations, this creates a bottleneck between storage and database servers that limits query performance. “Our customers’ disk storage systems can store 10, 100, 200 terabytes of data, but they can’t move that data off the disks and into the database servers fast enough,” says Ellison. With the introduction of the HP Oracle Database Machine and its key component, the HP Oracle Exadata Storage Server, Oracle has engineered a way to overcome this bottleneck. The HP Oracle Database Machine is a high-performance system that includes a grid of eight database servers featuring 64 Intel processor cores, and Oracle Enterprise Linux. The machine also includes a storage grid of 14 HP Oracle Exadata Storage Servers with 112 processor cores of its own. The storage grid provides up to 168 terabytes of raw storage and delivers 14GB-per-second data bandwidth between the storage servers and the database servers.
RON SELLERS
INTELLIGENT STORAGE SERVERS
A traditional database query that uses a large table scan moves all data blocks from the storage array to the database servers for processing. Moving data off storage disks, through a network, and into database servers can be a slow process. At large data volumes, the process creates a bottleneck that slows query performance. There are two ways to solve this problem,
SCALE-OUT ARCHITECTURE
Oracle CEO Larry Ellison unveils the HP Oracle Database Machine.
explains Ellison: “One is to reduce the amount of data moving from the storage to the servers; the other is to increase the bandwidth between them. The HP Oracle Exadata Storage Server does both.” First, the HP Oracle Exadata Storage Server reduces the amount of data traveling between storage servers and database servers by doing much of the query processing in the storage layer. Each server includes two Intel quad-core processors and runs the Oracle Database fast parallel query software. “We’ve taken capabilities you would normally find in the database server and moved them into the storage server right next to the storage disk drive,” says Ellison. The HP Oracle Exadata Storage Server “doesn’t pass disk blocks back to the database server; it passes only query results,” he adds. “Next, we added wider pipes and more of them,” says Ellison. Each HP Oracle Exadata Storage Server includes two InfiniBand connectors, which allow the storage server to move 1GB of data per second between storage and servers.
The HP Oracle Database Machine provides a fault-tolerant, scalable architecture based on Oracle Grid technology. The database servers are preconfigured with Oracle Database 11g and Oracle Real Application Clusters running on Oracle Enterprise Linux. The HP Oracle Exadata Storage Servers are preloaded with Oracle Automatic Storage Management for dynamic load balancing and data mirroring. Because each storage server comes with its own processing, cache, and network bandwidth, customers can add storage while keeping the data warehouse in balance. “With this architecture, as your database gets larger your performance stays the same,” says Ellison. In almost a year of beta testing the HP Oracle Database Machine, Oracle and its customers in the finance, retail, and telecommunication industries experienced performance improvements of 10 times and more over their current data warehouses. “Beta testers have experienced astonishing results,” says Ellison. The HP Oracle Database Machine is a complete system preinstalled and preconfigured to deliver extremely fast query performance for business intelligence and data warehousing applications. “If you don’t want to configure your own grid, your own interconnect, and your own hardware and software,” says Ellison, “we’ve got it all in a package for you.” ■ Jeff Erickson is a senior editor with Oracle Publishing.
nextSTEPS LEARN more about HP Oracle Database Machine oracle.com/solutions/business_intelligence/ database-machine.html
HP Oracle Exadata Storage Server oracle.com/exadata
ORACLE MAGAZINE
ND08_News_r.indd 19
NOVEMBER/DECEMBER 20 08
19
10/8/08 2:03:11 PM
Written by leading Oracle professionals, Oracle Press books offer the most definitive, complete, and up-to-date coverage of Oracle products and technologies available. We are the premier source for Oracle information, and the tradition continues with the release of Oracle Database 11g.
Oracle Database 11g: The Complete Reference
Oracle Database 11g: A Beginner’s Guide
Kevin Loney
Ian Abramson, Michael Abbey, and Michael Corey
Master the powerful features of latest database release. Covers SQL, SQL*Plus, PL/ SQL, dynamic PL/SQL, object oriented features, and Java programming in the Oracle environment.
Learn fundamentals of Oracle Database 11g administration from this beginner’s guide. Through self-paced tutorials, you will learn database essentials, the role of the administrator, and large database features.
OCP Oracle® Database 11g: Administration II Exam Guide (Exam 1Z0-053)
Oracle Enterprise Manager 10g: Grid Control Implementation Guide
Bob Bryla
Michael New
Covers exam objectives on the Admin II exam in detail, including installation, configuration, and application, tuning, database management, backup and recovery, security, and more.
Teaches how to build a robust Grid Control infrastructure and underlying host and storage.
Available everywhere computer books are sold Join the Oracle Press Community to be the first to hear about new Oracle Press releases and special offers at www.OraclePressBooks.com
LLP4232 Oracle Mag Ad.indd 1
10/3/08 3:48:50 PM
a t O r a c l e interview
By C a roli ne KvitKa
Support for Cloud Computing Oracle licenses database, middleware, and management software for deployment in the cloud. virtual machines by the hour, with the prices ranging from 10 to 80 cents. Oracle is providing virtual machine images tailored for Amazon’s environment and preconfigured with our software. This allows our customers to provision new servers and get Oracle software deployed, configured, and ready to use within a matter of minutes.
Sushil Kumar, Senior Director of Database Availability, Manageability, and Performance, Oracle
Oracle Magazine: How can developers
benefit from Oracle’s cloud offering? Kumar: Enterprises have a lot of test,
development, and QA operations that need to be performed, as well as shortterm proof-of-concept projects. Such projects typically get bottlenecked in IT because those departments don’t necessarily have the flexibility to rapidly respond. Enabling developers and departments to directly provision a fully configured Oracle server to the cloud within a matter of minutes will expedite the application development process.
Oracle Magazine: How can DBAs benefit
from this offering? Kumar: We have announced Oracle
Secure Cloud Module, based on Oracle Secure Backup, which allows our customers to use Amazon Simple Storage Service (Amazon S3) as their off-site backup destination. Users pay by gigabyte of storage on a monthly basis. There are no up-front capital expenditures. There are a number of benefits to using the storage cloud for backup. First, when you store something in the storage cloud, it’s a lot more accessible than on the tape. DBAs can therefore use backups stored in the cloud to restore data anytime, anywhere, without having to call anyone to ship the tapes. In many cases, it could significantly speed up the restore process. The on-demand accessibility opens up avenues for a lot more things. If you have your backup stored in the cloud, you can restore it to an EC2 machine and quickly create your test or development environment. Your data is not locked behind an iron curtain—it’s actually usable. And because storage clouds are based on disks, the disk-based backups are a lot more reliable than tapes. Oracle Magazine: What role will cloud computing play in the enterprise? Kumar: I expect the cloud infrastructure to become more and more robust and to see more enterprise-ready solutions made available on the cloud. ■ Caroline Kvitka is senior managing editor of Oracle Magazine.
nextStePS LiSten to the podcast oracle.com/magcasts
LeArn more about cloud computing otn.oracle.com/tech/cloud
oracle magazine
ND08_interview.indd 21
BoB adler
ith Oracle’s recent announcement that customers can license Oracle software to run on Amazon Web Services’ Elastic Compute Cloud (Amazon EC2) environment, Oracle Magazine Senior Managing Editor Caroline Kvitka sat down with Sushil Kumar, senior director of database availability, manageability, and performance at Oracle, to learn more. The following is an excerpt from that interview. Download a podcast of the full interview at oracle.com/magcasts. Oracle Magazine: What is cloud computing and how is it being used today? Kumar: Cloud computing enables users to tap into a virtually infinitely scalable pool of computing resources that reside somewhere on the internet and that can be provisioned programmatically from within an application and consumed on a global basis. In the cloud, you provision resources typically using Web services APIs, and you simply pay for what you use, when you use it. Today’s cloud users consist mostly of developers and Web startups. So far, enterprises have been mostly sitting on the sidelines trying to figure out how they can benefit from cloud computing. Unlike developers and Web startups, enterprises need a more-robust cloud infrastructure in terms of security and availability. They also need enterprise software, something that they’re already using in their data center, to be available on the cloud from a licensing and support perspective. Oracle Magazine: What cloud computing solutions is Oracle offering? Kumar: Customers can now use their existing licenses for Oracle Database, Oracle Fusion Middleware, and Oracle Enterprise Manager on Amazon EC2—or they can buy new licenses—and get support. EC2 allows users to license
novemBer/deCemBer 20 08
21
10/3/08 2:15:15 PM
a t O r a c l e interview
Beyond the Buzz
Oracle Beehive platform provides context and enables collaboration.
22
November/december 20 08
ND08_Beehive.indd 22
developed, it is possible to derive not only what decisions were made but also how and why they were made. This context is extremely valuable. It is also what differentiates Oracle Beehive from other solutions. Crider: How does Oracle Beehive meet enterprise application requirements?
Terry Olkin, Vice President and Chief Architect, Oracle
Olkin: We’ve developed Oracle Beehive for companies that must run on a secure, scalable, and available platform. We designed the product from the beginning to support robust security and compliance needs with respect to collaboration, but it also integrates all of the collaborative functions that previously required purchasing a variety of partial solutions. Oracle Beehive applications are integrated and centrally managed as part of a secure, compliant, and scalable environment built on Oracle technology. Crider: Do organizations have to get rid of their old e-mail and calendaring tools to take advantage of Oracle Beehive?
Olkin: Absolutely not. We designed Oracle Beehive to coexist with legacy solutions. Oracle Beehive complements missing or underperforming functions with its functionality. Over time an organization can migrate from existing products to Oracle Beehive to get the benefit of a completely unified architecture on a unified platform. Crider: Does Oracle Beehive support open standards? Olkin: Oracle Beehive supports every open standard that’s relevant in the collaboration space. As an example, one of the newer standards, which we authored, is the CalDAV standard—a new protocol for talking to calendar servers. Oracle Beehive is the first production product that supports CalDAV. Crider: How does Oracle Beehive fit into Oracle’s Enterprise 2.0 strategy? Olkin: Oracle Beehive is an enterpriseclass collaboration platform that integrates with and supports Oracle’s Enterprise 2.0 products. For example, it works with Oracle Universal Records Management for full records management and accommodates Oracle Information Rights Management to enforce the rights associated with collaborative artifacts such as e-mail, documents, and instantmessaging transcripts. It also supports the Oracle Universal Online Archive to archive content; the Oracle Universal Content Management product to access documents remotely; and Oracle WebCenter, which provides a means for building Web-based or portal-like applications on top of Oracle Beehive. ■
nextStePS reAD more about Oracle Beehive oracle.com/products/middleware/beehive
LiSten to the podcast oracle.com/products/middleware/ofmradio.html
bob AdLer
ith the introduction of Oracle Beehive, Oracle’s next-generation software platform for enterprise collaboration, Senior Director of Product Marketing for Oracle Fusion Middleware Greg Crider sat down with Oracle Vice President and Chief Architect Terry Olkin to discuss the features and benefits of this new software platform. The following is an excerpt from that interview. Download a podcast of the full interview at oracle.com/products/ middleware/ofmradio.html. Crider: What is Oracle Beehive? Olkin: Oracle Beehive is Oracle’s nextgeneration software platform for enterprise collaboration. It provides all of the familiar features and functions users expect in a collaboration platform—such as e-mail, calendaring, task management, content sharing, desktop sharing, online meetings, instant messaging, presence, voice, voice mail, fax, discussions, and team workspaces in a single, fully integrated solution. Crider: How does Oracle Beehive impact collaboration? Olkin: Oracle Beehive simplifies collaboration among individuals, teams, and organizations. It makes it easier to generate new information, make timely decisions, and take action. Oracle Beehive delivers integrated collaborative services through familiar desktop tools, such as Microsoft Outlook and other standards-based clients, as well as Oracle Beehive–specific clients. Collaboration means having a place to gather, organize, discuss, and share information. Oracle Beehive offers teams a workspace to collaborate across different channels in which the context of the resulting information is captured for others. Because all the information is captured in the workspace as it’s being
oracle.com/oraclemagazine
10/7/08 11:42:10 AM
Project2
10/9/08
1:44 PM
Page 1
8 x 10 7/8
ATTENTION All users of JD Edwards EnterpriseOne or JD Edwards World
by
80
%
Don’t take our word for it. Ask our customers. They tell us we cut their security management effort and costs by up to 80%. They also tell us we cut reporting effort from weeks to minutes. Over 250 JD Edwards customers put their trust in Q Software’s security, risk management and compliance solutions. As Oracle’s only Certified Partner offering security and compliance solutions for both JD Edwards EnterpriseOne and JD Edwards World; we are uniquely placed to help you: • Align your business controls to your business processes • Cut your security management effort by up to 80% • Cut compliance reporting effort from weeks to minutes
Request a white paper now To find out why Oracle and leading auditors recommend Q Software request a white paper by visiting www.qsoftware.com/cutmycosts.
Effective Security Compliance www.qsoftware.com/cutmycosts
Effective Security Compliance
Cut your compliance costs
c o m m u n i t y partner news
b o o k Beat Refactoring SQL Applications By Stephane Faroult and Pascal L’Hermite O’Reilly Media www.oreilly.com ISBN: 9780596514976 When database performance doesn’t meet your expectations, reach for Refactoring SQL Applications. This book provides a set of tested options for making code modifications to dramatically improve the way your database applications function. Backed by real-world examples, the book offers quick fixes for simple problems, in-depth answers for more-complex situations, and complete solutions for applications with extensive problems. The book teaches you to recognize and assess code that needs refactoring, and to understand the crucial link between refactoring and performance. Coauthor Stephane Faroult has been working with the relational model and the SQL language since 1983. Pascal L’Hermite has extensive experience working with relational databases in online transaction processing and production and development environments.
Oracle Modernization Solutions By Jason Williamson and Tom Laszewski Packt Publishing www.packtpub.com ISBN: 1847194648 Oracle Modernization Solutions provides detailed guidance on how to implement two well-known mainframe modernization approaches: service-oriented architecture (SOA) integration and rearchitecture. The authors explain when and why to choose SOA integration, a noninvasive approach that allows legacy components to be reused and integrated quickly and safely. They also explain when to choose rearchitecture to engineer legacy components and preserve business knowledge in a modern, open, and extensible architecture. The book includes a thorough discussion of modernizing to a process-driven SOA based on Java Platform, Enterprise Edition; Oracle Database; and Oracle Fusion Middleware. Real-life scenarios with detailed hands-on examples are provided. Coauthor Jason Williamson is product manager of modernization solutions at Oracle. Tom Laszewski is the director of the Oracle modernization solutions team.
Look for Oracle books at otn.oracle .com/bookstore.
24
November/december 2008
ND08_Partner.indd 24
ZMANDA’S AMANDA ENTERPRISE SUPPORTS ORACLE DATABASE ON LINUX
manda Enterprise, the flagship product of Oracle partner Zmanda, a provider of open source backup and recovery software, now supports Oracle Database running on Oracle Enterprise Linux. In addition, Amanda Enterprise is now part of the Oracle Unbreakable Linux Support Program. Scalable, heterogeneous, and secure, Amanda Enterprise uses open formats and a built-in backup scheduler that shortens backup windows and reduces storage and bandwidth consumption. Amanda Enterprise is the only backup and recovery solution certified by the U.S. Department of Homeland Security as being free from security defects. Amanda Enterprise includes Oracle agents that allow IT administrators to perform backups of Oracle Databases on many platforms. The Zmanda Oracle Agent for Linux and Solaris leverages Oracle Recovery Manager capabilities such as block-level corruption detection, file multiplexing, and backup compression to ensure backup integrity while optimizing performance.
A
U&SLUNO INTRODUCES JWASP FRAMEWORK FOR ORACLE FORMS IN JAVA
racle Certified Partner U&SLUNO has introduced JWasp Framework, a tool that allows processing and development of Oracle Forms in Java. JWasp Framework was launched in cooperation with Oracle in the Czech Republic. It provides direct migration of Oracle Forms to Java; the ability to create new Oracle Forms in Java; and parallel functioning of new, migrated, and existing Oracle Forms. Because of JWasp’s user-friendly environment and utilization of Java WebStart technology, U&SLUNO estimates that it delivers an 80 percent cost reduction and a 66 percent time savings when compared with manual Oracle Forms migration. JWasp’s various user-manageable settings include dynamic setting of table column width, dynamic sequencing
O
of columns, hiding and displaying of random table columns, and data sorting according to one or more columns. It also provides a variety of data export capabilities, including Microsoft Excel and XML. HELPSTREAM INTEGRATES CUSTOMER SERVICE SOLUTIONS WITH ORACLE CRM ON DEMAND
elpstream, a provider of on-demand collaborative customer service solutions, has integrated its service with Oracle CRM On Demand. The combined solution is intended to address one of the most difficult challenges facing companies today: connecting customers to information—and to each other—in order to resolve problems quickly and effectively. The OracleHelpstream solution lets companies link their user communities, self-service options, and agent-assisted support processes into a single integrated workflow. Together, Helpstream’s service and Oracle CRM On Demand enable customers to search for relevant information across a knowledgebase, post and answer questions in online communities, use interactive checklists that provide step-by-step instructions, and submit cases needing additional assistance. Customer service representatives using the combined solution will have instant access to cases within Oracle CRM On Demand and will be able to track histories for both agent-assisted and self-service cases.
H
DATA DOMAIN ENHANCES ITS VIRTUAL TAPE LIBRARY SOFTWARE
racle partner Data Domain, a provider of deduplication storage systems, has enhanced its Data Domain Virtual Tape Library (VTL) with a GUI and support for 4GB Fibre Channel fabric interfaces. The software is also certified for Oracle Secure Backup. Data Domain’s virtual approach is intended to make it easier for storagearea-network customers to take advantage of Data Domain’s high-performance inline
O
oracle.com/oraclemagazine
10/3/08 3:45:57 PM
deduplication storage. The browser-based user interface in Data Domain VTL is used for configuration and management of virtual tape libraries and simplifies the provisioning and administration of tape library–like artifacts. Voltaire receiVes oracle real application clusters and oracle enterprise linux certifications
V
oltaire, a provider of grid backbone solutions and an Oracle partner, has announced that its InfiniBand products have achieved Oracle Real Application Clusters (Oracle RAC) 11g and Oracle Enterprise Linux certifications using OpenFabrics Reliable Datagram Sockets (RDS) over InfiniBand. OpenFabrics RDS is an open source, high-bandwidth, low-latency communication protocol created by Oracle’s Linux development group to improve the performance of cluster interconnect–intensive applications. The Voltaire solution lets organizations run larger clusters and improve performance and efficiency of large-scale data sets.
ncipher proVides encryption Key ManageMent for oracle database 11g
O
racle partner nCipher’s nShield and netHSM key management solutions are now integrated with the transparent data encryption feature in Oracle Database 11g’s Oracle Advanced Security option. The combination of Oracle transparent data encryption and nCipher’s secure key management systems provides high data security and enables compliance with regulations and industry standards including the Payment Card Industry Data Security Standard. An established best practice for key management includes use of hardware security modules such as nCipher netHSM. Hardware security modules are platforms within which keys can be securely created, used, and stored. They are used to establish strong authentication rules for administrators and dual-control mechanisms for shared responsibilities.
accenture introduces oracle-based WorKforce analytics
capgeMini and oracle launch hosted transportation ManageMent solution
racle Certified Advantage Partner Accenture, a global management consulting, technology services, and outsourcing company, has introduced Accenture Workforce Analytics, an Oracle-based solution that provides tools and metrics to manage the workforce as a competitive asset. Accenture Workforce Analytics taps into the data in enterprise human resources management systems such as Oracle’s PeopleSoft Human Resources and transforms that data into useful, actionable business intelligence. It provides key performance indicators and readymade metrics for recruitment, retention, training, HR costs, contact center performance, and other HR functions. It also helps managers to forecast potential human capital–related shortcomings, uncover their root causes, and take corrective actions that can increase employee productivity, control workforce costs, and manage employee turnover and retention.
racle and Oracle Certified Advantage Partner Capgemini are offering TMS NOW, a hosted implementation of Oracle Transportation Management combined with Capgemini’s expertise in logistics assessment, distribution network optimization, and warehouse management. TMS NOW was designed to overcome three obstacles to adoption of a transportation management solution (TMS): some companies cannot commit necessary resources for a full-scale TMS purchase and implementation, many companies want to start with a small-scale TMS and grow it, and many emerging companies need a TMS but lack the necessary technical resources. TMS NOW allows companies to leverage the economies of scale that result from multiple organizations sharing TMS infrastructure and connectivity costs. ■
O
O
webLOCATOR Zmanda
arcsight integrates identity and security ManageMent technologies
www.zmanda.com
rcSight, a provider of compliance and security management solutions and an Oracle partner, has released IdentityView, a product that connects the user- and role-management functions of identity management products with the activity monitoring and correlation functions of security information and event management products. IdentityView includes connectors to Oracle Identity Management and provides improved understanding of who is on a network, what data they’re seeing, and what actions are being taken with that data. IdentityView correlates multiple user identities into a single identity key. It then uses that key to collect and analyze all of a user’s activity information to determine whether the user is performing unauthorized activities. IdentityView ships with a set of reports and dashboards, including activity-based role modeling and comprehensive activity reporting.
www.u-sluno.cz
A
U&SLUNO Helpstream www.helpstream.biz
Data Domain www.datadomain.com
Voltaire www.voltaire.com
nCipher www.ncipher.com
Accenture www.accenture.com/oraclebi
ArcSight www.arcsight.com
Capgemini www.us.capgemini.com
Certified Advantage Partner (CAP) is Oracle PartnerNetwork’s highest membership level. CAPs consistently demonstrate superior product knowledge, technical expertise, and commitment to Oracle and receive advanced levels of service, training, benefits, and resources. To find a CAP, please visit solutions.oracle.com/CAP.
oracle magazine
ND08_Partner.indd 25
November/december 20 08
25
10/3/08 3:46:37 PM
c o m m u n i t y education
bY A A roN lAzeNbY
Elementary Workforce Readiness
AAroN lAzeNbY
Oracle helps students prepare for global challenges. ive clocks hang high on the wall in Deb Austin Brown’s “communications center” at Alban Elementary School in St. Alban’s, West Virginia. They show the time in Berlin; New Delhi; Beijing; Tokyo; and Santiago, Chile. “These clocks reflect places our students have lived or visited,” explains Austin Brown. “Giving the global time gets the kids thinking about the rest of the world.” Promoting a global view is only one strategy Austin Brown delivers to her fifth-grade leadership class—a class structured around 21st Century Learning, an approach to education developed by the Partnership for 21st Century Skills, an advocacy group founded in 2002 by business, education, and government leaders. Emphasizing lessons that help students operate in an increasingly wired, flat world, this approach promotes collaborating, complex problem solving, and using computers for research, communication, and schoolwork through project-based, multidisciplinary curricula. Combined with rigorous performance standards and a strong professional development commitment from teachers, 21st Century Learning goes a long way toward preparing students to excel in the modern workplace. The West Virginia Department of Education sent Austin Brown and 13 other educators to California in November 2007 to attend the launch of the Oracle Education Foundation’s 21st Century Learning Institute. Recognizing that a prepared workforce is critical to the ongoing success of innovationdependent technology companies, Oracle created the institute to train teachers in creating and implementing project-based online learning curricula with the modern workplace in mind. Clare Dolan, vice president, Oracle
26
November/december 20 08
ND08_education.indd 26
Student Ryan Broderick stands with drawings of some of the famous people studied in the Success Project.
Education Initiatives, agrees that workforce readiness is a top priority for educators. “If one of the goals of education is preparation for the workforce, it seems obvious that the private sector must support schools—not only through gifts but also by helping educators understand what industry expects of future workers,” Dolan says. “The institute is one of the ways Oracle is doing just that.” One requirement for institute participants was the successful implementation of a project that helps students advance vital new “soft” skills—such as promoting global awareness through the use of foreign language, civic responsibility through projects with local charity organizations, and fair competition through a market simulation. Austin Brown responded with the Success Project, a program to help students understand the various forces that influenced some of the world’s greatest thinkers and leaders. Students picked a quote from notable intellects (Albert Einstein, Thomas Edison, or Ralph Waldo Emerson, for
example) or successful contemporary figures (such as Oprah Winfrey, Larry Bird, or Tony Robbins) and used Oracle’s ThinkQuest internet learning platform to research how the axiom reflected the speaker’s ability to succeed. Guided by the twenty-first century skills Brown emphasizes in her class—self-direction, creativity, innovative thinking, collaboration, and communication—the students worked alone and together to do research online. Excited by the freedom and high expectations placed on them by this approach to education, many students came to school early or stayed late to develop their projects, building relationships that enhanced learning. Once the projects were complete, students gave presentations, reporting their findings to their peers. Ryan Broderick, a student who selected Dale Carnegie as his focus, extended his project into the local business community by connecting with Verizon President Keith Fulton as a private-sector mentor. Fulton spoke at Success Night when the projects were presented and met with Broderick to give him some pointers. This intersection between the worlds of education and employment is critical to Austin Brown, who sees preparing her students for the world of work as one of her highest priorities in the classroom. “The skills developed through the project will empower students,” says Austin Brown. “And if they learn them now, the skills will become habits.” ■ Aaron Lazenby is a director with Oracle Publishing.
webLocatoR oracle education Foundation oraclefoundation.org
thinkQuest www.thinkquest.org
oracle.com/oraclemagazine
10/6/08 1:58:23 PM
c o m m u n i t y UP CLOSE
BY JEFF ERI CKSO N
Growing with Oracle
BOB ADLER
A user group leader helps members manage an expanding range of Oracle technologies. he trip from the Seattle airport to When Morgan and PSOUG President the Oracle Days conference held Jack Cline took over PSOUG in late 2003, by the Puget Sound Oracle User there were no meetings scheduled, no Group (PSOUG) takes you past facilities, no Web site, and no telephone the headquarters of Amazon and Boeing number. But go to Oracle Days and you’d before you veer east toward Microsoft and into Bellevue, a city in the throes of a Shanghailike building boom. I pulled up to the conference hall determined to ask Dan Morgan, Oracle ACE director and PSOUG education chairman, how his group helps members from these large strategic partners keep up as Oracle grows its product line and continues to integrate new technologies. Soon enough I got the chance. “We look for niches where we can share expertise,” said Morgan, who teaches at the University of Washington. “We focus not on things that Oracle teaches, such as how to manage a RAC [Oracle Real Dan Morgan, PSOUG Education Chairman and Oracle ACE Director Application Clusters] cluster, but on specific installation and configuration techniques.” never guess it. This year, the five-day conIt’s a strategy that works. In the past ference offered three days of paid classes five years, PSOUG’s membership has with experts such as Joe Celko, formerly grown from 700 to more than 4,000. of the American National Standards Along the way, the group has opened a Institute committee; Cary Millsap, of first-class computer lab with donated Method R; and Oracle’s own Tom Kyte. equipment, instituted weekly classes, and The last two days of the conference were built its Web site into an online resource free and open to anyone who wanted to with almost two million hits per month attend. “We’ve got about a half dozen from 183 countries. “We’re in a commumembers of the OakTable Network and nity where a lot of very large companies about a half dozen Oracle ACEs and ACE use multiple database products from directors providing classes during the multiple vendors or multiple generations open conference,” said Morgan. of them,” said Morgan. “We get people Now that the conference is over, who are experienced at [Microsoft] SQL PSOUG members have other activity Server who need to learn Oracle and options. “We’ve put together our own come to the Oracle user group as a way training lab and facilities,” said Morgan. of getting that cross-training.” “Vendors know it can’t hurt future sales
to have people learning on their equipment, so we’ve been able to equip the lab with top-tier hardware.” The group has developed its own training materials independent of Oracle Corporation. “A lot of members are with Boeing and other strategic partners of Oracle,” said Morgan. “They provide advice on how to make our classes as realworld as possible. So a lot of things we teach are practices that have been proven over the years to work.” PSOUG is branching out from the database to other Oracle technologies. “The traditional view of an Oracle user group was: either you are a database user group, or you are an apps user group,” said Morgan. “But that no longer reflects Oracle and its product line. We are maintaining our focus on the database, but at the same time we’re trying to provide support for middleware, the application server, identity management, and [Oracle’s] Hyperion [applications].” PSOUG now supports Oracle E-Business Suite and has plans to help members with Oracle’s Siebel products in the future. ■ Jeff Erickson is a senior editor at Oracle Publishing. His blog is at techspectator.com.
nextSTEPS
LEARN more about PSOUG
psoug.org
EXPLORE Tahiti search engine for documentation and syntax tahiti.oracle.com
Oracle Scratchpad jonathanlewis.wordpress.com
WATCH Up Close Dan Morgan video oracle.com/oramag/upclose
ORACLE MAGAZINE
ND08_UpClose_R1.indd 27
NOVEMBER/DECEMBER 20 08
27
10/14/08 11:29:18 AM
c o m m u n i t y PEER-TO-PEER
BY B la ir CampBell
Spotlight on Performance Expert tips on everything from syncing to identifying performance problems and breaking into the biz Name one unique use of Oracle products at your company. We’ve created
Ahmed Alomari What’s your favorite tool or technique on the job? Oracle
Enterprise Manager is one of my favorite tools, because of its continued evolution and rich feature set. It not only allows you to monitor the entire Oracle technology stack, but it provides capabilities including drill-down and trending. The database control component of Oracle Enterprise Manager lets DBAs quickly identify performance-problematic areas, and it provides drill-down inforpeerSPECS mation to help isolate the root cause. Company: Cybernoor, a provider What advice do you have about how to get into application development? Java,
of products and services with a focus on improving application performance
Ajax, and XML are key components being used to build next-generation business applications, so it’s important for aspiring developers to understand and eventually master them.
Job title/description: Performance specialist, diagnosing and resolving system and application performance issues as well as helping customers with upgrades and implementations
What technology has most changed your life? Java profilers have made a
Length of time using Oracle products: 17 years
Location: Pleasanton, California
oracle ACE big impact. The Java platform has otn.oracle.com/community/ evolved, but a good Java profiler is oracle_ace still just as important to a Java developer as the SQL trace capability is to a SQL developer. On the code front, Java profilers provide detailed insight into the Java applications running within the Java virtual machine.
Gregory Rekounas Which new features in Oracle technologies are you currently finding most valuable? Oracle Database Lite’s
automatic sync allows high reliability in mobile applications, while at the same time keeping users working instead of interrupting their current applications to retrieve new applications. Prior releases relied on manual synchronization, and for an organization this caused issues because users’ data could be stale if they waited too long between syncs. Now, an organization can set thresholds around data modified, network connectivity, and even low battery power to sync information.
28
novemBer/deCemBer 20 08
ND08_PEER.indd 28
one of the largest implementations of Oracle Database Lite. We’re synchronizing more than 350 tables, 700 indexes, 60 sequences, and a full-blown OC4J application to field users’ laptops. What would you like to see Oracle, as a company, do more of? Oracle
peerSPECS Company: OAO Technology Solutions, an IT solutions and services firm Job title/description: Oracle solutions architect, designing solutions with a focus on Oracle Database Lite and Java Platform, Enterprise Edition (Java EE) Location: Moncton, New Brunswick, Canada Length of time using Oracle products: 8 years
oracle ACE has many great technologies. What otn.oracle.com/community/ I find most customers have a hard oracle_ace time with is visualizing the integration of those technologies into their businesses. More in-depth case studies of solutions requiring multiple products would help.
Penny Cookson How did you get started in IT? I worked for 13 years as a medical technologist in a bacteriology laboratory, but I was getting bored so I did an Open University degree in IT part time. In 1987 I was lucky enough to get an entry-level position at Hampshire County Council, a large Oracle site in the U.K. with a great training program. I’ve since taken on several staff who have studied IT as mature students. Their real-world business skills are a great benefit in a consulting environment. What’s your favorite tool or technique on the job? Oracle’s 10046 trace.
It’s amazing how many people try to tune applications without having a clear idea of what the real problem is. The trace may not be pretty, but it provides the information you need to tune. What advice do you have for aspiring Oracle technologists? Do the formal education courses, even if it peerSPECS has to be part time, and then join Company: Sage Computing Services, a consultancy specializing your local Oracle user group—and in Oracle’s core technologies talk to anyone who’s a potential Job title/description: Managing employer. Most employers will be director, providing Oracle training and consulting impressed by people who put in Location: Perth, Australia the effort. If you don’t get work Length of time using Oracle immediately, offer to volunteer for products: 21 years a few days. If you have the aptioracle ACE tude for the job, an employer will otn.oracle.com/community/ oracle_ace want to hang onto you. ■
oracle.com/oraclemagazine
10/6/08 1:59:32 PM
Outstanding Partners! Applications Momentum
Business Intelligence Solution
Content Management Solution
CRM Solution
E-Business Suite Solution
Edge Applications Solution
Enterprise Performance Management Solution
Financial Services Industry Solution
Grid and RAC Solution
Identity Management Solution
Industry Solution
Integration and SOA Solution
JD Edwards Solution
Technology Momentum
PeopleSoft Solution
Midsize Business Applications Solution
Manufacturing Industry Solution
Special Thanks to the Oracle North America Titan Award 2008 Winners Win More With Oracle
partner.oracle.com or call 1.800.323.SELL
Copyright © 2008, Oracle. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Template
A Standard
PUBLICATION NOTES: Live: 7" x 9.75" Job No.: 002155 Trim: 7.875" x 10.5" File Name: OPN_TitanAwards08_2155 Bleed: 8.625" x 11.25" Product: Oracle PartnerNetwork Color: 4C Headline: Outstanding! 2008 Titan Award Winrs Production: Date: Fri, Sept. 12, 2008 9:30 AM Pub: TBD Fonts: Traffic: Agency Univers LT Std. 75 Black, 65 Bold, 55 Roman, 45 Light Univers LT Std. 67 Bold Condensed, 57 Condensed, Library Ref.: 1933 47 Condensed Light
DATE
PUB NOTES
Mgr.
09/12/08
Traffic Mgr.
09/12/08
Please use center marks to align page.
Proofing
09/12/08
Graphic Mgr.
09/12/08
Production
09/12/08
APPROVALS
BY
READER
01 Released
09/12 2008
TEMPLATE PRODUCTION NOTES: PRODUCT:
OPN PUBlication: TBD
Exceptions to Graphic Guidelines Eyebrow
Gray Lines
Headline
Sub-Head
Body Copy
Oracle Bar
URL/Phone
Add. Logos
S Placement
NA
NA
NS
NS
S
S
S
NS
NS Placement
NA
NA
NS
NS
S Size
NA
NA
NS
NS
NS Size
NA
NA
NS
NS
S = Standard Treatment
NS = Non-Standard Treatment
NS S
S
S
NS NS
PRODUCTION NOTES
TUSC is not vector: it is a high resolution TIF file—double check size is appropriate when scaling!!!
NA = Not Applicable
Please examine these publication materials carefully. Any questions regarding the materials, please contact Jodi Cordova (650) 506-5482 or
[email protected].
Is your revenue stream at risk?
What if you couldn’t print, fax or email purchase orders, shipping labels, invoices, checks or contracts from your Oracle® applications? HP Output Management solutions can help protect your revenue streams by linking your Oracle applications to a reliable information delivery infrastructure. You can depend on reliable delivery of critical documents to any destination. Plus, HP International Printing for HP Output Server provides fully-enabled international output management for global enterprises that employ the Unicode™ Standard.
Reliable
Reduce loss or delay of revenue with reliable enterprise information delivery.
Efficient
Accelerate business-cycle time by streamlining business workflows.
Cost-effective
Reduce costs—proactively and centrally manage the delivery of enterprise information.
To learn more, call your HP sales representative, visit http://www.hp.com/go/outputmanagement, or take a look at our webinars at http://webinars.sapinsideronline.com/hp/.
Copyright 2008 Hewlett-Packard Company. The information contained herein is subject to change without notice. Oracle is a registered US trademark of Oracle Corporation, Redwood City, California. Unicode is a trademark of Unicode, Inc. ©
EDITORS’ CHOICE AWARDS 2008
MANOJ BOHRA PAUL CITARELLA
HONORING LEADERSHIP AND INNOVATION IN TECHNOLOGY
ALEX DE VERGORI
Each year the editors of Oracle Magazine present Editors’
BILL EVJEN
Choice Awards to extremely accomplished candidates—
CELSO GUIOTOKO
people who best reflect the highest achievements and
LYNN HERSEY-MILLER
vision in their areas of expertise. Nominated from all
KONSTANTINOS KAPPOS
corners of the globe, these candidates represent the most
MARK KNIGHT
advanced, forward-thinking, and experienced people work-
DENES KUBICEK
ing with Oracle technology today.
TOM LAMMING
Selecting the award winners from a pool of such candi-
BARRY LIBENSON
dates, all of whom are worthy of recognition, is a difficult
DEBRA LILLEY
yet rewarding task. Our deliberations completed, we are
RICHARD MARTINEZ
honored to announce the winners of our seventh annual
JIM MCKENNEY
Oracle Magazine Editors’ Choice Awards. Together they
TORSTEN MINKWITZ
represent a diverse and vital force bringing innovation and
BRYAN A. MJAANES HIMANSHU PARIKH
leadership to the workforce every day. –THE EDITORS OF ORACLE MAGAZINE
NATHALIE ROMAN PHIL SANT JAN SHOOK MARK TONNESEN HANNES VAN ROOYEN HAI WANG JOHN YOUNG PLAMEN ZYUMBYULEV
BY DAVID A. KELLY oracle magazine
ND08_ECAwards_v2.indd 31
november/december 20 08
31
10/8/08 3:54:09 PM
2008
TOM
LAMMING
CIO OF THE YEAR, ASIA PACIFIC
Technology should serve customers and business goals, Telstra CIO says.
ND08_ECAwards_v2_R1a.indd 32
winnerSPECS Name: Tom Lamming Job title/description: CIO Company: Telstra Location: Melbourne, Australia Award: CIO of the Year, Asia Pacific, 2008
ROBERT EDWARDS
For Tom Lamming, Oracle Magazine’s CIO of the Year for Asia Pacific, IT isn’t about technology—it’s about the business and its customers. “Our systems and applications are here to enable the business to serve our customers better,” says Lamming, CIO of Telstra, the largest telecom in Australia and the 11th largest in the world. “Our customers don’t buy us because of IT. Our job is to make the business efficient and effective.” Lamming, a former global managing partner at Accenture, came out of retirement three years ago to manage Telstra’s IT-related transformation processes, part of the company’s AU$11 billion transformation program that covers the entire business, from IT to sales. Although the program is a multiyear process, it is on schedule, with completion of significant migrations of its customer bases expected by the end of 2008. “Everything we do in the transformation program is focused on creating a fundamentally differentiated customer experience—from new networks to new systems, everything we’re doing is about the customer,” says Lamming. “In addition, everything is interlocked. When we make changes in the network, we’ve got to make changes in the systems and the products and services. We need to have a wellorchestrated program.” To help accomplish that orchestration, one of Lamming’s key goals for IT has been to consolidate and integrate disparate systems such as individual operational support and billing systems. The company uses Oracle products across the technology stack, from the database to middleware and applications. “Oracle is a strategic partner that we work closely with to help drive product road map decisions,” says Lamming. “Telstra is using Oracle’s world-class solutions in our environment to retain a good total cost of ownership by optimizing our out-of-the-box experience through a strong partnership with Oracle.” The partnership is about both products and people. “Oracle has been a tremendous partner, from Charles Phillips on down,” says Lamming. “It’s been important to our relationship to have that range of connections, from senior Oracle managers down to the folks on the ground who use their skills to help support us on the delivery and support of the software.”
10/14/08 10:36:44 AM
2008
KONSTANTINOS
KAPPOS
CIO OF THE YEAR, EUROPE, MIDDLE EAST, AND AFRICA
GETTY IMAGES/ORESTIS STAVROPOULOS
CIO leads transformation, adding products and improving customer service. Konstantinos Kappos, CIO of Hellenic Telecommunications Organization (OTE) and Oracle Magazine’s CIO of the Year for Europe, Middle East, and Africa, thinks that a good CIO should be able to use data to help grow the business and improve service. “The real challenge for a CIO is to turn internal and external data into customer insight,” says Kappos. “The goal is to achieve higherquality customer service and avoid customer churn.” OTE, with revenues of €6.3 billion in 2007, is the main provider of fixed-line services (voice, broadband, data, and leased lines) in Greece. The company’s subsidiaries provide services that range from broadband to mobile voice and entertainment to six countries in southeast Europe, serving about 24 million customers. As CIO of OTE, Kappos is responsible for planning, developing, and operating all of the IT systems of the company. “As the transformation leader, my challenge is to find a way to support the launch of a new generation of products and services across different winnerSPECS areas,” says Kappos, “while at the same Name: Konstantinos Kappos time to help the company transform its Job title/description: CIO customer service processes and streamCompany: Hellenic Telecommunications Organization (OTE) line the service fulfillment processes.” Location: Athens, Greece To achieve these goals, Kappos (and Award: CIO of the Year, Europe, Middle OTE) have increasingly relied on products East, and Africa, 2008 from Oracle, including Oracle Database, Oracle OLAP, Oracle Warehouse Builder, Oracle SOA Suite, and Oracle E-Business Suite. With these products, Kappos’ leadership, and his team’s efforts, OTE is successfully reconstructing itself from a traditional telecom company to a forwardlooking content and services provider—all while using technologies such as business intelligence to keep closer to their customers and their customers’ needs. “Business intelligence is critical to address our business challenges because it allows us to better understand our customers,” says Kappos. “We use business intelligence to enable the company to develop valueadded services and deliver them at the right time, based on our deeper understanding of customer needs and trends.” The company achieves its goals with help from Oracle. “Oracle is a very important strategic partner,” says Kappos. “Oracle has been committed to helping us, even when it was necessary to integrate their solutions with other vendors’ software. Their commitment and people were always there for us, and the fact that they’ve developed a broader strategy for telecommunications is very positive.”
ORACLE MAGAZINE
ND08_ECAwards_v2_R1a.indd 33
NOVEMBER/DECEMBER 20 08
33
10/14/08 11:27:28 AM
2008
RICHARD
MARTINEZ
CIO OF THE YEAR, LATIN AMERICA
winnerSPECS Name: Richard Martinez Job title/description: CIO Company: Puerto Rico Department of Education Location: San Juan, Puerto Rico Award: CIO of the Year, Latin America, 2008
ND08_ECAwards_v2_R1a.indd 34
For most people, a mention of Puerto Rico conjures up picturepostcard visions of the perfect tropical vacation. But to Richard Martinez, Oracle Magazine’s CIO of the Year for Latin America, Puerto Rico looks a lot different. As CIO of the island’s Department of Education, Martinez recognizes that Puerto Rico is about buildings, schools, people, and processes. He has more than 1,523 schools, 520,000 students, 70,000 employees, and 42,000 teachers to worry about—and then the U.S. Department of Education (USDE) required the island to bring its primary schools and systems into regulatory compliance. “Our challenge was moving from a paper-based system to digital,” says Martinez, noting that until this initiative, all recordkeeping and administration was done manually. In conjunction with Oracle and other partners, the department undertook a massive transformation effort to deploy an IT infrastructure and student information system. At the same time, the department also deployed Oracle’s PeopleSoft Financials for better administration control as well as improving the purchasing, requisition, and budgeting across its multiple entities. An important part of the solution included using Oracle On Demand for its student information and financial systems. “What’s really impressive about Oracle On Demand is that its provisioning is only 21 days,” says Martinez. “It would have taken us months or even a year to do the same thing, in addition to the time to mature the support organization and security aspects. I would seriously consider using the Oracle On Demand model with any implementation I’m involved with.” The results have been amazing, Martinez says. The system, which went into place in February 2007, has enabled the agency to have precise inventories of information about demographics, student enrollment, student achievement, teacher qualifications, groups impacted, and school needs. The new system’s data mining and reporting also drive improved decision-making. And the Department of Education finally has the information systems to support its educational goals and USDE compliance requirements. For programs requiring data to be submitted during the school year, for example, the submission rate had hovered at less than 20 percent. Since the new system has been operational, “We have made a quantum leap to a 97 percent mark, which is a stunning achievement in such a short time,” Martinez says. It’s also been a satisfying process for Martinez. “The best part of the job has been working with a team of people across the agency that became part of the solution by wanting to get things done and having the tenacity to see it through,” says Martinez. “By pulling together people from different areas within the agency and other sectors, we could make it happen. Now we’re starting to realize the impact it will have on our schools, students, and teachers—and it’s very satisfying.”
GETTY IMAGES/RICKY ARDUENGO
CIO gets an A+ for using technology to solve complex problems in education.
10/14/08 10:41:40 AM
2008
BARRY
LIBENSON
CIO OF THE YEAR, NORTH AMERICA
BOB RIVES
CIO says technology leaders need organizational and change-management skills. Ingersoll-Rand has experienced rapid changes. It divested itself of its Bobcat division and acquired air conditioning leader Trane, starting as a US$12 billion company, shrinking to a US$8 billion company, and then growing to a US$18 billion company. Making that kind of huge corporate change efficiently requires a CIO with more than technical skills—as Barry Libenson, CIO of Ingersoll-Rand and Oracle Magazine’s CIO of the Year for North America, knows. One thing that has made Libenson so successful at Ingersoll-Rand is his ability to hire bright people and delegate responsibility. “We help by setting the IT direction for the company and defining tight roles around software architecture, hardware infrastructure, and operations,” says Libenson. “Those roles give a clear delineation on who’s responsible for what’s inside the enterprise, and they help keep us grounded.” Libenson says it’s not just about the technology anymore. “The role of the CIO isn’t just about understanding and rolling out technology,” says Libenson. “The job has taken on new dimensions— it’s about change management, the organizational aspects of doing integration, and helping to make sure that we’re using IT resources effectively to get the most value out of an acquisition like Trane. It’s a different skill set than just being a pure technology guy.” Throughout these changes, the company has stayed on course with a more than US$300 million project to convert more than 90 global enterprise resource planning (ERP) systems to a consolidated Oracle E-Business Suite implementation. The company is evaluating what it will take winnerSPECS Name: Barry Libenson to expand the project to include the Trane Job title/description: CIO business unit. Company: Ingersoll-Rand “Having a world-class ERP platform like Location: Stamford, Connecticut Oracle E-Business Suite is critical to being Award: CIO of the Year, North able to do this type of M&A [merger and America, 2008 acquisition] activity,” says Libenson. “If you have a strong ERP environment, you can gather information more easily,” he says. “The data is more current, it’s more detailed, and you can get a lot of important analytical information from it, slicing and dicing in ways that you can’t with a hundred different systems.” Oracle’s growth and Ingersoll-Rand’s strategic relationship with Oracle have facilitated Ingersoll-Rand’s IT strategy. “Our relationship with Oracle has grown because of Oracle’s acquisition strategy and the products they’ve added to the portfolio,” says Libenson. “We’ve gone from being purely an [Oracle] E-Business Suite and database customer to one that’s using Oracle business intelligence, CRM [customer relationship management], HRMS [human resource management systems], and transportation and logistics applications, and the [Oracle] Identity Management platform. My life has gotten significantly easier because of Oracle’s acquisition strategy.”
ORACLE MAGAZINE
ND08_ECAwards_v2.indd 35
NOVEMBER/DECEMBER 20 08
35
10/8/08 3:56:20 PM
2008
CELSO
GUIOTOKO
CIO OF THE YEAR, JAPAN
Planning ahead and providing clear goals help this CIO achieve success.
36
NOVEMBER/DECEMBER 20 08
ND08_ECAwards_v2_R1a.indd 36
winnerSPECS Name: Celso Guiotoko Job title/description: Corporate Vice President and CIO Company: Nissan Location: Tokyo, Ja pan Award: CIO of the Year, Japan, 2008
GETTY IMAGES/ROBERT GILHOOLY
For Celso Guiotoko, corporate vice president and CIO of Nissan and Oracle Magazine’s CIO of the Year for Japan, one aspect of success comes from making himself obsolete. “I always tell my staff not to expect that I’ll be sitting in my office forever—that one day any one of them might have the opportunity to be taking my place and driving this organization,” says Guiotoko, who oversees information services (IS) strategy for automotive giant Nissan. Like any good car company that comes out with ever-moresuccessful models, Guiotoko has a solid plan in place for creating his own winning replacement. “We spend a lot of effort managing and developing talent within Nissan,” says Guiotoko. “Providing clear goals and a high level of transparency helps give our employees a sense of achievement.” In addition to developing talent, Nissan relies on Oracle software, including Oracle E-Business Suite, Siebel Customer Relationship Management, PeopleSoft Human Resources, Oracle Essbase, and Oracle Database, to help achieve its goals and deliver positive business results. Creating strong leadership and an effective IS organization is critical for the continued success of US$95 billion Nissan. The company, which grew almost 12 percent in FY 2007 by selling more than 3.77 million cars, has more than 200,000 global employees and strong growth in international markets. Most of the company’s growth is based on investing in new capacity, new sales companies, and new models. As part of its continued drive to increase the efficiency and effectiveness of its IT solutions, Nissan will continue a strong centralization model—although flexibility is still important. “If our business leaders want a solution to be centralized, we work toward that goal. If they want to have more flexibility for their users, perhaps on a regional basis, we follow their lead,” says Guiotoko. “The business solution should follow the business strategy.” Nissan’s latest corporate strategic plan is ambitious, including taking a leadership role in zero-emission vehicles; achieving leadership in brand, management, and service quality; and achieving 5 percent revenue growth over five years. This growth will be supported by the launches of 60 new models within five years. “Having a strategic road map makes my job easier because we’ve got a clear direction from the business,” says Guiotoko. “My team can work with each global function so that we can make sure that whatever IT is working on is synchronized and aligned with what the business needs to deliver.”
ORACLE.COM/ORACLEMAGAZINE
10/14/08 10:44:05 AM
2008
MARK
TONNESEN
CTO OF THE YEAR
BOB ADLER
For this manager, adaptability and flexibility mean success on the bottom line. For Mark Tonnesen, Oracle Magazine’s CTO of the Year, the new yardstick for IT is adaptability. “The more highly integrated your architecture and technology platform is, the easier it will be to adapt and meet the rapid business changes in your company,” says Tonnesen, vice president of information technology and CIO for Logitech. The company designs technology interface products such as keyboards, mice, and Webcams that connect consumers to the digital world. Logitech had previously used a best-of-breed approach, integrating and deploying individual solutions for different business needs. But rapid changes in business requirements, an increased global presence and more widely distributed organization, and a greater need to facilitate information accessibility drove the company to reconsider. “The need for flexibility, the need for change—and the ability to adapt to change quickly—is great, so you need to have as much of an integrated platform as possible to provide flexibility on the delivery of needed information or different business processes,” says Tonnesen. “You can’t have multiple solutions and platforms and be successful anymore.” Tonnesen and his team put together a distributed but highly integrated architecture that supports all of Logitech’s global business regions. Key components of the platform include Oracle Database, Oracle Fusion Middleware, Oracle E-Business Suite, Oracle SOA Suite, Oracle Business Process Analysis Suite, and Oracle’s PeopleSoft, Agile, and Hyperion applications. “When we considered total cost of ownership, support, and adaptability, an integrated technology platform with Oracle was much better for our business,” says Tonnesen. Getting the right information to the right people in a timely manner is also a critical success factor. “We’ve embarked on a program to improve our ability to get information to decision-makers at the right time,” says Tonnesen. “To do that, we’re leveraging Oracle’s highly scalable technology platform. By leveraging the architecture, we’ve put together a consolidated business view of our business processes—from sales cycles to shipping cycles—that enables our users to correlate information in an immediate fashion to make real-time decisions in our business.” From Tonnesen’s perspective, IT leaders need to make sure they’re not just focused on day-to-day operations but on identifying technologies and solutions that can help drive new business value. “The days of reacting and working off a project list are over. Instead, I focus on the strategic set of business capabilities that IT needs to deliver that will help move the company forward and achieve its goals,” says Tonnesen.
ND08_ECAwards_v2_R1a.indd 37
winnerSPECS Name: Mark Tonnesen Job title/description: Vice President, Information Technology, and CIO Company: Logitech Location: Fremont, California Award: CTO of the Year 2008
10/14/08 10:47:23 AM
2008
HAI
WANG
IT MANAGER OF THE YEAR
IT manager uses Oracle grid technology to manage data and support treasure seekers.
38
NOVEMBER/DECEMBER 20 08
ND08_ECAwards_v2.indd 38
winnerSPECS Name: Hai Wang Job title/description: Director of Data Platforms Company: Taobao.com (an Alibaba Group company) Location: Hangzhou, China Award: IT Manager of the Year 2008
GETTY IMAGES/QILAI SHEN
Although Hai Wang’s official job is director of data platforms for China’s Taobao.com, his real job is to enable Taobao.com’s users to buy and sell “treasure.” Taobao.com, whose motto is that there is no treasure that cannot be found and no treasure that cannot be sold, is the largest consumer-to-consumer auction and business-toconsumer e-commerce Web site in China. With more than 62 million registered members, market share of 70 to 80 percent, and transaction turnover of US$6.2 billion for 2007, buying and selling treasure is big business for Taobao.com. Facilitating the buying and selling of treasure also translates into the need to manage huge amounts of data effectively. Wang, Oracle Magazine’s IT Manager of the Year, led the data platforms team that designed and implemented the data warehouse and business intelligence platforms, based on an Oracle grid stack including Oracle Real Application Clusters (Oracle RAC), Oracle Automatic Storage Management (a feature of Oracle Database), and Oracle Clusterware, that power the site. “Our biggest challenge is managing hundreds of terabytes of data,” says Wang. “On one hand, we need to ensure system performance and stability, while on the other hand, we need to be able to mine intelligence from the data.” All of Taobao.com’s systems are built on a combination of Java- and Oracle-based architecture, with the main data warehouse running on a 12-node Oracle RAC system. With a huge number of registered users, transaction volume already comparable to eBay, and annual growth of 50 percent, scalability and high availability were important design criteria for Wang and a key reason Taobao.com chose Oracle RAC for constructing its data warehouse solution. Taobao.com is also using Oracle data warehouse technology to offer personalized recommendations to every auction bidder, as well as analysis tools to the sellers—features that help to increase transaction volumes significantly as well as improve customer retention. Wang is an Oracle ACE and an active advisor on the Oracle forum at www.itpub.net, the largest independent IT community in China. He continues to sharpen and share his technical knowledge with others, and he believes that successful IT managers need to work closely with business leaders. “Today’s IT managers need to have a sharp business sense, understand ROI [return on investment] analysis, communicate using business language, and have strong technology innovation capabilities,” says Wang. “But they also need business creativity.”
ORACLE.COM/ORACLEMAGAZINE
10/8/08 3:57:55 PM
2008
JAN
SHOOK
GREEN IT ARCHITECT OF THE YEAR
CATHERINE GIBBONS
Architect shows how making good business decisions leads to “green” success. Jan Shook, Oracle Magazine’s Green IT Architect of the Year, didn’t set out to create one of Verizon Wireless’ greenest IT projects. But somewhere along the way on a recent upgrade project, he and his team reduced power requirements by well over 90 percent. “We didn’t start off as a green project,” says Shook, principal architect on the fraud team at Verizon Wireless. “We were simply trying to make good business decisions.” Shook and his team were responsible for redesigning Verizon Wireless’ FraudPlus application, which scans 2.5 billion phone records daily to identify fraudulent activity. The solution uses Oracle SOA Suite, Oracle Containers for J2EE, Oracle Database, and a custom alarm engine. “We’re now process-centric with Oracle BPEL Process Manager and policy-based with the [Oracle] Business Rules engine, which is important from a business perspective,” says Shook. “Instead of everything being hard coded, it’s now very flexible.” Shook’s redesigned Oracle-based system uses about 95 percent less power— from about 200,000 watts per hour to about 5,000—as a result of migrating from roughly 6 tons of legacy hardware to about 150 pounds of new equipment. The system “significantly reduces power consumption and lowers capital requirements while still supporting huge volumes that grow year after year,” Shook says.
2008
BRYAN A.
winnerSPECS Name: Jan Shook Job title/description: Principal Member, Applications Staff Company: Verizon Wireless Location: Orangeburg, New York Award: Green IT Architect of the Year 2008
MJAANES
SOA GOVERNANCE ARCHITECT OF THE YEAR
ANDREA MANDEL
SOA governance ensures standards for infrastructure, technical services, and data elements, architect says. Implementing any new technology can get sticky—but that doesn’t mean you don’t need glue. In fact, the Zurich Financial Services Group, which operates in 170 countries with 58,000 employees, relies on service-oriented architecture (SOA) governance and Oracle Enterprise Repository as the glue for its SOA implementation. “SOA governance is the critical glue between our technical services architecture and our business architecture,” says Bryan A. Mjaanes, vice president, Zurich, and Oracle Magazine’s SOA Governance Architect of the Year. “It makes sure the services we implement are using the standard infrastructure and standard technical service contract, as well as supporting standard service design and data elements.” Oracle Enterprise Repository provides visibility into the company’s SOA infrastructure and facilitates reuse and IT/business alignment. The result? Faster time to market, reduced costs, increased flexibility, and improved business and IT alignment. Implementing SOA and SOA governance correctly takes more than technology—it also takes knowledgeable professionals who can build effective SOA solutions. “Everyone’s been very pleased with the quality of the products and the professionalism of the staff from Oracle,” says Mjaanes. “That’s one of the reasons Oracle is an emerging key supplier for Zurich globally.”
ND08_ECAwards_v2_R1a.indd 39
winnerSPECS Name: Bryan A. Mjaanes Job title/description: Vice President Company: Zurich Financial Services Group Location: Schaumburg, Illinois Award: SOA Governance Architect of the Year 2008
10/14/08 10:50:17 AM
winnerSPECS Name: Alex De Vergori
2008
Job title/description: Database Architect Company: Betfair Location: London, England Award: PL/SQL Developer of the Year 2008
ALEX
DE VERGORI
PL/SQL DEVELOPER OF THE YEAR
Successful PL/SQL developers require more than just good technical knowledge, according to Alex De Vergori, Oracle Magazine’s PL/SQL Developer of the Year. “They also need fine attention to detail, a passion about what they’re doing, and a high degree of pride in the software that they’re producing,” says De Vergori, a database architect who channels those skills at Betfair, an online gaming company that pioneered the concept of betting exchanges in 2000. To manage customers’ bets, De Vergori and the Betfair team have created a core betting engine and business logic that encompass more than 250,000 lines of PL/SQL code. The Betfair solution runs on Oracle Database using distributed databases around the world and an Oracle data warehouse running Oracle Real Application Clusters. Betfair also uses Oracle Coherence for its in-memory distributed data caching requirements, Java for its middle tier, and Ajax for its front-end applications. “We take in excess of five million transactions a day, and they all go straight through to the database, where those bets match with other transactions in real time,” says De Vergori. “At peak, we can easily see something like 1,000 bet transactions per second. With Oracle, our growth has been exponential, so that has enabled us to succeed in our market.”
2008
JOHN
JOHN BLYTHE
Developer works with 250,000 lines of PL/SQL code that deliver success.
YOUNG
ORACLE ENTERPRISE MANAGER ARCHITECT OF THE YEAR
winnerSPECS Name: John Young Job title/description: Lead DBA, Systems Management Team Company: Enterprise Rent-A-Car Location: St. Louis, Missouri Award: Oracle Enterprise Manager Architect of the Year 2008
ND08_ECAwards_v2_R1a.indd 40
If you think it’s tough keeping your car clean, maintained, and serviced correctly, try managing about a million cars. That’s essentially what John Young and his team at Enterprise Rent-A-Car have to do. As lead DBA and Oracle Magazine’s Oracle Enterprise Manager Architect of the Year, Young heads a team responsible for managing the databases for applications and systems that facilitate buying, moving, maintaining, insuring, renting, and eventually selling the approximately 1 million cars in the Enterprise Rent-A-Car fleet. He relies on Oracle Enterprise Manager. “Oracle Enterprise Manager is helping us keep track of our software and systems, including managing what’s installed,” says Young. “Instead of going to each server, we can easily go to Oracle Enterprise Manager and run reports.” When you’re managing more than 400 systems and applications, including most of the company’s core business systems such as its car rental application and internet reservation application, consistency and efficiency are important. “Oracle Enterprise Manager enables us to deliver increased uptime and better service for our application users and the business,” says Young.
CHRIS WILBORN
Architect uses Oracle Enterprise Manager to improve efficiency, consistency, and service.
10/14/08 10:52:19 AM
winnerSPECS Name: Lynn Hersey-Miller Job title/description: Chief Program Officer
2008
Company: State of Delaware Department of Technology and Information Location: Dover, Delaware Award: Security Architect of the Year 2008
LYNN
SECURITY ARCHITECT OF THE YEAR
CATHERINE GIBBONS
Architect finds that better security improves IT administration and enhances the user experience. Maintaining centralized control of security, governance, and compliance while also empowering individual departments to take management responsibility for their own applications is difficult. But because of Lynn Hersey-Miller and her team, the State of Delaware doesn’t have that problem. That’s because Hersey-Miller, Oracle Magazine’s Security Architect of the Year, implemented an Oracle Identity and Access Management solution. “While we have many centralized applications, their administration is decentralized,” says Hersey-Miller, who as chief program officer manages the Office of Major Projects at the Department of Technology and Information (DTI) for the State. The combined budgets of the initiatives managed by the office exceed US$200 million. “Using Oracle Identity and Access Management is a win/win, because the individual applications can be administered by our agencies at the same time that we implement standardized security processes across the entire enterprise infrastructure,” says Hersey-Miller. Hersey-Miller and her team implemented a centralized identity management system to facilitate moving more than 15,000 state employees to an online open enrollment application for the selection of healthcare plans and benefits. Oracle Identity and Access Management was chosen, both as the basis for the project and for future access and identity management needs. Since the system went live in February 2007, the State of Delaware has expanded its use of Oracle Identity and Access Management. Now approximately 35,000 users across multiple systems use it. The result has been not only an enhanced user experience but also much easier IT administration, which is especially important because the DTI partners with different agencies that manage individual applications. Although Hersey-Miller and her team considered the huge project cutting-edge when it started, the State was able to go live with its identity and access management solution in just over six months. “Part of our success with this project is attributable to our participation in Oracle’s customer relationship program and the very good working relationship we have with Oracle,” says Hersey-Miller. “It’s been very beneficial. Another part of our success was the outstanding teamwork across our department.” The results have been impressive—especially when it comes to compliance. “Oracle Identity and Access Management has helped us to increase our security standards and address a major governance issue,” says Hersey-Miller. “Now we have set a standard for all applications, with a centralized and robust governance structure.” In addition, there’s the benefit of reduced complexity of application security. “Before, each application used to have its own security table and management processes,” says Hersey-Miller. “But now we have a centralized and standard way to manage users and security. It reduces redundancy.”
ORACLE MAGAZINE
ND08_ECAwards_v2.indd 41
HERSEY-MILLER
NOVEMBER/DECEMBER 20 08
41
10/8/08 4:06:51 PM
2008
PLAMEN
ZYUMBYULEV
DBA OF THE YEAR
DBA finds new ways and new technologies to solve old problems.
42
NOVEMBER/DECEMBER 20 08
ND08_ECAwards_v2.indd 42
winnerSPECS Name: Plamen Zyumbyulev Job title/description: Lead DBA Company: Mobiltel Location: Sofia, Bulgaria Award: DBA of the Year 2008
GETTY IMAGES/PETAR PESHEV GETTY XXXXXXXXXXXXXXXXXXX
When it comes to solving tough IT and business problems, Plamen Zyumbyulev, Oracle Magazine’s DBA of the Year, looks to Albert Einstein for guidance. Zyumbyulev, the lead DBA for Bulgaria’s Mobiltel telecommunications company, agrees with the physicist’s statement, “We cannot solve our problems with the same thinking we used when we created them.” For Zyumbyulev that means using new approaches to solve increasingly complex business problems. Mobiltel, part of Mobilkom Austria Group, is the biggest telecommunications company in Bulgaria, with more than 5 million customers who expect advanced mobile services such as mobile internet access and content management systems. Zyumbyulev’s three critical business needs are flexibility, effectiveness, and providing better service, and he has aggressively leveraged new technologies such as Oracle Database 11g and Oracle Real Application Clusters (Oracle RAC) to achieve these goals and help keep up with the rapid rate of business change. “The pace of business growth has become faster and faster, and we’ve had to create more and more databases and, of course, take care of them,” Zyumbyulev says. “But in the last four years, we have not had an increase in DBA staff. I realized that we could not keep working with the same concepts and be effective and efficient. So that’s when we decided that we would embrace the idea of grid computing and automation simplification—we would think of the whole infrastructure as if it’s one virtual environment grid.” The change has fundamentally shifted how Zyumbyulev’s team approaches IT. “We’ve heavily invested in knowledge, understanding, and new technologies,” Zyumbyulev says. “The result is that today we spend less time in day-to-day activities like checking file systems and monitoring resources, and more time in preserving the performance of the applications and anticipating the future.” Grid computing allows Mobiltel to consolidate a lot of services onto a smaller number of databases. “It’s similar to using virtual machines, but with this approach we only have to manage one database instead of many operating systems— there is no additional memory overhead, and one service can run simultaneously on more than one physical machine,” says Zyumbyulev. “With Oracle Database and Oracle RAC, we can serve the business much faster than before, from weeks down to half an hour. It’s that real.”
ORACLE.COM/ORACLEMAGAZINE
10/8/08 4:07:30 PM
2008
TORSTEN
MINKWITZ
APPLICATIONS IMPLEMENTER OF THE YEAR
TON HENDRIKS
Applications implementer succeeds—in a hurry. Torsten Minkwitz, Oracle Magazine’s Applications Implementer of the Year and head of IT solutions for customers and products at T-Home, a fixed-line division of Deutsche Telekom AG, had to make a big fix quickly. Deutsche Telekom was moving rapidly to expand and transform its business by revamping its infrastructure, bundling new services, and providing world-class customer service. But succeeding in those areas required a flexible customer relationship management (CRM) system. That’s why T-Home implemented Oracle’s Siebel Call Center (now Oracle’s Siebel Contact Center) running on Oracle Database and Oracle Real Application Clusters. Although the implementation of the new CRM system was one of the company’s most complex IT projects, it was completed quickly. “From the moment we switched on the system, we had to be able to accommodate 20,000 concurrent users,” says Minkwitz. “Since we’re in such a competitive environment, we needed to move quickly. We had to invest more in testing, but I believe we saved one to two years compared to traditional approaches.” The new system manages 40 million customer data records, is used by 25,000 concurrent users in call centers and points of sale, and has 500,000 business transactions per day. “The first time I saw 90,000 orders being processed, I sent an e-mail to the project team saying, ‘We did it.’ It was a satisfying moment,” Minkwitz says.
2008
HIMANSHU
winnerSPECS Name: Torsten Minkwitz Job title/description: Head of IT Solutions for Customers and Products Company: T-Home, a fixed-line division of Deutsche Telekom AG Location: Bonn, Germany Award: Applications Implementer of the Year 2008
PARIKH
SOA ARCHITECT OF THE YEAR
BOB ADLER
Director saves time and overcomes legacy integrations with SOA. For Himanshu Parikh, Oracle Magazine’s SOA Architect of the Year, the key benefits of SOA are scalability, reliability, and time to market. Parikh, director of enterprise architecture and compliance at Ross Stores, has more than 12 years of experience in retail functional and technical domains. Using his experience in retail IT, Parikh applied a service-oriented architecture (SOA) to drive the maturity of Ross’ retail systems. Before SOA, Ross found itself deploying more point-to-point integrations among its applications and systems. “The solution,” determined Parikh, “was a service-oriented-architecture approach to help modernize our legacy integration architecture and provide an application platform to help with future growth.” Ross has successfully deployed two SOA-based solutions. “We leveraged the entire Oracle SOA Suite, including Oracle BPEL Process Manager, Oracle Service Bus, Oracle Data Integrator, and more,” says Parikh. “Using those solutions, we have built what we call a set of composite application integration patterns.” “Oracle support of SOA architecture has been really great,” Parikh says. “Through SOA our systems’ scalability, reliability, and time to market have improved, since we’re not starting from step one all the time. We are able to reuse previously developed services and save time by adopting a design pattern–based approach and central governance for architecture.”
winnerSPECS Name: Himanshu Parikh Job title/description: Director of Enterprise Architecture and Compliance Company: Ross Stores Location: Pleasanton, California Award: SOA Architect of the Year 2008
ORACLE MAGAZINE
ND08_ECAwards_v2_R1aa.indd 43
N OV E M B E R / D E C E M B E R 2 0 0 8
43
10/14/08 1:00:37 PM
Job title/description: Software Consultant
2008
Company: iAdvise Location: Heist-op-den-Berg, Belgium Award: Oracle Fusion Middleware Developer of the Year 2008
NATHALIE
ROMAN
ORACLE FUSION MIDDLEWARE DEVELOPER OF THE YEAR
Developer finds that integration opens a new world for customers. For Nathalie Roman, Oracle Magazine’s Oracle Fusion Middleware Developer of the Year, integration is everything. “One technology solution that’s made a big difference to me and my customers is Oracle SOA Suite,” says Roman, who is head of the iAdvise Oracle Fusion Middleware Competence Team. “Now we can integrate everything, so we have a wide-open world to connect with. It’s great.” When governing SOA projects, Roman suggests that developers think about business processes and services instead of custom or siloed applications. “For a successful project, we create a team of motivated and skilled people from IT, as well as the business, to kick off a center of excellence,” says Roman. “Using this center of excellence, we create a proof of concept to show how service-oriented architecture can offer an enterprisewide solution using a standardized approach.” Although learning how to master new technologies can be overwhelming for some people, Roman, who is also an Oracle ACE director, says it’s not that hard—especially when you’re using solutions like Oracle SOA Suite and Oracle Business Process Analysis Suite. “You can start with the demos and tutorials, picking and choosing what solutions you want to use,” says Roman. “That’s one of the reasons that Oracle’s so great—all the tools are integrated.”
winnerSPECS Name: Bill Evjen Job title/description: Technical Architect Company: Lipper, a subsidiary of Thompson Reuters Location: St. Louis, Missouri Award: Enterprise Developer of the Year 2008
ND08_ECAwards_v2_R1a.indd 44
2008
BILL
TON HENDRIKS
Name: Nathalie Roman
EVJEN
ENTERPRISE DEVELOPER OF THE YEAR
Developer fights segmentation and brings Microsoft .NET and Oracle together. Sometimes two great things are better when put together. For Bill Evjen, Oracle Magazine’s Enterprise Developer of the Year, that’s especially true for database and development teams, or .NET and Oracle. “People make a tremendous mistake by segmenting database teams and development teams,” says Evjen, technical architect at Lipper, a subsidiary of Thompson Reuters that provides news, information, and analytical tools to the financial industry. “By doing that, productivity wanes and you’ll see solutions that aren’t exactly what you’re looking for. When you’re doing enterprise-level solutions, you need to have an integration of those two teams so that everyone can understand each other’s needs and goals.” Evjen spends a lot of time optimizing mission-critical development efforts that span .NET clients to enterprise Oracle databases. His goal is to create applications that provide the analysis customers need from the mountain of data that Lipper maintains. “Using .NET and Oracle together has worked excellently for us. We can move a tremendous amount of data quickly from our databases to our end clients,” he says. “We’ve found that Oracle Data Provider for .NET is the best data provider for making that link between .NET and the Oracle database—in terms of functionality, performance, and flexibility.”
CHRIS WILBORN
winnerSPECS
10/14/08 10:59:29 AM
winnerSPECS Name: Manoj Bohra Job title/description: Director, Business Intelligence and Development Company: Merrill Lynch
2008
Location: Jersey City, New Jersey
CATHERINE GIBBONS
Award: Enterprise Performance Management Architect of the Year 2008
winnerSPECS
MANOJ
BOHRA
ENTERPRISE PERFORMANCE MANAGEMENT ARCHITECT OF THE YEAR
Architect delivers the right information to the right people at the right time. Creating enterprise performance management solutions that can help companies achieve their business objectives requires finely tuned technologies. It also requires a solid understanding of business goals, according to Manoj Bohra, director of business intelligence and development at Merrill Lynch and Oracle Magazine’s Enterprise Performance Management Architect of the Year. “You need to figure out what the business objectives are, and then come up with a highlevel design that can be implemented using appropriate technologies,” he says. For Merrill Lynch, the appropriate technologies to help deliver the right information to the right users at the right time include Oracle Business Intelligence Suite, Enterprise Edition Plus; Oracle Essbase; Oracle Hyperion Data Relationship Management; Oracle Applications; and an Oracle data warehouse. “Our data warehouse is updated from our Oracle Applications, with a latency of only a few minutes,” says Bohra. “It’s a very aggressive data warehouse environment powered by highly aggregated Oracle Essbase reporting cubes.” The data can then be reported using Oracle Essbase and Oracle tools, leveraging back-end Oracle databases. “In the past, users were busy collecting information instead of analyzing it,” says Bohra. “Now, the information is available to them, so they have enough time for analysis. It’s a major shift.”
2008
HANNES
VAN ROOYEN
DATA WAREHOUSE ARCHITECT OF THE YEAR
Name: Hannes van Rooyen Job title/description: Chief Architect Company: LGR Telecommunications Location: Atlanta, Georgia
BILL ADLER
Award: Data Warehouse Architect of the Year 2008
Architect finds the business gold for customers using Oracle Database and Oracle data warehouse solutions. To Hannes van Rooyen, Oracle Magazine’s Data Warehouse Architect of the Year, an average business day involves helping his telecommunications customers to digest billions of call detail records (CDRs) that originate from their network equipment and to mine these mountains of data for veins of business gold. “Until recently, the primary challenge that prevented most operators from unlocking the intelligence within their CDRs was the sheer volume of data and the costs associated with managing this,” says van Rooyen, chief architect for LGR Telecommunications. Using Oracle Database and Oracle data warehousing, the company has developed a powerful CDR solution that is used by AT&T, Telstra, and Vodafone, among others, for extraction, transformation, analysis, and reporting of all the data coming from telecommunications equipment. “We chose to use Oracle for our data warehouses because we could get the scalability we needed, and Oracle provided us with the tools and support to get our job done,” says van Rooyen. The choice has helped LGR succeed. “When Oracle came out with partitioning, it just catapulted us into a different world,” van Rooyen says. “It’s bulletproof in the environments we’re running it in. Together with solutions such as Oracle Real Application Clusters, it allows us to provide a highly scalable and extremely powerful solution that is world-beating.”
ORACLE MAGAZINE
ND08_ECAwards_v2_R1a.indd 45
NOVEMBER/DECEMBER 20 08
45
10/14/08 11:20:17 AM
2008
DEBRA
LILLEY
USER GROUP EVANGELIST OF THE YEAR
Ask Debra Lilley, Oracle Magazine’s User Group Evangelist of the Year, what she thinks about the U.K. Oracle User Group (UKOUG). She’ll tell you. “It’s the best in the world,” says Lilley, a principal business consultant for Fujitsu Services and deputy chair of the UKOUG. “We serve the entire Oracle community, not just individual products or technology.” She’s also worked to enrich others. For example, she’s helped the International Oracle Users Group Community (IOUC) create initiatives that have brought together volunteers representing groups around the world to work together for the good of all the community. “While user groups should be independent, I also think they should support each other and share information whenever possible,” says Lilley. “And interacting with Oracle at this level means we get more of their collective time.” winnerSPECS Name: Debra Lilley Lilley is proud of her award, Job title/description: Principal and she specifically thanks Fujitsu Business Consultant for its support. Still, the real Company: Fujitsu Services benefit from her efforts comes Location: Belfast, Ireland from member feedback. Award: User Group Evangelist of “I love it when someone says the Year 2008 to me, ‘I heard you say this, and I went back and tried it,’ or, ‘It really helped us in what we were doing,’” says Lilley. “I get a big kick out of being able to help people make decisions and use their Oracle solutions better.” Lilley admits that one of the attributes that makes her a good evangelist is her tendency to be straight-talking. “I’m not afraid to give the independent comment even when controversial,” says Lilley, “but I’m also good at motivating other people to come together and do things in a coordinated fashion. Throughout the years, we’ve been able to encourage and motivate volunteers to take part in small and large initiatives that they can accomplish with others in the group.” Being so involved in the user group community takes up a substantial portion of Lilley’s time, but she feels that it’s time well-spent—what else is there to do in the evenings when she’s on the road with her ‘day job’? “Through UKOUG and the wider user group community, I have found a lot of like-minded people willing to help and support, and not just when related to Oracle,” says Lilley. “I have made many true friends.”
ND08_ECAwards_v2_R1a.indd 46
JOHN BLYTHE
Evangelist works to help members succeed and groups flourish.
10/14/08 10:38:33 AM
2008
JIM
MCKENNEY
CONTENT MANAGEMENT ARCHITECT OF THE YEAR
Architect counts on Oracle to help keep the content that’s valuable and pertinent.
winnerSPECS Name: Jim McKenney Job title/description: Senior Systems Analyst Company: City of Kent Location: Kent, Washington
REX RYSTEDT
Award: Content Management Architect of the Year 2008
For most organizations, content management comes down to putting systems in place to manage, index, and retrieve a wide variety of documents, files, and other content. But for Jim McKenney, Oracle Magazine’s Content Management Architect of the Year, the first step in creating a good content management solution is deciding what to throw away. “You actually don’t want to keep everything, because that’s a liability. It’s got risk. You want to keep information that’s valuable, pertinent, and has direct value to the end users,” says McKenney, senior systems analyst for the City of Kent, Washington. The city, which started processing 30,000 pages per month into five applications in 2001, is now processing up to 130,000 pages per month into more than 100 applications using Oracle Enterprise Content Management Suite. Since 2001, McKenney has helped transform a limited imaging implementation into a nationally recognized repository using records management principles. A key component of his success has been Oracle content management technologies and the stability of the solution. “It’s been reliable,” says McKenney. “We haven’t had any downtime in about three years. It’s been up 24/7, and it’s just been rock solid.”
2008
SANTAND KNIGHT
PHIL MARK
EMBEDDED ARCHITECTS OF THE YEAR Architects depend on Oracle Database for performance, scalability, and high availability.
winnerSPECS Names: Phil Sant and Mark Knight Job titles/descriptions: Chief Operating Officer (Sant) and Chief Architect (Knight) and cofounders of Omnifone Company: Omnifone Location: London, England
JOHN BLYTHE
Award: Embedded Architects of the Year 2008
Designing carrier-grade embedded systems is hard enough. But Omnifone, Europe’s leading direct-to-mobile unlimited music download service provider, must also deliver a superior user experience across a rapidly changing set of mobile devices while ensuring the system’s availability, scalability, and reliability. Phil Sant, Omnifone’s chief operating officer, and Mark Knight, chief architect, do just that. They are Oracle Magazine’s Embedded Architects of the Year. Omnifone’s MusicStation allows mobile network operators to provide a music download service and enables them to leverage their networks and billing relationships. Sant and Knight built MusicStation to provide the performance, scalability, and availability characteristics the network operators need to deliver service to millions of subscribers. For the MusicStation server, “We use an embedded Oracle Real Application Clusters 10g database to roll out rapidly scalable mobile music services with a multimillion-track catalog delivered instantly on an unlimited basis across virtually all mobile handsets,” says Knight. The company embeds the Oracle technology within MusicStation, which minimizes their customers’ cost of ownership by eliminating database administration and installation. “Oracle technologies are particularly well suited to our requirements,” says Knight, “because embedded systems must be totally reliable and not ever fail.”
ORACLE MAGAZINE
ND08_ECAwards_v2_R1a.indd 47
NOVEMBER/DECEMBER 20 08
47
10/14/08 11:22:20 AM
Name: Paul Citarella Job title/description: Director, Enterprise Architecture
2008
Company: Synapse Group Location: Stamford, Connecticut Award: Oracle Fusion Middleware Architect of the Year 2008
PAUL
CITARELLA
ORACLE FUSION MIDDLEWARE ARCHITECT OF THE YEAR
SOA infrastructure creates agile IT, architect finds. Business success requires IT systems that can support constant change. To Paul Citarella, director of enterprise architecture at Synapse Group and Oracle Magazine’s Oracle Fusion Middleware Architect of the Year, the best way to accommodate that constant change is to embrace service-oriented architecture (SOA) and the Oracle SOA Suite platform. “SOA was a natural fit for us, since our business model is fueled by continuous innovation and requires an IT landscape that is designed from the ground up for agility,” says Citarella, whose company is the largest marketer of magazine subscriptions in the United States. “We find specifically with loyalty marketing that offers tend to get stale quickly. The only way to compete is to innovate.” Synapse used Oracle SOA Suite to deploy the first phase of its SOA strategy, providing the core of the company’s SOA infrastructure, which included the service bus, the data services platform, and more. Phase two completed a customer self-service Web presence enabled by SOA. “Our SOA-based Web presence offers our customers another convenient channel for customer support while reducing the need for costly live agents,” says Citarella. “That’s a benefit for both our customers and Synapse.”
2008
DENES
CATHERINE GIBBONS
winnerSPECS
KUBICEK
ORACLE APPLICATION EXPRESS DEVELOPER OF THE YEAR
winnerSPECS Name: Denes Kubicek Job title/description: Consultant Location: Bensheim, Germany Award: Oracle Application Express Developer of the Year 2008
ND08_ECAwards_v2_R1a.indd 48
Denes Kubicek, Oracle Magazine’s Oracle Application Express Developer of the Year, doesn’t just love Oracle Application Express; he also loves the community that’s grown up around it. “The Oracle Application Express community is very special,” says Kubicek, an Oracle Application Express consultant who works for T-Systems, BASF, and others. “There are a lot of very nice and knowledgeable people who help motivate me to get involved and contribute.” Kubicek started a blog in 2007 (www.deneskubicek.blogspot.com), where he’s posted a popular demo application. He’s answered more than 3,000 Oracle Application Express questions in the Oracle Forum (forums.oracle.com/ forums/forum.jspa?forumID=137). He’s also created more than 200 examples of specific Oracle Application Express solutions, with full explanations and stepby-step guidelines, which are posted in the Oracle Forum as well. “Oracle Application Express gives you the capability to create powerful applications in a short time,” says Kubicek. “It doesn’t require a huge investment of time or money.” Kubicek doesn’t see any limitations to Oracle Application Express. “I haven’t seen a requirement for an application that couldn’t be done with Oracle Application Express,” he says. “It’s suitable for IT development as well as mission-critical applications.”
TON HENDRIKS
Developer finds a supportive community and powerful functionality in Oracle Application Express.
10/14/08 11:25:53 AM
A Winning CombinAtion Oracle’s customers and partners demonstrate innovation and leadership in many areas of technology, applications, and sustainability. In addition to Oracle Magazine’s Editors’ Choice Awards, Oracle sponsors awards programs honoring its customers and partners for their excellent work. THE TITAN AWARDS The Oracle PartnerNetwork honors partners for their excellence in developing and implementing innovative solutions based on Oracle technologies. In its fifth year, the Titan Awards acknowledge 14 partners across 17 categories for developed or delivered solutions and best practices. The categories and winners for 2008 are • Oracle E-Business Suite Solution: Deloitte Consulting • Edge Applications Solution: Hitachi Consulting • JD Edwards Solution: CSS International • Applications Momentum: Deloitte Consulting • PeopleSoft Solution: CherryRoad Technologies • Enterprise Performance Management Solution: InterRel Consulting • CRM Solution: Deloitte Consulting
The recipients of the 2008 Oracle Excellence Award are: Amway, Arrow Electronics, British Telecom (BT), Charles Schwab, Chick-fil-A, Eaton Steel, EMC Corporation, Florida A&M, KPN, MASCO Builder Cabinet Group, Pearson, Pfizer, PNC Financial Services Group, Rabobank Nederland, Regal Beloit, University of Louisville, West Virginia University, and Zebra Technologies.
ORACLE “EMPOWER THE GREEN ENTERPRISE” AWARDS This year for the first time, Oracle honors companies for their sustainability efforts with the Oracle Empower the Green Enterprise award. This award recognizes customers and their partners that use Oracle applications and technologies to support green business practices and sustainability initiatives that will reduce environmental impact and costs and improve business efficiencies. Recipients of the 2008 Oracle Empower the Green Enterprise award include: Alcoa, Australian Vintage Limited, BT Group, Dell Inc., Embry Riddle Aeronautical University, Fiji Water, Ingersoll-Rand, InterCall, Interface, Motorola, National Ignition Facility & Photon Service, Novartis International AG, Pacific Gas & Electric, Standard Parking, Sun Microsystems, and Supervalu. Partners that worked with these customers and also received an Oracle Empower the Green Enterprise award include: Conservation International, CSS International, Deloitte, ESS, HCL Technologies, and Wipro Technologies.
• Midsize Business Applications Solution: Systime • Industry Solution: Deloitte Consulting • Financial Services Industry Solution: SmartDog Services • Manufacturing Industry Solution: Terillium • Business Intelligence Solution: Piocon Technologies • Technology Momentum: Accenture • Grid and Oracle RAC Solution: TUSC • Integration and SOA Solution: CedarCrestone • Identity Management Solution: Entology • Content Management Solution: LS Technologies
ORACLE EXCELLENCE AWARDS The Oracle Excellence Awards honor customers and partners who use Oracle Fusion Middleware with Oracle Applications such as Oracle E-Business Suite; Oracle’s PeopleSoft, Siebel, and JD Edwards; and vertical industry applications to build creative, innovative, and standards-based technology solutions. Now in its second year, the award is cosponsored by Oracle, the Oracle Applications Users Group, Quest International Users Group, Australian Oracle User Group, U.K. Oracle User Group, Independent Oracle Users Group, and Oracle Development Tools User Group.
oracle magazine
ND08_ECAwards_v2.indd 49
november/december 20 08
49
10/8/08 4:10:54 PM
d e v e l o p e r frameworks
By Steve Muench
Developing a Regional Accent Use task flows as regions to improve UI reuse. y last column (“Task and You Shall Receive,” in the September/October 2008 issue) examined the basics of the new task flow feature in Oracle JDeveloper and Oracle Application Development Framework (Oracle ADF) 11g, which lets you assemble complex UIs from simpler units. I discussed two basic types of task flows: bounded, when the task flow behaves like an encapsulated function call, and unbounded, when users can start at any page in the flow. Each view activity I demonstrated last time corresponded to a distinct JavaServer Faces (JSF) page, resulting in a more powerful, declarative way to sequence pages and application logic. In this column, I’ll show you how to create reusable UI components called regions. Think of regions as components with view activities that represent only a fragment of a JSF page and whose visual contents and runtime behavior are determined by a bounded task flow. Then I’ll show how easy it is to reuse a region, embedding it in the contents of another page. By the end, you’ll appreciate how this capability enables you to create reusable UI components using the full declarative functionality of task flows. To begin, download the starter workspace at otn.oracle.com/oramag/ oracle/08-nov/o68frame.zip and ensure that you’re using the Oracle JDeveloper 11.1.1.0 (production) release, available as a free download on Oracle Technology Network (OTN) at otn .oracle.com/products/jdev/11. Start by extracting the contents of the o68frame.zip file and opening the FrameworksNovDec2008.jws workspace in Oracle JDeveloper. The Model project in the workspace defines an Emp entity object, an EmpView view object, and an HRModule application
50
nOveMBeR/DeceMBeR 20 08
ND08_FRAMEWORKS.indd 50
module with a view instance named Employees. The ViewController project contains a BrowseEmployees.jspx page whose af:panelStretchLayout component contains an af:table in its left facet, showing employee numbers and names. Before proceeding, adjust the properties of the connection named scott in the Application Resources zone of the Oracle JDeveloper Application Navigator until you can successfully test a connection to a SCOTT schema. If you need to create the tables, use the provided CreateDeptEmpTables.sql script. The steps in this column will enable you to create a Show Employee Details region and drop it into the center facet of this page to reuse it. The final application will allow you to select an employee from the table and display the corresponding details for that employee in the new task flow region. Creating a Bounded task Flow oF Page Fragments
In the last column, we configured a few task flows that already existed in the starter project, so this time let’s walk step by step through creating a new task flow, adding view and method activities, configuring input parameters, and marking a default activity. Although the example is intentionally simple, it will nonetheless familiarize you with all the key concepts you need to know to create your own reusable regions. Task flows that are destined to be reused as embeddable regions must be bounded and must comprise JSF page fragments, because at runtime their contents become a part of the page (or other fragment) that contains them. So let’s start by creating a new bounded task flow. With the sample workspace, FrameworksNovDec2008.jws, open in the Application Navigator, right-click
the ViewController project and choose New.... In the New Gallery dialog box that appears, select Web Tier -> JSF and then double-click ADF Task Flow. When the Create Task Flow dialog box appears, enter show-emp-details.xml as the filename, leaving the default settings for the other fields. Note that the check boxes for Create as Bounded Task Flow and Create with Page Fragments are checked by default. These are the precise options required to create a region. Click OK to create the new task flow. Oracle JDeveloper opens the visual editor for this new task flow and displays the Diagram view. Next, we’ll add the components of our region by dragging them onto the diagram. Drag a view activity from the Component palette and drop it onto the design surface. When the view activity shape appears, type directly on the diagram to change its name from view1 to ShowEmployee. Double-click the ShowEmployee view activity to create its JSF page fragment. When the Create New JSF Page Fragment dialog box appears, accept the default settings and click OK to continue. The visual editor will open for the ShowEmployee .jsff page fragment, showing an empty canvas. Expand the Data Controls section of the Application Navigator as well as HRModuleDataControl, and drag the Employees data collection onto the page. When the Create context menu appears, select Forms -> ADF Read-only Form.... When the Edit Form Fields dialog box appears, click OK to create the form with all of the items. Next, we’ll enhance the task flow to accept a parameter named Empno and then to look up the employee row to display, based on the value of that Empno parameter. Select the show-emp-details .xml tab to activate the task flow design
oracle.com/oraclemagazine
10/6/08 2:46:18 PM
surface again. With the Property Inspector displayed, click somewhere on the task flow design surface. In the Property Inspector, expand the Parameters section and click the green plus-sign icon to add a new parameter. (You may need to widen the Property Inspector to see the button.) Set the name field to Empno, set the class field to java.lang.Integer, set the value field to #{pageFlowScope.Empno}, and finally check the required check box. The expression language (EL) expression in the value field configures the task flow to store the value of the incoming Empno parameter in the pageFlowScope attribute named Empno, so you can reference its value in any activities inside the task flow. PeRFoRming An oPeRAtion BeFoRe the PAge RendeRs
We want the completed application to find the employee row to display in the form before the ShowEmployee page fragment renders. To do that, we’ll add a method call activity that precedes the ShowEmployee view activity, with a built-in operation that uses the value of the Empno parameter we just created to look up the employee row. To do this, drag and drop a Method Call activity from the Component palette onto the task flow surface and place it to the left of the ShowEmployee view activity. Type on the diagram icon to change its name from methodCall1 to findEmployeeByEmpno. In the Data Controls palette, expand the Employees data collection and its nested Operations folder to find the setCurrentRowWithKeyValue operation. Drag and drop this built-in operation onto the findEmployeeByEmpno method activity icon in the diagram. To configure the parameter value that will be passed to the default operation, right-click the new method call activity, findEmployeeByEmpno, and select Edit Binding.... In the Parameters table at the bottom of the Edit Action Binding dialog box, you’ll see the rowKey parameter entry. In the Value column for this parameter, enter the EL expression #{pageFlowScope.Empno} to use the value of the task flow parameter as the value of the primary key for the employee row to display and click OK.
Figure 1: show-emp-details task flow
Next we’ll connect the method activity to the view activity so that after executing its logic to find the desired employee row, it will forward control to render the page fragment. Click the Control Flow Case tool in the Component palette. This enables you to use your mouse as a tool to connect one item to another with two consecutive mouse clicks. Immediately click the new method activity first and then the ShowEmployee view activity. The default control flow case name will be setCurrentRowWithKeyValue. Press Enter to accept the default name. Continue by again selecting the findEmployeeByEmpno activity and note that its fixed-outcome property is set to setCurrentRowWithKeyValue. The fixed-outcome property specifies the name of the navigation case to follow after the method activity completes. Finally, note that the ShowEmployee view activity has a “halo” of color that surrounds its icon. This identifies it as the default activity in the task flow. Because we want the findEmployeeByEmpno method call activity to execute before the page fragment displays, we need to mark it as the default activity instead. To do this, right-click findEmployeeByEmpno and choose Mark Activity -> Default Activity. The color halo changes accordingly. After you save all your changes, your task flow should look like Figure 1. At this point, it’s useful to step through our application logic as a review of what we’ve done. As the task flow diagram indicates, when the task flow starts, it finds an employee by Empno and then forwards control to
render the ShowEmployee page fragment. This is a simple example, and thus we were able to accomplish the page setup logic by using a built-in operation without writing any code, but keep in mind for your own future task flows that a method call activity can invoke a backing bean method if needed for more-complex custom setup processing. In fact, in Oracle ADF 11g, this more flexible, visual method call activity effectively replaces the often misunderstood, often misused invokeAction executable technique for doing page setup logic. Adding the tAsk Flow As A Region
Let’s see how easy it is to reuse our task flow as a region in a page. In the ViewController project, expand the Web Content folder to expose the BrowseEmployees.jspx page. Doubleclick it to open it in the visual editor. Also in the ViewController project, expand the Page Flows subfolder inside the Web Content folder. Drag the show-emp-details task flow that appears there, and drop it into the center facet of the panelStretchLayout component that is already on the page. When the Create context menu appears, select Region. When Edit Task Flow Binding appears, enter the EL expression #{bindings.Employees.Empno} in the Value column for the Empno input parameter and click OK. This expression represents the value of the Empno attribute in the current row of the Employees table binding. Run the page to see the result of including the region. To do this, right-
oracle magazine
ND08_FRAMEWORKS.indd 51
NOVEMBER/DECEMBER 20 08
51
10/6/08 2:47:36 PM
frameworks
click the BrowseEmployees.jspx page in the Application Navigator and click Run. When your browser appears, you’ll see the table of employee numbers and names at the left of the page, with the contents of the reusable show-emp-details region displaying the full details of the first employee to the right of the table. However, if you select a different row in the table, you’ll notice that the region does not update. To enable the update, we need to configure the task flow binding so that the region will refresh whenever the values of its input parameters change. To accomplish this, right-click in the page and choose Go to Page Definition. In the Structure window, expand the executables folder and select the task flow binding named showempdetails1. In the Common section of the Property Inspector, set the Refresh property to the value ifNeeded. That’s all that’s necessary to have the region “restart” when the values of its input parameters change. In this case, when a user clicks a dif-
ferent row in the table, the region will update to display the Empno value of the new row. To see it in action, rerun the BrowseEmployees.jspx page, and, when your browser launches, click any row in the table. Because the task flow’s input parameter is bound to the Empno attribute in the current row of the table, the region refreshes to show that row. I’ve shown you only the simplestpossible region example in this column, but the bounded task flows you reuse as regions can utilize the full power of the Oracle Application Development Framework task flow feature. This means that they can include any combination of task flow activities, including multiple view activities whose “current” page fragment specifies the contents of the region at runtime. This allows great flexibility in creating reusable UI components, simple or complex. You can package them into libraries, which you or another developer on your project team can then drop onto pages wherever necessary. ■
Steve Muench is a consulting product manager for Oracle JDeveloper and an Oracle ACE. Since 1990 he has developed and supported Oracle tools and XML technologies and continues to evangelize them. Muench coauthored the Oracle ADF Developer’s Guide for Forms/4GL Developers (Oracle, 2006), wrote Building Oracle XML Applications (O’Reilly Media, 2000), and shares tips and tricks on OTN (otn.oracle.com) and in his “Dive into ADF” blog (radio.weblogs.com/0118231).
nextsTePs reaD more frameworks otn.oracle.com/oramag/oracle/frameworks
reaD more about oracle JDeveloper and oracle aDf otn.oracle.com/products/jdev otn.oracle.com/products/jdev/tips/muench/ designpatterns
Oracle ADF Developer’s Guide oracle.com/technology/documentation/jdev.html
DowNLoaD oracle JDeveloper 11g otn.oracle.com/products/jdev/11
starter workspace for this column otn.oracle.com/oramag/oracle/08-nov/o68frame.zip
United States Postal Service Statement of Ownership, Management, and Circulation. Oracle Magazine, ISSN 1065-3171, is published bimonthly (six issues each year) with a free subscription price by Oracle Corporation. The office of publication and the general business office are located at 500 Oracle Parkway, Redwood City, CA 94065. The publisher is Jeffrey Spicer; the Editor is Thomas Haunert; the Managing Editor is Caroline Kvitka; and the owner is Oracle Corporation, all at the above address. Known stockholders owning or holding 1 percent or more of the total amount of stock is Lawrence J. Ellison at the above address. There are no known Bondholders, Mortgagees, or Other Security Holders Owning or Holding 1 Percent or More of Total Amount of Bonds, Mortgages, or Other Securities. The Issue Date for the following data is September/ October 2008. Average No. Copies Each Issue During Preceding 12 months: Total Number of Copies (Net press run): 388,767; Paid/ Requested Outside-County Mail Subscriptions stated on Form 3541: 158,691; Sales Through Dealers and Carriers, Street Vendors, Counter Sales, and Other Non-USPS Paid Distribution: 172,355; Total Paid and/or Requested Circulation: 331,046; Free Distribution by Mail: 4,659; Free Distribution Outside the Mail: 53,062; Total Free Distribution: 57,721; Total Distribution: 388,767; Copies Not Distributed: 0; Total: 388,767; Percent Paid and/or Requested Circulation: 85.2%. No. Copies of Single Issue Published Nearest to Filing Date: Total Number of Copies (Net press run): 345,756; Paid/Requested Outside-County Mail Subscriptions Stated on Form 3541: 136,359; Sales Through Dealers and Carriers, Street Vendors, Counter Sales, and Other Non-USPS Paid Distribution: 159,884; Total paid and/or Requested Circulation: 296,243; Free Distribution by Mail: 4,441; Free Distribution Outside the Mail: 45,072; Total Free Distribution: 49,513; Total Distribution: 345,756; Copies not Distributed: 0; Total: 345,756; Percent Paid and/or Requested Circulation: 85.7%. This Statement of Ownership, Management, and Circulation was filed September 30, 2008 by Karin Kinnear, Senior Circulation Manager.
52
NOVEMBER/DECEMBER 20 08
ND08_FRAMEWORKS_R1.indd 52
Disaster Victims Need Your Help. You can help the victims of thousands of disasters across the country each year by making a financial gift to the American Red Cross Disaster Relief Fund. This Fund enables the Red Cross to provide shelter, food, counseling and other assistance to victims of disasters. The American Red Cross honors donor intent. If you wish to designate your donation to a specific disaster please do so at the time of your donation. To make a contribution, contact the American Red Cross today. Call 1-800-RED CROSS or visit redcross.org.
oracle.com/oraclemagazine
10/14/08 11:50:24 AM
d e v e l o p e r PL/SQL PracticeS
BY steven feuerstei n
On Cursor FOR Loops It’s important to know when not to use cursor FOR loops. y mentor told me that when querying data I should always use a cursor FOR loop, even for a single row lookup. He says it’s the easiest way to fetch data, and Oracle Database automatically optimizes it in Oracle Database 10g and above. Do you recommend this practice?
You may want to find a new mentor. It’s great to learn from others, and it’s especially wonderful when the lesson you learn is simple and easy to remember. It’s not so great, however, when the advice is simplistic and results in suboptimal code. That’s the case with this cursor FOR loop recommendation. I have a different set of recommendations about cursor FOR loops, which I learned from one of my mentors in the PL/SQL world, Bryn Llewellyn, Oracle’s PL/SQL product manager. ■ Never use a cursor FOR loop when you’re writing new code for normal production deployment in a multiuser application. ■ If you expect to retrieve just one row, use an implicit SELECT INTO query (which I further recommend that you place inside its own retrieval function). ■ If you expect to retrieve multiple rows of data and you know the upper limit (as in, “I will never get more than 100 rows in this query”), use BULK COLLECT into a collection of type varray whose upper limit matches what you know about the query. ■ If you expect to retrieve multiple rows of data and you do not know the upper limit, use BULK COLLECT with a FETCH statement that relies on a LIMIT clause to ensure that you do not consume too much per-session memory. ■ If your existing code contains a cursor FOR loop, you should perform a costbenefit analysis on converting that code, based on these recommendations. Let’s take a closer look at these five
codeLiStiNG 1:
Encapsulating SELECT INTO in a function
PACKAGE employees_qp IS FUNCTION last_name (id_in IN employees.employee_id%TYPE) RETURN employees.last_name%TYPE; END employees_qp; PROCEDURE process_employee (id_in IN employees.employee_id%TYPE) IS l_last_name employees.last_name%TYPE; BEGIN l_last_name := employees_qp.last_name (id_in); END process_employee;
cursor FOR loop recommendations. Never use a cursor FOR loop when writing new code. This advice may come as
something of a shock to you. Using the cursor FOR loop construct is a declarative way of asking Oracle Database to fetch each of the rows specified by your cursor and then execute the loop body for that row. You don’t have to explicitly open the cursor, code the fetch, check to see if the cursor is exhausted, or close the cursor. That’s very nice. The problem with using a cursor FOR loop is that either it isn’t the appropriate construct for querying data (as is the case for a single-row fetch) or it isn’t the most efficient approach (BULK COLLECT offers a faster way of querying data). Having said that, I can identify two circumstances in which using a cursor FOR loop would do little harm. First, if you expect to retrieve a relatively small number of rows (in the hundreds at most), a cursor FOR loop’s performance in Oracle Database 10g and above will likely meet your requirements. Oracle Database automatically optimizes cursor FOR loops to execute similarly to BULK COLLECT, so you get most of the advantages of that approach. Next, if you’re writing a “one-off” script, or a program that is run only occasionally and is not in the critical path of operations, you may want to
choose the simplicity and readability of the cursor FOR loop over the incremental improvement in performance (and additional complexity of code) that BULK COLLECT offers. Use an implicit SELECT INTO for single-row fetches. Developers often tell me that
they write a cursor FOR loop to fetch a single row. Why not? Oracle Database does so much of the work for you, saving several lines of code and several minutes of typing. But there’s a problem with using a cursor FOR loop for a single-row fetch: the resulting code is very misleading. It looks like you expect to retrieve multiple rows, yet you get just one. Will this cause a problem? Maybe not. However, from a best practices standpoint, writing code that is transparent in purpose and easy to read and understand is most important. You should not write code that appears to do one thing while it, in fact, does another. If you need to retrieve a single row and you know that at most one row should be retrieved, you should use a SELECT INTO statement, as in the following: PROCEDURE process_employee ( id_in IN employees.employee_id%TYPE) IS l_last_name employees.last_name%TYPE; BEGIN
oracle magazine
ND08_PLSQL.indd 53
novemBer/decemBer 20 08
53
10/6/08 4:34:04 PM
pl/sql practices
codelistiNG 2:
SELECT e.last_name INTO l_last_name FROM employees e WHERE e.employee_id = process_employee.id_in; ... END process_employee;
DECLARE TYPE at_most_twelve_t IS VARRAY (12) OF VARCHAR2 (100);
The implicit SELECT INTO offers the most-efficient means of returning that single row of information to your PL/SQL program. In addition, the use of SELECT INTO states very clearly that you expect at most one row, and the statement will raise exceptions (NO_ DATA_FOUND or TOO_MANY_ROWS) if your expectations are not met. I further recommend that you encapsulate your SELECT INTO statements into their own functions whose sole purpose is to retrieve this one row of information, as shown in Listing 1. With this approach, you are much more likely to reuse that SELECT INTO rather than write it repeatedly in your code. This reuse is important, because it will make optimizing the SQL statements in your application much easier. In particular, you will be able to take advantage of Oracle Database 11g’s function result cache feature more quickly and smoothly. BULK COLLECT into a varray when you know the upper limit. A varray is a collection
that has an upper limit on the number of elements that can be defined in the collection. This upper limit is specified when the varray type is declared; it can also be modified afterward, if you are using Oracle Database 10g Release 2 or higher. Listing 2 shows how to define a varray type and declare a variable based on this type. If you try to add a 13th month to this list, Oracle Database will raise an exception: BEGIN l_months.extend; l_months(13) := ‘Extra-ember’; END; ORA-06532: Subscript outside of limit
Varrays offer a very nice mechanism when you need to retrieve multiple rows of data efficiently and the number of
54
november/december 20 08
ND08_PLSQL.indd 54
Defining a varray type and declaring a variable
l_months at_most_twelve_t := at_most_twelve_t (‘January’ , ‘February’ , ‘March’ , ‘April’ , ‘May’ , ‘June’ , ‘July’ , ‘August’ , ‘September’ , ‘October’ , ‘November’ , ‘December’ );
codelistiNG 3:
Using a varray to ensure a limited number of rows
DROP TABLE training_months / CREATE TABLE training_months (month_name VARCHAR2(100)) / BEGIN /* No trainings in the depths of summer and winter... */ INSERT INTO training_months VALUES (‘March’); INSERT INTO training_months VALUES (‘April’); INSERT INTO training_months VALUES (‘May’); INSERT INTO training_months VALUES (‘June’); INSERT INTO training_months VALUES (‘September’); INSERT INTO training_months VALUES (‘October’); INSERT INTO training_months VALUES (‘November’); COMMIT; END; / DECLARE TYPE at_most_twelve_t IS VARRAY (12) OF VARCHAR2 (100); l_months at_most_twelve_t; BEGIN SELECT month_name BULK COLLECT INTO l_months FROM training_months; FOR indx IN 1 .. l_months.COUNT LOOP DBMS_OUTPUT.put_line (l_months (indx)); END LOOP; END; /
rows should never exceed a certain limit. Suppose, for example, that I have a table (training_months) of the months in a year in which I am available to provide training on the PL/SQL language. There cannot be more than 12 rows in this table, but there may certainly be fewer. I need to retrieve these months into a collection and then display each month. I can use a varray to ensure that the abso-
lute limit of 12 is respected, as shown in Listing 3. If, for some reason, more than 12 rows are found in the table, Oracle Database will raise an exception. However, there’s one concern with this varray approach: what if you know the maximum number of elements that can appear in the varray and that maximum is 1,000,000? This technique will “work,” but the program will
oracle.com/oraclemagazine
10/6/08 4:34:40 PM
consume a dangerously large amount of per-session memory. In this case, you should forsake the varray. Instead, switch to an associative array or nested table and use the LIMIT clause with BULK COLLECT (as described in the next section). By the way, if you are writing backend code that serves up data to a stateless user interface, as is often the case with browser-based applications, you would never retrieve so many rows at once. Instead, consider a “next page” paradigm, in which the page has a preset maximum number of rows and the query that retrieves the next set of rows includes a WHERE clause that specifies that range of rows. BULK COLLECT with LIMIT when you don’t know the upper limit. BULK COLLECT
helps retrieve multiple rows of data quickly. Rather than retrieve one row of data at a time into a record or a set of individual variables, BULK COLLECT lets us retrieve hundreds, thousands, even tens of thousands of rows with a single context switch to the SQL engine and deposit all that data into a collection. The resulting performance improvement can be an order of magnitude or greater. However, in such a case, that boost in performance results in an increase in the amount of per-session memory consumed by the collection populated by the query. In addition, each session connected to Oracle Database has its own per-session memory area. Therefore, a BULK COLLECT that fetches numerous rows can seriously affect memory management on your database server. So for scenarios in which you need to fetch multiple rows of data and the number of rows fetched can be large or grow over time after your program is put into production, you should use BULK COLLECT with the LIMIT clause. Listing 4 shows the use of the LIMIT clause. The limit value can be a variable; in this case, I provide a default value of 100 (retrieve up to 100 rows with each fetch). As for the appropriate limit value, you will theoretically use the largest number that can be accommodated within the per-session memory your DBA feels can be allocated per connection.
codeLISTING 4:
Using the LIMIT clause
PROCEDURE bulk_with_limit ( dept_id_in IN employees.department_id%TYPE , limit_in IN PLS_INTEGER DEFAULT 100 ) IS CURSOR employees_cur IS SELECT * FROM employees WHERE department_id = dept_id_in; TYPE employee_tt IS TABLE OF employees_cur%ROWTYPE INDEX BY PLS_INTEGER; l_employees employee_tt; BEGIN OPEN employees_cur; LOOP FETCH employees_cur BULK COLLECT INTO l_employees LIMIT limit_in; FOR indx IN 1 .. l_employees.COUNT LOOP process_each_employees (l_employees (indx)); END LOOP; EXIT WHEN employees_cur%NOTFOUND; END LOOP; CLOSE employees_cur; END bulk_with_limit;
In practice, I haven’t seen significant differences between limits of 100, 500, or even 1,000. However, I have heard that for retrieval of very large data sets, developers have obtained optimal performance with limits as high as 25,000. Experiment with your own data sets and various limit values, and see if the performance varies. Convert existing cursor FOR loops only when necessary. To finish this answer,
let’s consider the question of what you should do about all those existing cursor FOR loops in your applications. Oracle Database does automatically optimize the performance of cursor FOR loops. They do not generally execute as efficiently as explicitly coded BULK COLLECT statements, but they are much more performant than single-row fetches. Consequently, I suggest that you convert cursor FOR loops to BULK COLLECT retrievals only if you identify a performance bottleneck in that part of your code. Otherwise, leave the cursor FOR loop in place. That’s it for my recommendations. But an unattributed programmers’ axiom has it that rules exist to serve, not to enslave.
And a variation on this theme adds a paradox: all rules were meant to be broken—including these. This concept is expressed more usefully as the first [meta]principle of PL/SQL best practice: Do not deviate from any of the principles without first discussing with a more experienced programmer the use case that seems to warrant such a deviation. ■ Steven Feuerstein (
[email protected]) is Quest Software’s PL/SQL evangelist. He has published 10 books on Oracle’s programming language, including Oracle PL/SQL Programming and Oracle PL/SQL Best Practices (O’Reilly Media). Feuerstein’s self-appointed mission in life these days is to improve the quality and quantity of PL/SQL code testing.
nextSTEPS READ more Best Practice PL/SQL
otn.oracle.com/oramag/oracle/plsql otn.oracle.com/pub/columns/plsql
DOWNLOAD Oracle Database 11g otn.oracle.com/software/products/database
DISCUSS PL/SQL forums.oracle.com/forums/forum.jspa?forumiD=75
oracle magazine
ND08_PLSQL.indd 55
november/december 20 08
55
10/6/08 4:35:01 PM
d e v e l o p e r ODP.NET
BY m a r k a . Wi lli ams
Instant ODP.NET Deployment Deploy ODP.NET applications instantly with Oracle Data Access Components. eploying applications can sometimes be a challenging process, involving large, complex installations. Oracle Data Access Components 11g with Xcopy deployment, however, enables Oracle Data Provider for .NET (ODP .NET) developers deploying their applications to take advantage of key features that reduce client installation size, complexity, and maintenance. Oracle Data Access Components 11g with Xcopy deployment includes the lightweight Oracle Database Instant Client, which is less than one-third the size of a full client installation. In addition, Oracle Database Instant Client enables developers to install their client software (including ODP.NET) without Windows Registry or Oracle Home settings on the client machine. (Note that although this column focuses on ODP .NET, Oracle Database Instant Client also supports SQL*Plus, JDBC-OCI [Oracle Call Interface], ODBC, Oracle Providers for ASP.NET, Oracle Provider for OLE DB, Oracle Objects for OLE, and Oracle Services for Microsoft Transaction Server.) You can maintain or upgrade Oracle Database Instant Client installations by simply overlaying a new version over an existing one, and best of all, Oracle Database Instant Client is a free component. This means that you can develop and distribute your ODP.NET applications at no cost. This column walks you through the steps necessary to install Oracle Data Access Components 11g with Xcopy deployment (which includes Oracle Database Instant Client and ODP.NET) on a developer machine, build a simple console-based ODP.NET application using Microsoft Visual C# 2008 Express Edition that connects to
56
novemBer/decemBer 20 08
ND08_ODPNET.indd 56
Oracle Database, and then distribute the client and application to a target (client) computer. What You Need to Get Started
Every environment is different, and you can make adjustments to the steps presented here, as necessary, to fit your environment. However, to best take advantage of these steps, you should have access to the following: ■ Oracle Data Access Components 11g with Xcopy deployment. ■ Oracle Database (Oracle9i Database Release 2 or higher; any edition, including Oracle Database 10g Express Edition). ■ Microsoft Visual C# 2008 Express Edition (or any full version of Microsoft Visual Studio). ■ A separate development machine, deployment target machine, and database server. This column uses three machines, but you can follow the steps with a single machine. Here is some important information about each of the three machines in my environment: ■ liverpool: Oracle Database 10g Express Edition running Oracle Enterprise Linux. The HR sample schema will be used in this database in the sample application. No installation activity will take place directly on this machine. ■ chesham: The developer machine running Microsoft Windows XP. This machine has Visual Studio C# 2008 Express Edition installed. There are no Oracle components on this machine at the beginning of the process. ■ chepstow: The deployment target machine running Windows XP. This machine has the .NET Framework 3.5 installed. There are no Oracle components installed on this machine at the beginning of the process. To download and install Oracle Data
Access Components 11.1.0.6.21 with Xcopy deployment: 1. Download the ODAC1110621Xcopy .zip file from Oracle Technology Network (see nextSTEPS for the specific location) to the C:\Temp directory on the developer machine (chesham in my case). Create this directory if necessary. 2. Extract the zip file to the C:\Temp directory, using the correct means on your machine. 3. To install Oracle Data Access Components on the developer machine, execute the install.bat batch file. Click the Start button, select Run…, type cmd in the Run dialog box, and click OK. This opens a new command prompt window. 4. In the command prompt window, type cd /d C:\Temp and press Enter to change directories to the C:\Temp directory. 5. Type install.bat odp.net20 c:\ oracle\11.1\odac odac11 and press Enter to install Oracle Data Access Components. This will install the ODP.NET 2.0 and Oracle Database Instant Client components into the c:\ oracle\11.1\odac directory and create a registry key called KEY_odac11. For full details of the options available with install.bat, see the readme.txt file in the C:\Temp directory. 6. Type exit and press Enter to exit the command prompt window. 7. Now you can remove the downloaded and extracted files from the C:\Temp directory if you choose. 8. The last step in installing Oracle Data Access Components and Oracle Database Instant Client on the developer machine is to add two items to the Path environment variable. Rightclick the My Computer icon and select Properties from the context menu. Next, click the Advanced tab in the System Properties dialog box and then
oracle.com/oraclemagazine
10/7/08 4:27:16 PM
codeLISTING 1:
dialog box, enter NovDec2008 for Name, and click OK. 2. Once Visual Studio has finished creating the initial solution, right-click the References node in the Solution Explorer and select Add Reference from the context menu. In the Add Reference dialog box, scroll down the list and select Oracle.DataAccess in the Component column. Click OK to add the reference to the ODP.NET assembly to the solution. Right-click Oracle.DataAccess in the References list; select Properties; and in the Properties list, be sure Copy Local is set to True. 3. Replace all the code in the Program.cs source file with that in Listing 1. (For details on the Easy Connect [EZCONNECT] naming method used in this code, see the Oracle Database Net Services Administrator’s Guide.) 4. Select File -> Save All from the main menu and leave NovDec2008 for Name. Select an appropriate location, such as C:\NovDec2008, or accept the default. Uncheck the Create directory for solution check box and click Save to save the solution. 5. Build the application, by selecting Build -> Build Solution from the main menu. 6. Test the application, by selecting Debug -> Start Debugging from the main menu. If there are no errors, you should see output similar to the following in the command window:
Program.cs code for NovDec2008 solution
using System; using Oracle.DataAccess.Client; namespace NovDec2008 { class Program { static void Main(string[] args) { // create connection string using EZCONNECT format // this format specifies the server and the Oracle // service name as the datasource // using the format: server/oracle service name // no tnsnames.ora or sqlnet.ora file is needed string constr = “User Id=hr; “ + “Password=hr; “ + “Data Source=liverpool/xe”; // create connection object OracleConnection con = new OracleConnection(constr); // use “try” block to open connection // if an error occurs, simply display the message // since there is a “catch” block a “using” statement is not used try { // attempt to open the connection con.Open(); // if no exception was thrown this line will execute // display simple success message Console.WriteLine(“Successfully connected to Oracle!\n”); // display the connection string (without password) Console.WriteLine(“Connection String: “ + con.ConnectionString); } catch (OracleException ex) { // an OracleException was thrown // simply display the message Console.WriteLine(ex.Message); } finally { // clean up the connection object con.Dispose(); } // prevent the console from closing when running in VS environment Console.WriteLine(); Console.Write(“ENTER to continue...”); Console.ReadLine(); } }
Successfully connected to Oracle!
}
click the Environment Variables button. In the System variables group, locate the Path variable in the list (scroll down if necessary). Click the Path variable in the list and then click Edit. In the Edit System Variable dialog box, place the cursor at the beginning of the entries and type C:\oracle\11.1\ odac;C:\oracle\11.1\odac\bin;. Click OK to close the Edit System Variable dialog box, click OK to close the Environment Variables dialog box, and finally click OK again to close the System Properties dialog box.
You can use the NLS_LANG environment variable to localize language settings. Refer to the Oracle Database Globalization Support Guide for additional information. Create the Visual studio solution and Build the appliCation
To create the Visual Studio solution, do the following: 1. Start Visual C# 2008 Express Edition, select File -> New Project from the main menu, select Console Application from the New Project
Connection String: User Id=hr; Data Source=liverpool/xe ENTER to continue...
7. Now that you have built the solution, exit Visual Studio by selecting File -> Exit from the main menu. deploy oraCle dataBase instant Client and appliCation
In this section, you will see firsthand why “Xcopy” is part of the Oracle Data Access Components distribution filename. You use the xcopy command to
oracle magazine
ND08_ODPNET.indd 57
november/december 20 08
57
10/7/08 4:27:43 PM
ODP.NET
copy both the Oracle client files and the application files to the deployment target. (Note that you will need appropriate permissions on the deployment target machine. If you have any questions about permissions or need to make adjustments to the process, contact your local system administrator.) To complete the deployment of Oracle Database Instant Client and the application you just created to the target machine, do the following: 1. On the developer machine (chesham in my case), open a command prompt window by first clicking Start -> Run, then typing cmd in the Run dialog box, and clicking OK. 2. Now execute the net use command to map the administrative share of the C drive on the deployment target machine to the developer machine. In the command prompt window, type the following command (making any necessary adjustments for your environment): C:\>net use \\chepstow\c$ The password or user name is invalid for \\chepstow\c$. Enter the user name for ‘chepstow’: oracle Enter the password for chepstow: The command completed successfully.
Note that you may be prompted for credential information if the credentials you used to log in to the developer machine are not valid on the deployment target machine. (In this example, my credentials were not valid on the deployment target machine.) 3. Now deploy the Oracle installation to the deployment target machine: xcopy /e /f c:\oracle \\chepstow\ c$\oracle\
The files will be listed as they are copied. 4. Next, deploy the application files to the deployment target machine. Be sure to use the path you specified when saving the solution (such as C:\NovDec2008), and if the path contains spaces, use double quotes around the pathname. I used the following command:
58
november/december 20 08
ND08_ODPNET.indd 58
xcopy /e /f C:\NovDec2008\bin\Release \\ chepstow\c$\temp\NovDec2008\
5. As you did on the developer machine, you need to add two items to the Path environment variable on the deployment target machine. On the deployment target machine (chepstow in my environment), right-click the My Computer icon and select Properties from the context menu. Next, click the Advanced tab in the System Properties dialog box and then click the Environment Variables button. In the System variables group, locate the Path variable in the list. (Scroll down if necessary.) Click the Path variable in the list and then click Edit. In the Edit System Variable dialog box, place the cursor at the beginning of the entries and type C:\oracle\11.1\odac;C:\ oracle\11.1\odac\bin;. Click OK to close the Edit System Variable dialog box, click OK to close the Environment Variables dialog box, and finally click OK again to close the System Properties dialog box. ExEcutE thE ApplicAtion on thE tArgEt MAchinE
You have successfully deployed the Oracle client files and the application files to the deployment target machine, and now it is time to verify that the application works as expected. (Note that there are no network configuration files to create or manage in my deployment scenario.) To verify that the deployed application is working properly on the target machine, do the following: 1. On the deployment target machine (chepstow in my environment), open a command prompt window by first clicking Start -> Run, then typing cmd in the Run dialog box, and clicking OK. 2. Change to the directory where the application files were copied: cd /d C:\temp\NovDec2008
3. Execute the application, by typing NovDec2008, and verify that the output is the same as what was produced on the developer machine.
Congratulations! You have successfully created and deployed an Oracle Data Access Components with Xcopy deployment application. conclusion
This column has demonstrated how to install Oracle Data Access Components 11.1.0.6.21 with Xcopy deployment components; develop a simple ODP .NET application to verify functionality; and deploy both the Oracle client and application files to a deployment target, using the xcopy command. Xcopy deployment is especially useful if you want to customize an install package with an Oracle client or you are seeking ways to deploy an Oracle client to numerous client machines. These steps are just one way to accomplish the goal of simpler and smaller application deployments. I recommend taking these steps and adapting them to what works best in your environment. ■ Mark A. Williams (
[email protected]) is an Oracle ACE director, an Oracle Certified Professional DBA, the author of Pro .NET Oracle Programming (Apress, 2004), and a contributor to the Oracle Data Provider for .NET forum on Oracle Technology Network.
nextSTEPS READ more ODP.NET otn.oracle.com/oramag/oracle/odpnet
DOWNLOAD Oracle Data Access Components with Xcopy deployment otn.oracle.com/software/tech/windows/odpnet
Oracle Database Instant Client otn.oracle.com/software/tech/oci/instantclient
the sample application for this column otn.oracle.com/oramag/oracle/08-nov/o68odpnet.zip
LEARN more about ODP.NET The .NET Developer Center otn.oracle.com/dotnet Oracle Data Provider for .NET Developer’s Guide download.oracle.com/docs/cd/B28359_01/win.111/ b28375/toc.htm Oracle Database Net Services Administrator’s Guide download.oracle.com/docs/cd/B28359_01/ network.111/b28316/toc.htm Oracle Database Globalization Support Guide download.oracle.com/docs/cd/B28359_01/server.111/ b28298/toc.htm
oracle.com/oraclemagazine
10/7/08 4:28:18 PM
t e c h n o l o g y HigH AvAilAbility
By a rup NaNda
Keeping Active
daN huBig
Use Oracle Active Data Guard to set up a physical standby database for reporting and recovery. hysical standby databases provide a rock-solid mechanism for high availability and disaster recovery. In a nutshell, the physical standby database is a physical copy of the source (primary) database, and the redo entries from the primary database are applied to the standby database continuously (or periodically) over the network to keep it in sync. If the primary database fails, the standby database can be quickly activated— a process known as role reversal—enabling applications to connect to the database that was called the standby before and resume processing without a significant delay. A valuable property of the physical standby database is that it can be opened for read-only access. This makes it highly desirable for reporting and other applications that need not be run on the primary database, reducing the load there considerably. In the past, when you opened a physical standby database for read-only access, you had to stop the application of redo entries to the standby database. With the redo application stopped, the standby database might not have been ready to immediately take over for the primary database if that database failed. However, a new option of Oracle Database 11g called Oracle Active Data Guard allows you to continue applying redo changes while the physical standby database is open in read-only mode. This makes efficient use of the standby database for reporting applications without compromising the speed
of standby database activation in the event of a primary database failure. Oracle Active Data Guard is even more useful when you enable real time apply, which applies the changes on the primary database in near real time to the standby database. With this combination, the reporting applications
network server (LNS). A process on the standby database called remote file server (RFS) gets the redo stream from the LNS and writes it to the standby redo log files. A managed recovery process coordinates the reads from the standby redo log files as they are written and, using media recovery, updates the standby database immediately. (This managed recovery process is active only when the standby database is in managed recovery mode.) Physical standby databases can operate in different modes. The default, described here and shown in Figure 1, is maximum performance mode. Active StePS
accessing the standby database view data almost as soon as it appears in the primary database. This article shows how to build an Oracle Active Data Guard infrastructure with real time apply.
To demonstrate the Oracle Active Data Guard infrastructure with real time apply, I use the following database setup: Standby
Server
prisvr1
sbysvr1
Database
Pridb
Sbydb
A Quick Primer
Let’s look at how Oracle Active Data Guard with real time apply works for a physical standby database. As Figure 1 illustrates, the primary database generates redo entries as users modify data, and these entries are written to the online redo log files by a process called log writer (LGWR), an integral part of the Oracle Database instance. The LGWR process sends redo entries directly to the standby server, using a subprocess called log writer
There is a simple way to build a physical standby database by using Oracle Recovery Manager (Oracle RMAN) commands in Oracle Database 11g, and I also make use of that feature. This article also assumes that Oracle Automatic Storage Management is used on both the primary and standby databases. The primary database is on one disk group: DATA1. Prerequisites. The following prerequisites are required for running through
oracle magazine
ND08_DataGuard.indd 59
Primary
NovemBer/decemBer 20 08
59
10/7/08 2:59:47 PM
HigH AvAilAbility
TNS entry for the standby database: Database Instance: Standby Database (SBYDB)
Database Instance: Primary Database (PRIDB)
Database Writer Process (DBWn)
Database Writer Process (DBWn)
System Monitor Process (SMON)
System Monitor Process (SMON) Process Monitor Process (PMON)
Process Monitor Process (PMON) Log Writer (LGWR)
s the
Send
redo
m
strea
Managed Recovery Process
re a
ds
Log Writer Network Server (LNS)
Remote File Server (RFS) Process
Database
Redo Log Files
Standby Redo Log Files Standby Database
Figure 1: Oracle Active Data Guard physical standby database architecture with real time apply in maximum performance mode
the steps in this article: 1. Both the primary and the standby databases must be running the same release of Oracle Database 11g, Enterprise Edition. 2. The Oracle Active Data Guard option must be installed. (The Oracle Active Data Guard option is licensed separately from Oracle Database.) 3. The primary database must be in archive log mode. Preparation. Complete the following setup of the primary database, and prepare to create the standby database. 1. Standby databases operate from the entries made in the redo log files. If an operation uses the NOLOGGING option, as in the case of INSERT /*+ APPEND */ statements or SQL*Loader with the DIRECT option, the redo entries will be skipped. To force entries from these operations to go to the redo logs, issue the following SQL statement on the primary database: SQL> alter database enable force logging
This will force redo logging even when the NOLOGGING option is used. 2. Make sure the primary database is using a server parameter file (spfile):
60
November/december 20 08
ND08_DataGuard.indd 60
SQL> 2 3 4
select value from v$parameter where name = ‘spfile’ /
VALUE -----------------------------------------------?/dbs/spfilepridb.ora
sbydb = (description = (address_list = (address = (protocol = tcp) (host = sbysvr1)(port = 1521)) ) (connect_data = (sid = sbydb) ) )
5. Copy the password file on the primary server, usually named orapwpridb, to the standby server under the $ORACLE_HOME/dbs directory. Rename the file orapwsbydb. This will serve as the password file for the standby database (sbydb). 6. On the standby server, edit the listener.ora file under $ORACLE_ HOME/network/admin to add the information about the new standby database instance: (sid_desc = (global_dbname = sbydb) (oracle_home = /opt/oracle/ product/11g/db1) (sid_name = sbydb) )
The output confirms that an spfile is in use. If the output is null, an spfile is not in use. In that case, create an spfile from the pfile, using the following SQL statement:
$ORACLE_HOME/dbs, create a file called initsbydb.ora with just one line:
SQL> create spfile from pfile;
db_name=pridb
If you create the spfile, you will need to recycle the primary database for the spfile to take effect. 3. Still on the primary database, create standby redo log files, by executing the following commands:
This file will be used to start the standby database instance, and the rest of the parameters will be created on the fly. Note that the database name of the standby is pridb—the same as the primary, even though the instance name is different. 8. On the standby server, create the directory to hold the audit trace files. In the $ORACLE_BASE/admin directory, create a subdirectory called sbydb (the name of the standby instance). Then under sbydb, create a subdirectory called adump. This will hold the audit
SQL> alter database add standby redo logfile group 4 (‘+DATA1/sby_log01.rdo’) size 50M; SQL> alter database add standby redo logfile group 5 (‘+DATA1/sby_log02.rdo’) size 50M;
4. Also on the primary server, create a
Restart the listener, by executing lsnrctl reload, for this to take effect. 7. Still on the standby server under
oracle.com/oraclemagazine
10/7/08 3:00:36 PM
codeLISTING 1:
Oracle RMAN script for creating the standby database
1 connect target sys/oracle123@pridb 2 connect auxiliary sys/oracle123@sbydb 3 4 run { 5 allocate channel p1 type disk; 6 allocate auxiliary channel s1 type disk; 7 8 duplicate target database for standby from active database 9 spfile 10 parameter_value_convert ‘pridb’,’sbydb’ 11 set db_unique_name=’sbydb’ 12 set db_file_name_convert=’/pridb/’,’/sbydb/’ 13 set log_file_name_convert=’/pridb/’,’/sbydb/’ 14 set control_files=’+DATA1/sbydb/control01.ctl’ 15 set log_archive_max_processes=’5’ 16 set fal_client=’sbydb’ 17 set fal_server=’pridb’ 18 set standby_file_management=’AUTO’ 19 set log_archive_config=’dg_config=(pridb,sbydb)’ 20 set log_archive_dest_2=’service=pridb lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=sbydb’ 21 set log_archive_dest_state_2=’enable’ 22 set log_archive_format=’sbydb_%t_%s_%r.arc’ 23 ; 24 sql channel p1 “alter system set log_archive_config=’’dg_config=(pridb,sbydb)’’”; 25 sql channel p1 “alter system set log_archive_dest_2=’’service=sbydb lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=sbydb ‘’”; 26 sql channel p1 “alter system set log_archive_max_processes=5”; 27 sql channel p1 “alter system set fal_client=pridb”; 28 sql channel p1 “alter system set fal_server=sbydb”; 29 sql channel p1 “alter system set standby_file_management=auto”; 30 sql channel p1 “alter system set log_archive_dest_state_2=enable”; 31 sql channel p1 “alter system archive log current”; 32 sql channel s1 “alter database recover managed standby database using current logfile disconnect”; 33 }
This indicates that the Oracle RMAN job completed successfully and created the physical standby database. The standby database is now running in managed recovery mode—you don’t have to do anything to keep it in sync. The redo entries will be shipped from the primary to the standby database and applied there automatically. If you want to stop the managed recovery process (and the redo log application), execute this SQL statement on the standby database: SQL> alter database recover managed standby database cancel;
When you are ready to restart the managed recovery process, issue SQL> alter database recover managed standby database using current logfile disconnect;
Using the DISCONNECT clause allows control to return to the user, and the log application process goes on in the background. Active StAndby
trail files for the SYSDBA connections. Creation. Now that the setup is complete, let’s create the standby database. 1. On the standby server, start the database instance only: sqlplus / as sysdba SQL> startup nomount
2. On the primary server, execute the Oracle RMAN cr_sbydb.rman script, shown in Listing 1, by issuing the following command: $ rman cmdfile=cr_sbydb.rman log=cr_sbydb.log
The process may take a long time, depending on the size of the database. (While the Oracle RMAN process is running, you can tail the cr_sbydb.log log file to check the progress and spot any errors.) The Oracle RMAN script does the following:
Shuts down the standby database instance and restarts it with the newly created spfile ■ Creates a standby controlfile on the primary database and copies it over to the standby server ■ Creates a clone database on the standby server using Oracle RMAN cloning ■ Converts the cloned database to a physical standby database Table 1 shows a line-by-line explanation of the script in Listing 1. The log file for the cr_sbydb.rman script is available in the online version of this article, at otn.oracle.com/ oramag/oracle/08-nov/o68adg.html. The end of the log file includes the following lines: ■
media recovery complete, elapsed time: 00:00:02 Finished recover at 25-MAY-08 Finished Duplicate Db at 25-MAY-08 sql statement: alter system archive log current
Now you can bring up the standby database in read-only mode and continue to have the standby database updated from the primary. Here are the steps to achieve that: 1. Stop the managed recovery process: SQL> alter database recover managed standby database cancel;
2. Open the standby database as read-only: SQL> alter database open read only;
3. Restart the managed recovery process: SQL> alter database recover managed standby database using current logfile disconnect;
Now the standby database is being updated, but it is simultaneously open for read-only access—this is the essence of Oracle Active Data Guard.
oracle magazine
ND08_DataGuard.indd 61
november/december 20 08
61
10/7/08 3:00:59 PM
HigH AvAilAbility
Lines
Description
1, 2
Connects to primary and standby instances as SYSDBA. (This is why you need to copy the password file of the primary server to the standby server.)
5, 6
Allocates two channels—p1 and s1—for primary and standby databases, respectively.
8
Oracle RMAN duplicate command creates a clone of the primary database.
9
An spfile must be created from the initialization parameter file (pfile) and updated with the parameters in lines 10 through 22.
10
If a parameter contains the name of the primary database (pridb), it should be converted to the name of the standby database (sbydb). This line causes the parameter to be changed in the standby database.
11
Specifies the unique name of the standby database.
12, 13
The names of the datafiles are changed from the primary to standby naming conventions. For example, the +DATA1/pridb/system_01.dbf file will be copied and maintained as +DATA1/sbydb/ system_01.dbf. This is not required if the standby database is on a different server (as is the case now) but may be a good practice to separate the names.
16, 17
Specifies the fetch archived log (FAL) process parameters: the FAL server is the primary database (pridb), which pushes changes to redo log files to the FAL client—the standby database (sbydb).
19
The Oracle Active Data Guard configuration parameters—the primary and standby databases, respectively—are defined here.
20
This is where the mode of redo shipping is defined. The changes to redo logs are shipped to the standby database’s standby redo logs via the log writer (LGWR) process. The process of writing is asynchronous (as specified by the ASYNC parameter).
32
This starts the managed recovery process. The USING CURRENT LOGFILE clause enables real time apply. The DISCONNECT clause returns control to the user and runs the log application process in the background.
Table 1: Explanation of the standby database creation script (Listing 1)
codeliStiNg 2:
Partial output of the standby database’s alert log
2008-05-30 17:46:22.593000 -04:00 Media Recovery Waiting for thread 1 sequence 628 2008-05-30 17:46:23.928000 -04:00 Primary database is in MAXIMUM PERFORMANCE mode kcrrvslf: active RFS archival for log 4 thread 1 sequence 627 RFS[1]: Successfully opened standby log 5: ‘+DATA1/sby_log02.rdo’ 2008-05-30 17:46:28.717000 -04:00 Recovery of Online Redo Log: Thread 1 Group 5 Seq 628 Reading mem 0 Mem# 0: +DATA1/sby_log02.rdo
4. To test the “active” part of Oracle Active Data Guard, create a table in the primary database:
logs on the primary database, first switch the log file: SQL> alter system switch logfile;
SQL> create table test (col1 number);
7. Now observe the alert log of the standby database. Use the automatic diagnostic repository command interpreter (ADRCI) tool, new in Oracle Database 11g:
5. After a few seconds, check the existence of the table in the standby database: SQL> select table_name from user_tables where table_name = ‘TEST’;
The table will be present. The standby database is open in read-only mode, but it is still applying the logs from the primary database. This feature enables you to run reports against it without sacrificing the ability to put the standby database into the primary role quickly. 6. To confirm the application of redo
62
November/december 20 08
ND08_DataGuard.indd 62
$ adrci adrci> show alert -tail -f
The output is shown in Listing 2. The log message confirms that standby log group 5 was opened. The log was switched on the standby database when the log switch occurred on the primary database. You can take an Oracle RMAN backup from the standby database
instead of the primary to reduce the load on the latter. And, better yet, you can take the backup even when the standby database is open in read-only and managed recovery mode. CONCLUSION
The physical standby database is a physical replica of the primary database, kept in sync by the application of redo log entries from the primary database. With Oracle Active Data Guard and real time apply, the log entries are applied in real time but the primary database does not wait for the redo application to complete, thereby protecting itself from failures or slowdowns in the shipment of log information from the primary to the standby database. Using the Oracle Active Data Guard option, you can open the physical standby database for read-only operations while the managed recovery process is going on. You can offload all reporting applications and the Oracle RMAN backup to the standby database, easing the load on the primary database considerably. And because the standby database is being recovered continuously with real time apply, the standby database can be activated and used immediately in case the primary database fails. This combination of features makes the investment in Oracle Active Data Guard very worthwhile. ■ Arup Nanda (
[email protected]) has been an Oracle DBA for more than 14 years, handling all aspects of database administration, from performance tuning to security and disaster recovery. He was Oracle Magazine’s DBA of the Year in 2003.
nextStEPS READ online-only article content otn.oracle.com/oramag/oracle/08-nov/o68adg.html
lEARN more about Oracle Active Data guard oracle.com/database/active-data-guard.html otn.oracle.com/deploy/availability/htdocs/ activedataguard.html
Oracle Data Guard Concepts and Administration download.oracle.com/docs/cd/B28359_01/server.111/ b28294/toc.htm
Oracle high-availability solutions oracle.com/database/high-availability.html
oracle.com/oraclemagazine
10/7/08 3:01:25 PM
t e c h n o l o g y SQL DEVELOPER
BY SUE HARPER
Programming Productively Use Oracle SQL Developer to work efficiently with PL/SQL constructs. ou can become a more productive PL/SQL developer when you use efficient methods to debug code that won’t compile, locate constructs you want to reuse, test your code, and learn how much time your program spends in each subprogram. Working with PL/SQL in Oracle SQL Developer can help you accomplish these tasks. In the November/December 2007 issue of Oracle Magazine, this column covered PL/SQL development primarily from a debugging—including remote debugging—perspective. In this column, you’ll learn how to ■ Create, edit, and run PL/SQL code efficiently ■ Work with stored procedures and packages productively ■ Access Oracle Database 11g features that enable PL/SQL hierarchical profiling and highly detailed search This column’s examples use Oracle SQL Developer 1.5.1. You also need access to the sample HR schema in any Oracle Database instance.
codeLISTING 1:
Calculating the bonus amount
DECLARE -- declare and assign values bonus_rate NUMBER(2,3) := 0.05; bonus NUMBER(8,2); emp_id NUMBER(6) := 120; -- assign a test value for employee ID BEGIN -- retrieve a salary from the employees table, then calculate the bonus and -- assign the value to the bonus variable SELECT salary * bonus_rate INTO bonus FROM employees WHERE employee_id = emp_id; -- display the employee_id, bonus amount, and bonus rate DBMS_OUTPUT.PUT_LINE ( ‘Employee: ‘ || TO_CHAR(emp_id) || ‘ Bonus: ‘ || TO_CHAR(bonus) || ‘ Bonus Rate: ‘ || TO_CHAR(bonus_rate)); END; /
WORKING WITH ANONYMOUS BLOCKS
You can use Oracle SQL Developer to create anonymous PL/SQL blocks. Anonymous blocks are not stored in the database, so you can use them to test a piece of functionality quickly. Start Oracle SQL Developer, and create a new database connection for the HR sample schema. (For detailed information on creating a connection, follow the link to “Creating a Database Connection” in “nextSTEPS” or see “Making Database Connections,” in the May/June 2008 issue of Oracle Magazine.) A SQL worksheet opens automatically. Follow these steps to create and run an anonymous block that calculates the bonus amount for a given employee’s
Figure 1: Refactoring
salary and displays the employee ID, bonus amount, and bonus rate: 1. Enter the code from Listing 1 into the SQL worksheet. 2. Click the DBMS Output tab (below the SQL worksheet) and the Enable
DBMS Output button. 3. Run the PL/SQL code by clicking the SQL worksheet’s Run Script button or pressing F5. 4. Click the DBMS Output tab to see the employee ID, bonus, and bonus rate.
ORACLE MAGAZINE
ND08_SQL_DEV.indd 63
NOVEMBER/DECEMBER 20 08
63
10/7/08 11:37:36 AM
SQL DeveLoper
codeLISTING 2:
Editing the emp_actions package
PROCEDURE hire_employee (lastname VARCHAR2, firstname VARCHAR2, email VARCHAR2, phoneno VARCHAR2, hiredate DATE, jobid VARCHAR2, sal NUMBER, commpct NUMBER, mgrid NUMBER, deptid NUMBER); PROCEDURE remove_employee (empid NUMBER); FUNCTION emp_sal_ranking (empid NUMBER) RETURN NUMBER;
Figure 2: PL/SQL package specification
Working With stored ProCedUres
Using Code insight
Now return to the SQL worksheet, and insert a new row in the declaration section, below the declaration of emp_id (insert the cursor and press Enter). In the new row, type emp_name varchar2(25);
Note that as you start typing varchar2(25), a code insight list appears
so that you can select varchar2 rather than type it. Code insight is available for you in the SQL worksheet and in the PL/SQL Code Editor, which you’ll work with later in this column. Now edit the SELECT statement so that it looks like this: SELECT salary * bonus_rate, last_name INTO bonus, emp_name FROM employees WHERE employee_id = emp_id;
November/december 20 08
ND08_SQL_DEV.indd 64
the EMPLOYEES table and from the PL/SQL block declaration. navigating to errors Next, replace TO_CHAR(emp_id) with TO_CHAR(emp_name). Press F5 to run the
code. You should see the employee’s last name in the DMBS Output tab. Now remove emp_name from the SELECT statement and rerun your code (press F5). An error report displayed on the Script Output tab shows the line number and column position of the error. Right-click in the SQL worksheet gutter (to the left of the code text), and select Toggle Line Numbers to switch on the line numbers. This helps you navigate to the point of the error. Find the error, fix the code (restore emp_name to the SELECT statement), and rerun it.
Next, select BONUS_UPDATE in the Connections Navigator to display the code you created by refactoring. Rightclick BONUS_UPDATE, and select Run. Whenever you run a PL/SQL procedure or package in Oracle SQL Developer, a Run PL/SQL window opens. It displays an anonymous PL/SQL block that is automatically created for PL/SQL programs. Here you can see the IN OUT parameters listed at the top and in the anonymous block. Update this PL/SQL block by changing BONUS_RATE := NULL; EMP_ID := NULL;
to BONUS_RATE := 0.05; EMP_ID := 120;
refaCtoring Code
As you start typing last_name, note that code insight can access details from
64
Developer 1.5 introduced code refactoring to help make refactoring easier and safer. In the SQL worksheet, highlight the complete SELECT statement, rightclick, and select Refactoring -> Extract Procedure…, as shown in Figure 1. Select Stored, and enter bonus_ update in the Name field. Click OK. The Confirm Running SQL window shows the PL/SQL stored procedure that will be created. Note that each of the parameters created is an IN OUT parameter. Because you are passing in two parameters and expecting two out, you can adjust these later as appropriate. But the code will work as defined, so for now, click Yes. Review the code in the SQL worksheet, and note that the SELECT statement has been replaced with a call to the new PL/SQL bonus_update procedure. Now expand the Procedures node in the Connections Navigator. Right-click BONUS_UPDATE, and select Compile. Now run the PL/SQL code in the SQL worksheet again. Select the DBMS Output tab to verify that the code works as it did before.
When you refactor code, it’s important not to change the meaning or function of any code you modify. Oracle SQL
Scroll down to review the rest of the code, and click OK. The output now displays in the Running - Log window.
oracle.com/oraclemagazine
10/7/08 11:38:18 AM
codeLISTING 3:
Editing a package specification
PROCEDURE hire_employee (lastname VARCHAR2, firstname VARCHAR2, email VARCHAR2, phoneno VARCHAR2, hiredate DATE, jobid VARCHAR2, sal NUMBER, commpct NUMBER, mgrid NUMBER, deptid NUMBER) IS min_sal employees.salary%TYPE; -- variable to hold minimum salary for jobid max_sal employees.salary%TYPE; -- variable to hold maximum salary for jobid seq_value NUMBER; -- variable to hold next sequence value BEGIN -- get the next sequence number in the employees_seq sequence SELECT employees_seq.NEXTVAL INTO seq_value FROM DUAL; -- use the next sequence number for the new employee_id INSERT INTO employees VALUES (seq_value, lastname, firstname, email, phoneno, hiredate, jobid, sal, commpct, mgrid, deptid); SELECT min_salary INTO min_sal FROM jobs WHERE job_id = jobid; SELECT max_salary INTO max_sal FROM jobs WHERE job_id = jobid; IF sal > max_sal THEN DBMS_OUTPUT.PUT_LINE(‘Warning: ‘ || TO_CHAR(sal) || ‘ is greater than the maximum salary ‘ || TO_CHAR(max_sal) || ‘ for the job classification ‘ || jobid ); ELSIF sal < min_sal THEN DBMS_OUTPUT.PUT_LINE(‘Warning: ‘ || TO_CHAR(sal) || ‘ is less than the minimum salary ‘ || TO_CHAR(min_sal) || ‘ for the job classification ‘ || jobid ); END IF; END hire_employee; -- code for procedure remove_employee, which removes an existing employee PROCEDURE remove_employee (empid NUMBER) IS firstname employees.first_name%TYPE; lastname employees.last_name%TYPE; BEGIN SELECT first_name, last_name INTO firstname, lastname FROM employees WHERE employee_id = empid; DELETE FROM employees WHERE employee_id = empid; DBMS_OUTPUT.PUT_LINE(‘Employee: ‘ || TO_CHAR(empid) || ‘, ‘ || firstname || ‘, ‘ || lastname || ‘ has been deleted.’); EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE(‘Employee ID: ‘ || TO_CHAR(empid) || ‘ not found.’); END remove_employee; -- code for function emp_sal_ranking, which calculates the salary ranking of the -- employee based on the minimum and maximum salaries for the job category FUNCTION emp_sal_ranking (empid NUMBER) RETURN NUMBER IS minsal employees.salary%TYPE; -- declare a variable same as salary maxsal employees.salary%TYPE; -- declare a variable same as salary jobid employees.job_id%TYPE; -- declare a variable same as job_id sal employees.salary%TYPE; -- declare a variable same as salary BEGIN -- retrieve the jobid and salary for the specific employee ID SELECT job_id, salary INTO jobid, sal FROM employees WHERE employee_id = empid; -- retrieve the minimum and maximum salaries for the job ID SELECT min_salary, max_salary INTO minsal, maxsal FROM jobs WHERE job_id = jobid; -- return the ranking as a decimal, based on the following calculation RETURN ((sal - minsal)/(maxsal - minsal)); END emp_sal_ranking;
Working With Packages in the PL/sQL editor
Oracle SQL Developer provides convenient features for creating and maintaining both the specifications and bodies of PL/SQL packages. Creating the specification. To create a new package, start by creating the package specification. Select the Packages node
able in the SQL worksheet. A PL/SQL specification skeleton is prepared for you, based on the details you supplied. Replace the TODO comment with the code in Listing 2, and click the Compile button (or press Ctrl-Shift-F9) to compile the code, as shown in Figure 2. Generate and edit the body stub. Once you have compiled the code, the EMP_ACTIONS specification appears in the Connections Navigator. Right-click EMP_ACTIONS, and select Create Body. Oracle SQL Developer creates a skeleton (or stub) for each of the procedures and functions you declared in the specification, along with the parameters declared. In the gutter, right-click and select Collapse procedure declarations/ bodies. Replace each of the three program units with the corresponding code in Listing 3, and then compile. Right-click EMP_ACTIONS in the Connections Navigator, and select Run. Just as when you worked with the stored procedure, the Run PL/SQL window displays code to help you run the procedures and functions in the package. Click EMP_SAL_RANKING in the Target list to display the anonymous block for this procedure. Update the block as follows: 1. Replace EMPID := NULL; with EMPID := 120; . 2. Replace ‘v_Return: = ‘ with ‘The employee’s salary ranking is ‘.
3. Click OK. 4. View the results in the Running - Log window. Using the PL/sQL hierarchicaL ProfiLer
in the Connections Navigator. Rightclick, and select New Package…. Enter Emp_Actions as the package name, and click OK. The EMP_ACTIONS tab that appears is the PL/SQL Code Editor. With it you can create, edit, compile, and debug your PL/SQL code. You also use the same code insight, refactoring, and formatting features that are avail-
This section is for readers who have access to Oracle Database 11g, which provides support for profiling PL/SQL code. Oracle Database 11g lets you determine how much time is spent on each subprogram within a program, how frequently a subprogram is accessed, and which other subprograms access a program. The PL/SQL Hierarchical Profiler, which is implemented by use of DBMS_ HPROF, stores the results in database tables. Oracle SQL Developer reviews each schema, tries to access the
oracle magazine
ND08_SQL_DEV.indd 65
november/december 20 08
65
10/7/08 11:38:55 AM
SQL DEVELOPER
Search for Detail
Oracle SQL Developer 1.5 introduced an Extended Search mechanism. It relies on PLScope—a new Oracle Database 11g PL/SQL feature—when it’s available and on basic search functionality when it’s not. When used with Oracle Database 11g, Extended Search drills into your PL/SQL code, looking for variable declarations, references, calls, and more. Follow these steps to try it out: 1. In Oracle SQL Developer, select View -> Extended Search. 2. Select the HR user, and enter hire% in the Name field. Leave the remaining fields with their default values. 3. Click Lookup. Note that the HIRE_ DATE variable is displayed in addition to HIRE_EMPLOYEE. 4. Select any one of the search results, and note that Oracle SQL Developer opens the table where the variable is used. 5. Select the Usage list (available only when you are using Oracle SQL Developer against Oracle Database 11g), and review the options available.
Figure 3: Preparing to use the PL/SQL Hierarchical Profiler
concluSion
This column has shown how Oracle SQL Developer can enhance your productivity when you write, edit, compile, and troubleshoot PL/SQL code. Whether you are a novice or an experienced PL/SQL developer, Oracle SQL Developer can make your day-to-day PL/SQL development tasks easier. ■
Figure 4: PL/SQL hierarchical profiles
PL/SQL Hierarchical Profiler, and runs the scripts necessary to set up the environment. Once it is set up, you can repeatedly run and review the output through an easy-to-read report. Using the preceding code examples, right-click the EMP_ACTIONS specification and select Profile. Select the EMP_SAL_RANKING procedure again. Click OK. If you have never run the PL/SQL Hierarchical Profiler for this HR schema before, a once-only window will display the setup details. Click Yes to execute the SQL and prepare to use the PL/SQL Hierarchical Profiler. Figure 3 displays the detail. This dialog box is followed by one that creates the PL/SQL hierarchical tables. (This also executes only once.)
66
November/december 20 08
ND08_SQL_DEV.indd 66
When the setup is complete, again right-click EMP_ACTIONS and select Profile in the Connections Navigator. This time, because the environment has been prepared and the tables are in place, the profile can be revealed. Select the Execution Profiles tab in the EMP_ ACTIONS editor. (Each time you select Profile, you re-execute the PL/SQL code and a new profile is created.) Select the profile, and inspect the detail. Select the Hierarchy tab, as shown in Figure 4. Even in as small a program unit as EMP_SAL_RANKING, you can see the hierarchical structure and the various program units called. Morecomplex PL/SQL programs reveal more detail, which can be of great benefit for tuning your code.
Sue Harper is an Oracle senior principal product manager based in London. Her technical blog, sueharper.blogspot.com, addresses Oracle SQL Developer features.
nextSTEPS
READ more Oracle SQL Developer otn.oracle.com/oramag/oracle/sql
LEARN more about Oracle SQL Developer otn.oracle.com/products/database/sql_developer
“Creating a Database Connection” otn.oracle.com/products/database/sql_developer/ files/viewlets.html
PARTICIPATE in the Oracle SQL Developer Exchange sqldeveloper.oracle.com
oracle.com/oraclemagazine
10/7/08 11:39:20 AM
t e c h n o l o g y inside ocp
bY su sh m a jagannath
New Ways to Flash Back
Reverse transactions and track historical changes in Oracle Database 11g. irst introduced in Oracle9i Database, Oracle Flashback technology comprises a group of features with which you can view data at different points in time and recover data without using point-intime media recovery. Oracle Database 11g offers two key new flashback technology features that continue to provide DBAs with a powerful set of data protection tools: ■ Oracle Flashback Transaction rolls back a transaction and its dependent transactions while the database remains online. ■ Oracle Flashback Data Archive provides solutions for retaining transactional changes to data for a long period. This column focuses on these two new flashback features of Oracle Database 11g and presents sample questions of the kind you may encounter when taking the Oracle Database 11g Administration Workshop II exam. Passing this exam is a requirement for achieving the Oracle Certified Professional level of certification.
SQL> alter database add supplemental log data; Database altered.
Oracle Flashback TransacTiOn
SQL> INSERT INTO hr.regions VALUES (5, ’Pole’); SQL> COMMIT;
SQL> alter database add supplemental log data (primary key) columns; Database altered.
For which of these are the above commands prerequisites? A. Oracle Flashback Transaction
B. Fine-grained audit C. Oracle Flashback Query D. Oracle Flashback Database The correct answer is A. These commands are required before you start Oracle Flashback Transaction; they enable the log miner to extract transactions from redo logs. Answer B is incorrect because fine-grained audit does not need redo logs. Answer C is incorrect because Oracle Flashback Query uses undo data. Answer D is incorrect because Oracle Flashback Database uses flashback log data from the flash recovery area.
VALUES (5, 'Pole');—is flashed back with NOCASCADE FORCE as the recovery option?
A. The respective undo SQL statements are executed for the first, second, and third transactions. B. The undo SQL is executed only for the first and third transactions, because of the referential integrity constraint. C. The undo SQL is executed only for the first transaction. D. The undo SQL statements are not executed for any of the transactions, because of a conflict among them. The correct answer is C. NOCASCADE FORCE backs out only the transaction on which the flashback transaction operation is applied, irrespective of the dependency. Answers A and B are incorrect because there is no dependency between the second and third transactions or between the first and third transactions. Answer D is incorrect because undo SQL is not executed for any transactions when NO CONFLICT is used as the recovery option.
Examine the following transactions: Oracle Flashback DaTa archive
Oracle Flashback Transaction can roll back a specific transaction and its dependent transactions while the database remains online. It uses undo data and the archived redo logs for the specified transactions to create and execute the compensating transactions that return the affected data to its original state. Oracle Flashback Transaction requires that supplemental logging is enabled, and the user must have SELECT, FLASHBACK, and DML privileges on all affected tables. This operation can be performed with either a PL/SQL procedure (DBMS_FLASHBACK .TRANSACTION_BACKOUT) or an Oracle Enterprise Manager wizard. Examine the following commands issued by the DBA:
SQL> UPDATE hr.regions SET region_name=’Poles’ WHERE region_id = 5; SQL> UPDATE hr.regions SET region_name=’North and South Poles’ WHERE region_id = 5; SQL> COMMIT; SQL> INSERT INTO hr.countries VALUES (‘TT’ , ’Test Country’ , 5); SQL> COMMIT;
The referential integrity is set between the COUNTRIES and REGIONS tables. Which statement describes the result when the first transaction—INSERT INTO hr.regions
Organizations often need to track and store all transactional changes to a record for the duration of its lifetime. Oracle Flashback Data Archive satisfies long-retention requirements securely, by enabling the database to automatically track and store all transactional changes to a table for its entire lifetime. Thus, you do not need to build this functionality into database applications. A flashback data archive consists of one or more tablespaces or parts of tablespaces. When you create a flashback data archive, you specify the name, the retention period, and the tablespace that is to be tracked. The database automatically purges historical flashback data the day after the retention period expires. You can turn Oracle Flashback Data
oracle magazine
ND08_OCP.indd 67
november/december 20 08
67
10/7/08 3:33:43 PM
inside ocp inside ocp Archive on and off for individual tables. By default, Oracle Flashback Data Archive is turned off for every table. Examine the tablespace information in Listing 1. The database has the standard block size of 8K. Why does the following command fail to create the default flashback data archive?
A. The ORCLFLASH tablespace is not using automatic segment space management (ASSM). B. The content of the ORCLFLASH tablespace is not of the UNDO type. C. The ORCLFLASH tablespace is not a bigfile tablespace. D. The ORCLFLASH tablespace has a nonstandard block size. The correct answer is A. This CREATE FLASHBACK ARCHIVE command generates the following error message: ERROR at line 1: ORA-55627: Flashback Archive tablespace must be ASSM tablespace
Answers B and C are incorrect because you can enable Oracle Flashback Data Archive on a nonundo tablespace and also on tablespaces that are not of the bigfile type. Answer D is incorrect because the tablespace can contain nonstandard block sizes.
A. Oracle Flashback Data Archive has been enabled for the table. B. Auditing has been applied on the table. C. One or more automatic workload repository (AWR) baselines exist that contain performance information from transactions on the table. D. Pending statistics exist for the table
68
November/december 20 08
ND08_OCP.indd 68
SELECT TABLESPACE_NAME, BLOCK_SIZE, STATUS, CONTENTS, EXTENT_MANAGEMENT, ALLOCATION_TYPE, SEGMENT_SPACE_MANAGEMENT, BIGFILE FROM DBA_TABLESPACES; CONTENTS -------------------------PERMANENT PERMANENT UNDO TEMPORARY PERMANENT PERMANENT PERMANENT PERMANENT PERMANENT
that are yet to be published. The correct answer is A. Table-related operations such as DROP, TRUNCATE, and RENAME and certain ALTER TABLE operations cannot be performed when the table is enabled to track the changes in a flashback data archive. Answer B is incorrect because auditing tracks only the operations that are performed on the table and does not stop the TRUNCATE operation. Answer C is incorrect because AWR baselines are collected and stored for performance comparisons of the database instance and are not bound to a table. Answer D is incorrect because the collection of statistics may affect performance but does not restrict the TRUNCATE operation. Which statements are true about Oracle Flashback Data Archive?
A user receives the following error message while truncating a table:
What do you conclude from the above error message?
Tablespace information for failed CREATE FLASHBACK ARCHIVE
TABLESPACE_NAME BLOCK_SIZE STATUS ------------------------------------------ --------------------------- ----------------SYSTEM 8192 ONLINE SYSAUX 8192 ONLINE UNDOTBS1 8192 ONLINE TEMP 8192 ONLINE USERS 8192 ONLINE EXAMPLE 8192 ONLINE SOEINDEX 8192 ONLINE SOE 8192 ONLINE ORCLFLASH 4096 ONLINE
SQL>CREATE FLASHBACK ARCHIVE DEFAULT fla1 TABLESPACE orclflash RETENTION 1 YEAR;
ERROR at line 1: ORA-55610: Invalid DDL statement on history-tracked table
codeLisTinG 1:
A. It provides access to data at any point in time without changing the current data. B. It stores data in compressed form. C. It provides the option of setting different retention requirements. D. It enables access to historical data alongside current data. E. It is enabled at a database level. F. It archives the original data along with its associated indexes. The correct answers are A, B, C, and D. Oracle Flashback Data Archive does not change the current data but offers the ability to access the data as of any point in time. It stores data in compressed form to minimize storage requirements. You can group historical data by retention requirements and create different data archives based on those requirements. Oracle Flashback Data Archive is an
EXTENT_MAN ---------------------------LOCAL LOCAL LOCAL LOCAL LOCAL LOCAL LOCAL LOCAL LOCAL
ALLOCATIO ------------------------SYSTEM SYSTEM SYSTEM UNIFORM SYSTEM SYSTEM UNIFORM UNIFORM SYSTEM
SEGMEN -----------------MANUAL AUTO MANUAL MANUAL AUTO AUTO AUTO AUTO MANUAL
BIG -------NO NO NO NO NO NO NO NO NO
online operation—historical access can coexist with current access. Answer E is incorrect because Oracle Flashback Data Archive stores historical information in one or more tablespaces and tracks the history of one or more tables. Answer F is incorrect because Oracle Flashback Data Archive archives the original data but does not include the indexes, because the retrieval pattern of historical information might be different from that of the current information. ConClusion
This column focused on two new flashback features introduced in Oracle Database 11g: Oracle Flashback Transaction enables you to reverse a transaction and its dependent transactions. The database rewinds to a pretransaction state. Oracle Flashback Data Archive enables you to track historical changes to the data in a highly secure and efficient manner, thus eliminating the need to build this functionality into database applications. ■ Sushma Jagannath (
[email protected]) is a certification exam development manager at Oracle. She has been with the company since 2000.
nextsTeps LeARn more about the oracle certification program oracle.com/education/certification
oracle Flashback technology otn.oracle.com/deploy/availability/htdocs/ flashback_overview.htm
ReAd inside ocp columns otn.oracle.com/oramag/oracle/ocp
oracle.com/oraclemagazine
10/7/08 3:34:30 PM
t e c h n o l o g y ask tom
BY to m kYte
On Separation and Counting Our technologist promotes more than one schema, counts partitions, and uses TKPROF. data architect at work has proposed that we start using separate database accounts to hold the code (packages, procedures, views, and so on) and the data (tables, materialized views, indexes, and so on) for an application. I’ve never come across this idea before, and it seems to be contrary to the concepts of encapsulation, in that the application will be spread across at least two schemas and require more administrative overhead to maintain the necessary grants between them. Are there any situations you can think of where this would be a recommended approach? And if you did this, how would you recommend referencing objects in the data schema from the application schema? Finally, would you put any views into the code or data schema?
This separate application (code) and data schema approach is hardly contrary. This approach promotes encapsulation; modularization; and most importantly, least privilege. Maintaining the grants is a positive aspect to this approach, because you’ll have to state why you need a privilege, and that can be documented. Auditors can inspect this setup and see what access you have to the data. It is a really good idea, in fact, to set up more than one schema for application code to give even finer-grained control over the grants. Right now, developing the application code in the same schema as the data, you could drop the table, truncate it, perform any data manipulation language (DML) on it, and alter it in any way you see fit. You will (fortunately) lose all of that when this really good separate-schema idea is put in place. The new separate schema approach will ultimately lead to a better-documented system, with great security controls in place.
Will you lose some “flexibility”? Sure, you will think so, but a development team should not necessarily have this flexibility. With so many privileges, there are too many things you can do wrong in this environment. With the separate application and data schema approach in place, you’ll be able to query the data dictionary and see the least set of privileges you need for your application to execute—which is very good—and you’ll understand why you need those privileges, because you had to ask for them—which is also very good. This is a very common implementation, becoming more common today with the need to be more accountable—needing to know who does what and when, who can do what and when, and so on. Remember, the data is the data, and the application is something that accesses data. They are not one and the same, and they should be separate. As for the question of how to reference the objects in the data schema in your application code, I prefer the following, in order: ■ Use fully qualified references: schema.object_name. If you are worried about the schema name changing in the future, you can always make the schema name a SQL*Plus substitution variable. ■ Use private synonyms, so the schema name is not referenced in the code. Private synonyms incur less overhead than public synonyms, and public synonyms are something to be avoided at all costs, because there can be only one public synonym “SOME_NAME” in a database. The use of public synonyms can easily prevent server consolidation if two applications both need to use the public synonym “SOME_NAME” for two different objects.
As for the question of where the views go, the answer is that views can go in either schema. They make sense in both places. The case for putting views into the application schema. A view in the application
schema is a view of convenience; it joins N tables, selects needed data, and formats a couple of columns. It is in place because its SQL is used here, there, and everywhere. The application was granted access to the base tables without the grant option/admin option, so the application cannot grant access to this view to others (it is usable only by the application logic in the database), so you haven’t opened up any security holes. In this case, the view is very much like a subroutine—it accesses the data to which the application schema was granted access. The case for putting views into the data schema. A view in the data schema is
used to further restrict access to data. It includes a predicate, for example, that limits which data can be seen. Suppose there is a large base table and a given application schema needs to see only half of that data. You create a view that exposes the correct set of data and grant access on the view to that application schema, and the application schema uses the view as if it were a table. That application schema will not have access to the base table. You can use the “with check option” and so on to enforce INSERT/UPDATE restrictions as well. Note that finegrained access control (DBMS_RLS) can also do this. So the developers are free to create their views in the application schema, and the data owners, the people securing the data, create views in the data schema—to protect the data.
oracle magazine
ND08_ASKTOM.indd 69
novemBer/decemBer 20 08
69
10/8/08 2:07:56 PM
ask tom
The RighT NumbeR of PaRTiTioNs I have a table with about one million records, but the table has the potential to grow to three million or more records. I am planning to partition this table, using hash partitioning on the most queried column, but before I do that, I have a few questions: 1. I have read somewhere that due to the hashing algorithm Oracle Database uses, it is better to use a power-of-2 number of partitions. Is that correct? 2. Is there a recommendation on how many partitions are optimal for a given number of records? What would you take into consideration when deciding on the number of partitions? 3. Do you have any other recommendations?
First, when you’re using hash partitioning, it is paramount to use a power of 2—2, 4, 8, 16, 32, 64 . . . —and no other numbers in between. If you do not, the data will be skewed across partitions with most of the data in the “middle” partitions and little data in the “end” partitions. Also, a hash key should have lots and lots of distinct values, or else you won’t achieve even distribution of data. In Listing 1, I create a fourpartition table and a five-partition table using hash partitions. Note that the data distribution is clearly skewed in the fivepartition table. As for the question about determining the right number of partitions for a number of records, the determination is not record-driven. A million records might be stored in 10MB, 100MB, or 1TB, so determining the number and size of partitions is about volume. You have to ask yourself ■ What is the biggest segment I want to have? ■ What am I trying to accomplish with partitioning? The answers to these questions will drive your partition sizes and your partitioning scheme. You need to first understand why you are partitioning. Then, and only then, apply partitioning in a manner that will achieve what you want. When you apply partitioning, make sure you understand the ramifications of doing so and consider each and every index independently of every other index. For example, suppose you have
70
November/december 20 08
ND08_ASKTOM.indd 70
codeLIstING 1: SQL> 2 3 4 5 6 7 8 9
Four partitions (OK) versus five partitions (not OK)
CREATE TABLE t1 ( x ) PARTITION BY hash(x) ( partition part1 , partition part2 , partition part3 , partition part4 ) as select rownum from all_objects;
Table created.
SQL> 2 3 4 5 6 7 8 9 10
CREATE TABLE t2 ( x ) PARTITION BY hash(x) ( partition part1 , partition part2 , partition part3 , partition part4, partition part5 ) as select rownum from all_objects;
Table created.
SQL> select h, 2 count(*) cnt, 3 sum(count(*)) over () totcnt, 4 substr( rpad(‘*’,100,’*’), 1, 5 100*ratio_to_report(count(*)) over ()) hist 6 from 7 (select 1 h from t1 partition (part1) 8 union all select 2 h from t1 partition(part2) 9 union all select 3 h from t1 partition(part3) 10 union all select 4 h from t1 partition(part4) 11 ) group by h order by h 12 / H CNT TOTCNT HIST -------------- ----------------- ------------------ ------------------------------------------------------1 12409 49877 ************************ 2 12413 49877 ************************ 3 12697 49877 ************************ 4 12358 49877 ************************
SQL> 2 3 4 5 6 7 8 9 10 11 12 13
select h, count(*) cnt, sum(count(*)) over () totcnt, substr( rpad(‘*’,100,’*’), 1, 100*ratio_to_report(count(*)) over ()) hist from (select 1 h from t2 partition (part1) union all select 2 h from t2 partition(part2) union all select 3 h from t2 partition(part3) union all select 4 h from t2 partition(part4) union all select 5 h from t2 partition(part5) ) group by h order by h /
H CNT TOTCNT HIST -------------- ----------------- ------------------ ------------------------------------------------------1 6234 49883 ************ 2 12413 49883 ************************ 3 12698 49883 ************************ 4 12358 49883 ************************ 5 6180 49883 ************
oracle.com/oraclemagazine
10/8/08 2:08:17 PM
codeLISTING 2:
3 ( waits => true ); 4 end; 5 /
TKPROF report, first run
select count(subobject_name) from big_table.big_table
call count ----------------- ------------Parse 1 Execute 1 Fetch 2 ----------------- ------------total 4
cpu ------------0.00 0.00 99.36 ------------99.36
elapsed ----------------0.01 0.00 262.10 ----------------262.11
PL/SQL procedure successfully completed. disk query ------------------ -------------------0 3 0 0 1840758 1840797 ------------------ -------------------1840758 1840800
current ----------------0 0 0 ----------------0
rows ----------0 0 1 ----------1
SQL> select count(subobject_name) from big_table.big_table; COUNT(SUBOBJECT_NAME) ----------------------------------------------------688256
Misses in library cache during parse: 1 Optimizer mode: ALL_ROWS Parsing user id: 344 Rows --------------------1 128000000
Row Source Operation ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------SORT AGGREGATE (cr=1840797 pr=1840758 pw=0 time=262104893 us) TABLE ACCESS FULL BIG_TABLE (cr=1840797 pr=1840758 pw=0 time=384004887 us)
Elapsed times include waiting on following events: Event waited on ---------------------------------------------------------------------SQL*Net message to client db file scattered read db file sequential read SQL*Net message from client
Times Max. Wait Total Waited Waited -------------------- -----------------------2 0.00 0.00 14425 0.22 195.87 13 0.01 0.06 2 0.00 0.00
an employees table and you hashpartition it into 16 partitions by EMPNO. Further suppose you have an index on last_name and you only locally partition that index on last_name. Now, when you query select * from employees where last_name=:x
you will do 16 index range scans—16 times the work! In this case, you would have wanted to do one of the following: ■ Not partition that index at all. The size of the index in a single partition was fine with you. ■ Partition that index by range. For example, A–K go into one partition and L–Z go into another. Use whatever ranges make sense for your data. ■ Hash-partition it. This presumes that you always use equality in your searches, because hash-partitioned indexes are not suitable for LIKE and <, > searches. To gain an understanding of partitioning, you will want to review the
Oracle Database Data Warehousing Guide 11g Release 1, especially chapter 5 (download.oracle.com/docs/cd/ B28359_01/server.111/b28313/parpart .htm#i1007993). Also, in my book Expert Oracle Database Architecture, I discuss all of this in some detail, including why you want to know why you are partitioning, how to approach partitioning, and what not to do. Using TKPROF How can I use TKPROF to find problematic queries? The only point I know is that when elapsed time is longer, it means that the query spent more time waiting for something. But I am not sure how to use TKPROF for query tuning.
First, you use TKPROF in general to identify queries in your application that consume “lots of resources,” including CPU time, elapsed time, and so on. Suppose you do this (enable tracing in your application and then run bits of your application): SQL> begin 2 dbms_monitor.session_trace_enable
TKPROF will produce a report that looks much like the content of Listing 2. Now we have a bunch of facts: ■ The query took a long time—about four and a half minutes. ■ We did a lot of physical I/O. ■ We did a lot of logical I/O. ■ We used about 100 CPU seconds. ■ The query took about 262 seconds of elapsed time but only 99 seconds of CPU time, so we waited lots of seconds for something. ■ We waited for DB file scattered read for a long time—this was the read of a full scan. ■ We did a full scan on a huge table. ■ We can see our query. ■ We have the plan that was used. Now, what can we do with these facts? We can use our knowledge of the data and how Oracle Database works to “tune.” What are some obvious things to think about there? Well, we see that the query result returned about 688,256 rows out of 128,000,000. That in itself gives us another fact or two: ■ We needed a very small subset of rows from this table to answer this query. ■ The table’s high-water mark is probably OK. Given that we read 1.8 million blocks and processed 128 million rows, we must have about 70 rows per block, so the table seems to be well packed. So, shrinking or reorganizing the table isn’t going to do anything. These facts make it possible to rule things out. That is as useful as using facts to rule something in. OK, so what are some possible “tuning” options? 1. Make the full scan faster, maybe by
oracle magazine
ND08_ASKTOM.indd 71
november/december 20 08
71
10/8/08 2:08:39 PM
ask tom
codeLIstING 3:
I want to know if there is a simple way to find out which queries use the index, because I want to re-create the index with fewer columns, but I do not want to degrade the performance of the queries.
TKPROF report, second run
select count(subobject_name) from big_table.big_table call count ----------------- ------------Parse 1 Execute 1 Fetch 2 ----------------- ------------total 4
cpu --------0.00 0.00 0.28 --------0.28
elapsed ----------------0.04 0.00 0.52 -----------------0.56
disk ----------0 0 3342 ----------3342
query -----------0 0 3355 -----------3355
current ---------------0 0 0 ---------------0
rows ---------0 0 1 ----------1
Misses in library cache during parse: 1 Optimizer mode: ALL_ROWS Parsing user id: 344 Rows -----------------1 688256
Row Source Operation -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------SORT AGGREGATE (cr=3355 pr=3342 pw=0 time=520528 us) INDEX FAST FULL SCAN BIG_TABLE_SO_IDX (cr=3355 pr=3342 pw=0 time=730570 us) (object id 161278)
Elapsed times include waiting on following events: Event waited on Times ----------------------------------------------------------------------------------- Waited SQL*Net message to client 2 db file scattered read 42 SQL*Net message from client 2
Max. Wait Total Waited ------------------------ ----------------------------0.00 0.00 0.01 0.27 0.00 0.00
compressing the table. 2. Because we need only about 0.54 percent of the table’s rows to answer our query (count the non-null occurrences of subobject_name), maybe indexing would improve query performance. Let’s try option 2 first, because it will have the least impact. SQL> create index big_table_so_idx on big_table(subobject_name); Index created.
After we do that and rerun the query, TKPROF shows the report in Listing 3. Now in real life, it’ll be more complicated than this, of course. You’ll have a multitable query to deal with and complex data relationships. To tune that query, you either ■ Submit the query to a tool (such as the tuning/performance pack of Oracle Enterprise Manager) and let the tool process it. It will apply the rules and tell you which indexes, materialized views, query rewrites, and—in Oracle Database 11g—partitioning schemes would be useful for that query.
72
November/december 20 08
ND08_ASKTOM.indd 72
Use the facts you can derive from TKPROF and other sources and apply your knowledge of the data, the data patterns, and Oracle Database— including the indexes it has to offer, the schema structures (clusters, indexorganized tables, heap tables, partitioning, and so on) it has to offer, and the SQL it supports (because you can rewrite a query more efficiently in many cases). So when you use TKPROF for query tuning, you are getting half of what you need—the facts. The other half is all about you and your knowledge of the database. If you don’t have or don’t want to have that other half, you’ll be using tools such as the performance pack in Oracle Enterprise Manager.
■
NoNselective columNs iN aN iNdex My company runs a third-party application on Oracle Database 10g Release 2 (10.2.0.2). A developer created a huge index, with seven columns, on a huge table, some time ago. Analyzing the usefulness of the index, I found out that it would be much better if the index had only two columns (because the other five are not selective).
As for the question about how to find out which queries use an index, you can query V$SQL_PLAN to see which queries that are in the shared pool right now (that last bit is important—to see which queries that are in the shared pool right now) use that index. But more importantly, you wrote, “. . . the other five [columns] are not selective. . . .” That fact has nothing to do with whether they are useful or not. I don’t care if they are constant or have two distinct values—that they are not selective has nothing to do with whether they should be in the index. Selectivity has nothing to do, really, with whether a column should be indexed. The questions you ask and the data patterns dictate what columns make sense in an index. The online version of this column, at otn.oracle.com/oramag/oracle/08-nov/ o68asktom.html, includes a demonstration on selecting the best columns for an index for a given query. ■ Tom Kyte is a database evangelist in Oracle’s Server Technology division and has worked for Oracle since 1993. He is the author of Expert Oracle Database Architecture: 9i and 10g Programming Techniques and Solutions (Apress, 2005) and Effective Oracle by Design (Oracle Press, 2003), among others.
nextstEPs ask tom
Tom Kyte answers your most difficult technology questions. Highlights from that forum appear in this column. asktom.oracle.com
REaD online-only column content otn.oracle.com/oramag/oracle/08-nov/ o68asktom.html
REaD more about oracle Database 11g otn.oracle.com/products/database/oracle11g
REaD more tom Expert Oracle Database Architecture: 9i and 10g Programming Techniques and Solutions amazon.com/exec/obidos/tg/detail/-/1590595300/
DoWNLoaD oracle Database 11g otn.oracle.com/software/products/database
oracle.com/oraclemagazine
10/8/08 2:09:01 PM
c o m m e n t IN THE FIELD
by Ia n abramso n
Integration: It’s Coming Together Mergers, acquisitions, and growth present opportunities for user groups. ergers and acquisitions are very complicated proceedings, entailing the integration of organizations, processes, data, and personnel. Even organic corporate growth has integration pitfalls. Some organizations acquire—or even develop—multiple business units or systems that do not communicate with each other. These units may first have been run as independent businesses, and they continue to operate as if that were still true. integration improves business
But not integrating more closely is a serious mistake. In the integrated world, business processes become more efficient, complexity is reduced, and activities are streamlined. Such process enhancements have the direct benefits of saving time and reducing costs. Moreover, data integration—and the comprehensive business intelligence it offers—provides organizations with a more complete vision of themselves and allows those same organizations to market to their customers by crossselling products and services across previously untapped avenues. For example, using business integration and analysis allows some communications organizations to market internet services to current magazine or cell phone subscribers. Leveraging integrated data, these companies can then determine the best offers to entice their customers with additional products, ultimately increasing revenues and providing more-complete services. In today’s fiercely competitive business environment, getting the business and technology integration done right is more important than ever—whether new business units are created or acquired.
Consider Oracle. By my count, in the past 44 months, Oracle has acquired more than 44 companies. In 2005, Oracle acquired 13 companies, including PeopleSoft. In 2006, there were 13 more acquisitions, of which Siebel and Stellent probably got the most press coverage. The 2007 acquisitions embraced another 11 companies, including Hyperion. So far, 2008 has seen at least 7 acquisition announcements already, including BEA. The results of the acquisitions, and the integration of their products and technologies, enhance the overall Oracle product stack. Because of these acquisitions, Oracle user groups also need to integrate— in this case, the user communities. Integrating new and existing communities combines existing cultures as well as technologies and can be challenging. user groups thrive
Even so, the Oracle user communities continue to thrive and grow— Oracle’s new acquisitions mean that more people need a place where they can learn about Oracle within a network of similarly minded professionals, and the user communities provide that place. For example, the Independent Oracle Users Group (IOUG) was successful in integrating the Stellent content management user group— which is now IOUG’s Stellent special interest group (SIG). This group had previously existed only as part of a Stellent-run event and infrastructure, but as part of the IOUG, the Stellent SIG has an environment that will encourage its users to grow and will provide them with a complete technical experience. Just as Oracle has been integrating
Stellent products and making them an important and valuable component of Oracle Fusion Middleware, the Stellent SIG is benefiting from its integration with the IOUG. The IOUG is now building on this success to integrate the growing Oracle Essbase (formerly Hyperion Essbase) and BEA communities as well. The IOUG has welcomed Oracle Essbase users and established the Essbase SIG and now welcomes BEA users to the general membership. These communities can now be part of the larger Oracle community but still retain their own identity and focus. Integration is a reality that we all need to embrace to ensure that we continue to grow and maintain our leadership roles for tomorrow. Of course, integration does not come without cost. Organizations need to invest time and money in any integration effort to enjoy substantial returns. The effort might be huge—but it’s worth it. ■ Ian Abramson (
[email protected]) lives in Toronto and is president of the IOUG.
nextSTEPS JoIN the IoUG ioug.org
DISCoVER the IoUG Stellent SIG www.ioug.org/networking/stellent.cfm
the IoUG Essbase SIG www.ioug.org/networking/essbase.cfm
READ more about oracle Content Management oracle.com/products/middleware/contentmanagement
VISIT the oracle Users Group Center otn.oracle.com/community/user_groups
LEARN about oracle acquisitions oracle.com/corporate/acquisition.html
oracle magazine
ND08_InTheField.indd 73
november/december 20 08
73
10/6/08 2:52:35 PM
8 x 10.875
Discover theNew
OracleWhitePapers.com
Your Source for Oracle and Oracle Partner White Papers
Copyright © 2008, Oracle Corporation and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
omag0508p024.indd 1
3/19/08 11:08:23 AM
c o m m e n t ALL Secure
bY m a rY a n n davi dso n
Need to Know
Getting better information is important, but some secrets are not for sharing. well-known term in many security communities is need to know: the idea that unless there is a compelling reason for someone to have access to information, that person shouldn’t have it. These days, need to know is almost an archaic concept. Having decided post-9/11 that the risk of not sharing data outweighs the risk of sharing it, even the U.S. government is embracing need to share. Web 2.0 is all about massive information sharing: the premise is that if we give up private enclaves of data, we will be collectively smarter and more productive. At the risk of being called reactionary, I think need to know is still important, because highly sensitive information often has an element of time during which secrecy is vital. You don’t want your enemies to know your war plans until after the attack, or your competitors to know your product plans until after the launch. All things being equal, the more people who know something that is time-sensitive and not merely sensitive, the greater the chances that the data will leak, to the detriment of all concerned. “Loose lips sink ships,” to quote old World War II posters. It’s hard to explain need to know to people who aren’t familiar with it, because almost everyone wants to be in the know or an A-lister. Generally, need to know can be determined only by the person who holds the information, not by the people who don’t hold it but might think they should. When a test is done properly, the people who don’t have a need to know will never know that they were the object of a need-toknow test and that they failed. In the larger information security community, almost all attempts at selective information sharing about nonpublic security vulnerabilities have
failed. Somebody, somewhere, leaks the information before mitigation or a fix is available, and we all suffer. (An example of a relative success was the recent multivendor cooperation to fix a domain name system vulnerability. Multiple affected vendors implemented correct, compatible-with-others fixes and released them at the same time.) TecHNOLOGY AND NeeD TO KNOW
Oracle, as an organization, enforces need to know by using our own technology. Within Oracle we use Oracle Virtual Private Database functionality to limit access to security bugs in the bug database (the database we use to record and manage vulnerabilities in Oracle products). Oracle Virtual Private Database enforces the rule that people working on security bug fixes can see bug details for the issues they are working on but that the larger developer community cannot. We allow parts of the management chain to see these bugs, to ensure that they receive the attention they deserve—in open bug reports for particular products, for example. And although we allow customers to access the bug database, security bugs are not published (accessible), to prevent someone without a need to know from reading details on unfixed security bugs. I personally have opted out of needing to know detailed information about security vulnerabilities. Although my security vulnerability handling team needs to know security bug details such as the severity of the bug or the correctness of a fix to analyze it, I don’t. Therefore, I don’t have access to security bug details, even though I am in the management chain of the vulnerability handlers. (I think enforcing need to know on myself sets a positive leadership example.) Oracle Virtual Private Database helps
us protect customers, by allowing the people who need access to bug details to get them so they can fix the bugs, while minimizing the chances that information about unpublished security bugs will leak to the larger community. Oracle Label Security also transparently enforces need to know on data to users, based on a composite label. Transparently means not only that the users don’t necessarily know the data labeling scheme but also that they may not be aware that they failed the needto-know test. Telling users, “You need a secret clearance to access this data” foolishly conveys that there is information they have asked to see but cannot, thus encouraging fishing expeditions. Merely failing to return data enforces true need to know, by not revealing that data exists to those users who can’t see it. Data sharing may be the wave of the Web 2.0 future, but need to know is nonetheless a critical weapon in the information security arsenal. Loose lips still do sink ships. ■ Mary Ann Davidson is the chief security officer of Oracle, responsible for secure development practices, security evaluations, and assessments. She represents Oracle on the board of directors of the Information Technology Information Security Analysis Center (IT-ISAC), has served on the U.S. Defense Science Board, and is on the editorial review board of SC Magazine.
nextSTePS LeArN more about Oracle Virtual Private Database oracle.com/database/security.html
Oracle Label Security oracle.com/database/label-security.html
reAD more Davidson blogs.oracle.com/maryanndavidson
DIScuSS Security forums.oracle.com/forums/forum.jspa?forumiD=51
oracle magazine
ND08_ALLSECURE.indd 75
november/december 20 08
75
10/3/08 12:28:20 PM
c o m m e n t ANALYST’S CORNER
BY davi d Baum
Application Server Convergence Customers gain new capabilities from the combination of Oracle and BEA technologies. racle Magazine spoke with Tony Baer, a senior analyst with Ovum, about how Oracle’s recent acquisition of BEA Systems will benefit customers from both companies. Oracle Magazine: What is an application server, and what are companies looking for from this type of technology? Baer: The application server is the basic building block upon which you implement common middleware services. It is kind of like an operating system in that it’s a means to an end rather than an end in itself. An application server takes over functions that used to be managed individually by database and application silos, such as transaction management; portal integration; security; and, in some cases, identity management and performance management. It would be redundant to maintain these separately for each application. Today’s customers want a standards-based platform on which to deploy their applications. Oracle Magazine: What was the origin of this technology platform? Baer: The genesis of today’s application servers was the rise of Java and especially J2EE [Java 2 Platform, Enterprise Edition]. This provided an accessible standard that achieved broad acceptance as a set of independent services, along with a language that enabled these services. This type of standardization changed the whole landscape of IT and positioned application servers to play a critical role. It made it easier to integrate, say, an SAP application with a Siebel application, since many of those services are handled for you and defined in a standard way. Oracle Magazine: How do the Oracle Fusion Middleware and Oracle WebLogic [formerly BEA WebLogic] application server platforms fit together? Baer: Even though these application server
76
novemBer/decemBer 20 08
ND08_Analyst.indd 76
platforms have some overlapping technologies, they also have a lot of complementary ones, which will help Oracle fill out its middleware stack. For example, Oracle has SQL-based event processing technology, while BEA used event streaming. Another thing that BEA brought to the table was its “blended strategy,” which combined official Java Community Process standards with open source frameworks. One of the things that BEA lacked was a mature implementation of the Java Persistence Architecture, which Oracle has adopted and refined. BEA customers will also gain better master data management and better infrastructure management, thanks to Oracle Enterprise Manager. Oracle Magazine: What else can Oracle customers look forward to as a result of this acquisition? Baer: Oracle Enterprise Repository [formerly BEA AquaLogic Enterprise Repository] fills out Oracle’s SOA [service-oriented architecture] strategy. This repository stores metadata, which becomes useful during deployment. For example, if you have a performance problem, you can check to see whether it’s correlated with any issue that had been isolated during the QA process. Oracle Enterprise Repository is an important addition to the Oracle Fusion Middleware stack. Oracle also gained capabilities for business process management [BPM]. Oracle has a top-down approach to modeling at an enterprise level. BEA acquired a technology several years back from Fuego, which is more of a departmental BPM solution suitable for individual lines of business and work groups. This means Oracle customers now have two paths to BPM, both of which use Oracle’s implementation of the BPEL standard. Finally, BEA’s IDE stack adds an
alternative development path to Oracle’s JDeveloper strategy. Oracle is an active member of the Eclipse Foundation, but Oracle JDeveloper is not an Eclipse IDE. With the BEA acquisition, Oracle now has a full Eclipse-based IDE available to customers through the Oracle Fusion Middleware stack. Oracle Magazine: What does the future hold for this development area? Baer: I think that OSGi technology, which is a service-oriented, component-based environment that offers standardized ways to manage the software lifecycle, will transform this market. OSGi began, interestingly enough, as a way to automate electronic systems for the home. While that concept didn’t take off, it yielded a lightweight component architecture designed for hot deployment. Oracle will be carrying this concept forward. For instance, if you’re just serving documents and don’t need transaction management, you can dispense with those extra components. OSGi will allow companies to build very specific servers for very specific purposes. ■ David Baum (
[email protected]) is a freelance business writer based in Santa Barbara, California. Ovum (www.ovum.com) provides advisory services and consulting to its clients about the commercial impact of technology, regulatory, and market changes.
nextSTEPS READ about Oracle WebLogic application server products oracle.com/appserver
LISTEN to Oracle Fusion Middleware Radio oracle.com/products/middleware/ofmradio.html
DOWNLOAD Oracle WebLogic Server otn.oracle.com/software/products/ias/htdocs/ wls_main.html
oracle.com/oraclemagazine
10/8/08 2:07:01 PM
1
#
Middleware #1 in Application Servers #1 in Service Oriented Architecture #1 in Application Infrastructure Suites #1 in Enterprise Performance Management
oracle.com/middleware or call 1.800.ORACLE.1
Copyright © 2008, Oracle. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Template
A Standard
PUBLICATION NOTES: Job No.: 002143 File Name: MdW_1MdW_BEA_2143 Product: Middleware Headline: #1 Middleware Date: Mon, Aug. 25, 2008 1:30 PM Pub: TBD Traffic: Agency Library Ref.: 002143
Live: Trim: Bleed: Color: Production:
DATE
PUB NOTES
Mgr.
8/25/08
Traffic Mgr.
8/25/08
Please use center marks to align page.
Proofing
8/25/08
Graphic Mgr.
8/25/08
Production
8/25/08
APPROVALS
7" x 9.75" 7.875" x 10.5" 8.625" x 11.25" 4C
Fonts:
Univers LT Std. 75 Blk, 65 Bold, 55 Roman/Oblique, 45 Light Univers LT Std. 47 Light Condensed
BY
READER
01 Released
8/25 2008
TEMPLATE PRODUCTION NOTES: PRODUCT: MDW PUBlication: TBD
Exceptions to Graphic Guidelines Eyebrow
Gray Lines
Headline
Sub-Head
Body Copy
Oracle Bar
URL/Phone
Add. Logos
S Placement
NA
x
x
NA
NA
x
x
x
NS Placement
NA
NA
NA
S Size
NA
NA
NA
x
x
x
NS Size
NA
NA
NA
S = Standard Treatment
x
x
NS = Non-Standard Treatment
PRODUCTION NOTES
NA = Not Applicable
Please examine these publication materials carefully. Any questions regarding the materials, please contact Jodi Cordova (650) 506-5482 or
[email protected].