Вы находитесь на странице: 1из 92

JU LY/AUGUST 200 6

O RACLE.COM/ORAC LE M AGAZIN E

Oracle Enterprise Manager


Brings Order to Your Grid

GROWING RETAIL
BUSINESSES /44
ID MANAGEMENT
OPENS DOORS /49
ARCHIVING
XML /73
07
2005 Fujitsu Limited. All rights reserved. Fujitsu, the Fujitsu logo, PRIMEQUEST and TRIOLE are registered trademarks or trademarks of Fujitsu Limited in the
United States and other countries. All designations used in this document may be trademarks, the use of which by third parties for their own purposes could

Combining dynamism with


violate the rights of the trademark owners. Changes in design and technology are reserved.

Twice the value with TRIOLE strategy and PRIMEQUEST servers

Successful business processes are adaptable by nature, which is why they are always rooted in dynamic
IT infrastructures. Our TRIOLE strategy leverages the latest virtualization, integration and automation
technologies for maximum flexibility and efficiency. Combine this with our fault-immune PRIMEQUEST
server supporting both Windows and Linux and you have a winning combination: a dynamic infrastructure
ideal for mission critical levels of high availability, scalability and business continuity.

Inject more dynamism into your IT infrastructure. Provide rock-solid stability to your mission critical
enterprise applications.

www.fujitsu.com www.fujitsu-siemens.com
www.prodesign.de
h stability.
Thats our responsibility.
CONTENTS VOLU M E XX, I SSUE 4

F EATUR ES

BREWING
Good Business

GET Green Mountain Coffee

 CONTROL
Roasters used a
complementary blend of
Oracles PeopleSoft products
to manage their operations.
Complex enterprise grid
Then they watched their revenues take off.
environments require tools
that can manage both the
Michael Miley
/41
system and the bottom line.
Read how customers have ORACLE HELPS

adopted enterprise grid RETAIL BUSINESSES


technology, improved GROW
service quality, and
Detail-driven retailers are
contained management
carving out competitive
costs with Oracle
advantages by focusing on
Enterprise Manager.
customer dataand Oracle

/44
David Baum
makes it happen. Alan Joch

/32 ACCESS

GRANTED
Cover: I-hua Chen

A PREVIEW OF ORACLES Identity management has become


BIGGEST CUSTOMER EVENT YET critical for organizations as IT
Get the scoop on Oracle OpenWorld systems become more complex.
2006, including keynotes, programs Find out how Oracle can help
for DBAs and developers, technology companies increase productivity,

/13
presentations, and more. manage access, lower
administrative costs, and
achieve regulatory compliance.

DE PAR T M E NTS
David Kelly, with David Baum /49
From Our Readers / 9
Readers tell us what they think.
From the Editor / 11
14 AT OR AC LE
Events / 14
OTN Community Bulletin / 20
Learn whats happening with Oracles most
Collaboration travels. dynamic online community.
Find out about upcoming
Tom Haunert
conferences and training. Oracle News Briefs / 23
Oracle Resources / 19 Oracle News / 25
Heres your guide to Oracles Oracle Business Intelligence Suite combines
broadband, education, and Oracles business intelligence middleware
online offerings, plus whats with Oracles Siebel Business Analytics.
new at Oracle.
ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 3
26 CH A NNEL S
Partner News / 26

69
Sun Microsystems, Novell, Kashya,
Fiserv Customer Centered Solutions,
i-flex solutions, Neusoft, Siemens VDO, TEC HNOLOGY
BearingPoint, IBM
S QL
Book Beat / 26
Build Custom Aggregate Functions / 69
Peer-to-Peer / 29 Summarize data in new ways by writing your own aggregate
Mikhail Seliverstov, Lewis Cunningham, functions. Jonathan Gennick
Laurent Schneider
Cutting Edge / 31 X ML
Better bifocals, bigger flash drives, and Archiving Data Using XML / 73
open source PBX
Build a powerful, flexible data archive. Arup Nanda

AS K TOM
On Speeding, Dating, and Spelling / 77
Our technologist finds the OS, makes things appear faster,
dates clients, and spells out numbers. Tom Kyte

INS IDE OC P
Managing Certificates / 81
Questions and answers on managing and using certificates
and wallets Aradhana Puri

55 D EVEL O PER
F RA MEWO RKS
A New Face on the Block / 55
Oracle ADF offers new JSF support and enhanced, visual,
declarative development. Steve Muench
84 R ES OUR C ES
Oracle Certified Advantage Partner
Index / 84
O D P.NET
Advertisers Index / 86
Improve ODP.NET Performance / 59

87
Take advantage of connection pooling, fetch size controls,
and statement caching. Mark A. Williams
C OMMENT
B RO WSER-B A SED
IN THE FIELD
Single-Step Deployment / 63
XML in Databases / 87
Oracle Application Express deploys an application with a
XMLs usefulness multiplies with proper handling.
single file. Raj Mattamal
Ari Kaplan

PL / SQ L PRA CTI CES


ANALY S T S C OR NER
On Conditional Compilation / 65
Evolving Grid Management / 88
Apply best practices to PL/SQL conditional compilation.
Increased complexity has led to more-intelligent
Steven Feuerstein
and more-automated system tools.
David Baum

4 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
When information
comes together,
Toyota can build a
faster car in two weeks.

Information lives at Toyota Motorsport. With the help of EMC, they raced into Formula 1 contention. A combination of EMC software, services,
and systems enabled them to access performance-critical data faster and easier. So now the team can reengineer their car between races.
Manage information at 240-plus miles per hour. And continuously improve their car and their results. Learn how EMC can help you turn your
information into a competitive advantage. Visit www.EMC.com/ilm.

2
EMC, EMC, and where information lives are registered trademarks of EMC Corporation. All other trademarks used herein are the property of their respective owners. 2006 EMC Corporation. All rights reserved.
ED ITOR IA L

Editor in Chief Tom Haunert tom.haunert@oracle.com


Senior Managing Editor Caroline Kvitka caroline.kvitka@oracle.com
Features Editor Kay Keppler kay.keppler@oracle.com
Contributing Editor and Writer Blair Campbell
Editor in Chief, OTN Justin Kestelyn justin.kestelyn@oracle.com
Technology Advisors Tom Kyte, Christopher Beck
Contributing Writers Marta Bright, Liz Campbell, Ed DeJesus, Jeff Erickson, Andre Kvitka,
Aaron Lazenby, Fred Sandsmark, Rich Schwerin

D ES IGN
Senior Creative Director Susan Olsen
Design Director Richard Merchn

PUBLISH ING
Publisher Jeff Spicer jeff.spicer@oracle.com

A DV ERTISING SA LES
Associate Publisher Kyle Walkenhorst kyle@sprocketmedia.com +1.323.658.6250, Ext. 201
West & Central U.S., Technology Tom Cometa thomas.cometa@sbcglobal.net +1.650.506.5676
West U.S. Consumer Cheryl Murphy cheryl@sprocketmedia.com +1.818.817.0831
MidAtlantic U.S., Technology & Consumer Dawn Becker and Lisa Rinaldo dbeck71@optonline.net +1.732.772.0160
Northeast U.S./Canada, Technology & Consumer Ann and David Schissler schissler@comcast.net +1.508.394.4026
Southeast U.S., Technology & Consumer Doug Lewis doug@jordangareth.com +1.770.333.1281
Europe/Middle East/Africa/Asia Pacific, Technology Mark Makinney mark.makinney@oracle.com +44 0 1273 774341
Mailing-List Rentals Edith Roman Associates +1.800.223.2194, Ext. 684

P ROD UCTION & OPERATIONS


Circulation Director Jennifer Armstrong jennifer.armstrong@oracle.com
Sales and Production Director Jennifer Hamilton jennifer.hamilton@oracle.com +1.650.506.3794

ED ITOR IA L BOA R D
Ian Abramson, Jeff Bernknopf, Karen Cannell, Andrew Clarke, Chris Claterbos, Karthika Devi, Kimberly Floss, Kent Graziano,
Taqi Hasan, Tony Jambu, Tony Jedlinski, Ari Kaplan, Val Kavi, Steve Lemme, Carol McGury, Sumit Sengupta,
Danisment Gazi Unal, Jonathan Vincenzo, Dan Vlamis, Billy Yu

S U B S C R I P T I O N INF ORMAT ION RES OURCES


Subscriptions are complimentary for qualified individuals who complete the subscription card found in each Oracle Products
issue or online at oracle.com/oraclemagazine. For change of address, mail in label with the new address to +1.800.367.8674 (U.S./Canada)
Oracle Magazine, P.O. Box 1263, Skokie, IL 60076-8263. Oracle Services
+1.888.283.0591
MAG A Z I N E C U STOME R SE RVICE Oracle Press Books
oracle@halldata.com, fax +1.847.763.9638, phone +1.847.763.9635 Lee Ann Bezazian
leeann_bezazian@mcgraw-hill.com
P R I VACY
Printed by Brown Printing
Oracle Publishing allows sharing of our mailing list with selected third parties. If you prefer that your mailing Prepress by Tulip Graphics
address or e-mail address not be included in this program, contact Customer Service at oracle@halldata.com.

Copyright 2006, Oracle All Rights Reserved. No part of this publication may be reprinted or otherwise
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.
Oracle, JD Edwards, and PeopleSoft are registered trademarks of Oracle Corporation and/or its affiliates. Other
names may be trademarks of their respective owners. For a full listing of Oracle trademarks and registered
trademarks, consult Oracles Web site at oracle.com or send a request to trademar_us@oracle.com. All other
product and service names mentioned may be trademarks of their respective owners.

6 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
i Demand More...
innovation.

USi. Strategic. Experienced.


The most experienced, successful Application Service Provider in
the marketplace, USi is also the largest independent provider for
managed and professional services for the complete Oracle
Application Lifecycle. USi understands enterprises demand more
performance, reliability and functionality from their applications. At
USi, we know better than anyone how to deliver on these demands.

Trust USi for your Enterprise Resource Planning and eBusiness


needs. Scores of organizations in the Fortune 1000 already do.

Demand USi.

Enterprise Applications Supported Services


Oracle Applications Application Outsourcing
Oracle Database Remote Application Management
Oracle Middleware HR Business Process Outsourcing
Oracle Enterprise Management Professional Services
PeopleSoft Enterprise Custom Hosting & Development
Siebel ISV Enablement
Ariba Information Security/Risk Management

800.809.3003
sales@usi.net
www.usi.net
f r o m o u r READERS

Your corrections, your opinions, and your requests:


Heres your forum for telling us whats right and
wrong in each issue of Oracle Magazine, and for
letting us know what you want to read.

BEGINNING WITH BEGINNERS interest in database management. BACK UP ON BACKING UP


I regularly receive Oracle Magazine. Im Recently I switched to Oracle JDeveloper I want to request that you include an
a beginner, and I want to learn how as my IDE, and I have since been in-depth article on backing up an Oracle
to make use of Oracle Database, but I considering using Oracle Database to databaseand in a manner that a begin-
cant find a vivid tutorial for beginners manage my data. Oracle Database 10g ner can understand. Could you please
in the magazine. I suggest you create Express Edition came just in timeit cover situations like copying a database
a space in Oracle Magazine that offers appears as if Oracle knew what my from one computer to another when
beginners more insight on how to start needs were. the computers are not connected? This
using the database. Who says Oracle doesnt support process involves complex steps that only
newbies? a database administrator can do.
Yomi Johnson Oyeyemi
skynetscom@yahoo.com Kenny Osanaiye Rohit Prakash
ken_bellars@yahoo.co.uk rohitprakash123@indiatimes.com
I really appreciate Oracle Magazine.
However, Im new to Oracle, so Id like RULES AND EXPRESSIONS PL/SQL, PLEASE
you to add a section to the magazine for Im a regular reader of Oracle Magazine, Id like to recommend an Oracle
beginners like me. and Im interested in exploring two Magazine section providing PL/SQL case
new features in Oracle Database 10g: studies. One case study could cover how
Mohd Said Rules Manager and Expression Filter. I to implement transactions in PL/SQL, a
moh708@yahoo.com havent come across any books (with the second could cover using the procedures
exception of the manual) or articles on in the SYS.DBMS_DEBUG package, and
STILL ON ORACLE9i this topic on Oracle Technology Network a third could cover effective comment
Ive been an Oracle Magazine subscriber or in Oracle Magazine. style in PL/SQL objects.
for the past two years, and it gives me Publishing articles on this topic
great pleasure to say that I have never would be greatly appreciated. Tarun Garg
once missed an issue. You guys are right tarun.akg@gmail.com
on the money! Zahir Mohideen
However, as a PL/SQL developer and mfzahir@gmail.com CORRECTION
database administrator, I would like to We regret misspelling the name of Oracle
see two to three articles on Oracle9i For more information on these features, Certified Advantage Partner IT&C (incor-
Database, because in India we are still consider using Oracles new search rectly listed as T&C) in our May/June 2006
using Oracle9i and are likely to continue product, Oracle Secure Enterprise Search issue. The error has been corrected (see
using it for some time to come. Starting 10g (see Oracle Briefs, page 23, and Certified Advantage Partner Index, page
with a couple of technical articles on OTN Community Bulletin, page 20). 84). The Editors
Oracle9i would be an immense help. You can use Oracle Secure Enterprise
Search to search for two Oracle white
Jalpan Pota papersOracle Database 10g: Handling
send mail to the EDITOR
Send your opinions about what you read in Oracle
jalpan_pota@rediffmail.com Application Events with Rules Manager
Magazine, and suggestions for possible technical
and Oracle Database 10g Expression articles, to opubedit_us@oracle.com.
JOYFUL SURPRISE Filter Overview. In addition, you can read Or click on the Write the Editors link on our Web
I wish to express my joy over the release Jonathan Gennicks May/June 2005 Oracle site, oracle.com/oraclemagazine.
of Oracles free starter database [Oracle Magazine article on Oracle Expression Letters may be edited for length and clarity and
may be published in any medium. We consider
Database 10g Express Edition]. Filter at oracle.com/technology/oramag/ any communications we receive publishable.
Im a Java developer with a special oracle/05-may/o35sql.html.

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 9
2006 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. TOAD-teaser-OracleMag_Q32006.

This Fall,

www.quest.com/toadnews
to be the first to know the news
Toad users: sign up for our special mailing list
Something BIG
And youll want to be a part of it.
is Coming for Toad Users
f r o m t h e EDITOR

Collaboration Travels
It isnt always easy, but collaboration is almost always worth the effort.
s a writer and editor, nothing Ive written or edited for supposed to be with us on the same cancelled flight to Nashville.
print has ever been a one-person job. Most content in And then he proposed the idea of driving to Nashville.
Oracle Magazine, for example, gets edited or proofed We all needed to be at the same meeting early Monday
by 6 to 10 people, and oftentimes an editor or proofer morning, and there was no time to reschedule. Driving was the
will ask for significant changes. While these changes may not be only way to make sure all of us made it on time.
welcome by the author at first, in most cases theyre appreciated It didnt seem to be a sensible idea at first, partly because I
by all by the end of the production cycle. had already been awake for 14 hours, but waiting in Chicago
Collaboration is a key part of processes at Oracle Magazine for up to two days for a flight didnt make much sense either.
and, of course, at Oracle. Product development at Oracle, for So after a lot of debate, we all drove to Nashville. The trip took
example, is a collaboration of thousands of people. The text, about eight hours, and we arrived at 3 a.m. Monday.
audio, and video content on Oracle.com, Oracle Technology We talked the whole driveabout work, and about other
Network (OTN), and Oracle Partner Network is the result of things. I needed to give a presentation on Monday, and I know
collaboration across Oracle employees, partners, customers, that the discussions on that drive improved my presentation.
industry experts, and more. Online forums demonstrate Another result of my Nashville drive was that I got about
collaboration, and events such as Oracle OpenWorld (OOW) three hours sleep that night and was exhausted for many days.
and Oracle users group meetings and conferences bring Oracle But driving was absolutely the best alternative for us as a group.
people, partners, and customers together in person.
GETTING HOME
GETTING TO COLLABORATE On the flight home from Nashville (yes, I flew), I sat next to an
I attended Collaborate 06 in Nashville, Tennessee, this past Oracle customer who had been at Collaborate 06. Several years
April. After attending many OOW conferences, this was my ago, his company had deployed an applications stack (that was
first time at a users group conference, and I enjoyed the later acquired by Oracle), and there was some consensus that it
experience of meeting with Oracle partners and customers was time to upgrade the stack. This customer was at Collaborate
face-to-face. 06 to get more information about the true costs and benefits of
The process of getting to Collaborate 06, however, was a bit the upgrade, and after the conference he was confident that the
more collaborative than I ever would have anticipated. upgrade was worthwhile based on the new technology.
By complete coincidence, I was on a Sunday flight to But the costs he talked about were harder to quantify. The
Chicago with two coworkers, and we were all booked on the previous application deployment had been difficult, and people
same connecting flight from Chicago to Nashville. But the at his company were not looking forward to another deployment
connecting flight was cancelled, and there were no seats on like the last one. This customer wanted information from people
any flights from Chicago to Nashville for the rest of the day. who had done the upgrade or knew what was involved to find
According to the first ticket agent we talked to, there were no out how the upgrade would affect his people. My understanding
seats to Nashville available until Tuesday, and the standby lists was that after getting information at Collaborate 06, he felt confi-
for flights to Nashville were quite long. dent that the benefits outweighed the costs of the upgrade.
As we waited for the first Nashville standby opportunity, we
met up with a fourth coworker. He had missed a flight and was LOOKING FORWARD
Im looking forward to OOW in San Francisco, October
2226, 2006. Its going to be the biggest OOW ever, I dont
need to fly, and my drive will be much shorter than it was
for Collaborate 06.
CHECK out
Oracle OpenWorld 2006 Ive sent this column out for review and input some excellent
oracle.com/openworld changes. Im now looking forward to collaborating on the next
Oracle Users Groups column and the next issue of Oracle Magazine.
oracle.com/technology/community/user_groups

OTN Discussion Fourms Tom Haunert, Editor in Chief


forums.oracle.com
tom.haunert@oracle.com

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 11
Anytime

Anywhere Real-time

Discover todays most exceptional Dashboard solution.

Driving Business Decisions

www.iDashboards.com

Dashboards Scorecards BPM / EPM Business Activity Monitoring Regulatory Compliance Six Sigma and More
Oracle OpenWorld Special Section

Scheduled Keynote Presenters


Monday, October 23
Charles Phillips
MORE INFORMATION. MORE INSPIRATION. MORE RESULTS.
President
Oracle October 2226, 2006 | Moscone Center | San Francisco
Oracle OpenWorld 2006 promises to be the biggest Oracle event everwith
Hector de J. Ruiz
Chairman of the Board more than 40,000 attendees, 1,400 sessions, and nearly 500 exhibitors.
and CEO Featuring informative workshops, keynote presentations, and practical training
AMD
for all solutions in the Oracle portfolio, Oracle OpenWorld is the premier event for
Michael Dell
Chairman of the Board the Oracle community. Get hands-on instruction from Oracle experts. Get access
Dell Inc. to hundreds of Oracle partners. Get connected to your peers and build your
business network. Get better results from your enterprise technology.
Tuesday, October 24 Oracle OpenWorld 2006 Highlights
John Wookey Technology-specific presentations: Whether you run Oracle Fusion Middleware, Oracles
Senior Vice President
Applications Siebel CRM, Oracles PeopleSoft HRMS, or Oracle Retail applications, Oracle OpenWorld has
Oracle sessions, training, demos, and presentations for all your Oracle solutions.
Oracle OpenWorld X-Treme: Join us for an intense program designed for database
Mark Hurd
CEO and President administrators and implementers. Attend X-Treme hands-on labs designed by Oracles
HP development team to gain in-depth technical insight into Oracle products.
Develop: Get the latest information on Oracles use of leading development technologies
John Chambers Java, .NET, XML, service-oriented architecture, scripting, and moreat this three-day
President and CEO program for developers.
Cisco Special JD Edwards Program: Attend conference sessions designed specifically for JD
Edwards World and JD Edwards EnterpriseOne customers.
Customer Appreciation Event: The legendary Sir Elton John will entertain attendees at the
Wednesday, October 25 biggest party in Oracle OpenWorld history.
Chuck Rozwat
Senior Vice President
MARQUEE
Oracle

Jonathan Schwartz
President and CEO DIAMOND PREMIER
Sun Microsystems

Larry Ellison
CEO GRANDE PLATINUM
Oracle

To learn more and to register go to: oracle.com/openworld


Preregister for the Full Conference: US$2,050 (August 19October 20) | On-site registration: $2,250
Register by August 18 and save an additional US$200.

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 13
a t O r a c l e EVENTS

Technology Events ORACLE USERS


GROUPS
Greater Cincinnati Oracle User Group
Conferences and training to help you stay on the cutting edge Meeting
July 19, Cincinnati, Ohio
www.gcoug.org
LinuxWorld Greater Richmond Oracle Users Group
Conference & Expo Meeting
August 1417, San Francisco July 19, Glen Allen, Virginia
Find world-class, comprehensive www.groug.org
(Group also meets August 16.)
educational and technical programming
on Linux and open source technology at Ohio Oracle Users Group Quarterly
LinuxWorld. Discover the latest stable, Meeting
deployable open source technologies; July 19, Columbus, Ohio
brainstorm on the deployment, www.ooug.org
integration, and extension of open
Packerland Local Users Group Meeting
source technologies; and explore the full
July 19, Green Lake, Wisconsin
range of products and services around
www.wi-plug.org/calendar.htm
Linux and open source solutions. Learn
more at www.linuxworldexpo.com. Puget Sound Oracle Users Group
Meeting
July 19, Seattle area, Washington
Oracle Technology Day The European Conference on www.psoug.org
July and August, various cities IT Management, Leadership, (Group also meets August 16.)
Attend Oracle Technology Day and learn how and Governance Sacramento Oracle Users Group
you can have a complete infrastructure for July 1213, Paris Meeting
service-oriented architecture (SOA)based Conference topics include the relation- July 19, West Sacramento, California
applications, using Oracle Database 10g, ship between leadership, management, www.sacoug.org
Oracle Fusion Middleware, and Oracle and bureaucracy; sustainable IT leadership; Indiana Oracle Users Group Meeting
Enterprise Manager software. For more infor- relationships between CIOs and CEOs; per- July 20, Indianapolis, Indiana
mation and to register, go to oracle.com/start formance measurement; best practices in www.inoug.org
and enter keyword: otdsoa. IT leadership; and justifying IT investments. Kansas City Oracle Users Group
Register at www.academic-conferences Quarterly Meeting
July 25, Overland Park, Kansas
The Campus of the Future: A .org/ecmlg/ecmlg2006/ecmlg06-home.htm.
www.kcoug.org
Meeting of the Minds
July 811, Honolulu, Hawaii Gartner IT Security Summit Northern California Oracle Users
Group Conference
The three leading higher education associa- July 1819, Sydney, Australia August 17, San Ramon, California
tionsthe Association of Higher Education Evaluate emerging technologies and future www.nocoug.org
Facilities Officers, the National Association trends in information security, and learn about
Upstate New York Oracle Users Group
of College and University Business Officers, disaster recovery and business continuity plan- Quarterly Meeting
and the Society for College and University ning from peers and vendors at this conference. August 18, Rochester, New York
Planningmeet to explore the trends, chal- Learn more at www.gartner.com/2_events/ www.unyoug.org
lenges, and advancements anticipated for the conferences/sec2a.jsp. Rocky Mountain Oracle Users Group
Campus of the Future. Learn more at www Quarterly Educational Workshop
.campusofthefuture.org. Eighth Annual CIO 100 August 18, Denver, Colorado
www.rmoug.org
Symposium & Awards Ceremony
Hotsos Training Sessions August 2022, Coronado, California
July 1114, Dallas, Texas Leaders in the CIO community will explore how
July 1820, Atlanta, Georgia to develop, implement, and capitalize on innova- eventsLOCATOR
July 2428, Dallas, Texas tion in formal sessions, small discussion groups, Oracle Events
oracle.com/events
Hotsos presents training classes on and structured and unstructured networking
RON SELLERS

Optimizing Oracle SQL at these three-day opportunities. CIO 100 Awards will be pre- Locate user groups by using OTN
oracle.com/technology/community/
sessions. Learn more and sign up at www sented. To learn more or to register, visit www user_groups
.hotsos.com. .cio.com/conferences/home.html?ID=1143.

14 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
Special Advertising Section

True Gridhow fearless


innovation forges the way
in new computing frontiers
HP and AMD deliver superior the clincher: True grid computing can deliver performance
that rivals the fastest mainframes, with resilience no
industry-leading performance, mainframe can matchall using affordable, standards-
based servers and storage.
reliability, and affordability
HP and Oracle are collaborating to provide true grid
to support evolving Oracle grid computing solutions to businesses around the world.
computing environments. Together, we are leveraging the world-renowned
performance and reliability of HP ProLiant servers
You know the old saying: you can get it fast, good, and incorporating innovative AMD Opteron processors, in
cheappick one. In todays demanding business world, conjunction with Oracle Grid technologies, including
however, IT professionals dont have that choice. Oracle Database 10g and Oracle Real Application
Management expects everything yesterday, at lower cost Clusters (Oracle RAC). As a result, companies can use
than the day before that, and with higher quality than grid computing to achieve minimal business disruption,
ever. So what can you do? Its as though you need some and rapid return on investment. Whats more, when the
magical system that provides mainframe performance grid is built with AMD Opteron processor-based
and reliability at the price of a commodity PC. HP ProLiant servers, enterprises can maximize the
performance, quality, and economy of their grid
Well, there is no magical system. But there is grid computing.
environmentstoday and as they evolve for the future.
Grid computing pools IT resources into a virtualized
environment that can be carved up and served on-the-fly
to support rapidly changing business demands. Heres

Marquee Sponsor of this years Oracle OpenWorld.


Special Advertising Section

AMD Opteron processor-based The HP BladeSystem is particularly well suited to grid


environments, delivering a range of performance and
HP ProLiant serversthe ideal form factors, including higher processing density, with
scalability up to 192 processors in a 42U rack. Combined,
foundation for grid computing the HP BladeSystem and HP ProLiant server blades are
The ideal server platform for grid computing is one that
part of a wired-once, consolidated infrastructure comprised
offers high performance, extensive scalability, and
of servers, storage, power, and network resources. These
affordability. On all counts, its hard to beat HP ProLiant
modular resources can be easily provisioned or re-purposed
servers with AMD Opteron processors.

The HP ProLiant BL25p For one thing, HP ProLiant servers are proven. Over
HP ProLiant servers
server blade 10 million units have shipped to dateover 3.3 million
built on AMD Opteron
more than the nearest competitor.3 In fact, HP ProLiant
processors
held the top market share position in the x86 server
HP ProLiant DL585 server
market for nearly nine years.4 Clearly, customers
recognize quality and value when they see it. ProLiant CPU Form Max.
model Capacity Factor Memory
From ultra-dense server blades to a complete line of
affordable rack and tower servers, the HP ProLiant DL145 2 1U 16GB
platform continues to set the standard for reliability and DL385 2 2U 32GB
The HP ProLiant BL25p
value. And HP continues to work closely with AMD to
two-processor server blade, DL585 4 4U 128GB
engineered for enterprise handle greater workloads with increased value and
performance and scalability, flexibility for scale-out database applications. In addition, BL25p 2 96* 32GB
now features single-core and HP systems management software works seamlessly with BL35p 2 196* 16GB
dual-core AMD Opteron 200 Oracle software to simplify grid administration and optimize
series processors, SAN storage BL45p 4 96* 64GB
performance. For example, HP OpenView Operations is
capability, and 4GB NICs *indicates number of processors in a 42U rack
integrated with Oracle Enterprise Manager 10g Grid
standard. The BL25p server
blade also shares the same Control, providing a broad range of management
infrastructure components as all capabilities all based on a common view of management
to support changing business requirements. And with
other p-Class server blades. data. Its no wonder that Technology Business Report (TBR)
management built in to every component, server blades can
found HP customers to consistently rate manageability as
identify the location of all resources connected to the
a strength of HP ProLiant servers.5
intelligent infrastructure and facilitate advanced monitoring,
HP offers a full line of AMD Opteron processor-based control, and change.
HP ProLiant DL servers that are flexible and easy to
With their outstanding scalability and extensive memory
manage, making them ideal for multi-server deployments
capacity, AMD Opteron processor-based HP ProLiant
in rack and cluster configurations. In addition, the
servers and server blades offer ideal flexibility, performance,
modular HP BladeSystem with HP ProLiant BL server
and economy for a wide range of Oracle environments.
blades provides the ultimate in integrated, high-performance
capabilities for grid environments, with the AMD Opteron
processor providing power management capabilities to 3
Source: HP internal shipment reporting and IDCs. Worldwide Quarterly
keep infrastructure costs under control. As shown in the Server Tracker, May 2005.

TPC-H benchmark cited above, HP ProLiant server blades


4
IDC Worldwide Quarterly Server Tracker, May 2005, combining
historical HP and Compaq results before the merger.
built on AMD Opteron processors and running Linux
can achieve record-setting performance results.
5
TBR Corporate IT Buying Behavior & Customer Satisfaction Study:
Intel-Based Servers; First Quarter 2005, May 3, 2005.
Special Advertising Section

The choice of platform for this environment is critical.


Servers must scale with virtually no limit and be able
to support large database implementations. They must
deliver the performance to meet enterprise-wide
business demands. They must fit into the data center
environment in terms of power usage and cooling
requirements. And they must be affordable as well as
easy to manage.

HP and AMD set


Oracle 10g with HP ProLiant servers built on AMD Opteron
processors not only meets these requirements, but exceeds
them. In fact, two recent TPC-H benchmarks placed HP
the standard for ProLiant at the top of the 300GB clustered performance
category. These benchmarks were performed using a cluster
grid performance of eight HP ProLiant BL25p server blades, each configured
with AMD Opteron processors and running Red Hat
Getting the most from a grid computing environment
Enterprise Linux ES 4 with Oracle Database 10g Real
depends largely on infrastructure components. One of
Application Clusters.
the fundamental design concepts of commercial grid
computing is using large numbers of industry-standard The first benchmark, conducted using the Single-Core
servers. This allows consolidation of multi-tier applications AMD Opteron processor Model 252 (2.6GHz),
onto a centrally managed environment employing performed at 13,284.2 QphH and $34.20/QphH in the
resource sharing, and deploying a highly available 300GB clustered category. A second benchmark, conducted
scale-out database. using the Dual-Core AMD Opteron processor Model
252 (2.4GHz), performed at 18,725.92 QphH and
$27.97/QphHdemonstrating the scalability of this
Table 1 unique processor with a 41% performance gain and
TPC-H 300GB benchmark results with 18% cost saving from single-core to dual-core.1
HP ProLiant BL25p 8p Cluster with (See Table 1.)
Oracle 10g Real Application Clusters
This watershed benchmark establishes the following:
The HP ProLiant BL25p server blade is number one in
performance in the clustered 300GB category, beating
IBM eServer 325 with a configuration that is 48% less
HP ProLiant BL25p server blade expensive. (IBM eServer 325 @ 13194QphH and
$65.44/QppH @ 300GB).2
TPC-H 1 Single-Core AMD Opteron 1Dual-Core AMD Opteron Delta First use of server blades in an Oracle database
Metrics processor Model 252 processor Model 280 cluster benchmark.
(2.6GHz/1MB) per (2.4GHz/1MB) per
BL25p (8 total) BL25p (8 total)

Composite 13284.20 18725.92 +41%


QphH 1
TPC: Results valid as of November 17, 2005. Complete results
can be found at www.tpc.org.
Price/QphH $34.20 $27.97 18%
2
Source: Transaction Processing Performance Council (TPC), www.tpc.org
Special Advertising Section

AMD Direct
AMD Opteron processors With AMD Opteron processors, you have the ideal
platform to drive high-performance, scalable compute
Connect Architecture driving increased performance processing for virtually any size Oracle grid application.
AMD Direct Connect
Architecture provides an and scalability
innovative approach to The highly efficient design of AMD Opteron processors Get it allspeed, quality, and price
system design that further is central to enabling industry-leading performance and Grid computing offers IT organizations tremendous
adds to the capabilities scalability in HP ProLiant servers. Single-core and dual-core opportunities to manage rapidly changing and growing
you can achieve with HP AMD Opteron processors with Direct Connect Architecture business demands with speed, reliability, and economy.
ProLiant servers in grid integrate key system elements, including AMD64 technology, Working with Oracle, HP and AMD offer the technologies
applications by reducing integrated DDR DRAM memory controller, HyperTransport to capture these opportunities and deliver long-term
bottlenecks that can value that meets todays IT requirements.
technology, AMD PowerNow! technology, and more.
compromise performance.
With Direct Connect AMD64 is the innovative technology that allows you to run your According to Oracle, the formula for grid computing
Architecture, memory is existing 32-bit applications and operating systems at peak includes standardizing on affordable, modular servers
directly connected to the performance, while providing a migration path that is 64-bit and storage, consolidating servers and storage with
CPU optimizing memory capable. So, you can maintain a single architecture across
Oracle Database 10g and Real Application Clusters, and
32- and 64-bit environments.
performance, I/O is directly automating day-to-day management tasks with Oracle
connected to the CPU for The integrated DDR DRAM memory controller changes the way Enterprise Manager 10g Grid Control. With HP ProLiant
more balanced throughput the processor accesses main memory, resulting in increased servers built on AMD Opteron processors, combined
and I/O, and CPUs are bandwidth, reduced memory latencies, and increased processor
with the HP management software that is well integrated
connected directly to CPUs performance. Available memory bandwidth scales with the
with Oracle software, you have the perfect ingredients for
allowing for more linear number of processors to ensure continued high performance as
you scale out your grid environment. true grid computing that delivers:
symmetrical multiprocessing.
HyperTransport technology-invented at AMD with contributions Performance and scalability needed to process
from industry partners-is a high-speed, low latency, point-to- rapidly increasing quantities of data
point link designed to increase the communication speed between Reliability required to run mission-critical
integrated circuits up to 48 times faster than some existing enterprise applications
technologies. HyperTransport technology helps reduce the number
of buses in a system, which can reduce system bottlenecks and Lower total cost of ownership to focus more dollars on
enable todays faster microprocessors to use system memory more adding business value and increasing profitability
efficiently in high-end multiprocessor systems.

