Академический Документы
Профессиональный Документы
Культура Документы
O RACLE.COM/ORAC LE M AGAZIN E
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
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
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
/44
David Baum
makes it happen. Alan Joch
/32 ACCESS
GRANTED
Cover: I-hua Chen
/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
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
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
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
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.
Demand USi.
800.809.3003
sales@usi.net
www.usi.net
f r o m o u r READERS
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
ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 11
Anytime
Anywhere Real-time
www.iDashboards.com
Dashboards Scorecards BPM / EPM Business Activity Monitoring Regulatory Compliance Six Sigma and More
Oracle OpenWorld Special Section
Jonathan Schwartz
President and CEO DIAMOND PREMIER
Sun Microsystems
Larry Ellison
CEO GRANDE PLATINUM
Oracle
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
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
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.
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.
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
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
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
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
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
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
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
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
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./+)!-.$,+) ,/
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.
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.
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,
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
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
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
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
!;;;
;;;;;;;
f 07&2'5-;;%*402 f 2("/*:&;9052;702,;7*4);20+&$43
f 5--;'&"452&%;/4&(2"4&%;((&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%&%
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
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
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>
____________________________________________________________
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
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
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
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
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
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
0-07-225768-7
PRESS
0-07-226208-7
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
ORACLE MAGAZINE J U LY / A U G U S T 2 0 0 6 59
ODP.NET
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
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:
...
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:
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
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
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-
...
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,
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;
...
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
...
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
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
...
(
);
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
...
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;
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
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
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
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
82 J U LY / A U G U S T 2 0 0 6 ORACLE.COM/ORACLEMAGAZINE
The OAUG brings
specific Oracle
Applications.
Basheer Khan
Innowave Technology
OAUG Member Since 1996
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
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
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
Altova www.altova.com 22
Approva www.approva.net 53
Bio-key www.bio-key.com 53
EMC www.emc.com 5
F5 Networks www.f5.com 54
HP www.hp.com 30
iDashboards www.idashboards.com 12
Transcender www.transcender.com 40
McGraw-Hill/Osborne www.oraclepressbooks.com 57
OAUG www.oaug.org 83
Practic A www.sqldetective.com 28
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.
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
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
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