AMD PowerNow! technology with Optimized Power Management As of November 17, 2005
(OPMA) provides performance-on-demand by dynamically Source: Transaction Processing Performance Council (TPC), www.tpc.org
adjusting performance based on CPU utilizationhelping the HP Bladesystem ProLiant BL25p cluster (8 CPUs) with Oracle Database 10g Release 2
systems in a computer grid to run at optimum performance and with Oracle Real Application Clusters, 13,284.2/QphH @ 300GB, $34.20/QphH
power levels, while reducing electricity costs and maximizing @ 300GB, available 10/31/05. HP BladeSystem ProLiant BL25p cluster (8 DC CPUs)
with Oracle Database 10g with Oracle Real Application Clusters (8 Nodes/8 CPUs/
IT budget dollars. 16 Cores/16 Threads)
18,725.9 QphH @ 300GB, $27.97/QphH @ 300GB, available 11/11/05.
IBM eServer 325 cluster (16 CPUs) with IBM DB2,

Find out how HP and AMD can bring true grid computing 13,194.9 QphH @ 300GB, $65.44/QphH @ 300GB, available 11/08/03.

for Oracle to your enterprise. Visit www.hp.com/go/oracle. 2005 Hewlett-Packard Development Company, L.P. The information contained
herein is subject to change without notice. The only warranties for HP products and
services are set forth in the express warranty statements accompanying such products
and services. Nothing herein should be construed as constituting an additional
warranty. HP shall not be liable for technical or editorial errors or omissions
contained herein.

AMD, Opteron, HyperTransport, and PowerNow! are trademarks of Advanced


Micro Devices, Inc. Oracle is a registered U.S. trademark of Oracle Corporation,
Redwood City, California. Linux is a U.S. registered trademark of Linus Torvalds.
a t O r a c l e RESOURCES

Whats New at Oracle


The latest courses, online content, and more
ORACLE WEBCASTS experience hands-on tuning through a manager for Washington Group
Grid Computing and Oracle 10g: Today and series of exercises. International (WGI), and Tim Dexter, Oracle
Tomorrow XML Publisher group product manager,
oracle.com/broadband/showondemand ORACLE BY EXAMPLE discuss the enterprise release of XML
.html?4458315 Managing Your Database Using Oracle SQL Publisher, the extraction engine that allows
Hewlett-Packard, Deloitte Consulting, and Developer developers to create reports that access
EDS recommend solving major business oracle.com/technology/obe/sqldev/ multiple databases and datasources, as
challenges with grid computing and the sqldev.htm well as WGIs XML strategy and benefits for
Oracle 10g platform. Learn how to gain This hands-on tutorial describes how to their business applications.
dramatic competitive advantage with grid use Oracle SQL Developer to manage your
computing today and in the future. database objects. ORACLE NEWSLETTERS
Ensuring Successful User Provisioning Developing and Debugging PL/SQL Using oracle.com/newsletters
Deployments Oracle SQL Developer Are you getting all the Oracle news you
oracle.com/broadband/showiseminar oracle.com/technology/obe/sqldev/plsql_ need to excel? Oracle offers newsletters
.html?4519446 debug/plsql_debug.htm on a variety of topics, including .NET and
Identity management experts discuss In this hands-on tutorial, learn how to Java development, Oracle On Demand,
real-world deployments, industry best create, run, and debug a PL/SQL procedure Oracle University, and small-to-midsize
practices, and implementation strategies. using Oracle SQL Developer. business issues.
Oracle Business Intelligence Strategy Briefing
oracle.com/solutions/business_ ORACLE APPCASTS
intelligence/bi_webcast.html How Automating the Enterprise Risk
Oracle executives and an IDC analyst Management Process Helps Organizations For Oracle product information, call the toll-free
outline Oracles business intelligence Comply with Regulations number for your region:
platform and expanded portfolio of analytic streaming.oracle.com/ebn/podcasts/ Country Phone Number

applications, including the integration of applications/4618855.mp3 U.S. and Canada .....................................1.800.367.8674


Australia ....................................................1800.735.467
Siebel Business Analytics. Adil Khan, client director at Fulcrum Austria.......................................................0800.29.7626
Belgium ........................................................0800.73280
Oracle Fusion Strategy Briefing: Fusion Retail Information Technologies, and Lane China.........................................................800.810.0161
oracle.com/broadband/showiseminar Leskela, Oracles senior compliance Denmark.........................................................8088.1068
Finland ......................................................0800.113.573
.html?4558919 product marketing director, discuss the key France .......................................................0800.905.805
Duncan Angove, general manager, Oracle success factors organizations should think Germany.................................................0800.1.810.111
Greece.................................................00800.353.12020
Retail, discusses insight-driven retailing. about when implementing a compliance Hong Kong......................................................3002.1246
management strategy. India ..........................................................1600.44.6725

ORACLE UNIVERSITY Transforming Government with ERP Solutions


Indonesia...........................................001.800.1.672.253
Ireland ........................................................1850.672253
Oracle Database 10g: Performance Tuning streaming.oracle.com/ebn/podcasts/ Italy ..............................................................8008.74720
Japan ........................................................0120.155.096
education.oracle.com applications/4618856.mp3 Malaysia ....................................................1800.80.1837
(Enter search term: performance tuning.) Members of Oracles public-sector industry The Netherlands .............................................0800.0827
New Zealand .............................................0508.555.215
Get the most out of your Oracle Database strategy and marketing team talk about the Norway...........................................................800.14411
by learning performance tuning methods issues public-sector managers face today Philippines........................................................811.5831
Portugal.......................................................800.853.021
that maximize database productivity. and how governments can meet these Singapore ................................................1800.6722.531
Students learn how to benefit from Oracle challenges by using enterprise resource South Africa...............................................0800.994.225
South Korea...............................................080.2194.114
Database 10g automatic tuning features and planning systems. Spain............................................................900.952900
gain practice on manual tuning methods The Latest Developments with Oracles Report Sweden ........................................................020.798798
Switzerland................................................0800.55.2574
using the Statspack tool. After clearly defin- Tool, XML Publisher Taiwan.......................................................0800.672.253
ing the tuning methodologies available, the streaming.oracle.com/ebn/podcasts/ Thailand ..............................................001800.441.0545
Turkey .................................................00800.353.90014
course covers the various tunable com- applications/4634267.mp3 U.K. .........................................................0870.5.332200
ponents of an Oracle database. Students Rich Colton, application integration

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 19
a t O r a c l e RESOURCES BY JU STIN KESTELYN

OTN Community Bulletin


The Oracle Secure Enterprise Search 10g era begins.

QUITE A FIND For more information about the such by Oracle for their technical pro-
In his Oracle OpenWorld Tokyo product, visit oracle.com/technology/ ficiency and eagerness to share their
keynote address in March, Oracle CEO products/oses (free Linux and Windows experiences, whether through writing
Larry Ellison declared Oracle Secure downloads are available) or listen to the books, articles, or blogs; speaking at
Enterprise Search 10ga new, stand- podcast, Oracle Secure Enterprise Search events; participating in OTN Discussion
alone search productone of the most 10g Uncovered, at oracle.com/techcasts. Forums; or simply serving as Oracle
important releases in Oracles history. advocates in their respective organiza-
Based on Oracles deployment of this START YOU UP tions. Read their full bios at oracle.com/
core search technology on its external Developers interested in getting started technology/community/oracle_ace.
Web sites, Oracle Secure Enterprise with relatively new technologies such as Candidates can be nominated by
Search will be among the highest-profile Oracle Application Express and Oracle anyone in the Oracle technical commu-
products released yet, thats for sure. SQL Developer can now refer to new nity; nonemployees as well as employ-
In the past, search functionality on Getting Started pages on OTN. These ees are eligible. Know an Oracle ACE
Oracle Technology Network (OTN) was new pages guide you through the learn- candidate yourself? Complete the nomi-
not always optimal. With Oracle Secure ing process step-by-step, from down- nation form at oracle.com/technology/
Enterprise Search, accuracy and user loading the right software to finding the community/oracle_ace/nominations.
experience are improved and are now best in-class training.
comparable to what one might see from People who are new to Oracle itself Justin Kestelyn, OTN Editor in Chief
a standalone Web-based search engine. or even to the DBA role can get a jump justin.kestelyn@oracle.com
(The Oracle.com deployment does not start using the DBA Core Tasks, Security,
currently demonstrate some of the prod- and Enterprise Management pages. New Tech Articles, Columns,
ucts unique and most interesting capabil- And experienced developers investigat- & Notes
ities for business intranets, such as secure ing emerging standards such as BPEL, O FOR DEVELOPERS:
crawling and Query Time Authorization. JavaServer Faces (JSF), and EJB 3.0 can oracle.com/technology/pub/articles/
Oracle Secure Enterprise Search can be access Getting Started materials in those tech_dev.html
configured such that your search results areas as well. Using Oracles Built-in Security Features
include only those documents you have You can view the full range of with PHP
the authority to see, or that access to Getting Started options at oracle.com/ by Mikhail Seliverstov
certain documents requires a login.) technology/getting-started. Take advantage of Oracles native secu-
As Karri Myles, Oracle.com project rity features to improve the security of
manager for the Oracle Secure Enterprise CONGRATULATIONS, NEW ORACLE ACES your PHP Web applications.
Search deployment project, puts it, Web The following individuals were recently oracle.com/technology/pub/articles/oracle_
site users shouldnt have to think about named Oracle ACEs: php_cookbook/seliverstov-grants-privs.html
search. It should be just another site tool O Chris Foot, senior database architect, Developing Smart Web UIs with Ajax, JSF,
they use to find what theyre looking for, Contemporary Technologies (Pittsburgh, and ADF Faces
and it should work the way they expect Pennsylvania) by Andrei Cioroianu
it to. In fact, search should work so well O Hans Forbrich, principal, Forbrich Learn how to build rich Web appli-
that users choose it first, knowing theyll Consulting (Alberta, Canada) cations using Ajax techniques along
find what theyre looking for. O Nicholas Goodman, business intelli- with JSF and Oracle Application
Were confident that Oracle.com/OTN gence consultant (Seattle, Washington) Development Framework (ADF) Faces.
search now works this wayand this O Jeffrey Hunter, senior DBA, the DBA oracle.com/technology/pub/articles/cioroianu_
well. If you disagree, let us know why Zone (Pittsburgh, Pennsylvania) jsfajax.html
in the Member Feedback Discussion O Scott Spadafore, developer, Oracle Standardizing Service Endpoints
Forum (forums.oracle.com/forums/ Application Express, Oracle by Thomas Erl
forum.jspa?forumID=29). Oracle ACEs are recognized as Learn how to design service interface

20 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
MOST POPULAR*
Content on OTN
For DBAs/Sysadmins:

definitions that will help you reap the Oracle Database 10g Express Edition: Not 1. Installing Oracle Database 10g on Linux x86, by
benefits of standardized service- Just for Learners John Smiley
oriented architecture. by Lewis Cunningham 2. Oracle Database 10g: Top 20 Features for DBAs
oracle.com/technology/pub/articles/ Oracle Database 10g Express Editions (series), by Arup Nanda
erl_wsdl.html value is not necessarily limited to 3. An Introduction to Linux Shell Scripting for DBAs,
Swing or JavaServer Faces: Which novices, students, hobbyists, or small by Casimir Saternos
to Choose? businessesit also holds appeal for 4. Build Your Own RAC Cluster on Linux and FireWire,
by Frank Nimphius and Duncan Mills many other situations, such as testing by Jeffrey Hunter
Are Ajax and JSF the only future for UI what if scenarios in your database or
5. Oracle Database 10g Express Edition: Not Just for
development, or will Swing survive the trying new things. Learners, by Lewis Cunningham
Rich Internet Application hype? oracle.com/technology/pub/articles/cunningham-
oracle.com/technology/pub/articles/nimphius- database-xe.html For Developers:
mills-swing-jsf.html Querying, Constructing, and Transforming
1. SOA Best Practices: The BPEL Cookbook (series),
Wrapping Your Brain Around Oracle + XML with Oracle XQuery
by various authors
Python by Yuli Vasiliev
by Catherine Devlin Learn how to leverage the power of 2. Best Practice PL/SQL (Q&A), with Steven
Feuerstein
Learn the aspects of Python most impor- the full-featured native XQuery engine
tant for Oracle users. integrated with Oracle Database 10g 3. Build a .NET Application on Oracle Database, by
oracle.com/technology/pub/articles/devlin- Release 2 and find out why Oracle John Paul Cook
python-oracle.html XML DB provides performance 4. Installing PHP and the Oracle 10g Instant Client for
Geographic Resources Analysis Support improvements when processing struc- Linux and Windows, by Christopher Jones
System (GRASS): More Than a Mapping Tool tured data. 5. An Introduction to Java Map Classes, by
by Stephan Holl, Helena Mitasova, and oracle.com/technology/pub/articles/vasiliev_ Jack Shirazi
Markus Neteler xquery.html
*For the two-month period ending March 31, 2006
Connecting to an external database
allows you to build sophisticated New OTN TechCasts (Podcasts)
geospatial apps with the open source All OTN TechCasts (podcasts) are available at
GRASS GIS tool. oracle.com/techcasts OTN home
oracle.com/technology/pub/articles/mitasova- SQL Developer: Beyond the Command oracle.com/technology

grass.html Line (15 min.) OTN headlines


oracle.com/technology/pub/news
Director of Database Tools Research
O FOR DBAS/SYSADMINS: Kris Rice describes the origins and Free software downloads
oracle.com/technology/software
oracle.com/technology/pub/articles/ functionality of Oracle SQL Developer,
Documentation
tech_dba.html Oracles new (and free) graphical tool oracle.com/technology/documentation
Learning Oracle RAC with the NetApp for database developers.
Technology and Developer
Simulator Oracle Secure Enterprise Search 10g Centers
by Sachin Garg Uncovered (18 min.) oracle.com/technology/tech
With the help of Network Appliances Why is Oracle interested in search? How Podcasts
Data ONTAP Simulator, any DBA or does internet search differ from intranet oracle.com/techcasts

Linux enthusiast who is also a NetApp search? And what does secure search Technical articles
oracle.com/technology/pub/articles
customer can evaluate Oracle Real mean, exactly? Oracle Search Product
Application Clusters on Linux with no Manager Omar Alonso provides some Blogs
blogs.oracle.com
up-front hardware investment. answers, as well as a technical descrip-
Discussion forums
oracle.com/technology/pub/articles/garg- tion of Oracle Secure Enterprise Search forums.oracle.com
netapp-simulator.html architecture and capabilities. O

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 21
D I D Y O U KNOW
? a t O r a c l e BRIEFS

SERVICE-ORIENTED ARCHITECTURE ORACLE FUSION MIDDLEWARE DELIVERS relevance of search results. It also fea-
CONTINUES GROWTH ENHANCED SUPPORT FOR MICROSOFT tures a fast installation process, a simple

M
Worldwide spending on service-oriented any organizations rely on a mix of Web interface for efficient administra-
architecture (SOA)based external services vendor technologies throughout tion and management, and an easy-to-
is predicted to reach US$8.6 billion in 2006,
their computing environments, and a use search interface. Additionally, users
a 138 percent increase from US$3.6 billion
significant number of Oracle Fusion can access the search engine through
in 2005. By 2010, global SOA-based services
spending should reach US$33.8 billion. The
Middleware customers run on Windows Web-based user interfaces and perform
Americas will host the majority of external and deploy Java and .NET-based traditional keyword searches.
services spending on SOA, with the United applications and services. Oracle has Enterprises have unique search
States leading the market. Europe, the extended Oracle Fusion Middlewares requirements that differ from those of
Middle East, and Africa represents the support for Microsoft environments, consumer search, says Sue Feldman,
second largest region in terms of spending; including Windows, .NET/Windows research vice president, IDC. Secure
however, the Asia Pacific region is expected Server System, and Microsoft Office. access to multiple repositories, file
to experience the most-rapid growth, mainly Oracle has created a best-practices formats, data, and content is a necessary
due to its current small base level. guide for developers who want to inte- component. So, too, are ease-of-use,
Source: IDC Worldwide SOA-Based Services
20062010 Forecast
grate Microsoft Office applications with single point of access, and integration
www.idc.com/getdoc.jsp?containerId=prUS20108306 enterprise applications by leveraging with other major enterprise applications.
Oracle Fusion Middleware. Enterprises As enterprise search becomes more
EXECS LAMENT POOR COMMUNICATION can increase productivity by reducing mission-critical to information-intensive
WITH INFORMATION TECHNOLOGY duplicate data entry and improve total organizations, they will want it to come
In a March 2006 survey of U.S.based cost of ownership by minimizing spe- with the same scalability, reliability, and
business executives, 74 percent of cialized training for disparate systems. global support that they now expect
respondents said a communication gap
We are dedicated to providing our from the rest of their IT infrastructure.
between business and IT cripples their ability
customers with the markets most exten-
to get mission-critical business systems
sible, open middleware offering to help ORACLE DATABASE VAULT TARGETS INSIDER
to market on time. Eighty percent have
experienced delays in getting to market, ensure they derive the most value from THREATS AND COMPLIANCE
and 52 percent said that new systems get
delivered with missing features. Sixty percent
their business applications, says Vijay
Tella, vice president and chief strategy
officer, Oracle. Our extended support
O rganizations today must adhere to
regulatory requirements such as
Sarbanes-Oxley, HIPAA, and a host of
said that they budget for project delays, and
83 percent budget for cost overruns. Ninety for Microsoft strengthens an organiza- other compliance and privacy regulations
percent say delivering projects faster to tions ability to leverage Oracle Fusion while establishing stronger security pro-
market would be an important factor in their Middlewares best-in-class, standards- tections, particularly against the insider
competitive advantage and cost control. based middleware components regard- threat. Protecting against this threat
Source: iRise
www.irise.com/news/pressrel/pr040306-1.shtml
less of their Microsoft investments. means enforcing stricter access controls
on applications and databases from
ORACLE SECURE ENTERPRISE SEARCH 10g insiders who, in some cases, have unre-
NEARLY HALF OF BUSINESSES LACK
CONTINUITY PLANS EASES NETWORK SEARCHES stricted access, such as database admin-
A survey of more than 5,000 IT professionals
in the United States showed that nearly half
of businesses lack a business continuity
N ow shipping, Oracle Secure
Enterprise Search 10g is a compre-
hensive, standalone search engine that
istrators and other highly privileged
users. Similarly, enforcing separation of
duties among these users to ensure that
plan, even though more than 45 percent of enables customers to make critical busi- they have access only to those applica-
companies experienced an IT failure last ness information available to authorized tions they need for performing their job
year. Hardware and network issues were the users while enforcing corporate security is key for meeting regulatory compliance
top two reasons cited for IT failures, and 58
policies. It delivers high-quality search requirements. Oracle Database Vault, a
percent of the time these failures resulted in
results from a range of data sources new Oracle Database security product,
downtime of one to eight hours for business-
critical applications.
including databases, file systems, enter- addresses both of these needs.
Source: Neverfail Group
prise content management systems, Oracle Database Vault provides
extranet.neverfailgroup.com/upload/PR%20- portals, e-mail systems, and applications. applications with protections similar to
%20Survey%20Release%20-%202006-03-21.pdf Tuned for the enterprise, Oracle a bank safe by preventing DBAs from
Secure Enterprise Search 10g offers accessing all applications residing on
search algorithms that can utilize exist- a single database. It places strict con-
ing business metadata to improve the trols on DBAs by providing flexible and

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 23
BRIEFS

adaptable security controls to specific ing users with an open source alternative easily be integrated into critical business
application access, restricting access to proprietary cluster file systems. processes, and policy constraints such as
to only that necessary to perform their The endorsement of OCFS 2 by access control and document retention
jobs. Historically, organizations have the Linux community represents a can be applied to help manage discovery
given the DBA and other superusers significant milestone for Oracle and risk and ensure regulatory compliance.
tremendous trust while acknowledging demonstrates how Oracles continued
the potential liability if such superus- contributions are driving adoption of ENHANCED SOA PLATFORM AVAILABLE
ers prove to be untrustworthy. Oracle
Database Vault removes the risk of abuse
of superuser privileges by introducing
open source technologies, says Andrew
Morton, Linux 2.6 kernel maintainer.
OCFS Release 2 will be included in
O racle has released an enhanced
service-oriented architecture (SOA)
platform that includes new versions of
new concepts called realms, factors, the mainline Linux kernel 2.6.16 and is Oracle BPEL Process Manager, Oracle
and rules that place incremental restric- already supported on the SUSE Linux Business Activity Monitoring, Oracle
tions on the data a superuser can access, Enterprise platform from Novell and Web Services Manager, and Oracle
including contextual parameters such Red Hat Enterprise Linux 4. Enterprise Server Bus, all components of
as time of day or location that further Designed to work as a seamless addi- Oracle SOA Suite. A new SOA platform
restrict access. Such controls help orga- tion to the Linux kernel, OCFS Release 2 component, Oracle Service Registry, is a
nizations conform to internal policies as eases system management while improv- secure registry for publishing, categoriz-
well as security requirements mandated ing performance. It enables all nodes in a ing and discovering services, and it is
by regulations. cluster to concurrently access a given file now available in all editions of Oracle
Oracle Database Vault can be used system, allowing for simplified manage- Application Server 10g.
with other Oracle Database security ment of databases that are shared across New capabilities focus on three key
technologies and is planned for avail- a cluster. OCFS Release 2 also includes areas: human workflow support for
ability before the end of this fiscal year. expanded capabilities to run nondata- sophisticated task routing, notifications,
base, standard file system operations, and worklists; an enhanced, high-
ORACLE SECURE BACKUP UNVEILED providing additional value as a general- performance enterprise service bus for

N ow available, Oracle Secure Backup


offers high-performance and secure
data protection by encrypting data that
purpose file management system.

ORACLE CONTENT DB EASES MANAGEMENT


simplified data integration between
IT systems; and greater ease-of-use
for developers and system administra-
is backed up to offline media. Data OF UNSTRUCTURED CONTENT tors with enhanced development and
stored in offline devices such as tape is
vulnerable to theft and loss. Encrypting
data as it is copied to tape ensures that
O racle Content DB, a new Oracle
Database 10g Enterprise Edition
option, addresses the challenges of man-
management tools. Other enhance-
ments include hot-pluggable support
for third-party rules engines and a new
sensitive and critical data is protected aging unstructured content. testing framework for easier manage-
even in the event of theft. Unstructured contentdocuments, ment and automation of testing service-
Oracle Secure Backup provides presentations, spreadsheets, digital oriented processes. O
the industrys most secure tape backup imagesis typically stored in multiple
management for your entire Oracle locations, which makes it difficult to
environment at the lowest cost, says find, creates uncertainty about the
Oracle Fusion Middleware and
Willie Hardie, vice president of database content source, and impacts user pro- Microsoft interoperability
product marketing, Oracle. ductivity. This content also complicates oracle.com/technologies/microsoft
Oracle Secure Backup supports more compliance efforts by requiring policies Developers guide for Microsoft
than 200 tape devices, from legacy and to be implemented multiple times for Office interoperability
download-west.oracle.com/docs/cd/B25221_
popular systems to the latest high-per- different environments, and it is at risk 04/core.1013/b25781/toc.htm
formance tape drives. Oracle Secure of being lost, nonrecoverable, or falling
Oracle Secure Enterprise Search 10g
Backup can be controlled and adminis- into the hands of inappropriate users. oracle.com/technology/products/oses
tered using Oracle Enterprise Manager Unmanaged content generates redun- Oracle Database Vault
and is available on Windows, Linux, dant copies, and this proliferation causes oracle.com/goto/databasevault
and UNIX. physical storage and management costs Oracle Secure Backup
to increase unnecessarily. oracle.com/security

LINUX COMMUNITY ENDORSES ORACLE Oracle Content DB addresses these Oracle Cluster File System
oss.oracle.com/projects/ocfs2
CLUSTER FILE SYSTEM problems by enabling users to easily

O racles enterprise-class cluster file store, secure, share, search, and manage Oracle Content DB
oracle.com/database
system, Oracle Cluster File System unstructured content in an enterprise-
Release 2 (OCFS Release 2), will be dis- scalable content repository: Oracle Oracle SOA platform
oracle.com/soa
tributed with the Linux kernel, provid- Database. Unstructured content can

24 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
a t O r a c l e ORACLE NEWS BY C A ROLI NE KVITKA

Business Intelligence Gets Smarter


New suite combines Oracle business intelligence with Siebel Business Analytics
racle is making a major push reporting, and analysis; Oracle Reports,
into the business intelligence for enterprise reporting; and Oracle
space with a comprehensive Business Intelligence Spreadsheet Add-In,
suite that combines Oracles for direct access to Oracle OLAP from
business intelligence (BI) middleware within Microsoft Excel. It is priced at
with Oracles Siebel Business Analytics. US$400 per named user.
Oracle Business Intelligence Suite Targeted at small-to-midsize
addresses the complete spectrum of businesses and departments, Oracle
BI and analytical requirements facing Business Intelligence Suite Standard
customers today, including historical, Edition One, planned for availability
real-time, and forward-looking insight, within 12 months, is an integrated BI
data integration, and management. This offering with all the necessary infra-
open, standards-based software enables structure software and tools to quickly
customers to extend BI across the enter- and efficiently deploy a BI system. This
prise to make informed decisions based version is expected to include Oracle
on timely, actionable information. Database 10g Standard Edition One and
Were integrating a variety of tools Oracle Warehouse Builder, in addition
and technologies into a common plat- to reporting, query, and analysis tools. It
form to enable you to tackle all kinds Thomas Kurian, Senior Vice President of Server will be priced at US$25,000 for up to 50
Technologies, Oracle
of business intelligence problems users and a maximum of 2 CPUs.
with a common toolset, says Thomas CHOOSE YOUR BUNDLE
Kurian, Oracle senior vice president of The suite is available in three editions: INFUSING BI ACROSS THE STACK
Server Technologies. Today if you use Oracle Business Intelligence Suite Oracle plans to deliver specific analyti-
BI tools from other vendors, they arent Enterprise Edition, Oracle Business cal updates within the next 12 months
built on a common platform. With a Intelligence Suite Standard Edition, by integrating the BI infrastructure
common platform, they have common and Oracle Business Intelligence Suite of the suite with Oracles PeopleSoft
metadata, a common security model, Standard Edition One. Enterprise, Oracles JD Edwards
a common UI, a common way to be The enterprise edition features rela- EnterpriseOne, and Oracle E-Business
managed, and a unified notion of the tional and online analytical processing Suite applications. Within the same
information against which youre doing (OLAP) query and analysis for both time frame, Oracle also plans to release
all of your calculations. No matter Oracle and non-Oracle environments. It enhanced enterprise performance
which tool youre accessing the infor- includes ad hoc query and analysis tools; management capabilities in PeopleSoft
mation from, you always get the same easy-to-use, thin-client analytic dash- Enterprise Performance Management
view of the information. boards; enterprise reporting and publish- 9.0, expanded daily business intel-
Developed for heterogeneous IT ing; and real-time alerting. This edition ligence features in Oracle E-Business
environments, the Oracle Business also supports integration with Microsoft Suite Release 12, and industry-specific
Intelligence Suite allows business users desktop tools. Oracle Business Intelligence analytic applications. O
to collect and analyze information Suite Enterprise Edition is priced at
from Oracle and non-Oracle databases, US$1,500 per named user.
including IBM, Microsoft, and Teradata, Aimed at businesses seeking to LEARN more about Oracle Business
and from business applications from complement their existing Oracle invest- Intelligence solutions
Oracle, SAP, and others. Part of the ments, Oracle Business Intelligence oracle.com/bi

Oracle Fusion Middleware product Suite Standard Edition includes Oracle WATCH the Oracle Business
Intelligence strategy briefing
ERIC OSTLING

family, the suite delivers information Business Intelligence Beans for custom
oracle.com/solutions/business_intelligence/
that is hot-pluggable into existing data application development; Oracle Business bi_webcast.html
sources and operational systems. Intelligence Discoverer for ad hoc query,

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 25
c h a n n e l s PARTNER NEWS
b o o k BEAT

The Art of SQL


By Stphane Faroult with
Peter Robson SUN ADDS SUN CLUSTER ADVANCED EDITION recovery at local and remote locations,

S
OReilly Media
www.oreilly.com
un Microsystems has added Sun and more than 2GB per second of
ISBN: 0-596-00894-5 Cluster Advanced Edition for Oracle throughput in high-end configurations.
Real Application Clusters to the Sun Java The KBX5000 enables enterprise
Database design can be Availability Suite. This addition provides storage administrators to achieve precise
likened to a military campaign, contends author customers with Oracle Real Application CDP recovery points through event and
Stphane Faroult, who takes a page from Sun
Tzus classic treatise, The Art of War. In The
Clusters on the Solaris 10 OS for US$50 environmental history tracking. It jour-
Art of SQL, he offers best practices that teach per year per employee. The updated nals and time-stamps every data write
experienced SQL users to focus on strategy, suite employs a shared file system using operation, and event-based tags help to
rather than specifics. He writes that you need Sun StorEdge QFS software and uses identify known good recovery points
knowledge, skills, and talent. While talent cant Solaris Volume Manager for partitioning prior to data loss or corruption. It also
be taught, strategists from Sun Tzu to modern-
day generals believed it could be nurtured. Just
and automatic device relocation. Other supports Oracle recovery point book-
as generals try to pass on the experience theyve features include I/O fencing and tighter marking. The KBX5000 dynamically
acquired in the battlefield, Faroult attempts to integration with Solaris 10. presents the recovery volume for imme-
apply this method to writing good SQL code. Customers in financial, government, diate read and write access, providing
This book will not turn bad programmers telecommunications, and healthcare instant data recovery with no loss of
into good programmers. But I have met many
good, intelligent programmers who ignored
organizations are currently using the transactional data.
everything [about] databases and whose projects combined Sun/Oracle high-availability Through journal compression,
tottered on the brink of catastrophe because of offering. We have worked to certify the the KBX5000 delivers increased data
their lack of understanding of database issues, Sun Cluster for Oracle Database 10g and recovery precision while reducing CDP
says Faroult. Usually people learn by trial and Oracle Real Application Clusters, so that storage requirements; Kashyas data
error. One of the purposes of the book is to make
good developers leverage their potential at an
our joint customers can feel assured of reduction technology provides up to 15x
earlier stage. . . . integrity and high availability, says data reduction.
Prem Kumar, Oracle vice president of
Server Technologies. ORACLE EXPANDS PRESENCE IN CHINA, INDIA
Oracle 10g RAC: Grid,
Services & Clustering
By Murali Vallath
NOVELL OFFERS SUSE LINUX ACCELERATOR
ON HP, EGENERA
O racle has begun expansion into 26
Chinese cities and is recruiting part-
ners to support the needs of midmarket
Digital Press Books
www.digitalpressbooks.com
ISBN: 1-55558-321-0 N ovell and Oracle are offering an
Accelerator service to help custom-
ers deploy a grid-ready data center
organizations in key Chinese industries.
These cities, with 2 million to 30 million
in population, house Chinas small-to-
Oracle 10g RAC: Grid,
Services & Clustering
infrastructure, consisting of Oracle midsize business (SMB) community,
provides a deep knowledgebase for Oracle Real Database 10g, Oracle Real Application which employs 75 percent of the coun-
Application Clusters (Oracle RAC) and helps Clusters, Oracle Application Server 10g, trys total workforce and contributes
readers understand the benefits of scale-out and Oracle Enterprise Manager 10g on more than 50 percent of the national
capabilities using industry-standard components. Novells SUSE Linux Enterprise Server. GDP. Our midmarket business has
The book focuses on current technology including
all valid Oracle RAC features through Oracle
The offering is available on hardware been one of the key drivers for Oracles
Database 10g Release 2, with a primary focus on platforms from HP or Egenera. Oracle overall business growth in China, says
deployments in high-end grid environments. personnel work with Novell and HP Roger Li, managing director of Oracle
The book focuses on ASM, operating system or Egenera to expedite implementation North China. Oracle will also establish
configuration, installation and configuration, and deployment. partnerships with independent software
RMAN, and Oracle Backup. Other topics include
network configuration for high availability,
vendors in these cities.
implementation of maximum-availability KASHYA IMPROVES DATA PROTECTION In India, Oracle will strengthen its
architecture, and Oracle Enterprise Manager Grid
Control. The author includes several scripts for
performance tuning and implementation that
K ashya, a supplier of data protec-
tion solutions for the enterprise,
has announced the KBX5000 R2.3
presence in Pune and the region of
Maharashtra as part of its expansion
into nonmetro Indian cities. Oracle has
the reader can use to configure an Oracle RAC
environment either on a 2-, 4-, 8-, 60-, or 100-
Data Protection Platform, an integrated selected and trained local partners to
node configuration. disaster recovery and continuous data meet the needs of small to large orga-
protection (CDP) solution. The new nizations across key industries. The
product offers application-aware nonmetro cities are where India is
Browse for Oracle books at oracle.com/ integration with Oracle and other experiencing some of the highest eco-
technology/books/10g_books.html. applications, efficient and immediate nomic growth rates, and Pune is home

26 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
PARTNER SPOTLIGHT Independent Software Vendors Support Oracle RAC

A s of March 2006, 200 solutions from leading indepen-


dent software vendors (ISVs) worldwide have been
validated for Oracle Real Application Clusters, with more
Clusters scalability is enhanced and can offer the processing
power and reliability of mainframe machines in an open
platform at a much lower price, says S. Sundararajan, vice
than 7,000 customers currently running their businesses president of i-flex solutions.
on Oracles high-availability architecture. The ISVs whose Neusoft, a Shenyang, Chinabased software and solution
solutions are validated for Oracle Real Application Clusters provider, serving customers in telecom, insurance, govern-
span a range of industries, from consumer packaged goods ment, utilities, and healthcare. We chose Oracle Database
and financial services to government and healthcare. Here and Oracle Real Application Clusters as the platform of our
are four prominent ISVs: mission-critical applications because the technology offered
Fiserv Customer Centered Solutions, a Pittsburgh, no single point of failure and capacity on demand, says
Pennsylvaniabased developer of customer relationship Dr. Xia Zhang, chief technology officer and chief knowledge
management solutions for the financial services industry. officer of Neusoft.
By simply adding industry-standard hardware to the envi- Siemens VDO, a Schwalbach, Switzerlandbased inter-
ronment, our application would scale linearly, says John national automotive electronics supplier. Pairing Siemens
Puccetti, vice president for product and technology at Fiserv VDOs industry-leading transit management technology . . .
CCS. This was a significant milestone for our application. with Oracle Real Application Clusters technology enables
i-flex solutions, a Mumbai, Indiabased provider of IT our customers to achieve high availability and scalable
products, solutions, and consulting to the financial services expansion for their mission-critical transit fleet tracking
industry, with more than 600 customers in 120 coun- applications, says Richard Palmieri, senior project manager
tries. With Oracle Database 10g, Oracle Real Application at Siemens VDO.

to top IT companies, business process ingall in the context of a single, inte- and Asia. A distribution program will
outsourcing companies, engineering grated data architecture. deliver preintegrated hardware, soft-
technology, and IT products companies, BearingPoint helps clients with plan- ware, and services offerings through
says Krishan Dhawan, managing director ning and benchmarking, process defini- regional solution providers. O
of Oracle India. tion and optimization, analytic design,
software implementation, and training.
BEARINGPOINT DELIVERS CORPORATE
Sun Cluster Advanced Edition
PERFORMANCE MANAGEMENT ORACLE TO EXPAND INVESTMENT WITH IBM www.sun.com/software/cluster

B earingPoint is offering Corporate


Performance Management solutions
powered by Oracle applications and
FOR JD EDWARDS

I n response to SMB customers continu-


ing demand for Oracles JD Edwards
Novell Linux Accelerator
oracle.com/technology/consulting/10gServices/
hp.html
oracle.com/technology/consulting/10gServices/
technologies. Corporate Performance EnterpriseOne software on IBM, Oracle egenera.html
Management leverages Oracle technolo- will work with IBM to deliver these Kashya KBX5000
gies, such as a robust data warehouse solutions to the SMB market. Increased www.kashya.com/solutions_KBX5000.jsp

and data model, to support business investment from Oracle will support go- Oracle China
oracle.com/cn
rules engines and business intelligence to-market activities for Oracle and IBM
and analytics. Oracles document man- sales teams and value-added resellers. Oracle India
oracle.com/in
agement, data extraction strategies, The companies will provide a one-
dashboards, scorecards, and online ana- stop source for application software, Fiserv Customer Centered Solutions
www.ccs.fiserv.com
lytical processing (OLAP) also support middleware, database, hardware, busi-
i-flex solutions
the solutions, resulting in a consistent ness and technology consulting, rapid www.iflexsolutions.com
enterprise business process with a implementation, support services, train- Neusoft
common definition and source of busi- ing, certification, and financing. www.neusoft.com
ness information. This reduces the need The increased investment will Siemens VDO
for reconciliation and redundant data reestablish and augment previously transitmaster.siemensvdo.com

collection, increases insight into enter- established programs with JD Edwards BearingPoint CPM
www.bearingpoint.com/oraclecpm
prise performance drivers, and provides and IBM. Regional and country-level
the ability to drill down from strategic to go-to-market efforts will roll out in IBM and Oracle
oracle.com/ibm
operational data for analysis and model- North America, then expand to Europe

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 27
Take control of your database
applications with SQL Detective 3.4
T O O L F O R E V E RY B O D
L D CLASS Y S
R BUD
E WO GE
TH T


 
 
 


  

    


     

 
 

 

ITS EASIER THAN EVER TO GET STARTED YOU WILL ALWAYS FEEL SUPPORTED
A new unique tool - Icon Dictionary. It has two main features: How many times have you complained about Technical Support or not
Action Navigator (toolbars, buttons/icons, shortcuts) received timely replies to your requests for help? We are different. The
No worries. No trial and error. Discover all Buttons/Icons and their new 3.4 introduces a new Online Support Desk with the following benefits:
functions on the fly. Click on them to see what they do Messages
In EDUCATION MODE click on any Button/Icon and see a short Send and receive messages from within SQLDetective
description of its functionality; an easy and secure way to explore Communicate directly with our Technical Support
Change Toolbar and Button/Icon visibility status with a single click Get your reply within 48h (working days)
Easily change or define Shortcuts, or if you migrate, select one of the Receive a reply from Technical Support within 48hours (working days)
pre-defined Shortcut schemas Automatically attach logfile and system information to your message
Use pre-defined filters to select invisible Buttons to increase productivity for easier diagnosis and faster reply
Movie Navigator (flash based tutorial movies / integrated movie player) Organize your messages in folders
More than 80 FREE movies teaching basic and important features Updates
Each movie is between 45 to 120 seconds long Select automatic or manual update
Download manager; movie status: new, updated, seen or not seen Fast and easy update procedures and installation
Displays movie location; the number stored locally on your PC; the Automatic system notification of update availability
number on our sever; individual or bulk downloads possible
Use filters to select only movies seen or not seen Listening to our users and keeping their systems in production is our
Future plans to increase the number of movies available, making most important policy. Fixing bugs before adding new features is our
SQLDetective even easier to use motto. That is why our users consider SQLDetective one of the most
stable tools in its category.
Discover SQLDetective 3.4 - the world class tool for everybodys budget. Gleb SNEZHKIN
Visit our web site to learn why 3.4 is one of the most powerful, advanced Founder and President, Conquest Software Solutions
and easy2use Oracle application development tools available.
SQLDetective 3.4 is ideal for developing database objects, writing and
debugging stored programs, executing, testing and formatting SQL and
PL/SQL statements, managing tablespaces and rollback segments.
SQL Detective 3.4
www.sqldetective.com
c h a n n e l s PEER-TO-PEER BY B LA IR CAMPBELL

The Database Guys


Whether its synthpop, securing loans, or Swiss banks, these peers have the solution.
Mikhail Seliverstov happen. Im in Mortgage Services, peerSPECS
Company: HSBC USA, a global
How does your work at McGill help so Im helping the people who make provider of commercial banking
sustain the universitys online the calls trying to get customers to products and services

community? My team is a part refinance, as well the ones filling out Job Title/Description:
Technical consultant, with
of a larger systems team in the customer applications. architecture, analysis, and business
Development, Alumni, and Now that youre using Oracle Database liaison responsibilities
Location: Brandon, Florida
University Relations [DAUR] 10g, what new features are you finding
Oracle Credentials: Oracle-
office, which keeps track of most valuable? My favorites are certified DBA (Oracle9i ) with 13
and provide services to more dbms_output line limit removal, years of experience using Oracle
products
than 250,000 graduates, stu- COMMIT NOWAIT, PL/SQL con-
dents, and donors around the ditional compilation, and Instant
world. One of our flagship projects is the Alumni Online Client Lite. I called Oracle8i the Developers Release because
Community, a large-scale Oracle-driven PHP application that they added so much to PL/SQL. I thought that was the best
helps fellow grads stay in touch with the university and with you could getand then they did it again, with Oracle9i. And
each other. Oracle 10g added so many nice little things that just make life
What technology has most changed your life? I would say PHP easier. I guess its the ease-of-use version.
has had the biggest impact on the way I approach Web proj-
ects. Its very encouraging to see big IT players like Oracle and Laurent Schneider
IBM giving PHP such great support peerSPECS How has Oracle University (OU) helped you earn your various certifi-
these days. Backed by a solid data- Company: McGill University, a cations? In 2001, when I first became involved with a project
publicly funded university offering
base with advanced security fea- degrees in more than 300 fields
using Oracle Database, I took courses
turesthink Oracles Virtual Private of study covering Oracle8 database admin-
Database, for instancethere are Job Title/Description: istration, backup, and tuning. I
Web programming team lead,
few things you cant accomplish. supervising day-to-day Web
passed the OCP [Oracle Certified
Whats your favorite pastime outside development operations Professional] exam the same year,
of work? In my spare time I run a Location: Montreal, Canada and Im hoping to do the same in
little Web-based music directory Length of Time Using Oracle 2006 with Oracle Application Server
Products: 7 years
[www.allsynthpop.com], which 10g. I also used Oracle University
serves as an outlet for my music-related ranting, as well as a Online Learning, through Oracle
sandbox for PHP experimentation and a testing ground for PartnerNetwork, to become an
the technologies Im curious about. Oracle9i Technical Champion.
Tell us about your grid-related responsi- peerSPECS
Lewis Cunningham bilities on the job. For my most recent Company: LC Systems
Engineering AG, a systems
How did you get started in IT? I started as a computer operator project, at a bank in Zurich, Ive integration firm
and got into systems programming on mainframe systems, then been responsible for the implemen- Job Title/Description:
got into PC and client/server using dBase III Plus and became tation of Oracle Grid Control. Ive Management system engineer,
with a focus on database and grid
known as the Database Guy. also implemented and maintained administration
You mention business liaison as Oracle Real Application Clusters for Location: Zurich, Switzerland
part of your job description. What quite a few LC Systems customers Oracle Credentials: Oracle-
does that involve? The business on Solaris and Linux. certified DBA (Oracle8, Oracle8i,
Oracle9i, Oracle Database 10g)
liaison role is one thing that How would you sum up your approach with five years of experience using
really attracted me to my new to your work? Design, performance, Oracle products. First Oracle-
certified master (Oracle9i ) in
job. I get to go find out what and maintenance are long-term chal- Switzerland.
the business side feels theyre lengesthey shouldnt be regarded
missing and then hunt it down as problems. I put a high value on oracle.com/technology/community/
oracle_ace
and make the right things performance and data quality. O

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 29
Keeping up with new customers.
%)!-(3 (-' +-,+-/%+* %. $+)! /+ .+)!+" /$!2+-( 8.)+.//-0./! 
-* .7(%'! 5 * 5 %/$+,!-/%+*.%*
+0*/-%!.
/$!+),*3*!! ! /+.%),(%"3%/.+,!-/%+*.  !-1%!.%),(!)!*/!
./* - %4!  !*1%-+*)!*/-0**%*#+**/!#-%/3.!-1!-./$/$!(,! 
./-!)(%*!/$!)+1!%*/+ *!2)-'!/.* .,!! /$!%*/!#-/%+*+" %.,-/!
/!$*+(+#3 %*/+/$!%-+,!-/%+*.+ 3 %)!-(3 (-'!*&+3. (+2!-
 +" * %.(!/+./3 $! +"%/.0./+)!-.$,+) ,/

Tools of change: HP Integrity servers | HP Services

6  !2(!//'- !1!(+,)!*/ +),*3/$!-+),*3,-+ 0/* +-.!-1%!*)!.* .3)+(.)!*/%+*! $!-!%*-!/- !)-'.* -!/$!,-+,!-/3+"/$!%--!.,!/%1!+2*!-.


c h a n n e l s CUTTING EDGE

Sight, Storage, and Sound


Better bifocals, bigger flash drives, open source PBX
Dynamic Bifocals Open Source Powers PBX
For many of the 40 million Americans Looking to cut telephony costs in your
who wear bifocal eyeglasses, focusing organization? Check out Asteriskthe
through specific portions of a bifocal open source private branch exchange
lens causes dizziness, disorientation, (PBX), or private telephone exchange.
and eye fatigue. So researchers have Asterisk is a complete software-based
developed a prototype that uses liquid PBX. It runs on Linux, Berkeley Software
crystals to change focus in an instant, Distribution, and Mac OS X and provides
preventing the eye strain caused by conventional bifocals. all of the features you would expectand
The glasses change focus using a five-micron-thick layer more. Asterisk does Voice over IP (VOIP)
of nematic liquid crystal, sandwiched between two pieces in many protocols and interoperates with
of glass. Molecules of the liquid crystal reorient them- almost all standards-based telephony
selves when exposed to an electric field, enabling a type of equipment using relatively inexpensive
dynamic Fresnel lens. In a Fresnel lens, concentric rings are hardware. It provides voice mail
carved into a piece of glass, causing light to become focused services with directory, call
in a similar way to a conventional lens. Dynamic glasses conferencing, interac-
mimic this effect using concentric circles of clear electrodes. tive voice response, and
Activating these electrodes causes the liquid crystal to align call queuing. It sup-
into rings and focus light passing through the lens. ports three-way calling,
PixelOptics plans to sell glasses containing dynamic caller ID services,
lenses within two years. The prototype is pretty bulky, Analog Display Services
but when these hit the streets theyll be virtually indis- Interface, Session
tinguishable from other very stylish glasses, says CEO Initiation Protocol, and
Ronald Blum. the H.323 standard. Asterisk
requires no additional hardware
for VOIP and supports a number of hard-
ware devices for interconnection with
Flash Drives Hit 64GB digital and analog telephony equipment,
Today, most of us have more information to storeand more including that manufactured by its spon-
places to store itthan ever. DVDs and dual-layer DVDs offer sors at Digium, Inc.
the ability to store lots of data, but with limits. A DVD stores Digiums Mark Spencer was Asterisks
4.7GB of data, while a dual-layer DVD gives us 8.7GB original author, and open source coders
and at a high price, at least for now. An alternative: the around the world have contributed to it,
flash drive, a pen-size, featherweight USB device com- with testing and bug patches from the
monly found in 1GB or 2GB versions. The beauty community further aiding in its devel-
of the flash drive is its simplicity and portability. opment. Now for the best part: This
You can quickly copy files from your computer to a mission-critical, powerful software is free.
flash drive, and youre ready to take documents,
digital photos, presentations, and more with you.
BUSlink is breaking barriers in storage capacity
with its 64GB-capacity USB 2.0 Flash Drive PixelOptics dynamic bifocals
Pro 2. Although currently pricey, at around www.gravitysedge.com/pixeloptics/home.htm

US$5,000, this key-chain flash drive rep- BUSlink flash drives


www.buslink.com
resents a new dimension in portable storage
and convenience that will appeal to anyone who Asterisk open source PBX
www.asterisk.org
needs to move or share files.

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 31
MEANWHILE, AT THE CIOS OFFICE...

GET
MY ENTERPRISE IS OUT OF CONTROL!
I CANT KEEP UP WITH ALL THE NEW SERVERS,
THE SECURITY, THE BACKUPS...
HOW DO YOU DO IT?

BY DAVID BAUM
ILLUSTRATION BY I-HUA CHEN
CREDIT
CREDIT

32 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
CONTROL
I USE ORACLE ENTERPRISE
MANAGER EVERY DAY.

he trend is inescapable: Networks


get faster, computers get more powerful,
clustering technologies get more effective,
and storage devices get more efficient.
These advances pave the way for software
applications that are more capable and
intelligent, automating a diverse array of
business functions. Yet for many IT man-
agers, quantitative improvements in the IT
infrastructure dont make any qualitative difference where
it matters most: saving time and energy in provisioning,
managing, and monitoring critical information systems.
Enterprise applications built around a service-
oriented architecture (SOA) are further changing the
nature of system management in areas such as configura-
tion management, service-level management, application
performance, and infrastructure management. Highly
modular programs can take advantage of virtualized
system resources in a grid infrastructure, making the
mapping between services and infrastructure
components more complex than it was
in the days of monolithic applications.
Having the ability to manage this com-
plexity and measure end-user experi-
ence in the context of the many working
parts of an SOA environment is critical.
This virtual world of SOA and grid
computing promises tremendous flex-
ibility for deploying and enhancing

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 33
business applications, but management solutions must evolve
in tandem to achieve comparable advances for IT professionals.
Many of todays emerging applications are being created
to run in highly complex multitier environments where
changes at any level can impact application performance,
confirms Mary Johnston Turner, a vice president at Boston-
based technology research firm Summit Strategies. These
environments are both flexible and dynamic, Turner adds,
but because the tiers are so tightly interconnected, managing
them has become much more complex.
Oracle is helping companies manage the multi-tier
complexity of their IT environments. Our investment in
Oracle Enterprise Manager complements our strong technol-
ogy and application products, allowing customers to improve
service quality and adopt new technology innovations while
controlling management costs, says Oracle President Charles
Phillips. Oracle Grid Control is the centerpiece of this solu-
tion and a key enabler in the adoption of grid computing and
service-oriented architectures.

ADOPTING THE GRID


Starwood Hotels and Resorts Worldwide, with approximately
850 properties in more than 95 countries, depends on a
production grid environment to run its business. Starwoods Arup Nanda, Director of Database Engineering (left), and Bill Camp, Vice President
of Enterprise Systems, of Starwood Hotels and Resorts Worldwide. The companys
Oracle enterprise grid hosts its reservation system, guest goal of 99.999 percent availability is one reason they chose Oracle, Nanda says.
loyalty system, Web systems, and call center environment.
These information systems encompass our entire business, feature of the [Oracle] Enterprise Manager interface allows us
so it is critical that we establish very reliable OS, storage to get to the database and retrieve key performance numbers
management, and clustering capabilities, says Bill Camp, vice from the SGA directly, without logging in and using a SQL
president of enterprise systems at Starwood. interface, Nanda explains. This allows us to resolve issues
tarwood is basing its online environment and quickly. For us, it was one of the key reasons to implement
underlying database on Oracle Database 10g Oracle Enterprise Manager 10g [Release] 2.
Release 2. The company has a 5TB Oracle SOA keeps the system dynamic. Were adopting a service-
database running on a three-node cluster oriented architecture based on Oracle technology because it
orchestrated with Oracle Real Application is much more flexible adapting to changing business require-
Clusters (Oracle RAC). Starwoods applica- ments, Camp says. Having made that decision, it was natural
tion portfolio includes distribution, content to go with Oracles management tools as well.
management, and marketing, in addition Finding better ways to manage informationeasily,
to the reservation and customer-loyalty securely, and at the lowest possible costwas a key design
systems, Web sites, and call center. The goal for Oracle Database 10g. Oracle Enterprise Manager 10g
hospitality chain processes billions of dollars in bookings per takes advantage of instrumentation and data collection tech-
year through its Oracle-based information systems. Oracle nologies built into the internals of Oracle Database 10g, Oracle
Enterprise Manager helps make it possible. Fusion Middleware, and Oracle E-Business Suite and couples
Our goal is 99.999 percent availability, which is one of that with end-to-end service-level management capabilities to
the reasons we have made Oracle RAC and Oracle Enterprise continually monitor the status and health of any application.
Manager software our standard going forward, says Arup The self-managing capabilities of Oracle Database 10g
Nanda, director of database engineering at Starwood. We use fully automate or significantly simplify many routine func-
the Oracle Grid Control software within Oracle Enterprise tions, enabling database administrators to easily optimize
Manager for automatic grid monitoring, space management, performance, manage backups, and perform other day-to-day
performance monitoring, and alerting DBAs. It gives us a tasks faster than ever before, says Moe Fardoost, director of
single point of focus for our Oracle-based systems. marketing for Oracle Enterprise Manager. In complex envi-
CATHERINE GIBBONS

Starwood finds Oracle Enterprise Manager 10g Release 2 ronments containing many moving parts, with constantly
to be ideal for managing a grid-based infrastructure because it changing workloads, automated management is essential to
reveals so much information in the browser, especially cluster- maintaining costs.
interconnect information from Oracle RAC. The SGA-attach These comprehensive system management capabilities

34 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
Were adopting a service-oriented architecture based on Oracle technology because it
is much more flexible adapting to changing business requirements.
Bill Camp, Vice President of Enterprise Systems, Starwood Hotels and Resorts Worldwide

have been essential to Advance America, the largest provider basis. As the company grew, the complexity of this environment
of payday cash-advance services in the United States. The caused delays that affected internal and external operations.
company operates more than 2,600 cash-advance centers in Even with all servers working at maximum capacity, we
37 states and is adding about 400 centers per year. no longer had a sufficient window for processing all this
Several years ago, Advance America implemented an enter- transactional data overnight, recalls David Toothman, CIO
prise software application called the eAdvantage system to at Advance America. Our distributed database environment
handle critical business functions such as collecting customer could no longer sustain the business, let alone handle growth.
information, processing new cash advances, and servicing Advance America needed an infrastructure that would
existing ones. Initially this application was based on a distrib- expand and scale as business grewwithout requiring a cor-
uted Sybase environment, with 2,000+ branch databases repli- responding increase in IT management cost and complexity.
cating information to a master corporate database on a nightly Toothman and his colleagues adopted Oracle Database 10g,

T H E O R AC L E E N T E R P R I S E M A N AG E R 10 g U N I V E R S E Oracle Enterprise Manager 10g


Service-Level Management enables customers to improve
Oracle Enterprise Manager 10g service quality through
enables executives, business managers, end-to-end monitoring and
and IT administrators to define and automation.
model services, visualize them in
topology views, set service-level
goals, measure service
performance, and report the
status of each service
against goals.
Business
Flows
Application Performance
Management Oracle Custom
IT administrators can Applications Applications
proactively monitor
application services from
end to end, rapidly identify
problems, perform
root-cause analysis, and
take automated
corrective actions.
Connectors
Change & Configuration
Management Plug-ins and
IT managers and connectors
administrators can analyze monitor and
hardware and software manage
configurations, monitor Oracle Database custom and
changes and compliance Real Application Clusters non-Oracle
(Oracle RAC) infrastructure
against configuration and
components and
security policies, and map
exchange
data and capabilities to information
common frameworks. between Oracle
Enterprise
Grid Automation Manager and non-
Oracle Fusion Middleware
IT managers and administrators Oracle management
can lower IT costs through frameworks.
standardization and automation
by provisioning new software and Plug-Ins
applications quickly and easily
using pretested images and auto-
mating patch lifecycle by using Oracle
Enterprise Managers direct connection
STEVE LYONS

to Oracle, proactive patch release


notifications, and single-step distribution.

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 35
The new system architecture has proven
to be much more reliable by eliminating
single points of failure. In six months of
production processing, we have had zero
unplanned downtime for the database.
David Toothman, CIO, Advance America

Oracle RAC, and Oracle Enterprise Manager 10g. Together


with Oracle Consulting, they implemented a grid-computing
environment that effectively operates as a single system.
One of the key benefits of Oracle Database 10g Release 2
Real Application Clusters is its ability to pass information to
the application server tier about the load on and availability
of particular nodes, says Randy Hietter, director of product
management for Oracle RAC. The middle tier can intel-
ligently route connection requests to the least busy node. In
that way, the middle tier and database tier are functioning as a
cooperative computing grid, dynamically exchanging informa-
tion about their status so as to maximize the utilization and
performance of grid resources. Sanjay Bamba, Director of Database Services (left), and David Toothman, CIO, of
Thanks to Oracle RAC and Oracle Enterprise Manager, Advance America. Oracle software allows us to do more with less, Bamba says.

Advance Americas Oracle grid is reliable and can be expanded


by adding nodes to meet expanding workloads. The new Clusterware eliminates the need for costly third-party soft-
system architecture has proven to be much more reliable ware. Oracle Grid Control provides us with a single solution
by eliminating single points of failure, Toothman says. In for monitoring the whole clustera centralized place to look
six months of production processing, we have had zero at the health of our system, says Bamba. We dont have to
unplanned downtime for the database. The environment is consult multiple utilities to determine if things are working
also much more scalable, giving us the ability to add capacity well. We use it for performance analysis, job scheduling,
on demand in a very cost-effective way. resource monitoring, and to keep an eye on our physical-
t Advance America, consolidation and management standby environment. With [Oracle Enterprise Manager 10g]
capabilities make a difference on the front lines: Release 2, were able to monitor our environment through new
where people and systems interact. According to service and system dashboards, and everyone gets what they
Sanjay Bamba, the companys director of database need: service-level information for business users and system
services, consolidating their infrastructure information for administrators. We gain economies of scale as
to a clustered database system has signifi- we bring more activities under the Oracle Enterprise Manager
cantly reduced management costs. His IT umbrella, he continues. In a multitier computing environ-
staff can perform information loads and ment, the Oracle software allows us to do more with less.
roll-ups about two hours faster with the While numerous third-party management tools are avail-
consolidated grid systema 25 percent able, few of them can supply the aggregated information you
improvement. Meanwhile, at the cash-advance centers, need to make intelligent decisionsparticularly when multiple
daily reports are produced more quickly and are available servers and databases are involved. To help system administra-
three to four hours earliera 50 percent improvement. tors gain a thorough understanding of database management
Instead of maintaining more than 2,000 decentralized in Oracle grid environments, Oracle has introduced Oracle
databaseswith their recurring upgrade, support, and man- Diagnostic Pack and Oracle Tuning Pack, specialized manage-
agement costsrequests from each cash-advance center are ment utilities that complement and extend Oracle Enterprise
directed to a service running on all four nodes of the Oracle Manager Grid Control software.
RAC cluster, Bamba says. This allows us to adjust the We have to provide 24/7 support for our databases, and
resources available to each group of clients as the workload we needed a tool that would let us know if there is a problem,
fluctuates. Its working beautifully. so we could be on top of it right away, says Susan Szot,
BOB RIVES

Advance America has discovered another advantage manager of the Corporate Information Technology Metro DBA
of deploying Oracle Enterprise Manager software: Oracle team at Pfizer, the worlds largest research-based pharmaceuti-

36 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
ing of 250 serversa mixture of Sun Solaris and Microsoft
Windows computers.
Pfizer primarily uses Oracle9i Database and is moving
toward Oracle Database 10g for all its production systems.
Formerly, they depended on third-party tools to manage these
information systems, but Szot says the software didnt scale
well and lacked insight into the Oracle product stack. As a
result, Pfizer had to use several software products to monitor
and maintain its IT systems.
Today, Oracle Enterprise Manager Grid Control gives Pfizer
one central management utility for streamlining and automat-
ing a wide variety of tasks. According to Bala Palayam, a DBA
team lead at Pfizer, Oracle Diagnostic Pack is especially useful
for troubleshooting. It includes a diagnostic engine built
into the Oracle Database kernel, enabling Oracle Enterprise
Manager to continually collect metrics and information about
the performance of the database environment. If a user com-
plains about performance, a couple of clicks in a GUI-based
diagnostic console often reveal the problem.
In the past, we couldnt tell if we had a problem with the
database, the network, or something else, so we had to dis-
patch a team of people to figure out what was going on, says
Palayam. It might take all day. Now, Enterprise Manager Grid
Pfizer Corporate Information Technology group members (clockwise): Bala Control can tell us if something happened with the database
Palayam, DBA Team Lead, Marie Rosato, DBA Team Lead, Sue Szot, Manager of the
Metro DBA Team, and Sara Weyman, DBA Team Lead.
before we get all these other people involved. For example, if
a user drops an index, which causes a runaway query, we can
cal company. We tried several kinds of monitoring tools, with pinpoint the problem in 10 minutes.
various degrees of success. [Oracle] Enterprise Manager Grid All of these issues become more pronounced in complex
Control had the most promise, so we started a pilot. Now we environments, since Pfizer is managing not just individual
use the software to monitor all of our databases, in conjunction servers but a shared virtualized infrastructure. Gradually, we
with the Oracle Diagnostics Pack and Oracle Tuning Pack. are learning to use Oracle Enterprise Manager to manage and
Szot and her team of 15 DBAs use Oracle Enterprise monitor not just the database but the underlying infrastruc-
Manager Grid Control 10g to manage 30TB of Oracle data ture, Szot says.
housed in 900 Oracle databases on an Oracle grid consist- Pfizer uses the Oracle Tuning Pack to improve application

PLUGGING INTO ORACLE ENTERPRISE MANAGER


o reduce IT costs, many companies are issues throughout an Oracle grid as well as marketing for Oracle Enterprise Manager,
T recognizing the importance of acquiring
management and diagnostic tools that offer
monitor and manage non-Oracle products.
Companies use the plug-ins to integrate F5
the plug-ins and connectors enable a single
administrator to perform complex management
a holistic viewof servers, storage devices, load balancers, NetApp filers, EMC storage, tasks, such as provisioning extra resources to
operating systems, application servers, and Checkpoint and Juniper firewalls, non-Oracle meet increased demand, even in a heteroge-
databasesthat is mapped directly to their middleware, the Microsoft .NET Framework, neous environment.
core applications. Oracle is leading the charge and the Microsoft Windows Server System, Oracle has used open industry standards
to integrate management with Oracle Enterprise including the SQL Server database. such as Web services and XML to simplify
Manager 10g Release 2, which includes plug- Oracle Enterprise Manager connectors the process of integrating other management
ins and connectors to monitor and manage the enable the bidirectional exchange of informa- systems, he explains. Through plug-ins and
entire application stack, from custom software tion between Oracle Enterprise Manager and connectors, Oracle Enterprise Manager can
modules to infrastructure elements. other management solutions that customers be applied to a single database system or an
The Oracle Enterprise Manager plug-ins may have in their environments. For example, entire grid environment. This allows custom-
dramatically extend Oracles ability to monitor Starwood has plans to integrate Oracle ers to monitor multiple business applications
CATHERINE GIBBONS

data from other systems, says Mary Johnston Enterprise Manager 10g with HP OpenView, its and management utilities as easily as if they
Turner, a vice president at Summit Strategies corporate monitoring standard. were managing one application running on
in Boston. Customers can detect and resolve According to Moe Fardoost, director of one computer.

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 37
Oracle management utilities are helping
us to centralize security, backup, monitor-
ing, and maintenance activities, as well as
to integrate our backup strategy with our
monitoring strategy.
Susan Szot, Manager, Metro DBA Team, Pfizer

performance via better SQL query management. If a SQL


query is chewing up a lot of CPU time, Oracle Enterprise
Manager can often identify why, says Palayam. For
example, it can reveal a hanging process and even kill the
process right away to free up the database. The culprit might
be the number of sessions or how particular processes are
being executed.
While Oracle Enterprise Manager can take corrective action
when needed, Pfizer prefers to be alerted to problems and
advised about solutionsthen fix the actual problems them-
selves. The exception comes with analyzing database schemas
and tablesa tedious process when you are dealing with
900 databases. Before, wed have to set up dozens of indi-
vidual jobs to do that, Szot says. Now we can automate it all
through Oracle Enterprise Manager. What used to be a 30-hour
job can now be accomplished in just two or three hours.
Oracle Enterprise Manager Grid Control also improves
security with respect to Sarbanes-Oxley compliance. Because After extensive testing, Replacements determined that Oracle RAC is a more
reliable and robust structure than a single-instance failover model, says Jim
we have all of our databases hooked to Oracle Enterprise Meredith, IT Manager.
Manager, we have a centralized way of running security
scripts, Szot says. Manager, Oracle RAC enhances database configurations. With
Palayam appreciates Oracle Enterprise Managers Web- Oracle RAC, Oracle Database 10g runs on two or more servers
based architecture, since it means Pfizer does not have to in a cluster that concurrently access a single shared database.
install so much desktop software to manage the grid. All you This configuration extends flexibility and scalability to the
do is point administrators to a URL to access all of the man- business applications that use Oracle databases, since admin-
agement functions, he explains. It is downward-compatible, istrators can add additional server and storage resources as
so we can use it to monitor Oracle Database 10g, Oracle9i needed. This configuration is also more reliable: If one server
Database, Oracle8i Database, and even to monitor Microsoft or storage device encounters a problem, the other devices in
SQL Server databases. the cluster will continue to carry the load.
Pfizer has integrated Oracle Enterprise Manager Grid [Oracle] RAC addresses unplanned outages, with extensive
Control with Oracle RMAN, which streamlines the process data protection and disaster recovery capabilities, which helps
of scheduling database backups. Oracle management utili- us sustain business continuity, says Starwoods Nanda.
ties are helping us to centralize security, backup, monitoring, This architecture was appealing to Replacements, a
and maintenance activities, as well as to integrate our backup specialty retailer with an inventory of 10 million pieces of
strategy with our monitoring strategy, Szot says. Weve only tableware in more than 200,000 patterns. The company has
scratched the surface, yet already this software is solving our been using Oracle technology since 1994 to power its inven-
current problems and getting us ready for the future. We are tory system. In 2005, Replacements deployed an enterprise
less reliant on third-party management tools and weve elimi- grid infrastructure comprised of Oracle 10g software.
nated some third-party tools from our environment. I think its After extensive testing, we determined that Oracle RAC
only going to get better. is a more reliable and robust structure than a single-instance
failover model, as we had been using before, says Jim
FLEXIBILITY WITH ORACLE RAC Meredith, IT manager at Replacements. And because we use
BOB RIVES

Just as the added functionality of Oracle Diagnostics and commodity hardware, the equipment costs us less as well.
Tuning Packs extend the core capabilities of Oracle Enterprise Replacements uses Oracle Enterprise Manager 10g to

38 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
automate DBA tasks, and the service levels, measure those
Web console supplies insight SNAPSHOT service levels from an end-user
into every aspect of service perspective, rapidly isolate
performance, so they can more Advance America problematic issues through the
easily troubleshoot problems. www.advanceamerica.net entire stack, and respond by
Location: Spartanburg, South Carolina
The IT staff is also using Oracle adjusting resources as appropri-
Industry: Financial services
Automatic Storage Management Number of employees: 6,500
ate, he explains.
to simplify storage management Oracle products and services: Oracle Database 10g, Oracle RAC,
activities, which has eliminated Oracle Clusterware, Oracle Automatic Storage Management, Oracle MANAGING CHANGE
the need for third-party cluster Automatic Database Diagnostic Monitor, Oracle Enterprise Manager While these new management
file system software. 10g Grid Control, and Oracle RAC Pack consulting services capabilities represent a huge
All of the storage for the advancement for the industry,
Pfizer
database is controlled through teaching and learning new pro-
www.pfizer.com
Oracle Enterprise Manager and Location: Morris Plains, New Jersey cedures can be challenging in
related utilities, says Meredith. Industry: Pharmaceuticals many corporate cultures. Still,
For example, database backups Number of employees: 115,000 customers who have used the
are controlled and managed Oracle products and services: Oracle8i Database, Oracle9i Database, browser-based interface in Oracle
through Oracle Recovery Manager Oracle Database 10g, Oracle RAC, Oracle Enterprise Manager 10g Grid Enterprise Manager claim that it
Control, Oracle Diagnostic Pack, Oracle Tuning Pack
[RMAN]. We also use the paging makes routine tasks and training
and notification facilities within Replacements easier and more efficient.
Oracle Enterprise Manager to www.replacementsltd.com Training DBAs is extremely
detect potential problems, such as Location: Greensboro, North Carolina easy with the Web interface of
if resource use exceeds a certain Industry: Retail Oracle Enterprise Manager Grid
threshold. If configurable thresh- Number of employees: 550 Control, says Starwoods Nanda.
olds such as run queue length Oracle products and services: Oracle Database 10g, Oracle RAC, Rather than having to work with
Oracle Enterprise Manager 10g Grid Control, Oracle RAC Pack
or session count are exceeded, a dozen tools and learn their
consulting services
Oracle Enterprise Manager can commands, you can do it all
bring up another instance of the Starwood Hotels and Resorts Worldwide through a single interface.
service on another node. It works www.starwoodhotels.com Having a cohesive view of the
very well. Location: White Plains, New York IT environment becomes more
Industry: Travel, guest services important as customers adopt
Number of employees: 145,000
AN INSIDE VIEW virtualized grids in which physi-
Oracle products and services: Oracle9i Database, Oracle Database
Summit Strategies Turner 10g, Oracle Enterprise Manager 10g Release 2
cal resources enable a logical set
believes that theres a reason of IT services. Oracle Enterprise
Oracle Enterprise Manager is so Manager treats IT resources as
effective within grid computing installations. Oracles strategy virtual components that can be transparently mapped onto
is to manage from the inside of the applicationmapping business services, provisioned, monitored, and managed.
deep knowledge of its core system components with real per- Graphical service topologies and service dashboards continu-
formance of end-user business services at the level of discrete ally display pertinent information to both IT managers and
business services, she says. Oracle has a good perspective business owners, so they can monitor application services and
on whats going on with those business services and is gradu- the quality of service being delivered to end users, rather than
ally extending Oracle Enterprise Manager to encompass mul- focusing only on the performance of discrete components,
tiple layers of the infrastructure. Other system management Oracles Fardoost says.
tools have more of an outside-looking-in perspective on the Advance Americas Toothman believes that approaching
application and database environments. the management discipline at this level ups the ante for
In other words, as a vendor that supplies not only the administrators and that their jobs become correspondingly
database but also many mature enterprise applications and more interesting.
associated middleware, Oracle has an intimate view of the As more of our routine management tasks are automated
entire application stack. According to Dave Pearson, senior by Oracle software, our IT staff is able to take on more-
director of Oracle architecture, this unique insight into the challenging tasks for the business, he says. Oracle Enterprise
infrastructure allows Oracle Enterprise Manager 10g Release 2 Manager makes it easier to understand the grid environment
to provide richer end-to-end application management for all through the topology viewer and other mappings.
application environments. Summit Strategies Turner believes that the technology
Once you define services, either at the database or the professionals who confront these management challenges will
application level, you can set policies that establish expected find more-interesting work. Gradually were going to see a

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 39
With Oracle Enterprise Manager, [our DBA] can see all the databases and all the servers
through one interface, so he knows at a glance if there is a resource bottleneck.
Jim Meredith, IT Manager, Replacements

need for higher-caliber IT professionals who can think at these istics, like percentage of uptime, she says. Similarly, IT staff
higher levels of abstraction. members need to rethink their roles and responsibilities as
These changes in IT management approach are already they move away from manual problem intervention and start
happening as businesses migrate toward a more-automated IT focusing on automation through more-comprehensive man-
environment. Replacements has discovered these productivity agement software such as Oracle Enterprise Manager.
benefits firsthand in its work with Oracle Enterprise Manager. But the successes reported hereand many others just like
Weve transferred much of the administrative load off of our themare motivating many companies to get started now. O
UNIX/Linux administrator, says Meredith. Similarly, our
DBA is doing a lot more high-level managing and a lot less David Baum (david@dbaumcomm.com) is a freelance business writer based in
mundane work. With Oracle Enterprise Manager, he can see Santa Barbara, California.
all the databases and all the servers through one interface, so
he knows at a glance if there is a resource bottleneck, such
as if a server hits a memory or CPU threshold or end-user
response time gets a little bit slow.
Turner sees this pattern repeatedly. The journey toward READ more about
management automation requires enterprises to plan and Oracle Enterprise Manager plug-ins and connectors
oracle.com/technology/products/oem/extensions/
operate IT differently than they might have done in the past,
she says. Oracle Grid Computing
oracle.com/technologies/grid/
In an automated, policy-driven world, service-level
READ Oracle Grid Computing customer ROI studies
agreements need to be defined in the context of end-to-end oracle.com/technologies/grid/grid_roi.html
business processes rather than physical hardware character-

After all, you certainly deserve it. And with Transcender, reaching new certification heights is
guaranteed 100%. In fact, with our industry leading approach to certification exam preparation,
theres no telling what you can achieve. Visit www.transcender.com or call 1-866-639-8765.
2006 Kaplan IT, Inc. All rights reserved. TRANSCENDER Kaplan IT, Inc. All rights reserved.

40 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
BREWING
Good Business
BY MI C H AE L M ILEY
Green Mountain Coffee Roasters realized timely order
management and billing, greater analytic visibility for accounts,
and fewer losses in raw materials with PeopleSoft, according to
Rod Ely, system architect and development manager.

Green Mountain Coffee Roasters uses PeopleSoft to deliver the ultimate coffee experience.
reen Mountain Coffee Roasters (GMCR) is serving development manager at GMCR. Tools for enhancing sales
its customers and sales force today and brewing big and marketing are just two of the more-recent functions were
plans for its future. The IT team at GMCR recently putting into place to drive new business. But we couldnt
implemented new tools for sales force automation manage that growth efficiently had we not built our infrastruc-
and expects to deploy campaign management tools to sharpen ture carefully over time, with an eye to the needs of the entire
marketing intelligence, outfit an e-commerce Web site with business. Our goal has always been to support within one
new and innovative products to enhance consumer-direct system, one data model, all the ways that we strive to deliver
sales, and update GMCRs supply chain and financial systems the ultimate coffee experience to our customers. Thats whats
before years end. It seems like a lot to accomplish, but this evolving at GMCR today.
team has a lot of experience with systematic deployment of Born from a coffee shop with a small roasting operation in
Oracles PeopleSoft applications. Waitsfield, Vermont, the company now serves more than four
Since 1997, weve been engaged in a strategic, business- million cups of coffee a day and sells nearly 20 million pounds
process-by-process rollout of integrated PeopleSoft products of coffee a year. A leader in the specialty coffee industry, GMCRs
DAVE BRADLEY

for supply chain management, financial management, enter- revenue is largely derived from its wholesale operations. It sells
prise performance management [ERP], and customer relation- most of its coffee through resellersrestaurants, supermarkets,
ship management [CRM], says Rod Ely, system architect and specialty food and convenience stores, hospitality and food

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 41
service, and office coffee services. It also oper- GMCRs online marketing CRM activities
ates a direct mail-order business and a Web SNAP SHOT include a consumer newsletter that goes out
site where customers can buy coffee and to 80,000 consumers each month. With
Green Mountain Coffee Roasters
coffee-related products. For the past three www.greenmountaincoffee.com
that tool, we can dynamically create content
years, Forbes has recognized the socially and Location: Waterbury, Vermont in the e-mail to our consumers, based on
ecologically conscious company as one of the Annual revenue: US$161 million their preferences as coffee purchasers, says
200 Best Small Companies in America, a Oracle products: Oracle Database; Ely. We can tell if a consumer is interested
reputation it has worked hard to achieve. Oracles PeopleSoft Customer Relationship in flavored coffees, decafs versus regular,
GMCRs IT team supports the business by Management, PeopleSoft Enterprise fair-trade organicor if they own one of
Performance Management, PeopleSoft
working smart. Moving from homegrown our single-cup Keurig brewers, they need
Financial Management, PeopleSoft Human
supply chain and financial applications Capital Management, PeopleSoft Supplier K-Cups to brew.
housed in a Btrieve database to PeopleSoft Relationship Management, PeopleSoft GMCR redesigned and launched its
products running on an Oracle database, Supply Chain Management consumer-direct Web site in 2004. The Web
GMCR took its first steps in 1997 to imple- site provides excellent 24/7 convenience for
ment an integrated ERP solution with broad functionality that our consumers while not requiring more call-center reps. In
could both manage its coffee production and distribution pro- fact, the new system capability in the consumer-direct business
cesses and drive its growth. has been a key enabler, more than doubling the sales in two
The first group of apps we deployed included PeopleSoft years, while dramatically improving our net profit, he says.
General Ledger, Purchasing, Accounts Payable, Inventory, With 350 employees now on the PeopleSoft systems,
Production Management, Cost Management, Bill of Materials, GMCR went live early this year with a sales pipeline manage-
and Routingthe purchasing and receiving side of finance ment project for about half of its sales force, so salespeople
along with the general ledger, says Ely. At the same time, we can access its PeopleSoft CRM applications from a browser on
brought up the manufacturing modules so that we could build their laptops. IT is also putting an enterprise data warehouse
inventory and push it to finished goods. We were the first live in place to offload data from the operational system and to
customer on PeopleSoft Manufacturing at that time. A year later, provide the historical data for PeopleSoft Demand Planning
we implemented Accounts Receivable, Order Management, modules being put into place. GMCR has also launched a mar-
and Billing, followed in 1999 by Human Resources, Mail keting campaign management project, adding PeopleSoft tools
Order, the PeopleSoft eStore, and Asset Management. to drive even more leads into its wholesale business, while
The company has steadily added more PeopleSoft appli- ramping up consumer-direct marketing and sales.
cations critical to its business, even as it worked to be rock The upshot of these software implementations is improved
solid on the earlier modules. GMCR added PeopleSoft profitability. When we implemented the first module of
Stock Administration in 2002; Production Planning and PeopleSoft, we were about a [US]$20 million company, Ely
Online Marketing in 2003; and upgrades to CRM, Human says. Were at $160 million now. Three years ago, we were in
Resources, CRM Sales Lead Tracking (a new warehouse the top 10 performers on NASDAQ. Wed gone from less than
control system/distribution center), and a new consumer- US$10 a share to more than $60 in about a year.
direct Web site in 2004. Were up on more than 20 The merger of Oracle and PeopleSoft has also brought
PeopleSoft modules today, Ely says. benefits to GMCRs IT strategy. Now that we have one vendor
Its been quite a journey, one that began with deploying that can cover everything from database through application
tools for optimizing accounting, while building more control server to applications, were expecting even better total cost
over inventory in raw materials and pushing more out to of ownership out of that relationship, says Ely. Indeed, were
finished goods. fully in gear to implement the rest of PeopleSoft CRM in the
Other benefits in the early stages of our enterprise planning enterprise and are poised to phase in the upgrades to Oracle
project included more-timely order management and billing; Fusionto benefit even more from the efficiencies gained
greater analytic visibility for accounts, balances, and receiv- from our integrated PeopleSoft functionality. O
ables, since everything was on one system; and the reduction
of losses in raw materials, since transactions taken right on the Michael Miley (mmiley@pacbell.net) is a freelance writer living in Sonoma, California.
manufacturing floor could be more accurately accounted for,
says Ely. When our Production Planning kicked in, the bill-
of-materials explosionalong with production routingwere
feeding our purchasing requirements and our production READ more about Oracles PeopleSoft Enterprise applications
capacity scheduling by work area based on what the system oracle.com/applications/peoplesoft-enterprise.html

saw for demand and scheduled production netted out against LEARN more about Oracle Applications
oracle.com/applications
inventory. It gave us what we needed to coordinate our daily
production plan with a set of tools and processes that would DISCOVER Oracle Fusion
oracle.com/applications/fusion.html
scale easily as we grow.

42 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
20(2"..*/(;$"/;#&;"24

 ; ; !; ; ;;

!;;;
 ;; ;;; ;;

   ;

6&290/&;$"/;#&;"/;"24*34;7*4)    

f 07&2'5-;;%*402 f 2("/*:&;9052;702,;7*4);20+&$43

f 5--;'&"452&%;/4&(2"4&%;&#5((&2 f ;%0$5.&/4"4*0/;(&/&2"402

f 0/4&84;3&/3*4*6&;2"$-&;;"/5"-3 f /4&(2"4*0/;7*4);&23*0/;0/420-;934&.3

f "/9;45/*/(;"/%;120'*-*/(;'&"452&3 f "/9;53&'5-;400-3;*/$-5%&%

f 2&"4&;"/%;.0%*'9;"--;%"4"#"3&;0#+&$43 f 0.1"4*#-&;7*4);2"$-&; ;4)205();(

f /4&(2"4&%;"/%;34"/%"-0/&;&1024*/(      


 
BY ALA N JO C H

ORACLE HELPS RETAIL


BUSINESSES
GROW
Detail-driven retailers are gaining competitive
advantages with a new focus on customer data.

hen consumers go online and buy a book, or walk into a


store and buy a pair of jeans, most of them are unaware
of an important fact: Complex software has ensured that
the retailer has the merchandiseeither available to
ship, or in that store in that size, at a particular price. Retailers have
increasingly turned to software solutions to satisfy their customers
and manage and grow their businesses. And Oracles retail applica-
tions, coupled with its database capabilities, offer companies the tools
they need to give them a competitive edge.
One company that wanted to grow faster than its old software could
handle was Parelli Natural Horsemanship, an equestrian education and
equipment company, which had built a thriving business around a simple
philosophy: Parelli customers achieve successful results when they
develop a common language with their horses. Ironically, an outdated
and piecemeal IT system kept the Pagosa Springs, Colorado, company
from developing similar insights and bonds with its customers.
Not only was Parelli unable to identify its most-profitable retail
customers; mounds of dirty data thwarted efforts to conduct sophisti-
cated marketing campaigns based on information it had in-house. At
one point more than 40 percent of its customer records were dupli-
cates. We had information spread around too many systems because
of these different technological pieces, recalls Chris Dollar, IT director
I-HUA CHEN

at Parelli. We knew that system wouldnt serve us much longer.


That all changed in 2005 when Parelli opted for a single, enterprise-

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 45
class relational database and a strategy for assuring that essen-
tial business and customer data remained available and trust-
worthy. I cant say enough how great it is for us to have that
one repository of accurate information, Dollar says.
In a world where retail businesses live or die from having the
right information at the right time, data assurance is a strategic
key to success. Obsession with information predates comput-
ers, to when merchants were famous for staying close to their
operations. They used to touch the merchandise; now they like
to touch the data, says Paula Rosenblum, vice president, retail
research, for technology research and consulting firm Aberdeen
Group. But [rather than] generic data, Rosenblum adds, they
want detailed information focused to their particular issues.
Data-centric retailers are making information integrity the
backbone of their operations to ensure that every manager has
the same views of inventory, pricing, and performance from
every point in the delivery system.
Retail is detail, says David Boyce, vice president of global
marketing for Oracle Retail. Retailers learn that every single
detail of the business matters. The trick is [to think]: How do
Ramiro Cormenzana, Database Administrator (left), and Edgardo Sokolowicz, Chief
I get my share of the spending dollars in each market by offer- Technology Officer, MercadoLibre. Whats very important is the performance,
ing merchandise that speaks to the local customer? stability, and availability of our platform, says Sokolowicz.
The answer is a technology foundation built for reliability,
easy integration, and accuracy, teamed with applications that retailers need a reliable single version of the truth. The under-
let retailers localize their offerings without giving up central lying database technology must be sophisticated enough to give
control, Boyce adds. Merchandising decisions, such as manag- an accurate central source of data even when volumes reach
ing traffic flow, are still made by local store managers. Decisions hundreds of thousands of products.
about what products show up on the shelves and how they
are staged throughout the supply chain, however, are made MANAGEABLE POWER
centrally. If youve got 1,000 stores and 200,000 products, the MercadoLibre.com provides an online trading platform where
number of decisions that [central planners] have to make if you more than 12.5 million registered users in Latin America carry
treat each store as a unique unit is unwieldythats more than a out more than 1 million transactions per month. The company
billion numbers to track across four seasons requires sophisticated data assurance
and across actuals, plan, and historicals. systems to keep this volume of buying
Although automated systems are the
SNAP SHOTS and selling flowing smoothly. Whats
obvious answer in managing and analyzing MercadoLibre very important is the performance, stabil-
data, launching the technology isnt always www.mercadolibre.com ity, and availability of our platform, says
Location: Buenos Aires, Argentina
that easy. The retail industry has special Industry: Retail Edgardo Sokolowicz, chief technology
needs, created in part by the size of many Oracle products: Oracle9i Database Release officer (CTO) at MercadoLibre.
chain stores and the amount of prod- 9.2.05, Oracle9i Real Application Clusters In the past, MercadoLibre relied on
ucts that flow through the supply chain. single, high-performance servers, includ-
Parelli Natural Horsemanship
Applications must be able to accommo- www.parelli.com ing one with 24 CPUs. But last year, the
date this quantity (see the sidebar, Retail Location: Pagosa Springs, Colorado company opted for a new strategy when
Applications Promote Collaboration). Industry: Retail and education it implemented an 11-node Oracle9i
The database, application servers, and Oracle products: Oracle9i Database, Oracle Database Release 9.2.5 cluster using
E-Business Suite Release 11.5.10, Oracle
middleware technologies must operate SQL Developer, Oracle XML Publisher, Oracle Oracle Real Application Clusters (Oracle
comfortably in this kind of high-volume, Discoverer. RAC) technology. Return-on-investment
high-growth environment. Scalability and (ROI) estimates before the switchover
assuring the accuracy of data are essential. Tomax predicted an eventual US$2.4 million
www.tomax.com
Retailing also requires the ability to inte- Location: Salt Lake City, Utah return on the Oracle RAC investment, a
grate all sales channels, ranging from stores Industry: Information technology rate that Sokolowicz says is borne out in
to Web sites to catalogs. Theres a very Oracle products: Oracle Database 10g, Oracle practice. Instead of buying the two multi-
Application Server 10g, Oracle Developer Suite
GABRIEL PIKO

short list of retailers whove done it right, CPU servers for US$800,000, Sokolowicz
10g, Oracle Real Application Clusters 10g,
says Boyce. Consumer frustration and lost Oracle E-Business Suite, Oracle Discoverer invested less than 10 percent of that for
sales for retailers can be the result. Finally, his commodity-PC cluster. Now, as we

46 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
[With RAC,] we kill three birdsperformance, growth management, and availability
with one stone, all while achieving our cost savings.
Edgardo Sokolowicz, Chief Technology Officer, MercadoLibre

continue to grow the business, we dont need to have more Meanwhile, the entire enterprise ran on the other node and
serverswe can just add new server nodes, he says. We kill people didnt even know that a node had gone down.
three birdsperformance, growth management, and availabil- The hot snapshot capability of Oracle Database maintains
itywith one stone, all while achieving our cost savings. accurate data for any Tomax retailer. The snapshot is a copy of
Scalability and dependability in a high-volume environment the production database, and the customers data waits there
are also critical for Tomax, an IT hosting services company in a standby mode and updates near real-time through archive
and creator of the Retail.net suite of applications for manag- log processing. If there were a complete failure of the primary
ing retail chains. Tomax relies on Oracle RAC and runs Oracle database, we can bring the standby to primary status in less
Application Server 10g Release 2 in a clustered implementation, than five minutes, Fernandez says.
which allows for load balancing to level out spikes in demand.
When you become dependent on real-time data for under- INTEGRATION CHALLENGES
standing the business, you need to move in the direction of A strong middleware layer can help retailers with a problem
a clustered implementation, says Virgil Fernandez, CTO of that vexes many operations that combine a chain of stores with
the Salt Lake City, Utahbased company. Using [Oracle] RAC Web sales and catalog business. The problem: A customer goes
for retail customers offers complete hardware availability and to the Web site to evaluate and choose a product, then arrives at
failover thats transparent to the application suite. So the store to buyonly to learn that the product in question is
when one node crashes, the remaining nodes take over sold only through the Web site or that the price is differ-
before end users notice performance problems. Two ent from whats advertised online. Even the best-in-class
months after one of our customers went live on retailers are proving to be vulnerable in this area, says
[an Oracle] RAC implementation, a motherboard Aberdeens Rosenblum.
failed, Fernandez says. The hardware provider Oracle Fusion Middleware is an example of tech-
took two days to get that figured out and repaired. nology thats making it easier for the customer to

Retail Applications Promote Collaboration


Widespread use of commercial enterprise vice president of global marketing for Oracle nently doable, and Oracle is now doing that work
applications among retailers is a relatively new Retail. Retailers use Oracle Retail Merchandising on behalf of the retailers.
phenomenon. Unlike manufacturers, who adopted System to manage master records of products, Continuing on this evolutionary path, Oracle
off-the-shelf enterprise resource planning 20 prices, vendors, and inventory levels, including has plans to certify all its retail applications on
years ago, retailers in the last decade gradu- in-transit merchandise. Oracle Fusion Middleware, to be completed in
ally loosened their tenacious hold on custom Oracle Retail Profit Optimization helps retailers phases. This is a significant step that helps more
programs, believing that the size of their retail customize individual store offerings for local tightly tie and integrate the applications across
businesses and their unique product volumes customer desires and manage promotions and the Oracle Retail suite, Boyce says.
presented needs that only proprietary applica- markdown strategies for maximum profits. Other projects within Oracle enhance the
tions could adequately address. Oracles retail store solutions offer a set of appli- abilities of retailers and suppliers to coordinate
Now that those attitudes have started to cations to enhance customer service activities at activities around promotions. We have a number
change, retailers have an additional weapon: the point-of-sale and in cross-channel environments of assets that allow manufacturers and retailers
rise of tightly integrated retail applications suites consisting of store, Web, and catalog transactions. to collaborate on trade promotions, including
that handle everything from supply chain and Combining Oracle technology with retail appli- payment variability, estimates on how much
merchandise planning to promotions and mark- cations relieves retailers from having to maintain of the product will get sold, or how much the
downs, customer relationship management, and custom code and integration interfaces among retailer should buy, says Jeff Wexler, senior
trend analyses. various best-of-breed products; concerns about director of industry strategy for Oracle.
Oracle Retail solutions model this trend. consolidation have so far been unfounded. In- Closer collaboration among suppliers and
Oracle Retail Merchandising System was built house integration projects at some of the nations retailers will help in a crucial balancing act, he
on Oracle database technology and developed largest retailers have already successfully linked adds. The retailers want to have as little inven-
to manage merchandise, supply chain, and store these formerly separate components, Boyce tory on hand as they can, but they also dont
planning activities. It provides the backbone for says. And the companies that accomplished this want to have the customer come in and not have
running a retailing operation, says David Boyce, arent software companies. Integration is immi- a product on the shelf.

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 47
Using [Oracle] RAC for retail customers
offers complete hardware availability
and failover thats transparent to the
application suite.
Virgil Fernandez, Chief Technology Officer, Tomax

integrate all of this, says Rosenblum. Besides efficiency, this


integration may provide a business advantage, especially for new
or small retailers whose sales now lag behind larger competitors.
These firms understand that technological leapfrogging is a
way to catch up, she says, adding that according to Aberdeens
research, over the next 12 to 24 months, there will be a signifi-
cant increase in spending for multichannel integration.
Integration and scalability were priorities for Parelli last
year when it went live with an Oracle E-Business Suite instal-
lation running with Oracle9i Database in an environment
Chris Dollar, IT Director at Parelli Natural Horsemanship, says that having
hosted by Darc, an IT services and management company centralized customer data has improved the bottom line. This year has been the
based in Chicago. Parellis growing business, with ranches at best tour in terms of revenue per person attending that weve ever had.
its Pagosa Springs headquarters and in Florida, offers classes,
self-study teaching materials, and equestrian gear. Nearly 60 customers and identify duplicates and create that clean master.
percent of its retail sales come through an online store. When executives expanded Parellis international sales earlier
Parellis old IT infrastructure lacked a common data dic- this year, the company handled the additional business without
tionary to facilitate information sharing among its applica- upgrading its IT resources. This initiative would not have been
tions, so the company had to maintain separate databases possible with the old system, Dollar explains. With Oracle, we
for its old enterprise resource planning (ERP) application, can do the international currencies painlessly, and we get the
Web customers, and top customers. For example, a full-time stability we need from Oracle Database. Even though we hadnt
employee was charged with rekeying Web orders into the planned for our international push to come so soon, the Oracle
ERP and accounting systems to complete the transaction. system was ready to handle it, which contributed to extra ROI.
We needed a way to integrate those systems before growth Now that Parelli has customer information in a central
became too fast for us to keep up with, Parellis Dollar says. spot, its using the data for better marketing. For example, the
Now we use [Oracle] Order Management for most of our company conducts road shows across the country to demon-
retail orders and course enrollmentsnot only through the strate its training techniques. With better customer data, it can
standard applications, but we use the open APIs that Oracle pinpoint geographical areas where its best customers are con-
has to interface in our Web shop, Dollar adds. In addition, centrated and schedule events accordingly. Dollar says, This
the Oracle iPayment module lets the company leverage its year has been the best tour in terms of revenue per person
longtime relationship with its credit card merchant company attending that weve ever had. Getting closer to customers by
while harnessing Oracle integration. Were planning to sell riding on the back of data has never been easier. O
gift cards, and we can write that code right into iPayment,
adds Dollar. So, any of our customers that want to [can] use Alan Joch (ajoch@worldpath.net) is a technology writer based in New England who
that [gift card] on a phone sale that we do through the Order specializes in enterprise, Web, and high-performance-computing applications.
Management system. The APIs in iPayment are there so that
we can write our custom payment servlet so that we can
interface Mercury Payment Systems directly into Oracle.
The Oracle-based hosted system lets Parelli keep pace READ more about Oracle Retail applications
oracle.com/industries/retail
with demand. Even as sales rose 30 percent last year, the
company saved money by decreasing its call center staff, and Oracle Retail Merchandise Operations Management
oracle.com/applications/retail/mom
it no longer needed to rekey orders, thanks to productivity
gained from integrating enterprise applications with a central Oracle Retail Profit Optimization
oracle.com/applications/retail/rpo
database. Whenever youve got information spread out in so
many places, theres no real way to aggregate that to see who Oracle Retail Point-of-Service
RAY NG

oracle.com/applications/retail/co/point-of-service.html
your best customers are, Dollar says. Oracle lets you merge

48 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
BY DAV ID A . K ELLY, WITH DAVI D BAU M

ACCESS

_
<GRANTED>
____________________________________________________________

Identity management enables security for privacy and regulatory mandates.

rganizations traditionally have invested in security management also helps to automate the processes around
technology to prevent unauthorized users from compliance, and it enables the creation of audit trails, which
gaining access to private information or restricted track access to applications.
IT services. Over the past few years, the scope and Burlington Coat Factory Warehouse, in Burlington,
importance of security technologies in general, and identity New Jersey, has experienced some of these benefits firsthand.
management in particular, has changed. New identity manage- The national retailer has been using Lightweight Directory
ment and security capabilitiesas found in Oracles identity Access Protocol (LDAP) services for some of its identity
management offeringscan increase developer productivity management needs for more than five years, but managers
while lowering costs and helping to address todays stringent realized that they needed to consolidate and coordinate their
compliance requirements. growing LDAP stack more efficiently. Burlington deployed
Identity management solutions like Oracles can acceler- Oracle Internet Directory (OID) to leverage its existing directory
ate the deployment of new systems, says George Jucan, CEO service. We use Oracle Internet Directory as our primary iden-
at Open Data Systems, a Toronto-based consulting services tity management hub, synchronizing pertinent information to
company. In terms of [development] effort, security can rep- other LDAP servers for deployment throughout the enterprise,
resent 30 to 40 percent of any new system. Having all those says Chris Lundell, network administrator, Burlington.
security features contained in a centralized system that is Lundell explains that OID maps password and account
equipped to fully manage security takes a lot of cycles out of expiration information to an OpenLDAP (an open source
the development effort. implementation of LDAP) server cluster for UNIX authenti-
Not only can a good identity management solution simplify cation and authorization, effectively replacing Sun Network
development, it can also speed up application deployment Information System. OID has its own set of password policies
by standardizing security components, reducing application and account lockout/expiration policies. These policies are
and user maintenance requirements, and creating greater con- mapped to their UNIX equivalents in real time, keeping all
sistency in the way business policies are applied. Moreover, UNIX accounts up-to-date. Its a seamless and straightforward
identity management helps organizations comply with new way to manage the process, says Lundell.
regulatory obligations by enabling companies to enforce access Burlington also uses OID to synchronize with Microsofts
control mechanisms that segregate the duties of users. Identity Active Directory. Accounts in Active Directory are managed

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 49
Oracle Internet Directory is a natural fit for centralizing and coordinating our diverse
and evolving LDAP stack. For us, OID is indispensable.
Chris Lundell, Network Administrator, Burlington Coat Factory Warehouse

in much the same way that the UNIX accounts are managed. from managing many user names and passwordsespecially
Identity management is becoming core to our IT operations, in light of password change cycles. From a compliance per-
says Lundell. Burlington Coat Factory is becoming very spective, we wanted a more-centralized way to audit the access
LDAP-centric, and Oracle Internet Directory is a natural fit for records and user-access patterns across brands, McDonald says.
centralizing and coordinating our diverse and evolving LDAP To mitigate these issues, Ingersoll Rand implemented a
stack. For us, OID is indispensable. brand portal built on Oracle Access Manager. One of the
most important features of this single-sign-on system, called
MANAGING EXTRANET COMPLEXITY IR Passport, is how it allows Ingersoll Rand to delegate user
While identity management solutions can simplify opera- administration at multiple levels, such as by region, district,
tions for an individual company such as Burlington, Mike and dealer, significantly reducing the user-management bottle-
Neuenschwander, vice president and research director at neck at Ingersoll Rands help desk.
analyst firm Burton Group, says todays identity management We wanted to minimize the impact to the existing
solutions often open applications application footprint to keep
to business partners and custom- Identifying the Management Components costs down, McDonald
ers as well. Identity management explains. Oracle Access
is becoming a very important A complete identity management solution needs to include a Manager has a hot-pluggable
enabler, particularly in federation wide range of functionality to manage a broad scope of security architecture that integrates well
scenarios where the administrative and identity-related challenges. Consider the functional com- with our other applications.
ponents of an identity management solution, and the Oracle
burden of account management Thanks to this hot-pluggable
products that address them.
for distributed users can be over- architecture, Ingersoll Rands
Access and identity. A key aspect of identity management is
whelming, he says. administering users and their privileges and controlling access to
application developers didnt
Ingersoll Rand is a good applications and enterprise resources. Oracle Access Manager need to be experts in identity
example of how this works. The provides centralized access management for heterogeneous management to take advantage
company, which provides prod- environments and administrative capabilities such as delegated of Oracle Access Manager soft-
ucts, services, and integrated solu- administration and identity self-service functionality. ware, which passes authenti-
tions to industries ranging from Federation. As organizations move to extend IT access to cated users to each application.
transportation and manufacturing users outside the company, they need solutions that will ensure Oracle Access Manager gives us
to food retailing, construction, security and enable practical connectivity with external parties. a best-of-breed security solution,
and agriculture, experienced Oracle Identity Federation provides cross-domain single sign- and weve reduced our need to
steady growth partly due to its on and helps large corporations securely link their business worry about ever-changing secu-
partners into a corporate portal or extranet while complying with
strong dealer channel. As Ingersoll rity standards, says McDonald.
regulatory and security requirements.
Rand grewand its applications Essentially, we have moved that
Provisioning. Identifying and administering users is one thing;
proliferatedit needed a way to job to Oracle, and we depend
provisioning them is another. Oracle Identity Manager automati-
simplify access to applications and cally manages user access privileges across heterogeneous on Oracle to maintain security
improve user lifecycle manage- resources throughout their full lifecycle, from original creation to and encryption.
ment. The company used identity eventual deprovisioning.
management to streamline inter- Directory. For many organizations, a key component of identity MANAGING USERS EFFECTIVELY
actions with its partners. management is a centralized directory that serves as the central Just as identity management
Prior to implementing our user repository. Oracle Internet Directory simplifies user admin- technologies enable organiza-
dealer portal, our dealers had to istration and provides a standards-based, scalable application tions such as Burlington Coat
visit separate Web sites, based on directory for heterogeneous enterprises. Factory and Ingersoll Rand
brand, to access content about Virtual directory. Virtual directories are important for providing to streamline internal opera-
orders, warranties, and sales and views of enterprise information without synchronizing or moving tions, they also help technol-
data from its native location. Oracle Virtual Directory provides
marketing, says Jim McDonald, ogy companies expand their
scalable, reliable LDAP and XML views of existing enterprise
IT manager at Ingersoll Rand. customer bases. For Transfer
information regardless of where it is physically located.
Having multiple Web sites created Web services management. As Web services proliferate,
Solutions BV, an Oracle partner
confusion for our dealersthey organizations need solid ways to manage them. The Oracle Web and systems integrator based
didnt always know which Web Services Manager solution adds policy-driven identity manage- in the Netherlands, being able
site to visit to accomplish particu- ment technology to existing or new Web services. to offer a portfolio of security
lar tasks. Added frustration came solutions is an important part

50 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
Transfer Solutions recently completed a project for the
Employers Insurance Organization in the Netherlands that
will encompass approximately 3,000 users by the end of
2006. Transfer Solutions integrated Oracle Internet Directory
with Microsoft Active Directory to enable single sign-on for
users via native Kerberos authentication on the Windows
platform. The users benefit because they have one identity
and dont have to separately log into multiple applications,
says Dondertman. For our part, allowing Oracle to manage
security means we have to configure only one component,
instead of developing specialized code. Its much quicker.
Its certainly easier than designing applications and applica-
tion security the old-fashioned way. Several years ago, every
application had its own identity management capabilities,
and as a result there were many places in a company where
user information was stored, says Dondertman. But that is
very difficult to maintain, he adds. When someone leaves
the company, for example, every system needs to be updated.
It can be a huge problem if you overlook one of them.
However, with an integrated identity management approach,
modifying access privileges when an employees position
Chris Lundell, Network Administrator, Burlington Coat Factory Warehouse,
changes or a new employee is added becomes much easier.
says that the company uses Oracle Internet Directory as its primary identity
management hub. SECURE FROM ALL ANGLES
Security attacks on company and personal dataand business
of winning new projects. Our customers are definitely con- managers awareness of IT security needshave increased dra-
cerned about the security of their data and applications, says matically in recent years. These needs are addressed by security
Bert Dondertman, technical architect at Transfer Solutions. and identity management products, which have evolved from
As a result, identity management and application security are niche products that are applicable to specific instances to more-
becoming more important to our business. generalized infrastructure solutions that can be leveraged across

Meeting Compliance Challenges


Regulations such as the Sarbanes-Oxley Act, HIPAA, access either when an employee leaves or is pro- have exposure on U.S. stock exchanges or on
and the European Data Privacy Directive seek to moted, thus accumulating privileges to applications U.S. financial markets. Chinese banks may be
provide greater visibility into business processes, for which the employee no longer needs access. concerned about corporate governance require-
and companies have often responded by imple- Further compliance issues arise when password ments when they have to raise public debt in
menting comprehensive internal control frame- policies are not enforced across all systems, and international markets. Japanese organizations are
works. The regulatory impact includes requirements when users have access to applications that conflict facing the new Japan Corporate Governance Act,
to secure access to information by controlling who from a business perspectivesuch as when a which will go into effect in 2008. These global
has access to it and to create documentation for clerk with rights to the purchasing system also has security and regulatory issues that are driven by
process, application, and IT controls, whether these access to the accounts payable system. the interconnected capital markets require the
controls are corrective, detective, or preventive. Compliance requirements drive investment in same kinds of protections for financial information
Organizations affected by these regulatory require- identity management technology, which addresses and customer information everywhere.
ments often have to certify periodically (every three these control deficiencies by providing a framework Data privacy is one issue that cant be
to six months) that only appropriate individuals have to manage users and their access rights. And the addressed in just one part of the business. Data,
access to critical information systems; they also urgency to implement comprehensive access and application, and access requirements must be
must be able to prove compliance for an internal or security solutions is increasingly global. addressed globally through consistent authorization
external audit team. Judging by our own customer base, these policies. When it comes to security, our customers
Many of the common control deficiencies that regulatory drivers often cut across national are focused on regulatory compliance, says Collet.
auditors look for occur when identity management boundaries, says Harald Collet, director of risk That reflects the new operational reality faced by
CATHERINE GIBBONS

is still built into each individual application, and mul- assurance solutions at Oracle. Many of our many companies. Addressing compliance issues
tiple applications need to be managed. These defi- European customers are concerned about data is one way that organizations can keep their data
ciencies include, for example, a delay in terminating privacy or the Sarbanes-Oxley Act since they may safe, secure, and confidential.

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 51
Oracle and non-Oracle environments. For example, Oracle
Security Developer Tools, which ship with Oracle Application
Server, are pure Java toolkits that can be used to enable federa-
tion and interoperability between client and server resources
in many types of IT environments. According to Howard Bae,
product manager for identity and access management at Oracle,
these tools support everything from low-level cryptographic
algorithms to certificate management. They also include secure
messaging capabilities such as S/MIME and CMS, along with
application-programming interfaces for XML security, Web ser-
vices security, digital signatures, and encryption. This makes it
easier for developers to build centralized security and identity
management capabilities into applications from the start
rather than having to retrofit solutions after the fact.
We know of no security needs that cannot be satisfied
by Oracle Identity Management, says Open Data Systems
Jucan. For example, in environments where LDAP directories
already exist, Open Data uses Oracle Virtual Directory to inte-
grate with Oracle Internet Directory. In other instances, the
company uses Oracle Access Manager to enable self-service
We wanted to minimize the impact to the existing application footprint to keep
registration of corporate users and to manage the provisioning costs down, says Jim McDonald, IT Manager, Ingersoll Rand. Oracle Access
of privileges and user profiles across multiple systems. Manager integrates well with our other applications.
Oracle Access Manager also streamlines the reporting and
auditing of user profiles while providing single sign-on and keting, Oracle. You dont want to hard-code security logic
enforcing access policies. into individual Web services. Instead, you want to point each
With Oracles expanded identity management offerings, pertinent Web service to a centralized security server, where
we have a complete toolset at our fingertips, says Jucan. they can subscribe to a centrally maintained security policy.
Oracle Identity Management can provision anythingeven This addresses the same problem that identity management
for the most-complex IT environments that weve seen. All addressed for user-to-application communication a decade ago.
the tools have been seamlessly integrated into one suite to Ingersoll Rand has found the business value in centralizing
further simplify development and deployment. identity management and providing single sign-on. We have
a complex and heterogeneous technical environment, says
IDENTITY MANAGEMENT AND SOA McDonald. We run applications in .NET, J2EE, and even
As more organizations adopt service-oriented architectures Lotus Domino. With Oracle Asset Managers hot-pluggable
(SOAs), the issue of identity management expands beyond architecture, it was relatively easy to integrate them all. Now
simply managing user identities to encompassing discrete when our dealers sign into one application, they are signed
business services. When into all of themregardless of the underlying technology.
you start working with The key focus of this project was making it simple for dealers
SNAP SHOT distributed services, where to do business with Ingersoll Rand. When our independent
Burlington Coat Factory applications need to call dealers look to expand their product offerings, we want them
www.burlingtoncoatfactory.com out to other applications to think of Ingersoll Rand first. We think that making it easier
Location: Burlington, New Jersey and services to request a to do business with us is the first step. Thats really the value
Industry: Clothing, home furnishings price quote or something proposition for us. O
Number of employees 30,000 similar, you need to be
Oracle products: Oracle Database,
able to verify the identity David A. Kelly (dkelly@upsideresearch.com) is a business, technology, and
Oracle Real Application Clusters, Oracle
Data Warehouse, Oracle Internet Directory,
and access rights of all travel writer who lives in West Newton, Massachusetts. David Baum (david@
Oracle Retail Price Management, Oracle the distributed pieces, dbaumcomm.com) is a freelance business writer based in Santa Barbara, California.
Human Resources, Oracle Portal says Burton Groups
Neuenschwander.
Ingersoll Rand SOA security is all
www.irtools.com about ensuring that READ more about identity management
CATHERINE GIBBONS

Location: Hamilton, Bermuda oracle.com/products/middleware/identity-management/


application-to-application
Industry: Industrial manufacturing identity-management.html
Number of employees 40,000 communication is secure,
LEARN about information security
Oracle products: Oracle Access Manager says Wynn White, senior oracle.com/solutions/security
director of security mar-

52 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
_______________________________________________________________________________________
Security
Identity
Management
&
Special Advertising Section TA B L E O F
CONTENTS

Secure data. Secure access. Secure the enterprise. Oracle and its partners Approva
deliver a secure infrastructure through a wide range of products, processes,
and technologies to help prevent unauthorized access to confidential information, BIO-key
reduce the cost of managing users, and facilitate privacy management.
First
Following is a special partner section highlighting our partners aligned with
Oracles security and identity management strategy. Take a moment and Ondemand
learn about these valuable partner solutions that can help you secure your IT
infrastructure and protect the enterprise. F5

APPROVA BIO-key

ARE YOU PREPARED FOR YOUR AUDIT? CONVENIENT, SECURE ID AUTHENTICATION

Reducing the Cost of Compliance With the simple touch of a users finger, you can positively
Designing, testing, and monitoring application controls is establish their identity before granting access to your valuable
time consuming. With the scope of audits continuing to corporate resources, Web portals and SSO applications.
increase, most companies have taken a manual approach to BIO-key delivers a tangible return on your security platform
address challenges such as: investment that:
O Segregation of Duties O Reduces risk
O Compliant Provisioning & Sensitive Transaction Monitoring O Improves user convenience
O Lowers your operating costs
Controls Automation & Monitoring for Oracle 
Approva enables business, finance, IT, and audit professionals Seamlesslyintegrate fingerprint biometrics into your
to automate the on-demand testing, closed-loop remediation, applications with BIO-keys proven software that offers:
and continuous, exception-based monitoring of controls O Fast one-to-many matching using our scalable, secure
within Oracle and across all of their business systems. software architecture
O Cross-Application Controls Management O Flexible adoption to any existing or new application
O Security, Access and Process Controls Monitoring O And best of allour software solution is reader
independent, supporting virtually every fingerprint
The Only Cross-Application Controls Management reader device, which can be used interchangeably!
Approva offers the only cross-application controls manage-
ment solution available today. We deliver cost-effective and
sustainable compliance, streamline audits, and reduce
exposure to mistakes, fraud, and inefficiencies.
O Reduce the Cost of Compliance
O Reduced Risk
Call or email us now
for a free Biometric Security
www.bio-key.com
Integration Analysis
For more information visit: Phone: 866-846-2594
www.approva.net/oracle Email: Sales@bio-key.com

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 53
SPECIAL ADVERTISING SECTION
________________________________________________________

F5

ORACLE RUNS BETTER WITH F5


ADVERTISE IN
Oracle applications are critical to your business. Its import-
ORACLE MAGAZINE
ant that they are protected from external attacks and internal
misuse. Thats where F5 comes in.
F5s BIG-IP is the #1 selling application delivery network- Be included in the
ing solution today.
September/October
O BIG-IP protects your Oracle applications from
availability-limiting attacks. 2006 issue of
Ensures that only authorized users get access.
O
O Includes powerful SSL termination and acceleration.
Oracle Magazine
F5s award-winning FirePass SSL VPN secures the commu- which is the Oracle
nication sessions between users and the applications.
OpenWorld show issue
O FirePass supports strong authentication.
O Integrates seamlessly with Oracle Identity Management, and the magazines
including SSO and OID.
20th-anniversary
Secure your Future
issueplease contact
Reduce your security risks and protect your corporate assets
while improving application performance your account manager
and availability. Only with F5.
today or e-mail Jennifer Hamilton at
For more information go to:
jennifer.hamilton@oracle.com.
www.f5.com/products/
security.html
or call: 1-888-88BIG-IP

54 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
d e v e l o p e r FRAMEWORKS BY STEVE MUENCH

A New Face on the Block


Oracle ADF offers new JSF support and enhanced, visual, declarative development.
racle JDeveloper 10g Release you use Oracle JDeveloper 10g Release 2 New Gallery dialog box. In the Create
3 (10.1.3) improves the J2EE (10.1.2) for Web applications, youll find Application dialog box, enter an applica-
development experience from these concepts quite familiar. tion name, select the Web Application
every point of view. Released Oracle JDeveloper 10g Release 3 [JSF, ADF BC] application template,
in February 2006, it provides slick new (10.1.3) introduces many new fea- and click OK. Oracle JDeveloper will
refactoring features that make iterative tures that enhance JSF development. create a new application workspace with
code improvements a snap. It also offers The visual page flow diagram lets you a Model project for the business com-
new teamwork support that simplifies design how end users navigate between ponents, along with a ViewController
collaborative development, and it pages in your application. The visual project for the JSF pages that comprise
provides all-around enhancements page designer lets you drag-and-drop the Web user interface. Next, right-click
for visual, declarative development components from a palette, rearrange the Model project; select New; and
that make it easier than ever to build them on-screen, set the properties that under Business Tier->ADF Business
enterprise Web and desktop applica- control their look and behavior, and Components, start the Business
tions. This column highlights some bind them to data. Components from Tables wizard that
of the main new Oracle Application The ADF Faces component library youve seen in previous columns to
Development Framework (ADF) Release provides about 100 enterprise-grade JSF create a default ADF entity object, view
3 (10.1.3) features, by building a set of components to use in your pages, and object, and application module for
Web search pages using the JavaServer the Data Control Palette makes it easy to working with data from the EMP table
Faces (JSF) standard. drop data-bound controls, input forms, in the SCOTT schema. When creat-
tables, trees, and master/detail combina- ing these components, give them the
JDEV AND JSF tions using these components. Oracle names Emp (EO), EmpView (VO), and
In the past, J2EE developers had to ADF has been enhanced to directly DemoModule (AM), respectively.
choose among several competing support JSF, so the process of building Next, lets look at a new 10.1.3
approaches to build Web user interfaces JSF pages that display and modify data feature that lets you add named bind
(UIs). In 2005, however, JSF emerged to is the same code-free experience youve variables to view objects. Double-click
become the standard approach for Web come to expect from previous releases. the EmpView view object to open the
user interface development with the The simplest way to get acquainted editor, select Bind Variables, and click
J2EE platform. JSF simplifies the process with JSF and Oracle ADF in Oracle New to define a bind variable named
of building Web UIs, by introducing JDeveloper 10g Release 3 is to create EmployeeName of type String. You
Web UI components that have attri- some simple pages that you may have could enter a default value for the bind
butes, events, and a consistent runtime built before with previous releases. Ill variable, but for now leave it blank and
API. Instead of wading knee-deep construct two kinds of search pages it will default to NULL. Next, select
through tags and scripts, with JSF you to show the productivity improve- the Control Hints tab for this vari-
assemble Web pages by using a growing ments youll find when using the able, enter Name Starts With as the Label
set of libraries that contain off-the-shelf, current version, compared to Oracle Text hint, and click OK. Add a second
data-aware components that adhere to JDeveloper 10g Release 2. In particu- bind variable named MinSal of type
this new standard. lar, youll find that tasks that used to Number with a default value of zero (0).
The original designers of JSF incor- require code to accomplish are now Enter Salary Greater Than as its Label Text
porated several declarative development 100 percent declarative. control hint, and click OK. Next, visit
techniques to simplify the Web develop- the SQL Statement panel to reference
ment process. They included the use CREATING A SEARCH PAGE AND USING these bind variables in the view objects
of a standard expression language to BIND VARIABLES WHERE clause. In the Query Clauses
bind components to data, automatically Lets start by creating a new application section, enter ENAME LIKE UPPER
managed JavaBeans that can hold event- by selecting File->New from the main (:EmployeeName)||% AND SAL > :MinSal in
handling code, and automatic page menu and then selecting General-> the Where field, and click OK.
request handling and page navigation. If Application and clicking OK in the At this point, Ive enhanced the

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 55
FRAMEWORKS

EmpView view object to accept two building your first JSF page with full tor binding for the same EmpView1
named bind variables. Now Ill show search functionality. Run the page by view object. With two iterators, you
how easy it is to leverage these named selecting Run from the right-mouse can force one to stay in find mode
bind variables in a JSF search form. context menu, and experiment with it while the other remains in regular
To create a new JSF page, right- by entering values for the two search display results mode. To add a
click the ViewController project and form fields. It doesnt get much easier second iterator, open the pages page
select New to open the New Gallery than this. definition by right-clicking on an
dialog box. Under Web Tier->JSF, This approach of using named bind empty area of the page and select-
launch the new JSF JSP page wizard. variables and a parameter form based ing Go To Page Definition from the
On step 1 of the wizard, for File Name on the ExecuteWithParams built-in context menu. This step opens the
enter the name SearchUsingBindVars action is perfect in cases where youre SearchUsingFindMode.xml page defini-
.jsp and click Finish. The visual page always searching on the same fixed set tion file in the code editor and shows
designer opens, and the Data Control of parameters. If, however, you need to its structure in the Structure Window.
Palette should appear. If you dont let the end user mix and match any set Notice that the page definition file
see it, select the View->Data Control of query-by-example criteria, you should contains an executables section as well
Palette menu item. Expanding the tree build the search using find mode. Ill as a bindings section. The executables
display in the Data Control Palette, find walk through those steps next. section lists all of the iterators related
the EmpView1 view object instance to data that your page displays. The
and, nested inside it, an Operations CREATING A SEARCH PAGE USING FIND MODE bindings section lists the binding
folder. Expand that folder to see the Create a second JSF page, named objects that connect your pages UI
new ExecuteWithParams built-in SearchingUsingFindMode.jsp. To controls to attributes of the underlying
action for executing a view object create the search area on the page, data collections. To add a new iterator,
with named bind variables. Drag the drag EmpView1 from the Data Control right-click the executables node in the
ExecuteWithParams action and drop Palette and drop it onto the page as an Structure Window and select Insert
it onto the empty page in the visual ADF Search Form (in the Forms cat- inside executables > iterator. In the
designer. In the Create menu that egory). By default, Oracle JDeveloper Iterator Binding Editor dialog box
appears, select ADF Parameter Form creates a search form field for each attri- that appears, expand the data control
in the Parameters category. In the Edit bute. Looking in the Structure Window, to show your EmpView1 view object
Form Fields dialog box that appears, you can see that it creates the UI con- instance and select it. In the Iterator Id
click OK to create a parameter form trols inside a container control called an field, change the name of the iterator to
with all of the bind variables in the af:panelForm. Select that panel form EmpView1ResultsIterator, to reflect the fact
EmpView1 view object. control, go to the Property Inspector that it will be used to show the results
You should now see two labeled panel, and enter 3 as the value of its of the query, and click OK. Next, go to
text fields on your page, along with Rows property to lay out the fields in the bindings section of the page defini-
an ExecuteWithParams button. This the panel form in three rows. Next, drag tion, and edit the table binding named
parameter form allows the end user to EmpView1 in the Data Control Palette EmpView1 by right-clicking it and
enter a value for either or both of the and drop it on the page below the selecting Properties. In the Select an
view objects named bind variables. search form as an ADF read-only table Iterator list at the bottom, change the
When the user clicks the button, the (in the Tables category). As before, keep table binding to be bound to the new
values will be assigned to their respec- all the attributes and enable selecting EmpView1ResultsIterator, and shuttle
tive variables and the view objects query and sorting. all of the attributes from the Available
will be executed. If you were to run the form now, list into the Display Attributes list.
Next, add a table that shows the you would have a page with a form that Click OK.
results of the query. To do this, select allows both searching and editing, along The last step requires forcing
EmpView1 in the Data Control Palette with a table that displays the results. the original EmpView1Iterator to
and drop it onto the page below the Most Web users, however, expect search always stay in find mode. With Oracle
parameter form. In the Create menu that fields at the top of the screen always to JDeveloper 10g Release 2 this step
appears, select ADF Read-only Table function as search fields, rather than as required writing code, but in the 10.1.3
in the Tables category. In the Edit Table a toggle between search and edit modes. release it is declarative. In the Structure
Columns dialog box that appears, select You can make this change by performing Window for the page definition, right-
all EmpView1 attributes to be shown in just a few additional steps. click EmpView1Iterator in the execut-
the table, select both the Enable selec- In order to have some UI con- ables section, and select Insert before
tion and Enable sorting check boxes, trols display the results of the search EmpView1Iterator > invoke Action.
and click OK. while others stay fixed in find mode, In the Insert invokeAction dialog
Believe it or not, youve just finished you need to introduce a second itera- box that appears, give the binding

56 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
Oracle Discoverer 10g
Handbook
Michael Armstrong-Smith &
Darlene Armstrong-Smith

0-07-226214-1

Oracle HTML DB Handbook


Lawrence Linnemeyer &
Brad Brown

0-07-225768-7

Enterprise Grid Computing with Oracle


Brajesh Goyal & Shilpa Lawande
0-07-226280-X
Available August

ORACLE Everyday Oracle DBA


April Wells

PRESS
0-07-226208-7

THE GENUINE AUTHORITY


ON ORACLE 10g
For more than 10 years, Oracle Press has been working closely with Oracle
experts and the user community to develop the most authoritative,
comprehensive, and current references on Oracle products and technologies.
The choice is clearif you buy only one book, be sure it's from Oracle Press.

AVAILABLE EVERYWHERE BOOKS ARE SOLD


Join the community at www.oraclepressbooks.com.
FRAMEWORKS

a name by setting the id property to FINE-TUNING THE RESULT tell exactly what component is selected
ForceFindMode and select the Find To further improve the search page by looking at the Structure Window
action binding from the Binds list. The youve just built, you can take advantage or in the tag strip at the bottom of
invokeAction is a declarative facility in of a few more declarative features of the visual editor window. If you dont
the page definition to invoke an action the Oracle ADF/JSF combination. One initially select the table, you can use
binding during page processing. common feature of search pages is to these other two mechanisms to quickly
On the Advanced Properties tab, avoid displaying any initial results until select the containing element that you
create a Boolean expression for the the end user has a chance to enter some want. With the table selected, go to the
RefreshCondition property that indi- search criteria. You can easily accom- Property Inspector to change the value
cates when the invokeAction should plish this in Oracle ADF Release 3 by of its Rendered property. With that
invoke its action binding. Since invok- just setting one additional configuration property selected, click the Bind to data
ing the built-in Find action will toggle parameter on the page definition. button in the Property Inspector toolbar
the iterator in and out of find mode, it Visit the page definition again for to bring up the EL expression builder.
should be invoked only when the user the SearchingUsingFindMode.jsp page, Use the same steps you just used, above,
is not in find mode. To enter the correct and select EmpView1ResultsIterator in to enter the expression #{adfFacesContext
Expression Language (EL) expression for the executables section of the Structure .postback == true}, and click OK. Since
this condition, you can use the new EL Window. Go to the Property Inspector, this expression evaluates to true only
expression builder in Oracle JDeveloper click in the RefreshCondition prop- when the user clicks a button in the
10g Release 3. To do so, click the (...) erty, and click the (...) button. In the form, the Rendered property of the table
button next to the RefreshCondition EL expression builder dialog box that will evaluate to false when the page ini-
field. In the EL expression builder dialog appears, expand the JSF Managed tially displays, and the table will disap-
box that appears, expand the ADF Beans folder and the adfFacesContext pear from view.
Bindings folder, the bindings node node beneath it, and select its postback With just a few steps, youve built
beneath it, and the EmpView1Iterator property. Click the (>) button to insert two styles of search pages using JSF and
node to see its properties. Select its find- the EL expression that represents that Oracle ADF. For a more in-depth intro-
Mode property and click the (>) button property. The expression ${adfFacesContext duction to the new features in Oracle
to insert the appropriate EL expression .postback} appears in the Expression ADF and Oracle JDeveloper for JSF devel-
that represents that iterator property. The field. With the cursor just inside the opment, I recommend reading the ADF
expression ${bindings.EmpView1Iterator closing curly brace, click the (==) button Developers Guide for Forms/4GL Developers
.findMode} appears in the Expression in the Logical Operators section, type on OTN (oracle.com/technology/
field. With the cursor just inside the the word true to end up with the expres- documentation/jdev/b25947_01). I also
closing curly brace, click the (==) button sion ${adfFacesContext.postback == true}, recommend visiting the Oracle JDeveloper
in the Logical Operators section and and click OK. This postback property page on OTN (oracle.com/technology/
type the word false to end up with the on the ADF Faces context object evalu- products/jdev), where youll find links to
expression ${bindings.EmpView1Iterator ates to false when a page first displays. a number of interesting tutorials. O
.findMode == false}. Click OK, and then When the user interacts with a UI
click OK again to dismiss the Insert control on the page, a postback event is Steve Muench is a consulting product manager for
invokeAction dialog box. sent to the server to be processed, and Oracle JDeveloper. In his more than 16 years at Oracle,
This last step completes the declara- the postback property changes to true. he has supported and developed Oracle tools and XML
tive configuration of the second search By referencing this postback expression technologies and continues to evangelize them. He
form. This involved changing the table as the value of the RefreshCondition authored Building Oracle XML Applications (OReilly &
binding to display the results using this property of the iterator binding, the Associates, 2000) and shares tips and tricks on OTN
results iterator and forcing the initial iterator remains unbound for the current (oracle.com/technology) and his Dive into BC4J and
iterator to always stay in find mode. As page request when postback evaluates ADF blog (radio.weblogs.com/0118231/).
a final touch, you can flip back to the to false. As a result, when you now run
visual editor and delete the Find button the SearchingUsingFindMode.jsp page, it
and af:outputText control that mentions will not initially display any data.
Find Mode since you wont be needing When you run the page, you should
them. Just select each one and use the notice that the data doesnt initially
READ more about Oracle
delete key to remove them. You can now appear, but an empty table appears JDeveloper 10g and Oracle ADF
run your SearchingUsingFindMode.jsp showing the words No rows yet. As oracle.com/technology/products/jdev
oracle.com/technology/products/jdev/tips/
and experiment with the search fields a final touch, configure the table not muench/designpatterns
at the top. Although this search page to display at all when the page initially
DOWNLOAD Oracle JDeveloper 10g
required a few more steps, it still didnt renders. To do this, select the table in oracle.com/technology/products/jdev
require writing a line of code. the visual editor. At any point, you can

58 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
d e v e l o p e r ODP.NET BY M A R K A. WI LLI AMS

Improve ODP.NET Performance


Take advantage of connection pooling, fetch size controls, and statement caching.
or features and performance, values. If any one of the connection tion poolingwhere Pooling=TRUE
Oracle Data Provider for .NET string parameters is modified, ODP.NET also uses the sample HR user and the
(ODP.NET) is your best choice will create a new connection pool for default password:
for connecting .NET applications your application when the next connec-
with Oracle Database. tion is requested. string with_pool =
Performance-related features that Subsequent connection requests can User Id=hr;
enable your applications to consume use a connection from the pool rather Password=hr;
fewer database resources and therefore than go through the process of creating Data Source=oramag;
perform and scale better are built into a new connection. When your appli- Enlist=false;
the provider. Three of these features are cation is finished using a connection, Pooling=true
connection pooling, controlling fetch the Close or Dispose method returns
size, and statement caching. the connection to the pool rather than The main method calls each of
I ran some tests to confirm that these physically closing or destroying it. Note the member methods to perform
features could improve application that for nonpooled connections, it is the tests. One member method
performance. I used version 10.2.0.2.0 best to call the Dispose method, because ConnectionPoolTestcaptures the
of both ODP.NET and Oracle Database it explicitly frees system resources. current time, executes the connection
for all tests in this article. Note that the testing loop, and captures the current
statement caching feature was added in CONNECTION POOLING IN ACTION time again. The code then calculates the
ODP.NET version 10.1.0.3. The sample code for this column dem- difference between the two time intervals.
onstrates one technique for measur- On my test system, I achieved the
CONNECTION POOLING OVERVIEW ing the performance benefit of using following results with an iteration value
Creating a physical connection to a connection pooling. The code in of 100:
database can be an expensive operation JulyAug2006.csavailable for down-
in terms of time and system resources. load with the online version of this Beginning Connection Pool Test with
During the busiest times, applications article and in Listing 1 in the online 100 iterations...
with precreated connections that can be article, at oracle.com/technology/ No Pooling: 7.8312608 total seconds.
allocated when needed perform better oramag/oracle/06-jul/o46odp.html With Pooling: 0.1301872 total seconds.
than when applications create the con- creates two connection strings: one that
nections on demand. Using the connec- uses connection pooling and one that As you can see, with no connection
tion pooling feature of ODP.NET, your does not. The code then opens and pooling, the loop executed in almost
application can create and maintain a closes the connections in a loop. The 8 seconds. With connection pooling,
ready pool of precreated connections. number of iterations is controlled by a the loop executed in approximately .13
By default, connection pooling is parameter passed into the test method. secondsdramatically quicker.
enabled in the provider. You can turn The connection string with Making specific connection pooling
connection pooling on or off by setting no connection poolingwhere parameter recommendations is dif-
Poolinga Boolean connection string Pooling=FALSEuses the sample HR ficult, because workloads can vary
attributeto either TRUE or FALSE, user and the default password: greatly. One general recommendation
respectively. (Other connection string is to have a sufficiently high minimum
parameters that control various aspects of string no_pool = pool size. I have often seen connection
connection pooling are fully documented User Id=hr; pools drained to the minimum during
in the ODP.NET documentation.) Password=hr; a lull in activity. When activity picks
When your application uses connec- Data Source=oramag; up rapidly, the connection pool has to
tion pooling, the provider creates a pool Enlist=false; create connections quickly rather than
of connections based on the connection Pooling=false use connections in the pool. In most
string signature. The signature is based cases, the application server reduces
on the connection string parameter The connection string with connec- the number of connections and remains

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 59
ODP.NET

relatively idle. Thus, there is no reason insert into fetch_test rowsFetched++;


to have a low minimum pool size. values (i, to_char(i, 000000)); }
end loop;
CONTROLLING FETCH SIZE end; I then executed the test method,
Retrieving data from the database tier / using five different row values. The
to the middle tier (or client tier) is results of the tests are summarized here:
one of the most expensive operations You could also use a tool suite such
with respect to performance. If the end as Oracle Developer Tools for Visual ROWS TIME
user consumes a lot of data, you will Studio .NET to accomplish this. Be sure ________ __________________________
want your application to minimize the to issue a COMMIT after populating the
number of round-trip data fetches. table if you are using a tool that does 1 5.4378192 seconds
By default, ODP.NET will read not do so by default. 10 1.1115984 seconds
64KB of data from a result set at After populating the table with data, I 100 0.2703888 seconds
a time. You change this value by gathered statistics so the optimizer could 1000 0.200288 seconds
setting the FetchSize attribute for an determine the appropriate way to access 10000 0.1902736 seconds
OracleDataReader object. However, the data. I used the dbms_stats package:
rather than arbitrarily setting the fetch As you can see, if you are tempted to
size, ODP.NET provides the ability to begin fetch only a single row at a time to save
control the number of rows that are dbms_stats.gather_table_stats( resources and increase performance (I
fetched from a result set per round trip. ownname => HR, have sometimes heard this advice), you
The two properties you use to do this tabname => FETCH_TEST, will actually be dramatically reducing,
are RowSize and FetchSize. estimate_percent => null, rather than increasing, runtime perfor-
RowSize is a property of the method_opt => for all indexed mance. In addition, for this set of data,
OracleCommand object, and the value columns size 1, there is not much performance increase
for this property is assigned by ODP.NET cascade => TRUE); when fetching more than 1,000 rows at
when the statement associated with end; a time. Of course, this is also a narrow
the command object is executed. You / data set (with only two small columns).
explicitly set the value of the FetchSize Apply this technique to a result set
property. For example, if you want to Next I performed a test similar representative of your environment to
retrieve 100 rows at a time from the to that used for connection pooling: determine optimal values for setting
result set per round trip, you set the capture the current time, set the fetch your fetch size.
FetchSize property: size to an appropriate value, read the Of course, there is a cost if the fetch
data from the result set, capture the size is arbitrarily large. More client-side
dr.FetchSize = cmd.RowSize * 100; current time again, and compute the dif- memory and processor cycles will be
ference. I created a test method called needed to store and manage a larger
Here, dr represents an FetchTest to set the fetch size and read amount of data. The goal is to find a
OracleDataReader and cmd represents the datait accepts an integer param- high-performing balance between the
an OracleCommand object. eter that controls the number of rows to number of round trips and the amount
be fetched. To set the fetch size and read of data retrieved per trip.
FETCH SIZE BENEFITS the data, I used the following:
To illustrate the benefits of controlling STATEMENT CACHING
fetch size, I used SQL*Plus to create a OracleCommand cmd = con. Using bind variables in your application
simple new tablefetch_testin the CreateCommand(); is a good practice. Bind variables can help
HR sample schema: ensure that Oracle Database can reuse
cmd.CommandText = select * from SQL statements in your session and in
create table fetch_test fetch_test; other sessions that may use the same state-
( ment. (See the ODP.NET column in the
id number primary key, OracleDataReader dr = cmd. September/October 2005 issue of Oracle
data varchar2(32) ExecuteReader(); Magazine, at oracle.com/technology/
); oramag/oracle/05-sep/o55odpnet.html,
dr.FetchSize = cmd.RowSize * for more details on the benefits of bind
and populated it with 100,000 rows: numRows; variables.) For those applications about
which you know, at design time, which
begin while (dr.Read()) statements will be reused, you can further
for i in 1..100000 loop { increase the performance benefits of bind

60 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
variables by using a feature exposed by STATEMENT CACHING RESULTS setting applies to all applications using
ODP.NET known as statement caching. I employed the same pattern to test this ODP.NET instance. You can override
When you use statement caching, statement caching as I did for connec- the registry value for each connection
you are telling Oracle Database to tion pooling and controlling the fetch pool by setting Statement Cache Size to
keep a copy of the statement cached size. I used the fetch_test table to repeat- another value.
in memory on the server, because you edly select data without using statement
will be reusing that statement in your caching and then repeated the same test GOING FURTHER
session. This allows Oracle Database to with statement caching. I performed all of these tests on a single
more quickly use that statement upon Here is the connection string for the laptop hosting both the database and
subsequent executions. Note that state- test without statement caching: the client application. Although it is
ment caching does not increase the convenient to test features in such an
runtime performance of the statement string constr = environment, for best results test your
itself. Statement caching allows Oracle User Id=hr; applications in an environment that
Database to find the statement in a Password=hr; accurately reflects your production envi-
memory area that is associated with your Data Source=oramag; ronment. When the client and database
session, rather than all sessions, and Enlist=false; server are on separate machines, the per-
avoid reparsing the statement. Keep in Pooling=true; formance improvement should be even
mind that the statement, not the data, greater. Of course, your tests are almost
is cached. Executing a cached statement And here is the connection string for the certain to show different numbers in the
always returns the latest database results. test with statement caching: results than those presented here.
You enable the statement caching This investigation limited per-
feature by setting the Statement Cache string constr = formance observations to time only.
Size connection string parameter. The User Id=hr; However, other performance benefits
default value of this parameter is 0, Password=hr; include reduced network traffic and
meaning that statement caching is dis- Data Source=oramag; reduced parsing in the database. I
abled by default. You set this parameter Enlist=false; encourage you to work with your system
to the number of statements you plan to Pooling=true; administrators to develop tests and
keep cached during your applications Statement Cache Size=1; measurement techniques applicable to
lifetime. For example, if you plan to your environment. By using the features
cache 16 statements, you will set this Note that I set the cache size to only 1. offered by ODP.NET, you can increase
value to 16. ODP.NET will then cache This is because I knew that I would be performance in your applications with a
the 16 most recently used statements. caching only a single statement. The minimum of effort. O
The 17th most recently used statement bind variable may change, but the state-
is aged out of the cache by the last 16 ment will remain cached. If a literal value Mark A. Williams (mawilliams@cheshamdbs.com)
unique statements. were used instead of a bind value, Oracle is an Oracle ACE, an Oracle Certified Professional
With statement caching enabled, Database would need to reparse the state- DBA, and the author of Pro .NET Oracle Programming
ODP.NET will automatically cache any ment every time the literal value changed, (Apress, 2004). He focuses on solutions for Oracle on
statement you execute. If you have instead of using the cache. In addition, Windows and contributes to the Oracle Data Provider
enabled statement caching and you do the new statement would replace the for .NET forums on Oracle Technology Network.
not want to place a statement in the statement currently in the cache.
cache, set the AddToStatementCache I executed the sample statement
property on OracleCommand to false: 1,000 times without statement caching
and 1,000 times with statement READ online-only column content
OracleCommand cmd = caching, which produced these results oracle.com/technology/oramag/oracle/06-jul/
o46odp.html
new OracleCommand(); on my system:
VISIT .NET Developer Center
oracle.com/technology/dotnet
cmd.Connection = con; No Statement Caching:
DOWNLOAD
0.6409216 total seconds. the sample code for this column
cmd.AddToStatementCache = false; With Statement Caching: oracle.com/technology/oramag/oracle/06-jul/
o46odp.zip
0.3905616 total seconds.
cmd.CommandText = select data from ODP.NET 10g
oracle.com/technology/tech/windows/odpnet
fetch_test where id = :1; The latest ODP.NET releases use a
Windows Registry parameter that turns Oracle Developer Tools for Visual
Studio .NET
SQL and PL/SQL statements can be on statement caching by default and oracle.com/technology/tech/dotnet/tools
stored in the statement cache. sets the cache size to 10. The registry

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 61




 


  





 

#$#$# %$ #


 " " $#g
(  ! !#! "!  ' ! g
 "%' $ '! "! ! ! ! "!&)
! #  ! $!  !$"! !  !$
!! & !)  # !&"!&!
   ! # !&!  * 
 !!&!
" &"%  !!#!  "!

       



     g
 $"#! # """ "#$)! "!) "! $ "!) $   "$""#  
 '##"#$"$""  " # $ "! "$  "#"#$"$""  "
 "! "$  %(#"#$"$""  %# "&# $"$""#$"#)%#$# %$$ ""$ $"$$$#$"## "$"!" %$# ##)
!" !"$")$"#$$"##  $"#* 
"$#"#"&!" %$ )"'$# &"'$ %$$'"$$!"##   ##$"$) "
d e v e l o p e r BROWSER-BASED BY R A J MATTAMAL

Single-Step Deployment
Oracle Application Express deploys an application with a single file.
ith Oracle Application codeLISTING 1: Modified query
Express 2.2, when you
select EMPLOYEE_ID,
build an application you NAME_FIRST,
want to share, you can create NAME_LAST,
a single file that comprises the export TITLE,
EMAIL,
database objects, application compo- PHONE_OFFICE,
nents, and all. To demonstrate how PHONE_MOBILE,
simple it is to take advantage of this new STREET_ADDRESS,
CITY,
convenience feature, this column walks STATE,
you through the process of building a ZIP_CODE,
simple employee lookup application and HIRE_DATE,
USERID,
then packaging up that application for (select userid from OM_EMPLOYEES ome2 where ome2.employee_id=ome.manager_id)
single-step deployment. Manager,
MIME_TYPE,
BLOB_CONTENT
STEP 1: SET UP THE TABLE, PHOTO- from OM_EMPLOYEES OME
RENDERING PROCEDURE, AND SEED DATA where
To get started, create (or have your ...
<snip>
Oracle Application Express administra-
tor create) a new Oracle Application
Express workspace. Once youve logged 2. Click Create. 2. In the Buttons section, click the
into the workspace, run om_employees 3. Accept the default Create Create link and then click Delete to
.sql to create the OM_EMPLOYEES table Application option, and click Next. delete page 1s Create button. Confirm
in your schema, along with its trigger 4. Enter Oracle Magazine Employees in the deletion when prompted.
and constraints. To run the script the Name field, and click Next. 3. In the Regions section, click the
1. Click SQL Workshop. 5. Select Report and Form as the page OM_EMPLOYEES link to edit the
2. Click SQL Scripts. type, select OM_EMPLOYEES as the query used by the report. In the Region
3. Click Upload. tablename, and click Add Page. Source text box, add a table alias of OME
4. Click Browse; select the om_ 6. Click Next to continue. Click Next to the OM_EMPLOYEES table used in
employees.sql script, available with the again on each of the subsequent pages the query and replace the MANAGER_ID
online version of this article, at oracle (Tabs, Shared Components, Attributes, column with this inline select statement:
.com/technology/oramag/oracle/06-jul/ User Interface), accepting the defaults,
o46browser.html; click Open; and to complete the wizard. (On the User (select userid from OM_EMPLOYEES ome2
click Upload. Interface page, select a theme other than where ome2.employee_id =
5. On the resulting page, click the om_ the defaultTheme 1, if you like.) ome.manager_id)
employees.sql icon. 7. Click Create on the last page
6. Click Run, and then click Run on the (Confirmation) of the wizard. 4. Add a column alias Manager to the
Confirmation screen. inline query above, so it can serve as a
Repeat steps 2 through 6, uploading and STEP 3: MODIFY THE APPLICATION TO ALLOW column heading in the resulting report.
then running the om_download_pict EMPLOYEES TO UPLOAD PHOTOS Listing 1 shows an excerpt of the relevant
.sql and seed_data.sql scripts (available The next step is to modify the two gen- code (in bold) for the modified query to
in the o46browser.zip file). erated pages so that the application is add to the Region Source text box.
read-only, while allowing users to upload 5. Click the Report Attributes tab.
STEP 2: CREATE THE APPLICATION photos to their respective detail pages. 6. Deselect the Show check box for the
Now create a simple two-page applica- 1. In the listing of pages shown for the MIME_TYPE and BLOB_CONTENT
tion based on OM_EMPLOYEES: application, click the OM_EMPLOYEES columns.
1. Click the Application Builder tab. link for page 1. 7. Click Apply Changes.

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 63
BROWSER-BASED

Make page 2 read-only. Enter 2 in the 3. Then in the Source value or expres- first Object Names field.
Page field, and click Go to navigate to sion field, enter 7. Click the Scripts tab.
page 2 of the application. 8. Click Create.
1. In the Buttons section, click the htf.img (#OWNER#.om_download_pict? 9. Click the Copy from SQL Script
Create link and then click Delete to p_id=||:P2_EMPLOYEE_ID) Repository icon.
delete page 2s Create button. Confirm 10. Enter Create Table, Sequence, and
the deletion when prompted. 4. Click the Conditions navigation Trigger in the Name field, and click
2. In the Buttons section, click the button, and for the condition type, Next.
Delete link and then click Delete to select Exists (SQL Query returns at 11. Select om_employees.sql, and
delete page 2s Delete button. Confirm least one row). click Create Script.
the deletion when prompted. 5. In the Expression 1 field, enter this 12. Repeat steps 9 through 11 for the
3. In the Items section, click the P2_ query: om_download_pict.sql and seed_data
NAME_FIRST item link and make it .sql scripts. Feel free to name these
read-only by first clicking the Read select 1 from OM_EMPLOYEES where scripts as you see fit.
Only navigation button and then click- :P2_EMPLOYEE_ID = employee_id and 13. Click the Deinstall tab, and click
ing the rust-colored [always] link. blob_content is not null Create.
4. Click the right arrow (>) in the navi- 14. Click the Create from File icon.
gation section to go to the next item. 6. Click Apply Changes. 15. Click Browse, select the drop_om_
5. Repeat steps 3 and 4 for each item The online version of this column, objects.sql script (included with this
until you finish P2_USERID and get to at oracle.com/technology/oramag/ columns download file), click Open,
P2_MANAGER_ID. oracle/06-jul/o46browser.html, includes and click Create Script.
6. For P2_MANAGER_ID, in the the final steps for modifying the applica- 16. Click the right arrow.
Name region for Display As, select tion to allow users to upload and store 17. Select Yes for Include Deployment
Display as Text (based on LOV, does a photo. Attributes in Export.
not save state). 18. Click Apply Changes.
7. For P2_MANAGER_IDs Label attri- STEP 4: PACKAGE UP THE APPLICATION And thats it. Now when you export
bute, enter Manager. After you try out the application, you this application, everything comes with
8. In P2_MANAGER_IDs List of Values might decide that others might find it it: the DDL, the seed data, and the
section, in the List of values definition useful enough to install in their own Oracle Application Express application
field, enter this query: Oracle Application Express instances. To definition. To move the application to
this end, the last step is packaging up another Oracle Application Express 2.2
select userid, employee_id the application for single-step deploy- instance, simply import and install the
from om_employees ment to another instance. single export file. O
1. In the breadcrumb links in the upper
9. Click the right arrow to navigate to left-hand corner of the screen, click Raj Mattamal (raj.mattamal@oracle.com) is a principal
the next item (P2_MIME_TYPE). the Application nnn link (where nnn product manager in Oracles Server Technologies
10. For P2_MIME_TYPE, click the corresponds to the ID of the employee division. He has been with Oracle since 1995.
Conditions navigation button, select lookup application in your Oracle
Never as the condition type, and then Application Express instance).
click the right arrow to navigate to the 2. Click the Edit Attributes icon, and
P2_BLOB_CONTENT item. then click Deployment. READ online-only column content
Modify page 2 to support photo display. 3. Click Edit Deployment. oracle.com/technology/oramag/oracle/06-jul/
o46browser.html
The application should display a photo 4. In the Welcome section, enter readme
only if one is actually stored in the text for the application in the Message LEARN more about
table. If theres no photo stored, and the field, such as This application lets users Oracle Application Express
oracle.com/technology/products/database/
userid in the table matches that of the browse employee information. Users application_express
logged-in user, the page should display accessing the application with a USERID DOWNLOAD
an Upload button. To provide these stored in the table can upload a photo if Oracle Database 10g
oracle.com/technology/software/products/
capabilities, make these changes to the one does not already exist. database/oracle10g
P2_BLOB_CONTENT item: 5. Click the right arrow to go to the
Oracle Application Express
1. Click the Label navigation button, Prerequisites tab. oracle.com/technology/products/database/
and enter Photo in the Label field. 6. To ensure that folks who already have application_express/download.html

2. Click the Source navigation button, a table named OM_EMPLOYEES in their sample application code
oracle.com/technology/oramag/oracle/06-jul/
and for the source type, select PL/SQL schemas dont run into a conflict with o46browser.zip
Expression or Function. this script, enter OM_EMPLOYEES in the

64 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
t e c h n o l o g y PL/SQL PRACTICES BY STEVEN FEUERSTEI N

On Conditional Compilation
Apply best practices to PL/SQL conditional compilation.
hat is PL/SQL conditional com- identifiers prefixed by a dollar sign ($). tive to evaluate expressions and deter-
pilation, how does it work, and One particularly nice aspect of mine which code should be included in
how can I learn more about it? conditional compilation is that text the compiled code.
Oracle Database 10g has that is excluded during conditional Inquiry directives. Use the $$ identifier
been groundbreaking when it comes compilation need not be legal PL/SQL; syntax to refer to conditional compila-
to the world of PL/SQL development, this gives you tremendous flexibility tion flags. These inquiry directives can
most notably in the evolution of the when writing programs that need to be referenced within an $IF directive or
PL/SQL compiler. This PL/SQL work differently in different versions of used independently in your code.
Practices column focuses on the Oracle Oracle Database. Error directives. Use the $ERROR
Database 10g Release 2 feature known There are many ways PL/SQL con- directive to report compilation errors
as conditional compilation. ditional compilation can benefit your based on conditions evaluated when
Oracle Database 10g Release 1 application development process. Oracle Database prepares your code
offered an optimizing compiler and The following are a few of the most for compilation.
compile-time warnings. The PL/SQL common ways to apply PL/SQL condi- Oracle has also added two packages
optimizer automatically transforms tional compilation to your applications: to support conditional compilation: the
code so that it can run more efficiently OWrite a single program unit that auto- DBMS_DB_VERSION package, which
(this optimizer is different from the matically takes advantage of version- you can use to analyze the version (in
cost-based optimizer, which Oracle specific features of Oracle Database. both absolute and relative terms) of the
Database uses to optimize the execu- You no longer need to maintain the instance of Oracle Database to which
tion of SQL statements). Oracle esti- same basic logic in multiple files, one you are connected, and the DBMS_
mates that you can expect to see your for Oracle9i Database and another PREPROCESSOR package, which
PL/SQL statements execute, on average, for Oracle Database 10g, or rely on allows you to see your code after all
in half the time they took in earlier SQL*Plus substitution variable logic to conditional compilation directives have
versions of Oracle Database. (Note that achieve the same effect. been executed.
the PL/SQL compiler affects only ORun or expose portions of your code Availability of conditional compilation.
PL/SQL statements, not SQL state- during testing, and then hide that code PL/SQL conditional compilation is avail-
ments, within your programs). when it goes into production. This able in Oracle Database 10g Release 1
The compile-time warnings give technique is particularly valuable for and later (from 10.1.0.4 onward). In
you feedback on programs that might tracing code execution and unit-testing Oracle Database 10g Release 2, condi-
compile but could still be improved. private package subprograms. tional compilation is enabled by default,
These warnings include recommenda- OImprove the maintainability of your and it cannot be disabled.
tions on how and when to apply the PL/SQL code base, by soft-coding In Oracle Database 10g Release 1,
NOCOPY parameter hint to reduce elements of your application that conditional compilation is enabled
parameter-passing overhead, identify would otherwise have to be hard- by default, but you can disable it
functions that contain one or more coded as literals. by setting an underscore parameter.
branches of logic that will not execute To take advantage of conditional Conditional compilation is also sup-
a RETURN statement, and much more. compilation, add compiler directives ported in Oracle9i Database Release 2
Oracle Database 10g Release 2 takes (commands) to your code. The PL/SQL (from 9.2.0.6 onward); it is disabled by
PL/SQL another big step forward, by compiler will then evaluate the direc- default, but you can enable it by setting
adding support for conditional com- tives before compilation occurs and an underscore parameter.
pilation. We can now use conditional determine which parts of your program In order to disable conditional com-
compilation to direct the compiler text cause the generation of executable pilation in Oracle Database 10g Release
to conditionally include or exclude code. The modified source code is then 1 or enable it in Oracle9i Database,
selected parts of a program, based on passed to the compiler for compilation. contact Oracle Support for information
conditions specified with conditional There are three types of directives: on the conditional compilation under-
compilation directives, statements, and Selection directives. Use the $IF direc- score parameter.

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 65
PL/SQL PRACTICES

Get more information on conditional codeLISTING 1: LIST_TO_COLLECTION function and attempted compilation
compilation. This column offers some
SQL> CREATE OR REPLACE FUNCTION list_to_collection (
insights into conditional compilation, 2 string_in IN VARCHAR2
by answering reader questions. You will 3 , delimiter_in IN VARCHAR2 DEFAULT ,
4 )
certainly want to study this feature in
5 RETURN DBMS_SQL.varchar2a
more depth before applying it to your 6 IS
application code base. I suggest that 7 l_next_location PLS_INTEGER := 1;
8 l_start_location PLS_INTEGER := 1;
you check out the following:
9 l_return DBMS_SQL.varchar2a;
OConditional Compilation in Oracle
10 BEGIN
Database 10g Release 2. Hands down the 11 IF string_in IS NOT NULL
12 THEN
best elaboration of conditional com-
13 WHILE ( l_next_location > 0 )
pilation, this white paper by PL/SQL 14 LOOP
Product Manager Bryn Llewellyn offers 15 -- Find the next delimiter
16 l_next_location :=
96 pages of detailed explanations and
17 NVL (INSTR ( string_in, delimiter_in, l_start_location ), 0);
examples, including a case study of 18
how to use conditional compilation 19 IF l_next_location = 0
20 THEN
with unit testing. Find it at oracle
21 -- No more delimiters, go to end of string
.com/technology/tech/pl_sql/pdf/Plsql_ 22 l_return ( l_return.COUNT + 1 ) :=
Conditional_Compilation.pdf. 23 SUBSTR ( string_in, l_start_location );
OOracle documentation on conditional 24 ELSE
25 $ERROR
compilation. Oracle Database PL/SQL 26 list_to_collection INCOMPLETE!
Users Guide and Reference is available at 27 Finish extraction of next item from list.
28 Go to || $$PLSQL_UNIT || at line || $$PLSQL_LINE
download.oracle.com/docs/cd/B19306_
29 $END
01/appdev.102/b14261/fundamentals 30 END IF;
.htm#BABIHIHF. 31 l_start_location := l_next_location + 1;
OMy PL/SQL programming book. 32 END LOOP; 33 END IF;
34 RETURN l_return;
Oracle PL/SQL Programming, 4th 35 END list_to_collection;
Edition, by Steven Feuerstein with Bill 36 /
Pribyl: Chapter 20, Managing PL/SQL
Warning: Function created with compilation errors.
Code, explores conditional compila-
tion and offers several examples. SQL> SHOW ERRORS
Errors for FUNCTION LIST_TO_COLLECTION:

GET IT RIGHT WITH THE ERROR DIRECTIVE LINE/COL ERROR


I often find myself working on multiple program --------------------- -----------------------------------------------------------------------------------------------------------------------
25/13 PLS-00179: $ERROR: list_to_collection INCOMPLETE!
units, fixing some and developing others anew.
Finish extraction of next item from list.
As I move around between them, I sometimes Go to LIST_TO_COLLECTION at line 28
have to leave work half finished. What do
you think is the best way to indicate that this
program unit is incomplete and keep track of with this approach, however, is that want to remind myself about it later. So
what needs to be done? your program, although incomplete, I use the $ERROR directive to remind
Include to-do lists in your program might still compile, giving you or me of the task and also use the special
source code! someone else a mistaken impression of inquiry directives, $$PLSQL_UNIT and
You could come up with a standard the state of that code. $$PLSQL_LINE, to show the name of
comment indicating incomplete, please It would certainly be better to be able the program unit and the line number,
finishsomething like this: to not only include a comment about when I try to compile the program.
the state of your code but also stop it Listing 1 shows the list_to_
/* INCOMPLETE START from compiling, so that you are imme- collection function and the results of
Note to self: add logic to diately and unambiguously informed attempting compilation.
iterate through collection about the state of your program. You The error directive is, by the way,
*/ can do this with the conditional compi- handy under all sorts of circumstances.
...

...

code lation error directive, $ERROR. Suppose, for example, that I would
/* INCOMPLETE END */ Here is an example. I am writing like to make sure that a particularly
a program to parse a delimited string complex and compute-intensive
You can then search your files for into a collection. I cant finish the final program is always compiled with the
the comment indicator. One problem SUBSTR operation at this time and maximum optimization level. I can

66 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
simply include a selection directive codeLISTING 2: COMPUTE_INTENSIVE_PROGRAM
that checks the value of the PL/SQL SQL> CREATE OR REPLACE PROCEDURE compute_intensive_program
compilation parameter with the 2 IS
$$PLSQL_OPTIMIZE_LEVEL ccflag, 3 BEGIN
4 $IF $$PLSQL_OPTIMIZE_LEVEL <> 2
combined with the error directive, in 5 $THEN
the definition of the program unit, as 6 $ERROR
shown in Listing 2. 7 compute_intensive_program must be compiled with maximum optimization!
8 $END
Finally, you should consider using 9 $END
the error directive to catch case not 10 NULL; -- Lots and lots of code here...
found situations. Listing 3 shows 11 END compute_intensive_program;
12 /
an example. It relies on the ALTER
SESSION command to set the value for Warning: Procedure created with compilation errors.
a ccflag, which can then be referenced
SQL> SHOW ERRORS
within a selection directive. Errors for PROCEDURE COMPUTE_INTENSIVE_PROGRAM:

FORALL AND EVERY VERSION OF PL/SQL LINE/COL ERROR


--------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------
I love the FORALL feature that Oracle added
6/4 PLS-00179: $ERROR: compute_intensive_program must be compiled
to PL/SQL in Oracle8i Database. I use it with maximum optimization!
whenever possible to implement high-speed
DML processing. I am also writing code that
must work on Oracle9i Database and Oracle
Database 10g. I was very excited to see that
codeLISTING 3: Using the error directive to catch case not found
Oracle Database 10g offers the INDICES OF SQL> ALTER SESSION SET PLSQL_CCFLAGS = current_user_type:1
2 /
and VALUES OF clauses to allow me to use
FORALL with sparsely filled collections. Id Session altered.
love to take advantage of FORALL, but I dont
SQL> CREATE OR REPLACE PACKAGE user_types
want to maintain two different sets of code, 2 IS
one for Oracle9i Database and the other for 3 administrator CONSTANT PLS_INTEGER := 1;
Oracle Database 10g. How would you suggest 4 enduser CONSTANT PLS_INTEGER := 2;
5 END user_types;
I do that? 6 /
Take full advantage of every version
of PL/SQL. Yes, FORALL is quite won- Package created.

derful, isnt it? And you should take SQL> CREATE OR REPLACE PROCEDURE show_info
maximum advantage of every nuance 2 IS
of that featurebut managing multiple 3 BEGIN
4 $IF $$current_user_type = user_types.administrator 5 $THEN
sets of code is a real chore. 6 DBMS_OUTPUT.PUT_LINE (Administrator!);
Sounds like a job for conditional 7 $ELSIF $$current_user_type = user_types.enduser
compilation, along with the new 8 $THEN
9 DBMS_OUTPUT.PUT_LINE (End user!);
DBMS_DB_VERSION package. This 10 $ELSE
package contains a set of constants 11 $ERROR Current user type of || $$current_user_type || is not known. $END
that provide both absolute and relative 12 $END
13 END show_info;
information about the version of Oracle 14 /
Database in which you are executing
your code. Procedure created.

For example, in Oracle Database 10g SQL> ALTER PROCEDURE show_info COMPILE
Release 2, this package is defined as 2 PLSQL_CCFLAGS = current_user_type:0
shown in Listing 4. 3 REUSE SETTINGS
4 /
Now lets apply this package to help
us write one program that will auto- Warning: Procedure altered with compilation errors.
matically use the INDICES OF clause of
SQL> show errors
FORALL if it is available. Errors for PROCEDURE SHOW_INFO:
First, I create a table and a package
specification that contains a procedure LINE/COL ERROR
--------------------- ----------------------------------------------------------------------------------------------------------------------------------
that facilitates the bulk insert of rows 11/4 PLS-00179: $ERROR: Current user type of 0 is not known.
into the table:

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 67
PL/SQL PRACTICES

CREATE TABLE otn_demo ( codeLISTING 4: DBMS_DB_VERSION package definition


num NUMBER, name VARCHAR2(100)) CREATE OR REPLACE package dbms_db_version is
/ version constant pls_integer := 10; -- RDBMS version number
release constant pls_integer := 2; -- RDBMS release number
ver_le_9_1 constant boolean := FALSE;
CREATE OR REPLACE PACKAGE ver_le_9_2 constant boolean := FALSE;
otn_demo_insert ver_le_9 constant boolean := FALSE;
ver_le_10_1 constant boolean := FALSE;
IS
ver_le_10_2 constant boolean := TRUE;
TYPE otn_demo_aat ver_le_10 constant boolean := TRUE;
IS TABLE OF otn_demo%ROWTYPE end dbms_db_version;
/
INDEX BY PLS_INTEGER;
PROCEDURE insert_rows (
rows_in IN otn_demo_aat); codeLISTING 5: OTN_DEMO_INSERT package body
END otn_demo_insert;
CREATE OR REPLACE PACKAGE BODY otn_demo_insert
/ IS
PROCEDURE insert_rows ( rows_in IN otn_demo_aat )
Next, the package body: The IS
BEGIN
insert_rows procedure uses INDICES $IF DBMS_DB_VERSION.VER_LE_9_2
OF if I am running Oracle Database $THEN
10g or higher. If I am running Oracle9i DECLARE
l_dense otn_demo_aat;
Database Release 2 or earlier, I copy l_index PLS_INTEGER := rows_in.FIRST;
the contents of my possibly sparse BEGIN
collection over to a densely filled col- WHILE (l_index IS NOT NULL)
LOOP
lection. In both cases, I take advantage l_dense (l_dense.COUNT + 1) := rows_in (l_index);
of record-level inserts, as shown in l_index := rows_in.NEXT (l_index);
Listing 5. END LOOP;

So I have one program unit to main- FORALL indx IN 1 .. l_dense.COUNT


tain but a code base that automatically INSERT INTO otn_demo VALUES l_dense (indx);
takes maximum advantage of the available END;
$ELSE
set of features. Nice stuff! FORALL indx IN INDICES OF rows_in
Lets look at one more example. INSERT INTO otn_demo VALUES rows_in (indx);
Oracle Database 10g introduced new $END
END insert_rows;
floating-point datatypes, BINARY_ END otn_demo_insert;
FLOAT and BINARY_DOUBLE. They /
offer improved performance for heavy
number crunching. The following
program automatically declares a local Note that in this case, I use condi-
variable to be BINARY_FLOAT if the tional compilation to interrupt a regular
datatype is available. Otherwise, it statement: The selection of the datatype
READ
settles for the traditional NUMBER. occurs within the declaration of the vari-
more about conditional compilation
able n. I dont have to use conditional Oracle Database PL/SQL Users Guide
CREATE OR REPLACE PROCEDURE compilation only to choose between two and Reference
download.oracle.com/docs/cd/B19306_01/
crunch_numbers or more intact, executable statements. appdev.102/b14261/fundamentals.htm#BABIHIHF
IS For more questions and answers on white paper and presentation
n $IF DBMS_DB_VERSION.VER_LE_9_2 PL/SQL conditional compilation, check oracle.com/technology/tech/pl_sql/pdf/
Plsql_Conditional_Compilation.pdf
$THEN NUMBER; out Best Practice PL/SQL at oracle.com/ oracle.com/technology/tech/pl_sql/pdf/
$ELSE BINARY_FLOAT; technology/pub/columns/plsql. O Plsql_Conditional_Compilation_PPT.pdf

$END READ more


BEGIN Steven Feuerstein (steven@stevenfeuerstein.com) is Best Practice PL/SQL
oracle.com/technology/pub/columns/plsql
$IF DBMS_DB_VERSION.VER_LE_9_2 considered one of the worlds leading experts on the
$THEN n := 1.0; Oracle PL/SQL language, having written 10 books on Feuerstein
oreillynet.com/cs/catalog/view/au/344
$ELSE n := 1.0f; the subject, including Oracle PL/SQL Programming
DOWNLOAD
$END and Oracle PL/SQL Best Practices (OReilly Media).
Oracle Database 10g
DBMS_OUTPUT.put_line ( n ); Feuerstein serves as a senior technology advisor for oracle.com/technology/software/products/
END crunch_numbers; Quest Software and is currently building a unit testing database/oracle10g

/ tool for PL/SQL programs (www.unit-test.com).

68 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
t e c h n o l o g y SQL BY JON ATH AN GENNI CK

Build Custom Aggregate Functions


Summarize data in new ways by writing your own aggregate functions.
ne aspect of Oracle For many, this problem
Database Ive long might lead to running pro-
found very powerful cedural code on the client
is the ability to write to retrieve and summarize
custom procedural code and large amounts of data across
combine it with relational pro- the network through cursor
cessing. Such code often takes loops, with all the atten-
the form of a stored function to dant performance and scal-
be invoked from a SELECT or ability problems that such
other statement. The creation an approach might bring.
and use of single-row functions Knowing how to write
in Oracle Database is well aggregate functions,
understood, but did you know however, makes this
that you can also create your problem nothing more than
own aggregate functions? You a slight speed bump.
can, and more easily than you
might think. This article shows WRITING AN AGGREGATE
you how. FUNCTION
Figure 1 shows conceptually
THE SCENARIO type INTERVAL DAY TO SECOND: how an aggregate functionany type of
Suppose you work for a car rental aggregate functionmust be evaluated.
company. You have the table shown in SELECT rental_in - rental_out First you must have some sort of initial-
Listing 1 with one row representing FROM car_rental; ization. Then you pass in several values
each car rental to a customer. (You as input to the function. Finally you
can create the data by using the RENTAL_IN-RENTAL_OUT receive back a single result.
CustomAggregatesData.sql script, available A custom aggregate function accepts
with the sample code for this article, at 6 6:0:0.0 exactly one parameter. Each input value,
oracle.com/technology/oramag/oracle/06- 5 10:48:55.0 then, represents a separate row from a
jul/o46sql.zip.) For each rental, you have 8 6:41:0.0 table or query result. There is no support
...

a time out and a time in (the rental_out for writing custom aggregate functions
and rental_in columns). Time out that accept multiple parameters.
corresponds to when the customer picked Computing the average rental Writing an aggregate function in
up the car, and time in is the time at period quickly turns into a less-trivial Oracle Database is a matter of creating
which the car was returned. Your job, however: an object type with a method corre-
table stores these two values as type sponding to each of the phases in Figure
TIMESTAMP. Your job is to produce SELECT AVG(rental_in - rental_out) 1, plus one additional method to support
various reports based on averaging of the FROM car_rental; parallel evaluation. Figure 2 illustrates
rental time periods. For example, you the methods involved.
want to be able to determine the average SQL Error: ORA-00932: When evaluating an aggregate function
rental period by state and to compare inconsistent datatypes: against a group of values, Oracle
each rental period with a moving average. expected NUMBER Database does the following:
Your use of the TIMESTAMP types got INTERVAL DAY TO SECOND 1. Invokes ODCIAggregateInitialize
ALLISON LEVENSON

makes computing the duration of each to create an instance of the type youve
individual rental a trivial matter. You The built-in aggregate function AVG created to implement the aggregation.
simply subtract one TIMESTAMP from does not support the interval types (and This instance is known as an aggrega-
the other, and the result is an interval of the same holds for SUM, by the way). tion context.

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 69
SQL

2. Invokes ODCIAggregateIterate in a
loop that passes in all the values in the
group to be aggregated. Values
3. Invokes ODCIAggregateTerminate to
Values
Values
generate the single result value.
Values
This process is the simplest form of Initialize Values
aggregation. Oracle Database may also
parallelize the operation, by splitting the
data into chunks, running these steps Iterate
on each chunk, and then making one
or more ODCIAggregateMerge calls to
combine the results from each chunk into
Terminate Result
a single result.
Figure 1. How an aggregate function is evaluated
CREATING THE TYPE
Returning to the car rental scenario, your
ODCIAggregateInitialize ODCIAggregateInitialize
task is to write an aggregate function to
compute the average of a group of car
rental durations expressed as INTERVAL ODCIAggregateIterate ODCIAggregateIterate
DAY TO SECOND values. Begin by cre-
ating an object type to implement the ODCIAggregateMerge
aggregate function methods. Listing 2
shows the specification for an object type
ODCIAggregateTerminate
named AvgInterval. Listing 3, available
with the online version of this article at Figure 2. Aggregate function methods
oracle.com/technology/oramag/oracle/06-
jul/o46sql.html, shows the object type maximum precision (9) for both the day object type and then to initialize the
body. You must implement at least the and the fractional-second components. instance variables used in computing the
methods shown in Listing 2. These The default is to allow only two digits aggregation result. The STATIC keyword
include the three methods for beginning, for the day and only six past the decimal allows Oracle Database to invoke this
feeding, and terminating the aggregation, point for the fractional seconds. Allowing function independently of whether
as well as the one method for merging for the maximum precision in both an instance of the type already exists.
results from parallel evaluation. All cases makes AvgInterval generally useful ODCIAggregateInitialize is the only one
methods must return a NUMBER, which over any INTERVAL DAY TO SECOND of the ODCIAggregate functions to be
is a success/fail status value. You can values, regardless of their precision. defined as STATIC.
rename the parameters, but the number Next in the AvgInterval specification The object instance returned by
and order of the parameters and their come the member function declarations ODCIAggregateInitialize becomes the
purposes are fixed. for the ODCIAggregate interface. These aggregation context. If you invoke the
As part of the object type, define any can be in any order, but lets begin at the same aggregate function several times in
variables needed to maintain the state of beginning, with the initialization function: a single statement, Oracle Database will
the aggregation as it progresses. How you create at least one context for each invo-
...

maintain state is up to you and depends cation. If Oracle Database parallelizes


on how you choose to implement your STATIC FUNCTION ODCIAggregateInitialize execution, it will create a context for
aggregation logic. Its reasonable to use ( actx IN OUT AvgInterval each execution thread.
a running sum and count to compute ) RETURN NUMBER, In Listing 3, you can see the code
...

an average (although other approaches behind ODCIAggregateInitialize. For


are possible), so the following two vari- now, focus on the case in which the input
ables are defined near the top of the Oracle Database invokes this function parameter is null. The code invokes the
AvgInterval specification in Listing 2: to initialize an aggregation. The one types implicitly defined constructor to
argument will be of the underlying type create a new instance of the type. The two
runningSum INTERVAL DAY(9) you are creating to implement the aggre- values passed to the constructor corre-
TO SECOND(9), gate function (in this case, AvgInterval). spond to runningSum and runningCount,
runningCount NUMBER, Generally speaking, the purpose of the and both are initialized to 0.
ODCIAggregateInitialize function is to Next, look at ODCIAggregateIterate
runningSum is defined with the create a new instance of the underlying in Listing 3. It is the workhorse function

70 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
of the aggregation type. Oracle Database codeLISTING 1: Car_rental table
will invoke the function once per row
CAR_ID CUST_ID RENTAL_STATE RENTAL_OUT RENTAL_IN
once for each value feeding into the
aggregation. The logic here is simple: 1 101 MI 05-MAR-06 08.00.00.00 AM 11-MAR-06 02.00.00.00 PM
1 102 MI 12-MAR-06 08.34.24.00 AM 17-MAR-06 07.23.19.00 PM
1 103 MI 17-MAR-06 11.19.00.00 PM 26-MAR-06 06.00.00.00 AM
self.runningSum := self.runningSum + val;
1 104 MI 28-MAR-06 09.45.15.00 AM 30-MAR-06 03.27.13.00 PM
self.runningCount := self.runningCount + 1; 2 113 WI 06-MAR-06 08.00.00.00 AM 11-MAR-06 02.00.00.00 PM
2 114 WI 13-MAR-06 08.34.24.00 AM 17-MAR-06 07.23.19.00 PM
As each new value comes into the 2 115 WI 18-MAR-06 11.19.00.00 PM 26-MAR-06 06.00.00.00 AM
2 116 WI 29-MAR-06 09.45.15.00 AM 30-MAR-06 03.27.13.00 PM
aggregation, the function adds that
value to a running sum and increments

...
the counter. After all values have been
processed, Oracle Database invokes codeLISTING 2: AvgInterval type specification
ODCIAggregateTerminate, shown in
CREATE OR REPLACE TYPE AvgInterval
Listing 3, which uses the two running AS OBJECT (
values to compute the average:
runningSum INTERVAL DAY(9) TO SECOND(9),
runningCount NUMBER,
returnValue := self.runningSum /
self.runningCount; STATIC FUNCTION ODCIAggregateInitialize
( actx IN OUT AvgInterval
) RETURN NUMBER,
Do be aware of the possibility that a
context will be initialized and terminated MEMBER FUNCTION ODCIAggregateIterate
for an empty group. Given the compu- ( self IN OUT AvgInterval,
val IN DSINTERVAL_UNCONSTRAINED
tation shown here for returnValue, an ) RETURN NUMBER,
empty group would result in a divide-
by-0 error. The code in Listing 3 avoids MEMBER FUNCTION ODCIAggregateTerminate
( self IN AvgInterval,
the division, and thus the resulting error, returnValue OUT DSINTERVAL_UNCONSTRAINED,
when the running count is 0. (A divide- flags IN NUMBER
by-0 in this articles scenario will manifest ) RETURN NUMBER,

itself as an ORA-01873: the leading pre- MEMBER FUNCTION ODCIAggregateMerge


cision of the interval is too small error.) (self IN OUT AvgInterval,
Note in Listing 3 the datatype ctx2 IN AvgInterval
) RETURN NUMBER
used for ODCIAggregateIterates val
argument, namely DSINTERVAL_ );
UNCONSTRAINED, which is equivalent /

to INTERVAL DAY(9) TO SECOND(9).


It is necessary to use the unconstrained 4. ODCIAggregateIterate invoked in selfso that it reflects the combination
type, because you cannot specify preci- parallel on all threads: 1, 2, and 3 of the first and secondctx2contexts.
sion in a parameter list. You cannot, 5. ODCIAggregateMerge invoked to Youre computing an average, so you can
however, use the unconstrained type for merge, for example, threads 2 and 3 add the running sums and counts:
the running sum. 6. ODCIAggregateMerge invoked to
...

The last member function to look merge thread 1 with the result from step 5
at is ODCIAggregateMerge, also shown 7. ODCIAggregateTerminate invoked to self.runningSum :=
in Listing 3. Recall from Figure 2 that generate a final result self.runningSum + ctx2.runningSum;
aggregation can be parallelized. Oracle Oracle Database invokes self.runningCount :=
Database will create separate aggregation ODCIAggregateMerge with two argu- self.runningCount + ctx2.runningCount;
contexts for each parallel execution ments. Each is an aggregation context: RETURN ODCIConst.Success;
...

thread. Assuming three parallel threads,


the sequence of events becomes MEMBER FUNCTION ODCIAggregateMerge
1. ODCIAggregateInitialize invoked for (self IN OUT AvgInterval, The effect of this merge operation is
thread 1 ctx2 IN AvgInterval that the running sum and count in self
2. ODCIAggregateInitialize invoked for ) RETURN NUMBER IS (the first context in the argument list)
thread 2 now reflect the values they would hold if
3. ODCIAggregateInitialize invoked for The job of the merge function is to all values had been passed through that
thread 3 change the first aggregation context one context. The ctx2 context is no longer

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 71
SQL

necessary. (If you ever write a custom (rental_in rental_out) as nicely ordered as mine.) Of course,
aggregate in a language such as C or Java FROM car_rental you probably would not want DBMS_
and youve allocated memory or some GROUP BY rental_state; OUTPUT calls in production code.
other resource to the ctx2 context, release Behind the scenes, Oracle Database
that memory or resource at this point in RE AVG_INTERVAL(RENTAL_IN-RENTAL_O... does quite a bit of housekeeping work
the process.) -------- for you:
MI +000000005 12:31:08.250000000 OIt groups the data.

DEFINING THE FUNCTION MN +000000003 12:07:43.250000000 OIt filters out nulls (as required by the

After you create the object type and WI +000000004 12:31:08.250000000 ISO SQL standard).
methods for implementing a new aggre- OIt parallelizes.

gate function, you must create a linkage The code for this article contains All you have to worry about when
between the function name you want to calls to DBMS_OUTPUT. If you run the writing the underlying ODCI methods is
use from SQL and the underlying type. preceding SELECT from SQL Developer, two things: how to summarize a single
Do that by using a statement such as: enable the viewing of DBMS_OUTPUT group of values and how to merge two
by clicking the Enable DBMS Output groups. You even get free support for
CREATE OR REPLACE FUNCTION avg_interval toolbar icon on the DBMS Output analytic syntax.
( x DSINTERVAL_UNCONSTRAINED tab of the SQL Worksheet. (From The online version of this article
) RETURN DSINTERVAL_UNCONSTRAINED SQL*Plus, issue the SET SERVEROUTPUT continues with a discussion of analytic
PARALLEL_ENABLE ON command.) Then execute the query, syntax and framing.
AGGREGATE USING AvgInterval; and youll see how Oracle Database
/ invokes the various ODCI methods on BE CREATIVE
the underlying AvgInterval type: Custom aggregate functions open the
This statement creates the function door to an interesting world of possibili-
avg_interval, which has a single argu- NULL INIT ties. You could write a SUM function that
ment that is compatible with any Iterate +000000006 06:00:00.000000000 returns 0 instead of null when no rows
INTERVAL DAY TO SECOND value. Iterate +000000005 10:48:55.000000000 are in a group. You could write a MUL
The PARALLEL_ENABLE clause enables Iterate +000000008 06:41:00.000000000 function to generate the product of a
...

parallelism. The AGGREGATE USING group of numbers by multiplying them


clause links the avg_interval function to NULL INIT all (a request I actually encountered a few
the underlying AvgInterval type. Invoke Iterate +000000005 06:00:00.000000000 months ago). You can even easily solve
avg_interval, and Oracle Database will Iterate +000000004 10:48:55.000000000 the not-unheard-of problem of concat-
invoke the various member functions on Iterate +000000007 06:41:00.000000000 enating all the string values in a group.
...

AvgInterval to generate your results. Custom aggregate functions can be a


NULL INIT powerful tool for solving SQL problems. O
USING THE NEW FUNCTION Iterate +000000003 14:37:00.000000000
Using this new avg_interval aggregate Iterate +000000003 00:48:55.000000000 Jonathan Gennick (Jonathan@Gennick.com) is
function couldnt be simpler: Invoke it Iterate +000000007 12:41:00.000000000 an experienced Oracle professional and member of
...

the same way as any built-in aggregate the Oak Table Network. He wrote the best-selling
function. You can easily compute the Terminate 0+000000066 SQL Pocket Guide and the Oracle SQL*Plus Pocket
average rental period over all rentals: 06:13:39.000000000 Reference, both from OReilly Media.
Terminate 0+000000028
SELECT avg_interval 01:01:46.000000000
(rental_in - rental_out) Terminate 0+000000054
FROM car_rental; 06:13:39.000000000 READ online-only article content
oracle.com/technology/oramag/oracle/06-jul/
o46sql.html
AVG_INTERVAL(RENTAL_IN-RENTAL_OUT) The three occurrences of NULL INIT READ more about
show how Oracle Database creates a custom aggregate functions
+000000004 15:25:17.000000000 new aggregation context for each group. Oracle Database Data Cartridge Developers Guide
download-east.oracle.com/docs/cd/B19306_01/
The Iterate lines show the values feeding appdev.102/b14289/toc.htm
And you can just as easily compute into each group. Finally, Oracle Database
Find Answers Faster
the average rental period by state: invokes the terminate method once oracle.com/technology/oramag/oracle/05-mar/
per group to generate the final results. o25dba.html

SELECT (If you are running on a multi-CPU DOWNLOAD sample code for this article
oracle.com/technology/oramag/oracle/06-jul/
rental_state, system, parallelism may occur, and then o46sql.zip
avg_interval your DBMS_OUTPUT results wont be

72 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
t e c h n o l o g y XML BY A RU P N A N DA

Archiving Data Using XML


Build a powerful, flexible data archive.
cme Insurance Company is fied, and so on. The moment a tables the archived data without restoring it to
ready to archive data more than structure is modified, it will no longer the main database.
three years old to tape and to be possible to plug the tablespace Johns solution is to use XML as the
delete it from the production transported earlier back into the main format for the archived data.
database. The companys IT architects database, because the table structures DBAs and programmers at Acme,
have suggested an archive strategy that will not match! responding to Johns solution, express
also uses transportable concern that their applica-
tablespaces, and the pro- tions have been developed
duction tables have been to use the relational model
carefully partitioned on the with regular tables, that these
transaction date with this applications and tables cant
specific objective in mind. handle XML data, and that
According to the origi- there isnt time for a thorough
nal archiving plan, the impact analysis.
partitions with data more John responds that the
than three years old would programs will still see the data
be converted into stand- as relational, even though the
alone tables by use of parti- storage is actually in XML.
tion exchange, and then
the tablespaces containing THE ARCHIVAL TABLE
those tables could be trans- John offers an explanation of
ported to tape and dropped the XML archiving solution to
from the main database. If the concerned programmers
deleted data needed to be and DBAs, starting with a
reinstated, the tablespaces representative tableTRANS
transported earlier could be from their database, created
restored from tape and plugged back John, the companys lead DBA, has and loaded as shown in Listing 1. The
into the main database. Transporting been called back from his vacation to TRANS table has been partitioned on
tablespaces and exchanging parti- find a way to make the archiving strat- the TRANS_DATE column, with the
tions do not modify data, so they do egy work in a world of changing data- idea that after three years, the oldest
not produce UNDO and REDO and base structures. partition can be transported off and
therefore perform significantly better dropped. Because dropping a partition
than the traditional approaches for data AN XML SOLUTION has virtually no impact on database per-
movement, such as using INSERT and John puts down his luggage, rolls up his formance and generates very little REDO
DELETE statements. And if the archived sleeves, and summarizes the archiving and UNDO information, this is also a
data needed to be searched for some requirements in five main points: faster way to purge data than methods
information, it would be as simple as 1. The data must be archived based on such as deletion and truncation.
querying the standalone tables created its age. However, because the production
during partition exchange. 2. The archived data must be dropped table structure needs to change, John
The plan would be perfect, but from the main database without much explains that Acme will need to create
there is a problem. As part of other performance impact. another table specifically for archiving.
projects, the IT architects are planning 3. Reinstating the archived data must be The columns in this archive table
incremental changes to the structure quick and easy. will not be the same as the columns
of the production tables. Columns will 4. The solution must allow for table in the production table; most of the
GIL ADAMS

be added and dropped, datatypes will structures to change. column values from the production
be changed, constraints will be modi- 5. It must be possible to search inside table will be placed in the archive table

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 73
XML

in a single columntrans_detailsof codeLISTING 1: Creating and populating the TRANS table


datatype XMLTYPE:
create table trans
(
create table arch_trans trans_date date,
( trans_id number(10),
trans_type varchar2(1),
arch_date date, trans_amount number(12,2)
trans_date date, )
trans_details xmltype partition by range (trans_date)
(
) partition Jan2003 values less than (to_date(01/02/2003, dd/mm/yyyy)),
partition by range (trans_date) partition Feb2003 values less than (to_date(01/03/2003, dd/mm/yyyy)),

...
(
);
partition Jan2003 values less than (to_
date(01/02/2003, dd/mm/yyyy)), begin
partition Feb2003 values less than (to_ for ctr in 1..100 loop
insert into trans values
date(01/03/2003, dd/mm/yyyy)), (
...

sysdate - dbms_random.value(1,300),
) ctr,
decode (round(dbms_random.value(1,2)),1,C,D),
/ dbms_random.value(1,10000)
);
John notes two important points: end loop;
end;
OThe ARCH_TRANS archive table has /
been partitioned on TRANS_DATE, in
the same way as the TRANS table.
OBesides the TRANS_DATE column, no codeLISTING 2: Archiving as XML
other column from the original table is 1 insert into arch_trans
in the ARCH_TRANS table. Rather, a 2 (
3 arch_date,
new column called TRANS_DETAILS 4 trans_date,
holds other production table column 5 trans_details
values in XML format. 6 )
7 select
8 sysdate,
ARCHIVING 9 trans_date,
To convert the data from relational 10 xmlelement(TransRec,
11 xmlforest(
to XML format, John uses two 12 trans_id,
SQL functions: XMLFOREST and 13 trans_type,
XMLELEMENT. XMLFOREST converts 14 trans_amount
15 )
the relational data into XML format. 16 )
The column values are converted 17 from trans
into XML data enclosed by tag names
identical to the column names. To codeLISTING 3: Looking at ARCH_TRANS
demonstrate, John selects two columns
SQL> set long 999999999
of the TRANS table, modified by the SQL> select * from ARCH_TRANS;
XMLFOREST function:
ARCH_DATE TRANS_DAT TRANS_DETAILS

select xmlforest(trans_id,trans_type) 07-JAN-06 27-DEC-05 <TransRec>
from trans; <TRANS_ID>80</TRANS_ID>
<TRANS_TYPE>D</TRANS_TYPE>
<TRANS_AMOUNT>4142.68</TRANS_AMOUNT>
XMLFOREST(TRANS_ID,TRANS_TYPE) </TransRec>

<TRANS_ID>1</TRANS_ID><TRANS_
TYPE>D</TRANS_TYPE> a user-defined tag around the records. XMLELEMENT(TRANSREC,XMLFOREST(
<TRANS_ID>2</TRANS_ID><TRANS_ John uses the <TransRec> tag to contain TRANS_ID,TRANS_TYPE))
TYPE>C</TRANS_TYPE> records of the TRANS table:
...

<TransRec><TRANS_ID>1</TRANS_ID>
select xmlelement(TransRec,xmlforest( <TRANS_TYPE>D</TRANS_TYPE>
The XMLELEMENT function places trans_id,trans_type)) from trans; </TransRec>

74 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
<TransRec><TRANS_ID>2</TRANS_ID> codeLISTING 4: Transforming XML to relational format
<TRANS_TYPE>C</TRANS_TYPE>
col Trans_ID format a5
</TransRec> col Trans_Type format a1
...

col Trans_Amount format 999999.99


select arch_date, trans_date,
extractvalue(trans_details,/TransRec/TRANS_ID) Trans_ID,
Using these two functions, John extractvalue(trans_details,/TransRec/TRANS_TYPE) Trans_Type,
demonstrates the SQL script shown in to_number(extractvalue(trans_details,/TransRec/TRANS_AMOUNT)) Trans_Amount
from arch_trans;
Listing 2, for converting the data from
the TRANS table and loading it into the
ARCH_TRANS table. table (TRANS) and the archive table XMLnot relationalformat.
The columns of TRANS converted to (ARCH_TRANS). John writes the query shown in
XML format are stored in the TRANS_ Listing 4 to transform the XML data
DETAILS column of the ARCH_TRANS drop table arch_trans_jan2003; to relational format. The query uses
table. After the data is inserted into the XPath notation to extract all the
ARCH_TRANS table, John selects from alter table trans columns from the XML representation
it, as shown in Listing 3, to show how drop partition jan2003; of the data. Acmes applications still
the data is stored. Note that John uses see the archived data as relational, and
the SET LONG statement to enable the alter table arch_trans they do not need to change. The devel-
display of a long list of data (the default drop partition jan2003; opers in attendance seem satisfied with
is only 80 characters). this solution.
When it is time to archive a particu- REINSTATEMENT The key element of the query in
lar partition, John converts that parti- Johns demonstrations to the Acme
tion of the ARCH_TRANS table to a programmers and DBAs of how to
standalone table: archive the table are well received, but More XMLType
reinstating the table easily is another You can use XMLType in many other cases.
alter table arch_trans important archiving requirement. To Consider a scenario in which the attributes
exchange partition jan2003 show this process, John outlines how of an entity are not clearly known in advance
with table arch_trans_jan2003 to reverse the activities performed and evolve over time. An example might be a
/ during archiving. car, whose attributes might be make, model,
First, he plugs the tablespace back trim level, year, and color. Later, for some
specially manufactured cars, you may want
The ARCH_TRANS_JAN2003 table into the database:
to add other details such as assembly plant
is created in the same tablespace as the
name and engine plant name. If you have
JAN2003 partition. John can find the impdp dump_file=jan2003.dmp
a relational format, you can add columns,
tablespace name by using this query: transport_datafiles=/u01/jan2003.dbf
but suddenly you may have to change all
your INSERT statements, even if those new
select tablespace_name This instantly makes the ARCH_ attributes are not inserted. If the attributes
from dba_tab_partitions TRANS_JAN2003 table available in are stored in XMLType, all you have to do is
where table_name = TRANS the database. The table can be queried to add those new attributes as tags for those
and partition_name = JAN2003; now, or it can be merged with the main specific records only. The SQL would have to
table (ARCH_TRANS) as a partition and change only when those specific attributes are
TABLESPACE_NAME queried. To merge it back, John issues accessed, not otherwise.
Another advantage of XMLType is free search
JAN2003 alter table arch_trans of data, using the Context option, in which case
exchange partition jan2003 you can create a CTXSYS type of index and
John transports the JAN2003 with table arch_trans_jan2003 search inside the XMLType data for specific
strings. This technique is very useful when
tablespace in which the ARCH_TRANS_ /
you dont know which column of the table has
JAN2003 table resides.
a particular value you are searching for; for
Now the ARCH_TRANS table also
instance, you are searching for the value ARUP
expdp \/ as sysdba\ contains the data for January 2003.
but dont know if thats part of the customers
transport_tablespaces=jan2003 Reinstatement is complete. first name, middle name, last name, street
dumpfile=jan2003.dmp address, city, county, partners name, or
QUERYING THE ARCHIVES whatever else. The use of context search will
Finally, John drops the exchanged The Acme DBAs and programmers are reveal that value in a record and identify which
table (ARCH_TRANS_JAN2003) and still concerned. They remind John that tag includes it.
the partition from both the production the data in the ARCH_TRANS table is in

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 75
XML

Listing 4 is the EXTRACTVALUE func- codeLISTING 5: Modifying the archival script to reflect the added column
tion, which extracts the value of an
1 insert into arch_trans
element from the XML document or 2 (
data. John reminds everyone that the 3 arch_date,
4 trans_date,
data in the TRANS_DETAILS column
5 trans_details
includes the XML tags that show the 6 )
nature of the data. For instance, the 7 select
8 sysdate,
data in one record looks like this:
9 trans_date,
10 xmlelement(TransRec,
<TransRec> 11 xmlforest(
12 trans_id,
<TRANS_ID>80</TRANS_ID>
13 trans_type,
<TRANS_TYPE>D</TRANS_TYPE> 14 trans_amount
<TRANS_AMOUNT>4142.68 15 acc_no
16 )
</TRANS_AMOUNT>
17 )
</TransRec> 18 from trans;

To get the value of TRANS_TYPE,


John starts at the highest-level element, Requirement Solution
TransRec, and then uses XPath nota- Time-based archiving Partitioning of the ARCH_TRANS table in exactly the same way as the
main table, TRANS. This way, a whole partition can be exchanged with a
tion to get to the appropriate level: table and then transported.
Minimal impact during purging The purging means dropping a partition, which has virtually no overhead.
extractvalue(trans_details,/TransRec/ of data
TRANS_TYPE)
Quick and low-overhead restoration Reinstating the purged data involves plugging the tablespace back into
the database, which has virtually no overhead.
John notes an important point here: Flexibility for table structural The data is archived in XML format, which removes restrictions on the
Unlike SQL, the names in XML are changes table structural changes.
case-sensitive, so TransRec and transRec Ability to search within archived The XML data is shown in a relational format, enabling it to be queried as
are not the same. data such, with the familiar SQL interface.
To make the data retrieval faster, Table 1: Acme archiving requirements and solutions
John proposes to create an index on
ARCH_TRANS. Most of the queries alter table trans add (acc_no how they have been addressed by the
select data based on TRANS_TYPE, so varchar2(10)) proposed solutions, shown in Table 1.
that is a good candidate for the index. There are no more questions; there are
John creates the index: Now the new ACC_NO column is no more concerns. O
in the TRANS table, but it is not in the
create index TRANS_DETAILS column of the ARCH_ Arup Nanda (arup@proligence.com) has been
in_arch_trans_type TRANS table. The insertion of the data an Oracle DBA for more than 12 years, handling
on arch_trans ( from the TRANS_DETAILS column into all aspects of database administrationfrom
extractvalue ( TRANS will not fail, assures John. performance tuning to security and disaster
TRANS_DETAILS, When a new column is added, the recovery. He is a coauthor of PL/SQL for DBAs
/TransRec/TRANS_TYPE)); INSERT script needs to be updated (OReilly Media, 2005) and was Oracle Magazines
to reflect the existence of the new DBA of the Year in 2003.
This SQL statement may resemble a column. The new script is shown in
function-based index, John explains, but Listing 5. Its identical to Listing 2
it actually creates the index based on the except at line 15, where the new ACC_
XPath notation. NO column is selected.
READ online-only article content
The online version of this article, oracle.com/technology/oramag/oracle/06-jul/
STRUCTURAL CHANGES at oracle.com/technology/oramag/ o46xml.html

Now only one critical requirement is oracle/06-jul/o46xml.html, concludes the READ more about
left: the ability to allow for the pro- discussion of how this XML archiving XML functionality in Oracle
Database 10g
duction tables to change. John shows allows the production tables to change. download.oracle.com/docs/cd/B19306_01/
an example in which a column called appdev.102/b14259/toc.htm

ACC_NO is added to the TRANS CONCLUSION SQL functions used in this article
table after data has been archived and In closing, John revisits the original download.oracle.com/docs/cd/B19306_01/server.102/
b14200/toc.htm
removed from the table. archiving requirements and shows

76 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
t e c h n o l o g y ASK TOM BY TO M KYTE

On Speeding, Dating, and Spelling


Our technologist finds the OS, makes things appear faster, dates clients, and spells out numbers.
once read on your site that someone had 4 (select sid the database. It can take about two minutes
demonstrated how to determine the OS 5 from v$mystat to drop a user that contains about a thousand
of the SQL*Plus session; however, I am 6 where rownum = 1 synonyms. Im getting complaints that it takes
now unable to find the information. I have 7 ) too long to remove the obsolete accounts.
a SQL script that I use to create a SQL script. 8 / Apart from transitioning the system to using
I would like to extend this further, so that if public synonyms, do you have any suggestions
the original SQL script is called from a UNIX- PROGRAM PROCESS on improving the performance of the DROP
based SQL*Plus session, the original SQL script USER command?
creates both a SQL script and a shell script. sqlplus.exe 704:416 It is all about perception. Whenever
I think what you are remembering I have a long-running process, I think
from the Ask Tom site was how to find you can see the name of the client about how I can background it so an
the OS of the server the database is process as well as the client process unlucky end user never has to wait for it
running on. That would be via DBMS_ IDthe above example was a Windows to complete. If the end user doesnt have
UTILITY.PORT_STRING: SQL*Plus client, as evidenced by the to wait for it, it will seem instantaneous.
.exe in the program name as well as So, move long-running processes
SQL> begin the colon (:) in the process. If I use a into the background, and the end users
2 dbms_output.put_line( UNIX client to connect to the same think, Wow, this is really fast! What
3 dbms_utility.port_string ); database, I will observe something I recommend is to turn the process of
4 end; similar to the following: DROP USER USERNAME CASCADE
5 / into the following:
SQL> select program, process
1. ALTER USER USERNAME LOCK; (The
...

Linuxi386/Linux-2.0.34-8.1.0
8 / account is disabled, so the secure goal
That will tell you not which OS is achieved.)
your SQL*Plus client is running on but PROGRAM PROCESS 2. dbms_job.submit( l_job, execute imme-
rather the OS of the database server diate drop user a cascade; );
itself, which might be different. There sqlplus@host(TNS V1-V3) 10227 3. commit;
are two things you can look at, however,
that can be very useful: the PROGRAM The .exe is missing from the And give the user a message imme-
and PROCESS columns in V$SESSION. program name because UNIX does diately that says OK. The locking
The PROGRAM column generally shows not use that extension, and further, of the account will achieve the goal
the name of the client program that con- the process ID of the client does not of dropping the user (by removing
nects to the database (but this can easily include the colon as it does for a access), and the actual dropping of the
be spoofed if files are copied to differ- Windows client. user schemawhich might take a bit
ent names), and the PROCESS column See asktom.oracle.com/~tkyte/ of timewill happen shortly after the
shows the process ID of the client con- DetermineOS.html for the original COMMIT, in the background, without
necting to the databasethe process online discussion and the evolution of making the end user wait. As far as
ID from the client machine itself. Both this answer. Thanks to all of the online the end user is concerned, the act of
of these columns will give you a very participants for coming up with some dropping the user is instantaneous and
good idea of the client OS from which good ideas. the response time is always the same.
SQL*Plus is being executed. If you use Consistency is important to end users.
the following query MAKING SOMETHING FAST I do this with lots of apparently slow
We have an application that creates users and thingshide the real work in the back-
SQL> select program, process places private synonyms in users accounts. ground and let the end users continue,
2 from v$session On occasion a security administrator drops and they think the application is much
3 where sid = multiple users who no longer need access to faster than it is.

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 77
ASK TOM

NLS_DATE_FORMAT ISNT WORKING format=your_format statement in your execute immediate


Why does the NLS_DATE_FORMAT in my application right after the connect alter session
init.ora sometimes not work? I have it set, but OUse an AFTER LOGON trigger similar set nls_date_format =
the default date format isnt set correctly for the one supplied below your format here ;
my applications. Personally, I prefer the second option. end;
If the client environment sets any of If you have an application that relies on /
the NLS_* parameters, they override the a specific default date format, it should
server in all cases. So if the client sets, explicitly request that format. The SPELLING OUT A NUMBER
for example, the NLS_LANG parameter, reason: If you try to install two applica- I am trying to spell out a number. That is, I
that will cause all NLS_* settings on the tions in the same database and their would like to see the number 123 printed as
server to be ignored. The server will use date formats conflict, you wont be able one hundred twenty-three. Are there any func-
the clients specified values and default to use both applications without setting tions available for me?
values for all other NLS settings instead, the date formats explicitly, which will Believe it or not, there almost is.
ignoring anything in init.ora. prevent consolidation in the future. It is There is a DATE format of Jsp that
Where that typically comes into play best never to have any of your applica- spells a Julian date:
is if the client is Windows. The client tions dependent on certain default init
install on Windows sets the NLS_LANG .ora settingsthis would prevent your SQL> select to_char(sysdate,J),
parameter in the registry by default. The application from behaving nicely with 2 to_char(sysdate,Jsp)
fact that the client sets the NLS_LANG other applications in the same database. 3 from dual;
parameter causes the NLS settings you
put in the init.ora not to be used by that create or replace trigger TO_CHAR
client. To solve this, you can data_logon_trigger
OSet the NLS_DATE_FORMAT in the after logon TO_CHAR(SYSDATE,JSP)
registry on the client ON DATABASE
OPut an ALTER SESSION SET nls_date_ begin 2453812
Two Million Four Hundred Fifty-Three
Thousand Eight Hundred Twelve
codeLISTING 1: PL/SQL function for spelling out numbers
create or replace Now, this works fine for many
function spell_number( p_number in number )
return varchar2
numbers, but if you go out of the range
as of Julian dates, you will receive
type myArray is table of varchar2(255);
l_str myArray := myArray( ,
thousand , million ,
ERROR at line 1:
billion , trillion , ORA-01854: julian date must be
quadrillion , quintillion , between 1 and 5373484
sextillion , septillion ,
octillion , nonillion ,
decillion , undecillion , With a little creativity, I can expand
duodecillion ); this to be as large as I need (if 5,373,484
l_num varchar2(50) default trunc( p_number );
is not large enough). The PL/SQL func-
l_return varchar2(4000); tion in Listing 1 demonstrates how you
begin might do this. I encourage you to see
for i in 1 .. l_str.count
loop
asktom.oracle.com/~tkyte/SpellNumber
exit when l_num is null; .html online as well to see the evolution
of this question over time, including
if ( to_number(substr(l_num, length(l_num)-2, 3)) <> 0 )
then
user contributions regarding spelling out
l_return := to_char( numbers in other languages.
to_date(
substr(l_num, length(l_num)-2, 3),
J ),
REPORTING ON DATABASE FREE SPACE
Jsp ) || l_str(i) || l_return; I would like a report in SQL*Plus that shows
end if; the free space by tablespace. Do you have a
l_num := substr( l_num, 1, length(l_num)-3 );
end loop;
working query that provides that?
I doIve had one for a long time.
return l_return; Basically, what I have to do is gener-
end;
/
ate a query that reports free space by
tablespace (aggregating DBA_FREE_

78 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
codeLISTING 2: Reporting free space by tablespace tablespace is a locally managed one,
whereas a leading blank means that it
set linesize 121
is an old-fashioned dictionary-managed
-- free.sql tablespace. If the second character is a,
--
that tells you that the tablespace is using
-- This SQL Plus script lists freespace by tablespace
Automatic Segment Space Management
(ASSM) managed storage, whereas if
column dummy noprint
the second character is M, that tells you
column pct_used format 999.9 heading %|Used
column name format a19 heading Tablespace Name that the tablespace is manually managed
column Kbytes format 999,999,999 heading Kbytes (pctused, freelists, and so on are used to
column used format 999,999,999 heading Used
control space utilization).
column free format 999,999,999 heading Free
column largest format 999,999,999 heading Largest OKbytes: Allocated space of the
column max_size format 999,999,999 heading MaxPoss|Kbytes tablespace; the sum of kilobytes con-
column pct_max_used format 999.9 heading %|Max|Used
sumed by all datafiles associated with
break on report
compute sum of kbytes on report the tablespace.
compute sum of free on report OUsed: Space in the tablespace that is
compute sum of used on report
used by some segment.
select (select decode(extent_management,LOCAL,*, ) || OFree: Space in the tablespace not allo-
decode(segment_space_management,AUTO,a ,m ) cated to any segment.
from dba_tablespaces where tablespace_name = b.tablespace_name) ||
O% Used: Ratio of free to allocated space.
nvl(b.tablespace_name,
nvl(a.tablespace_name,UNKOWN)) name, OLargest: The size of the largest contigu-
kbytes_alloc kbytes, ous set of blocks available (useful mostly
kbytes_alloc-nvl(kbytes_free,0) used,
with dictionary-managed tablespaces).
nvl(kbytes_free,0) free,
((kbytes_alloc-nvl(kbytes_free,0))/ If this number in a dictionary-managed
kbytes_alloc)*100 pct_used, tablespace is smaller than the next extent
nvl(largest,0) largest,
for some object, that object could fail
nvl(kbytes_max,kbytes_alloc) Max_Size,
decode( kbytes_max, 0, 0, (kbytes_alloc/kbytes_max)*100) pct_max_used with an out of space message, even if
from ( select sum(bytes)/1024 Kbytes_free, the FREE column says there is lots of
max(bytes)/1024 largest,
free space.
tablespace_name
from sys.dba_free_space OMaxPoss Kbytes: The autoextend
group by tablespace_name ) a, maximum size. (Note: This can be
( select sum(bytes)/1024 Kbytes_alloc,
smaller than the allocated size! You can
sum(maxbytes)/1024 Kbytes_max,
tablespace_name set the maximum size to be less than the
from sys.dba_data_files current size of a file.)
group by tablespace_name
O% Max Used: How much of the
union all
select sum(bytes)/1024 Kbytes_alloc, maximum autoextend size has been
sum(maxbytes)/1024 Kbytes_max, used so far.
tablespace_name
from sys.dba_temp_files
group by tablespace_name )b BASE CONVERSIONS
where a.tablespace_name (+) = b.tablespace_name How can I convert a number to some other
order by 1
base (say base 2 or base 16) and back again?
/
There are two parts to this answer.
Starting in Oracle8i, the TO_CHAR and
SPACE to the tablespace level) and join are very useful for doing this, and TO_NUMBER functions can handle con-
that to a query that reports the space Ill make use of them in the query in versions from base 10 (decimal) to base
allocated to each tablespace (including Listing 2. Additionally, to accommodate 16 (hexadecimal) and back again:
temporary tablespaces). tablespaces that are completely full (and
The problem is that DBA_FREE_ hence would have no entries in DBA_ SQL> select to_char(123,XX) to_hex,
SPACE reports space at the extent level FREE_SPACE), Ill use an outer join to 2 to_number(7B,XX) from_hex
within a tablespace and DBA_DATA_ put the answer together. 3 from dual
FILES/DBA_TEMP_FILES reports allo- The query in Listing 2 supplies the 4 /
cated space by file within a tablespace. following output:
I need to aggregate the data in each OTablespace Name: The name of the TO_ FROM_HEX
of these views to the tablespace level tablespace. A leading asterisk (*) in
before I combine them. Inline views the tablespace name indicates that the 7B 123

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 79
ASK TOM

codeLISTING 3: Converting decimals up to base 36 Then I need a corresponding routine


to convert from any given base back into
create or replace function to_base( p_dec in number, p_base in number )
return varchar2 decimal. This is in Listing 4.
is For convenience, I use the small rou-
l_str varchar2(255) default NULL;
tines in Listing 5 to perform the most-
l_num number default p_dec;
l_hex varchar2(50) default 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ; common conversions.
begin
if ( trunc(p_dec) <> p_dec OR p_dec < 0 ) then
SYSDBA
raise PROGRAM_ERROR;
end if; I need to know how to prevent Microsoft
loop Windows Server2003 users with the oradba
l_str := substr( l_hex, mod(l_num,p_base)+1, 1 ) || l_str;
role from logging into my database without a
l_num := trunc( l_num/p_base );
exit when ( l_num = 0 ); password. When Im logged in as administra-
end loop; tora member of oradbaI can log into
return l_str;
the database AS SYSDBA with any password,
end to_base;
/ even an empty one.
Well, technically, you did use a pass-
word. You logged into the OS, and you
codeLISTING 4: Converting other bases to decimal provided a password then.
create or replace function to_dec AS SYSDBA is extremely power-
( p_str in varchar2,
p_from_base in number default 16 ) return number
ful. It uses OS authentication; it does
is not require database authentication. In
l_num number default 0; fact, it is used to log in before there is
l_hex varchar2(50) default 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ;
begin
an instance. What you need to do is
if (p_from_base = 16) lock down the accounts that are in this
then group. Remove the users that should
l_num := to_number( p_str, rpad(x,63,x) );
else
not have this excessively strong capabil-
for i in 1 .. length(p_str) loop ity from the oradba group. Users in this
l_num := l_num * p_from_base + instr(l_hex,upper(substr(p_str,i,1)))-1; group are always permitted access to
end loop;
end if;
the database instance AS SYSDBA. O
return l_num;
end to_dec; Tom Kyte has worked for Oracle since 1993. He is a
/
vice president in the Oracle Public Sector group and
the author of Expert Oracle Database Architecture:
codeLISTING 5: Common base conversion routines 9i and 10g Programming Techniques and Solutions
create or replace function to_hex( p_dec in number ) return varchar2 (Apress, 2005) and Effective Oracle by Design (Oracle
is Press, 2003), among others.
begin
return to_char( p_dec, fm||rpad(x,63,x) );
end to_hex;
/
create or replace function to_bin( p_dec in number ) return varchar2
is
begin ASK Tom
return to_base( p_dec, 2 ); Oracle Vice President Tom Kyte answers your most
difficult technology questions. Highlights from that forum
end to_bin;
appear in this column.
/ asktom.oracle.com
create or replace function to_oct( p_dec in number ) return varchar2
is READ more about
begin getting the OS
return to_base( p_dec, 8 ); asktom.oracle.com/~tkyte/DetermineOS.html
end to_oct;
/ spelling out a number
asktom.oracle.com/~tkyte/SpellNumber.html

READ more Tom


Expert Oracle Database Architecture: 9i and 10g
If you need to cover other bases, routine that converts a positive decimal Programming Techniques and Solutions
such as octal (base 8) or binary (base number into any other base up to base amazon.com/exec/obidos/tg/detail/-/1590595300/

2), you can accomplish that in PL/SQL 36 (extending the algorithm used to DOWNLOAD Oracle Database 10g
pretty easily; in fact, Ill do the base 16 represent numbers up to base 16). See Express Edition
oracle.com/technology/xe
conversions as well. First, Ill code a Listing 3.

80 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
t e c h n o l o g y OCP BY A R A D H A N A P U R I

Managing Certificates
Questions and answers on managing and using certificates and wallets
racle Application Server
Certificate Authority (OCA) and
Oracle Wallet Manager (OWM)
are important components of
Oracle Application Server Public Key
Infrastructure (PKI). You can use OCA
to administer and manage the entire PKI
certificate lifecycle. This lifecycle includes
recording and processing requests for
new certificates; verifying user creden-
tials; and issuing, renewing, or revoking
these certificates.
Security credentials, consisting of
a public/private key pair, a certificate,
and a trusted certificate, are stored in
Figure 1: Oracle Application Server Certificate Authority administration interface
and accessed through a logical container
called a wallet. OWM facilitates acquir-
ing, using, and storing certificates. It administration interface to perform cer- perform administrative tasks.
also provides a graphical user interface tificate administration and management. D. OCA does not support user authenti-
that standardizes the normal operations End users can use the user interface to cation on the basis of a preissued secure-
performed with or on certificates and request, renew, and revoke certificates. sockets-layer (SSL) certificate.
wallets. Using OWM, you can create Note that the term end user here The correct answers are B and C. For
certificate requests that can be used to includes persons and also server enti- security reasons, you can start and stop
request certificates from OCA as well as a ties that acquire certificates to facilitate OCA only by using the ocactl command-
trusted third party. authentication among servers and appli- line tool, which requires the administra-
This article focuses on aspects of OCA cations. Administrators can access the tors password. This tool uses the OCA
and OWM. It presents sample questions home page for the administration inter- configuration file located in $ORACLE_
from the Oracle Application Server 10g: face by going to https://<Oracle HTTP HOME/oca/conf/oca.xml. You must have
Administration I exam (Exam#1Z1-311). host>:<SSL port>/oca/admin, where the administrator certificate before you
By successfully completing the Oracle Oracle HTTP host is the host on which can use any of the OCA administrative
Application Server 10g: Administration I OCA is installed and SSL port is listed options and controls in the Web inter-
exam, you can earn the Oracle Certified in the $ORACLE_HOME/install/portlist face. To request the administrator certifi-
Associate level of certification. Note that .ini file. Similarly, end users can access cate for your authentication, fill in and
the sample question format has been the home page for the user interface submit a brief form that appears after
adjusted for presentation in this column. by going to https://<Oracle HTTP OCA is started for the first time. Note
host>:<SSL port>/oca/user. that you must access OCA from the com-
ORACLE APPLICATION SERVER Which two statements are correct regard- puter you plan to use as the administra-
CERTIFICATE AUTHORITY ing OCA? tor. Answer A is incorrect because users
A certificate authority (CA) is a trusted A. OCA can be used for obtaining user can use OCA for obtaining User as well
third party that vouches for the public- certificates only, not server certificates. as Server/SubCA certificates (see Figure
key owners identity. Oracle Application B. OCA is started and stopped by using 2). Answer D is incorrect because OCA
Server Certificate Authority 10g pro- the ocactl command-line tool. supports user authentication on the basis
vides an easy-to-use Web-based admin- C. When you access the OCA admin- of a preissued SSL certificate.
istration interface (Figure 1) and a user istration interface for the first time, You need to change the OCA administrator
interface (Figure 2). you must acquire and install your Web password. You would change it by using
An OCA administrator can use the administrator certificate to be able to _____.

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 81
OCP

a client, or a serverto authenticate


themselves. You must install a trusted
certificate from a CA before you can
install a user certificate issued by that
authority.
Which task must you perform before
submitting a Server/SubCA certificate
request to OCA?
A. Create a PKCS#10 request
B. Obtain a user certificate from OCA
by using secure-sockets-layer (SSL)
authentication
C. Obtain a user certificate from OCA by
using single-sign-on (SSO) authentication
D. Obtain read/write permissions on the
$ORACLE_HOME/oca/conf/oca.xml file
Figure 2: Oracle Application Server Certificate Authority user interface
The correct answer is A. To get a
A. The ocactl command-line tool of multiple computers. However, their Server/SubCA certificate from OCA,
B. The OCA administration interface Web administrator certificates are con- you need to create a PKCS#10 cer-
C. Oracle Application Server Control tained in the browser of the computer tificate request by using OWM. After
D. Oracle Enterprise Security Manager they used when originally authenticating OWM generates the completed request,
The correct answer is A. You can use themselves as the OCA Web adminis- the administrator can save it to the
the ocactl setpasswd -type CA command trators. To switch from one computer file system or copy it for pasting into
to change the OCA administrator pass- to another and maintain the ability to OCAs Server/SubCA form for request-
word. OCA must be stopped before you perform certificate management tasks, ing a certificate from OCA. Answers
change the password. Answers B, C, and you need to export the certificate from B, C, and D are incorrect because
D are incorrect because you cannot use the previous browser and import it into you dont need a user certificate from
the OCA administration interface, Oracle the new browser. Answers A, B, and OCA or read/write permissions on the
Application Server Control, or Oracle C are incorrect because these actions $ORACLE_HOME/oca/conf/oca.xml
Enterprise Security Manager to change do not enable the OCA administrator file before submitting a Server/SubCA
the OCA administrator password. to perform administrative tasks from certificate request to OCA.
Smith is an OCA administrator. He used another computer.
computer Comp1 while authenticating CONCLUSION
himself as an OCA administrator for the first ORACLE WALLET MANAGER This column has focused on aspects
time. His Web administrator certificate is OWM is a standalone Java application of OCA and OWM. OCA completes
contained in the browser of Comp1. Smith that manages server certificates used the Oracle PKI solution, by providing
also needs to perform certification manage- with Oracle Application Server. Wallet a certificate authority and registration
ment tasks from another computer, Comp2. owners use this program to manage and authority combined with an easy-to-use,
What should he do? edit security credentials in their Oracle comprehensive Web interface. Security
A. Stop OCA by using the ocactl utility wallets. You can use OWM for generat- administrators use OWM to manage
on Comp1, and restart OCA on Comp2 ing a public/private key pair and creating public-key security credentials on both
by using the ocactl utility. a certificate request for submission to a client and server systems. O
B. Stop OCA by using the ocactl utility CA, for installing a certificate, and for
on Comp1, make changes to the http configuring trusted certificates. You can Aradhana Puri (ocpexam_ww@oracle.com) is a
.conf file on Comp1, and restart OCA also use OWM for creating and opening principal Oracle certification exam developer at Oracle.
on Comp2 by using the ocactl utility. a wallet to enable access to PKI-based She has been with the company since 2000.
C. Request another administrator certifi- services and for uploading a wallet to
cate by using Comp2. or downloading it from a Lightweight
D. Export the OCA administrator cer- Directory Access Protocol (LDAP) direc-
tificate from the browser of Comp1, tory. OWM uses two kinds of certificates: LEARN more about the Oracle
and copy and import it into the trusted certificates and user certificates. Certification Program, and download
browser of Comp2. Oracle Wallet comes with some common a free exam guide
oracle.com/education/certification
The correct answer is D. OCA trusted certificates, and you can also add
administrators may want to perform some. User certificates are used by end READ Inside OCP columns
oracle.com/technology/oramag/oracle/ocp
certificate management tasks from any entitiessuch as an end user, a database,

82 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
The OAUG brings

like-minded people together


through SIGs and Geos
to determine how to best use

specific Oracle

Applications.
Basheer Khan
Innowave Technology
OAUG Member Since 1996

global users. global solutions.

Special interest groups (SIGs) and geographic user groups (Geos) afford
OAUG members the opportunity to share their knowledge and concerns in
specific areas of interest regarding the growing family of Oracle Applications.
SIGs, Geos, councils and boards combine to give members a direct connection
and the opportunity to work directly with Oracle to provide feedback and
influence product strategy.

+1 404.240.0897 oaug.org

Join Today!
Certified Advantage Partner Index
The partners featured in this index have recently reached or renewed their status of Certified Advantage Partner in the Oracle PartnerNetwork.
COMPANY NAME URL COMPANY NAME URL

Global Kolon Data Communication Co., Ltd. www.kdc.kolon.co.kr


Accenture www.accenture.com NCS Pte. Ltd. www.ncs.com.sg
Advanced Micro Devices, Inc. www.amd.com Nucleus Software Exports Ltd. www.nucleussoftware.com
Apple www.apple.com OED Technology Sdn Bhd www.patimas.com
Avnet, Inc. www.hallmark.avnet.com Propia Co., Ltd. www.propia.co.kr
BearingPoint www.bearingpoint.com Pythis www.pythis.com
Business Objects www.businessobjects.com Red Rock Consulting www.redrock.net.au
Capgemini www.capgemini.com Shen Yang Neusoft Co., Ltd. www.neusoft.com
CGI Group, Inc. www.cgi.com Sierra Atlantic www.sierraatlantic.com
Computer Sciences Corporation www.csc.com Sysage Technology Co., Ltd. www.sysage.com.tw
Convergys www.convergys.com System Access Pte Limited www.systemaccess.com
CSG Systems www.csgsystems.com Sysware Corporation www.sysware.com.tw
Dell Inc. www.dell.com Systex Information (H.K.) Ltd. www.systex.com.hk
Deloitte www.deloitte.com Taiji Computer Corporation www.taiji.com.cn
EDS www.eds.com Teksen Horizon Systems (Guangzhou) Limited www.teksen.com
EMC www.emc.com Wezoomtek Corporation www.wezoomtek.com
Fidelity Information Services www.fidelityinfoservices.com/FNFIS/ Canada
Fujitsu Group www.fujitsu.com MTS Allstream Inc. www.allstream.com
Hitachi www.hitachi.com Oto Global Solutions Inc. www.oto.com
HP www.hp.com Europe
IBM/IBM Business Consulting Services www.ibm.com Actebis Peacock GmbH www.actebispeacock.de
i-flex www.iflexsolutions.com ACURE A/S www.acure.dk
Infosys www.infosys.com Afina Sistemas Informaticos www.afina.es
Ingram Micro www.ingrammicro.com Alcatel www.alcatel.com
Intec www.intecbilling.com Ares www.ares.fr
Intel www.intel.com Arinso Nederland BV www.arinso.com
Mercury Interactive www.mercury.com Asseco Poland S.A. www.asseco.pl
Microsoft www.microsoft.com Atos Origin IT Services UK www.atosorigin.com
NEC www.nec.com Atos Origin Nederland BV www.atosorigin.com
Network Appliance, Inc. www.netapp.com Basilica Computing Limited www.basilica.co.uk
Novell www.novell.com Bechtle Logistik & Service GmbH www.bechtle.com
PegaSystems www.pegasystems.com Borlas IBC www.borlas.ru
Portal www.portal.com CapGemini Telecom Media und Networks GmbH www.de.cgey.com
Red Hat www.redhat.com Cedar Consulting Ltd www.cedarconsulting.co.uk
Satyam www.satyam.com CIBER UK www.ciber.com
Sun Microsystems www.sun.com ComArch S.A. www.comarch.pl
Tata Consultancy Services www.tcs.com Compelsysao www.compelsysao.co.uk
TechData www.techdata.com CompIT Technologies www.compit-t.com.by
Temenos www.temenos.com Computacenter AG & Co. OHG www.computacenter.de
Unisys www.unisys.com ComputerLand S.A. www.computerland.pl
Wipro www.wipro.com CROC Incorporated www.croc.ru
Africa Consit A/S www.consit.dk
2Cana Solutions (Pty) Ltd www.2cana.co.za Cronos NV www.cronos.be
EOH KPMG Consulting www.eoh.co.za Cronos Ibrica, SA www.cronosiberica.es
Giza Systems Engineering www.gizasystems.com CBOSS www.cboss.ru
Implementation Factory (Pty) Ltd www.ifactory.co.za Deutsche Post ITSolutions GmbH www.dp-itsolutions.de
Integrated Tertiary Software (Pty) Ltd www.its.co.za Developing World Systems Ltd. www.dwsonline.co.uk
New Dawn Technologies www.ndt.co.za DIGORA www.digora.com
Omnidata www.omnidata.co.ma Distrilogie Belgium BVBA www.abcomp.be
or@dist www.oradist.com.tn DBConcepts Daten www.dbconcepts.at
xpedia www.xpedia.co.za DNS Hungary Ltd. www.dns-hungary.hu
Asia Pacific Engineering Ingegneria Informatica S.p.A. www.eng.it
ASG (Asia Pacific) Pty Ltd www.asggroup.com.au Explorer (UK) Limited www.explorer.uk.com
Application Hosting Services Co., Ltd. www.a-host.co.th FORS Development Center www.fdc.ru
Attain IT Pty Ltd. www.attainit.com.au Fujitsu Services Limited www.uk.fujitsu.com
Automated Systems (HK) Ltd. www.asl.com.hk Getronics PinkRoccade www.getronicspinkroccade.nl
Beijing Futong Dong Fang Technology Co. Ltd. www.futong.com.cn Global Services Aarhus & Copenhagen A/S www.maerskdata.dk
DataHeaven Co., Ltd. www.dataheaven.co.kr GWI Unternehmensgruppe www.gwi-ag.com
Daesang Information Technology Co., Ltd. www.daesangit.com Hunkler GmbH & Co. KG www.hunkler.biz
Digital China (China) Limited www.digtalchina.com.cn I-Teco www.i-teco.ru
DMS Software Technologies (Pvt.) Ltd www.dmsswt.com Industrial and Financial Systems, IFS AB www.ifsworld.com
ECS International Trading (Shanghai) Co., LTD. www.pci.com.cn Infor Global Solutions GmbH www.infor.de
FPT Information System www.fis.com.vn Informacines Technologijos www.it.lt
FPT Software Solutions www.fss.com.vn Informatica El Cortes Ingles www.ieci.es
Fusion5 Limited www.fusion5.co.nz Information Technologies Company www.it.ru
GTL Limited www.gtllimited.com Inter Access B.V. www.interaccess.nl
FPT Corporation www.fpt.com.vn IT Alise www.it-alise.com
HAND Enterprise Solutions Co., Ltd. www.hand-china.com KNAPP Systemintegration GmbH www.knapp.com
Huadi Computer Co., Ltd. www.huadi.com.cn KPMG Consulting www.kpmg.be
Huawei Technologies Co., Ltd. www.huawei.com/cn Kurt Salmon Associates www.kurtsalmon.com
iCE Consulting Co Ltd. www.iceconsulting.co.th LogicaCMG www.logicacmg.nl
Jigsaw Services Pty Ltd www.jigsawservices.com.au LOGIX www.logix.fr
LG CNS Co., Ltd. www.lgcns.com Mi Services Group www.mi-services.com
Igatech Consulting Pty Limited www.igatech.com Micros-Fidelio GmbH www.micros-fidelio.org
IT&C Co., Ltd. www.itnc.co.kr Montora www.montora.com
KPMG Consulting Co Ltd www.kpmg.com.tw Morse Group www.morse.com

84 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
CERTIFIEDadvantage partner index
COMPANY NAME URL COMPANY NAME URL

Msg Systems ag www.msg-systems.com Procwork CRM www.procwork.com.br


Network Centric Solutions Limited www.ncsltd.com Recours Informatica Consultoria e Assessoria Ltda www.recours.com.br
Nokia Corporation www.nokia.com RedPartner, S.A. www.sistemas.com.ec
Oficina de Cooperacin Universitaria www.ocu.es Snoop Consulting S.R.L. www.snoopconsulting.com
OpenPSL www.openpsl.com Soft Bolivar S.A. www.softbolivar.com
Open Technologies www.ot.ru Solusoft de Panama www.solusoft.com
Opitz Consulting GmbH www.opitz-consulting.de Solusoft de Puerto Rico www.solusoft.com
Patech Solutions Limited www.patech-solutions.com Soluciones Casee SOCASEE, S.A. www.socasee.com
PC-Ware Information Technologies AG www.pc-ware.de SQL Technology S.A. www.sqltech.cl
PDV-Systeme Erfurt Gesellschaft fr Systemtechnik mbH www.pdv.de Sunrising Desenvolvimento de Sistemas www.sunrising.com.br
Peak Systems Support Ltd www.peaksystems.uk.com Sygnus S.A. www.sygnus.com.pe
Prodatis Consulting AG www.prodatis.com Synos Consultoria e Informatica www.synos.com.br
Professional Computer Services S.A. www.pcs.gr Sysdesign Consultoria Em Informatica Limitada www.sysdesign.com.br
QAS Ltd www.qas.com Tilsor S.A. www.tilsor.com.uy
TSnet S.A. www.tsnetglobal.com
Quantix Ltd. www.quantix-uk.com
Unimix Tecnologia Ltda www.unimix.com.br
RDTEX www.rdtex.ru
YKP Consultoria e Sistemas Ltda. www.ykp.com.br
RTC Real-Time Center AG www.rtc.ch
Middle East
S.C. RomSoft S.R.L. www.romsoft.info
Bahwan Cybertek LLC www.bahwancybertek.com
SCC PLC www.scc.com
Computer and Communications Systems www.ccs.com.jo
SIV AG www.siv.de
Computer Information Systems www.cis.com.lb
Softman SA www.softman.pl
Computer and Engineering Bureau CEB www.ceb.com.jo
Software Design & Management AG www.sdm.de
Districom www.cis.com.lb
Sopra Group www.sopragroup.com
Emirates Computers Est www.emiratescomputers.co.ae
Sphinx CST www.sphinx.co.uk Global Technology Services LLC www.gtsuae.com
SX3 www.sx3ps.co.uk Hyperlink www.hyperlink-me.com
TEAM GmbH www.team-pb.de International Turnkey Systems (ITS) www.its.ws
Tech Data Midrange GmbH www.tdmidrange.de Intracom Jordan www.intracom.jo
Technology Reply Srl www.reply.it Mannai Trading Company Limited www.mannaicorp.com
Teta SA www.teta.com.pl Mercator www.mercator.co.ae
TietoEnator Corporation www.tetioenator.com Macro Software Systems LLC www.macro-soft.com
TimeStamp www.timestamp.pt Oracle Dedicated Competency Center www. mawarid-odcc.com
TopS Business Integrator www.topsbi.ru Raya Gulf LLC www.rayaholding.com
T-Systems International GmbH www.t-systems.com Royah www.royah.com
Up to Data, Professional Services GMBH www.uptodata.de Satyam Computer Services www.satyam.com
Version 1 Software www.version1.com United States
Vertis BV www.vertis.nl 170 Systems, Inc. www.170systems.com
Whitehouse Consultants Ltd www.whitehouse-consult.com Abaris, Inc. www.abaris-inc.com
WM-data Danmark A/S www.wmdata.com Agilysys www.agilysys.com
Latin America Apex IT, Inc. www.apexit.com
ACT, S.A. www.act.cl Applications Software Technology Corp. www.astcorporation.com
Acao Informatica Brasil Ltda www.acao.com.br BizTech www.biztech.com
Advanced Database & IT Sistemas de Informao S.A. www.advancedit.com.br BMC Software, Inc. www.bmc.com
Asi Consultants www.asiconsutants.com CedarCrestone www.cedarcrestone.com
Aporte Informtica e Tecnologia Limitada www.aporte.inf.br CherryRoad Technologies www.cherryroad.com
Appteck S.A. de C.V. www.appteck.com.mx CIBER www.ciber.com/ces/oracle
Apply Solutions www.applysolutions.com.br CSS International www.cssus.com
Asistir Ltda. www.asistir.com DAZ Systems www.dazsi.com
B2BR Business to Business Informatica do Brasil www.b2br.com.br DLT Solutions, Inc. www.dlt.com
Bertini Consultoria em informatica www.bertini.com.br Dynamic Information Systems www.dynamic-info.com
BGH, S.A. www.bgh.com.ar Hitachi Consulting, Inc. www.hitachiconsulting.com
Hyperion Solutions www.hyperion.com
BusinessMind S.A. www.businessmind.com.ec
Intermec www.intermec.com
Casa de Software S/A www.casasoft.com.br
IT Convergence, Inc. www.itconvergence.com
Coasin Chile, S.A. www.coasin.com
KBACE Technologies, Inc. www.kbace.com
Commit Consultores de Empresas Ltda www.commitconsultores.com.br
Kronos Inc. www.kronos.com
Datastar Argentina S.A. www.datastar.com.ar
Lockheed Martin Systems Integration Owego www.owego.com
Datum, S.A. (Guatemala) www.datum.com.gt
Lucidity Consulting Group LP www.luciditycg.com
Datum, S.A. de C.V. (El Salvador) www.datum.com.sv
MI Services Group, Inc. www.mi-services.com
Discover Technology Informatica Ltda www.discover.com.br
Navitaire Inc. www.navitaire.com
e-Builders & Consulting Group S. A. C. www.ebuilders.com.pe
OSI Consulting, Inc www.osius.com
E-Partner Comercial e Servios de Informtica Ltda www.epartnerbr.com.br Princeton Softech www.princetonsoftech.com
EN-SOF Consultoria e Informtica Ltda. www.en-sof.com.br RCM Technologies www.rcmt.com
Excelsis S.A.C.I.G www.excelsis.com.py Rapidigm, Inc. www.rapidigm.com
Illuminat www.illuminatnm.com Sierra Atlantic, Inc. www.sierraatlantic.com
In Motion Servicios S.A. www.inmotion.cl Sogeti USA LLC www.sogeti.com
Ingenieria Condor S.A. DE C.V. www.i-condor.com Solbourne Computer Inc. www.solbourne.com
J Evans y Asociados S.A.C. www.jevansa.com.pe SYSTIME Computer Corporation www.systime.net
JFM Informtica Ltda. www.jfm.com.br TITAN Technology Partners www.ttpartners.com
Kruger Corporation www.kruger.com.ec TUSC www.tusc.com
MPL Corporate Software SA www.mpl.com.br Vertex Systems, Inc. www.vertexsystems.com
Nexsys de Colombia www.nexsysla.com Waters Corporation www.waters.com
Nexsys del Peru SAC www.nexsysla.com Wave Consulting Group www.wavecg.com
Officer Distribuidora www.officer.com.br Whitbread Technology Partners, Inc. www.whitbreadtech.com
Preteco SA www.preteco.com.ar Xcelicor, Inc. www.xcelicor.com

Partners able to demonstrate superior product knowledge, technical expertise, and a commitment to doing business with Oracle qualify for the Oracle PartnerNetwork Certified Advantage Partner level. These partners receive a
higher level of service, training, benefits, and resources from Oracle. For more information on partners, please visit the Oracle PartnerNetwork Solutions Catalog at solutions.oracle.com.

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 85
Receive Free Product Information
from Our Advertisers
adINDEX

Contact vendors below for additional information about products or services advertised in this issue.
ADVERTISER WEB SITE PAGE

Allround Automations www.allroundautomations.com 43

Altova www.altova.com 22

AMD www.amd.com 15-18

Approva www.approva.net 53

Bio-key www.bio-key.com 53

Dell Inc. www.dell.com 62

EMC www.emc.com 5

F5 Networks www.f5.com 54

First Ondemand www.firstondemand.com 54

Fujitsu Group www.fujitsu.com IFC-1

HP www.hp.com 30

iDashboards www.idashboards.com 12

ImageNow by Perceptive Software www.imagenow.com 2

Transcender www.transcender.com 40

McGraw-Hill/Osborne www.oraclepressbooks.com 57

Network Appliance www.netapp.com OBC

OAUG www.oaug.org 83

Oracle www.oracle.com IBC

Pillar Data Systems www.pillardata.com 8

Practic A www.sqldetective.com 28

Quest Software www.quest.com 10

USi www.USi.net 7

Web addresses are provided as a service. Oracle Magazine is not responsible for errors or Web address changes.
Oracle Magazine allows sharing of our mailing list with selected third parties. If at any time you would like to be removed from this mailing list,
please contact our customer service department at +1.847.763.9635 or send an e-mail to oracle@halldata.com.

ADVERTISING CLOSE DATES FOR 2006 ISSUES


ISSUE CLOSE DATE
September/October 2006 July 5, 2006
November/December 2006 September 5, 2006

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. CPC Sales Agreement #1518151 POSTMASTER: Send address
changes to: Oracle Magazine, P.O. Box 1263, Skokie, IL 60076-8263.

86 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
c o m m e n t IN THE FIELD BY A R I K A P L A N

XML in Databases
XMLs usefulness multiplies with proper handling.
n a world of competing proprietary ing data includes premarket orders. Manufacturers provide the site with
data formats, XML is a neutral and During trading hours, real-time finan- detailed information on the products
generalized format that is ideal for cial information flows into and out of and their features. Local dealers supply
data exchange. It is especially suited the company. Then when the market information on which products, with
for applications employing service- closes, the end-of-day processing begins, which features, they have available to
oriented architectures (SOAs), because including generating reports on the days sell. Visitors to the site generate lots of
to simplify reuse of program compo- trading activity. queries, searching for specific products
nents, the individual services need to The problem? How to share informa- or features and comparing all the differ-
send and receive data in general formats. tion with a diverse audiencepartner ent products.
XML data includes tags that can companies and news mediathat used The site had originally used a pro-
describe the data, including its for- different applications and information. prietary data format that partners had
matting and uses. You can also use The company had been using flat-file to adhere to, which limited the sites
built-in security precautions with XML, information to provide service to cus- growth and partnership opportunities.
including encryption and authentica- tomers and partners. Switching to XML allowed the company
tion features. Plus, the format is exten- to provide information consistently to
siblethe X in XMLso that you can THE SOLUTION a wide range of audiences and applica-
define new formats for new data for We elected to use XML to send data to tions. The information flow between
new applications. the news media: XMLs data tags pro- the local dealers and the Web site was
XML-format data presents both chal- vided the context necessary to define entirely in XML format.
lenges and opportunities for databases. the enclosed information and served This setup made it simpler for the
The challenges are obvious: A data item as useful input for automatic process- many dealersusing a variety of their
in XML format takes up more room in ing to news feeds. We also used XML own internal applicationsto provide
storage because you have to accom- to effect company-to-company data their information and receive results
modate all those descriptive tags that transfer. By contrast, we did not use and data from the site. As a result, its
come along for the ride. In addition, XML for financial transactions because now easier to scale up the site for the
databases may need to perform extra of concerns about both security and partners, who enjoy smoother growth
processing to import and export in processing speed. and thus are better satisfied. The site
XML format. The challenge was to deliver the data was all stored in the usual tables
The opportunities are more subtle XML solution on time and within in an Oracle database.
and available only with databases that budget to provide that better informa- XML is not for every use or occa-
store XML in its native format, such as tion service. We managed to do that, sion. But when you need flexibility and
the Oracle XML Database. For example, and as a result, the company can now neutrality, it can be ideal. O
because each data item has its own communicate with a broader audi-
descriptive tag, versioning is possible, enceeven though each recipient has Ari Kaplan (ari_kaplan@ioug.org) is president of the
allowing you to examine successive its own applications and formats. The Independent Oracle Users Group (IOUG) and senior
changes to data. Those tags also make company sends information out once consultant at Datalink. He founded Expand Beyond
intricate searches through data possible. in one format and no longer needs to Corporation, a leader in mobile IT software. He has been
scramble to match communications involved in Oracle technology since 1992.
THE BUSINESS PROBLEM with customers and juggle multiple,
To illustrate when to use XML, con- ever-changing formats.
sider a project I participated in with a Another example of a corporate
large financial trading institution300 project I contributed to is the popular
employees, 5,000 concurrent users, Web site of a company with 18,000 READ about Oracle and SOA
oracle.com/soa
millions of transactions a day, and employees and more than US$4 billion
VIST XML Technology Center
more than US$160 million in revenue. in revenue. The site presents product oracle.com/technology/tech/XML
Before the market opens, incom- information to potential customers.

ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 87
c o m m e n t ANALYSTS CORNER BY DAVI D BAUM

Evolving Grid Management


Increased complexity has led to more-intelligent and more-automated system tools.
racle Magazine spoke with Noel intelligent and better automated by you accomplish this while simplifying
Yuhanna, a senior analyst cov- advanced DBMS technology and system the environment and minimizing errors.
ering database technologies at management tools. For example, the It supplies insight into many aspects of
Forrester Research, about new need for managing performance and service performance, including applica-
trends in enterprise grid management. tuning queries will go away because the tion servers, firewalls, operating systems,
Oracle Magazine: How has the IT environ- database will be able to tune complex load balancers, and storage components.
ment changed over the past few years, queries itself. Oracle Magazine: How do these capabili-
and what effect has that had on systems? Thanks to intelligent agents and ties of Oracle Enterprise Manager differ
Yuhanna: The complexity of the IT envi- alerts, IT professionals have more infor- from those offered with general-purpose
ronment has grown significantly, which mation to work with, and they dont systems management environments?
has driven the need for better systems have to go looking for problems. Tools Yuhanna: With Oracle Enterprise Manager
and data management. A decade or two like Oracle Enterprise Manager give you 10g Release 2, Oracle is reaching out to
ago, most companies had homogeneous a cohesive view, so it is easier to spot the infrastructure at large by connecting
computing environments. Now these potential problems and stay focused on with these existing management tools
environments are more heterogeneous the big picture. as well as with other critical databases.
and complex and contain much more Oracle Magazine: IT operations still The difference is that Oracle sees the
data, making data management chal- consume about 70 percent of most IT database as central to these environ-
lenging. You may have 15 or 20 servers budgets. Is that number going down as ments and has much more knowledge
tied together, and you need to be able to the tools become smarter? about database internals. Of course,
manage availability, performance, scal- Yuhanna: A decade ago, your average 90 percent of enterprises dont have
ability, and security in a cohesive way. DBA could manage five to seven data- just Oracle; they also have SQL Server,
We find that 30 percent of failures in bases. Today, thanks to greater intel- DB2, Sybase, and other databases. Thats
applications and databases are related ligence within database management why Oracle is extending its manage-
to human errors. One single change in systems, DBAs can handle 20 databases ment capabilities through plug-ins and
a command line or interaction could or more, which includes production connectors. That will be a useful step,
bring down a mission-critical ERP and nonproduction databases. Thats because customers want to have a single
[enterprise resource planning] applica- because of automation, which lowers solution that unifies a diverse environ-
tion. However, automation and better costs, improves operational efficiency, ment. Oracles continued integration
data management can overcome many of and adds control. So, yes, we are grad- with other frameworks will be crucial,
these errors. ually seeing a shift in the IT budget, especially for grid environments. O
Oracle Magazine: As more systems man- away from routine operations manage-
agement tasks are automated, how ment and toward new development David Baum (david@dbaumcomm.com) is a freelance
are duties for database administrators and innovation. business writer based in Santa Barbara, California.
(DBAs) and systems managers evolving? Oracle Magazine: How does Oracle
Yuhanna: DBAs are getting more involved Enterprise Manager help manage enter- Forrester Research (www.forrester.com) is an
in managing business data. Thus, they prise grids? independent technology and market research company
need to understand how it is used, Yuhanna: Oracle Enterprise Manager is that provides advice about technologys impact on
managed, and exchanged by applications. a powerful database management tool. business and consumers.
The traditional roles of DBAs, data archi- Along with Oracle Real Application
tects, and data modelers will converge Clusters, it helps automate the grid
somewhat to implement this vision, infrastructure and virtualize the IT
especially as data sources and applications environmentthe applications, servers, READ more about grid computing
become more virtualized into grid envi- storage, and data. All of these elements oracle.com/technologies/grid

ronments. At the same time, DBAs will have to come together in a manner that LEARN more about Oracle Enterprise
have less interaction with databases, is more efficient and productive to enter- Manager 10g Release 2
oracle.com/enterprise_manager
as the infrastructure becomes more prises. Oracle Enterprise Manager helps

88 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
Oracle Retail

17 of the Top 20
Retailers in the World
Run Oracle Applications

Get Better Results


Retailers Running Oracle Are
32% More Profitable Than Those Who Dont.

oracle.com/industries/retail
or call 1.800.633.0544
Source: Top retailers are per Fortune Global 500 list. Protability metric reects the average performance of Oracle custom-
ers and non-Oracle customers within the industry group, and is based upon an analysis of nancial data for NYSE and
NASDAQ listed companies that has been validated by Mainstay Partners. Financial data provided by Stratascope Inc.

Copyright 2006. All rights reserved. Oracle, JD Edwards PeopleSoft and Siebel are registered trademarks of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.
Part # C14988-01

Вам также может понравиться