Documente Academic
Documente Profesional
Documente Cultură
O R A C L E . C O M/O R A C L E M A GA Z I N E
,('&(
!' %'&%&%)('&('('&( ##"
%%&'%'%!%&#%'%!%&#('&(
!'"'"'''&"#'%#("'%&
&"'#"&(&"'&#(!"'!+'%!%&'(&#*+'%$%'&#%'%#*"$(%$#&&#( )# ''%'&#''%!%#*"%& "&"&""
'"# #+%%&%)"' "'
##"' "&"' "&
##'"(!'"(!"&%'%!%&#%%&'%'%!%&#"' #%$#%'#"#%'&&(&%&"'"'
''&"#'%#("'%&
#! ) " "'%& &+&'!
*)"#%&&+&'!
! !!
!
!
#
"
!
!
!
! !
!
2006 Embarcadero Technologies, Inc. All rights reserved.
'
Number of ngernails you will bite down
to nothingness today because you cant
manage your companys multiple database
platforms with a single, standardized solution.
answer
Embarcadero Technologies makes Enterprise Data
Management a possibility by offering you one
centralized solution to manage all of your databases.
Our expertise in optimizing Oracle, SQL Server,
DB2, Sybase and MySQL databases makes managing
critical enterprise databases a lot less nerve racking.
Deliver the service levels your business expects
while cost effectively managing your growing data
infrastructure. Even enterprise-scale implementations
are standardized and simplied. Give your ngers a
break; discover how the most sophisticated solution
is also the simplest. See how one gets it done.
F EATUR ES
CONTENT
AT YOUR FINGERTIPS
DE PAR T M E NTS
/15
From Our Readers / 11
Readers tell us what they think.
From the Editor / 13
22 AT OR AC LE
Events / 22 OTN Community Bulletin / 28
Secure on the inside Learn whats happening with Oracles most
Find out about upcoming
Tom Haunert dynamic online community.
conferences and training.
Oracle Resources / 27 Oracle News Briefs / 31
Heres your guide to Oracles Oracle News / 33
broadband, education, and Oracle Berkeley DB Java Edition 3.0 brings
online offerings, plus whats speed and ease-of-use enhancements to the
new at Oracle. embeddable, open source database line.
34 CH A NNEL S
Partner News / 34
S EAR C H
Secure Search Returns Best Results / 87
Oracle Secure Enterprise Search provides the right
SYSTIME, AppWorx, Perceptive Software, intranet search. Ron Hardman
BIAS, CISCO, Innowave Technology, Sierra
Atlantic, SkillNet, Ikan, Wipro Infotech AS K TOM
Book Beat / 34 On ROWNUM and Limiting Results / 93
Peer-to-Peer / 37 Our technologist explains how ROWNUM works and how to
Jaromir Nemec, Bruno Vroman, make it work for you. Tom Kyte
Jeffrey Hunter
Cutting Edge / 39 INS IDE OC P
Wireless Skype, cooler servers, and more- Become a Master / 97
effective advertisements Step up from Oracle Certified Professional to Oracle
Certified Master. Aradhana Puri
65
98
D EVEL O PER
R ES OUR C ES
I ND U STRY STA ND A RD
Oracle Certified Partner Index / 98
Getting Rich with Ajax / 65
Build rich internet applications with Asynchronous Advertisers Index / 100
JavaScript and XML. Rich Schwerin
F RA MEWO RKS
Harnessing the Active Data Model / 69
Going beyond basic data access with custom service
103 C OMMENT
IN THE FIELD
methods Steve Muench
Storage Made Simpler / 103
Storage virtualization can simplify
O D P.NET
database applications. Ari Kaplan
Debugging PL/SQL from .NET / 71
Debug PL/SQL in Microsoft Visual Studio with Oracle
ANALY S T S C OR NER
Developer Tools.
Mark A. Williams Managing Information Overload / 104
Enterprise content management improves
compliance efforts and the bottom line.
B RO WSER-B A SED
David Baum
Express Lockdown / 75
Lock down your Oracle Application Express applications.
Raj Mattamal
4 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
When information
comes together,
everybody feels
much better.
Information lives at El Camino Hospital. A leading California medical facility, El Camino Hospital received the highest ranking
in a recent patient survey. But they never rest in their mission to use information technology to help them improve patient
care. So they turned to EMC to build a flexible information infrastructure that reduces costs and provides fast, reliable
information to doctors and nurses. So everybody feels much better. Talk to EMC or your EMC Velocity2 Partner
about EMC solutions that start simple and stay simple.
Read the El Camino Hospital profile at www.EMC.com/ElCamino or call 866-796-6369 to learn more.
EMC 2, EMC, and where information lives are registered trademarks of EMC Corporation. Copyright 2005, 2006 EMC Corporation. All rights reserved.
ED ITORIA 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.415.206.9855
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 ITORIA 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 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
SPECIAL ADVERTISING SECTION
S1
SPECIAL ADVERTISING SECTION
B
usinesses today operate in a changing pilots for some very large applications, the achieving high performance, says Judson
and unpredictable landscapeand IT performance exceeds expectations and Althoff, vice president of Platform Alliances
departments have had to scramble delivers the performance results EDS and at Oracle, which uses PRIMEQUEST servers
to keep up. In response, they often add more our clients expect. for quality assurance testing and support
and more servers that must be managed and purposes. For example, customers can build
coordinated. They also rely on expensive and Cost-effective, mission-critical enterprise grids on Oracle 10g using PRIME-
complex mainframes to ensure high avail- The PRIMEQUEST family of servers is QUEST servers running Windows or Linux,
ability and keep vital data flowing to the opening a new era in the effort to align which gives them high quality of service,
business. And they frequently have to modify enterprise computing and the needs of the fast performance, high reliability, scalability
systems to support new business initiatives business, says Richard McCormack, senior on demand, and easier management.
or fluctuations in workloadsno easy task vice president of Marketing at Fujitsu The open, industry-standard approach
when dealing with a varied array of systems. Computer Systems Corporation. In fact, he also brings agility to IT. Toyota Motor Corpo-
The result, overall, has been growing com- explains, the PRIMEQUEST family is part of a ration believes that it is important not to be
plexity, costs, and difficulty in delivering the larger vision: TRIOLEthe Fujitsu Groups locked into proprietary systems. Increased
agility needed by the business. process for creating industrialized IT infra- flexibility of a system and choice of open
To help IT departments meet those structures and services. Servers, storage, and products are key factors because Toyota is
challenges, the Fujitsu Group launched a all other hardware components are inte- continuously expanding its global business.
groundbreaking new line of servers in 2005. grated with automation and virtualization Under this strategy, Toyota selected the
Based on Intel Itanium 2 processors, the
PRIMEQUEST family of servers brings The combination of Oracle and Fujitsu Group PRIMEQUEST servers
industry-standard computing to high-end
data center operations. That represents lets companies operate cost-effectively by taking advantage
a big change, because with PRIMEQUEST
servers, companies have new options for of industry-standard solutions while achieving high performance.
addressing todays pressing enterprise com-
puting challenges, says Akira Kabemoto, Judson Althoff, vice president, Platform Alliances, Oracle
senior vice president of the Server System
Unit at Fujitsu Limited. They can bring the software in the process. Virtualization sepa- Fujitsu Groups open, industry-standard sys-
benefits of open computing to the data rates business applications and data from tem with Linux for development purposes.
center, and at the same time streamline dedicated IT resources, and pools resources PRIMEQUEST servers couple openness
systems management and maintain the for flexible and efficient usage. Automation and flexibility with power, making them
reliability and scalability needed for enter- provides infrastructures that adjust auto- suitable for some of the most demanding
prise computing. matically to changes in operations and the mission-critical applications traditionally
Since the initial release of PRIMEQUEST environment through self-monitoring and self- handled by mainframes. In terms of per-
servers, dozens of organizations have been rectifying technologies. These core technol- formance, for example, PRIMEQUEST
putting them to work and exploring ways ogies bring enhanced agility, efficiency, and servers and Oracle were used to set a
to move beyond the traditional mainframe- continuity to the business, McCormack says. world record in the two-tier SAP Sales
based approach to the data center. For PRIMEQUEST servers, with their use of and Distribution (SD) Standard Application
example, EDS, the Plano, Texas-based global Intel processors and the Linux and Microsoft Benchmark for the fastest performance on
technology services company, is incorporat- Windows Server 2003 operating systems, Linux. PRIMEQUEST servers also achieved
ing Fujitsu Group computing platforms allow companies to enjoy the cost advan- a world record for servers up to 32 cores
including PRIMEQUESTinto its solutions tages of industry-standard technology, take in the Standard Performance Evaluation
for enterprise customers. As we continue advantage of the Intel ecosystem of tech- Corporation (SPEC) Java Business Bench-
to deploy our modernization strategy, we nology and application vendors, and leverage mark 2005 (SPECjbb2005), with perfor-
are using the Fujitsu Groups PRIMEQUEST Windows and Linux skills in the data center. mance of 322,719 business operations per
Intel Itanium-based servers as our certified The combination of Oracle and Fujitsu second*indicating that PRIMEQUEST can
platform for re-hosting applications, says Group PRIMEQUEST servers lets companies provide a high-performance platform for
Ray Cline, vice president of Infrastructure operate cost-effectively by taking advantage implementing service-oriented software
Portfolio Development at EDS. Based on of industry-standard solutions while architectures for business applications.
*Certification Number 2006023 The two-tier SAP SD Standard Application Benchmark performed on April 18, 2006, by Fujitsu Siemens Computers, was certified on May 11, 2006, with the following data: Number of benchmark users & comp.: 5,000 SAP SD Benchmark users.
Average dialog response time: 1.97 seconds. Throughput: Fully processed order line items/hour: 501,000. Dialog steps/hour: 1,503,000. SAPS: 25,050. Average DB request time (dia/upd): 0.014 sec / 0.036 sec. CPU utilization of central server: 99%. Operating system central server:
Novell SuSE Linux. Enterprise Server 9 RDBMS: Oracle9i Database. SAP ECC Release 5.0. Configuration: Central server: Fujitsu PRIMEQUEST 480, 32 processors / 32 cores / 32 threads, Intel Itanium 2, 1.6 GHz, 32 KB L1 cache, 256 KB L2 cache, 9 MB L3 cache, 256 GB main memory.
S2
SPECIAL ADVERTISING SECTION
S3
SPECIAL ADVERTISING SECTION
down during admissions periods, final onto one PRIMEQUEST system, helping
tests, and other busy times of the year. In to cut system-management costs while
addition, the institute has several depart- increasing capacity and reliability.
Resources ments, which meant having to maintain Individual PRIMEQUEST servers can be
PRIMEQUEST servers multiple systems. expanded to include up to 64 processor
www.fujitsu.com/primequest The Shibaura Institute addressed these cores in a single cabinet. New resources can
www.fujitsu-siemens.com/primequest issues by consolidating several databases be brought online without disrupting previ-
www.computers.us.fujitsu.com/primequest onto Oracle 10g running on PRIMEQUEST ously configured resources. PRIMEQUEST
servers, and moving applications to blade servers can also be run in clusters using the
TRIOLE servers. As a result, maintenance is stream- Fujitsu Groups PRIMECLUSTER technology,
www.fujitsu.com/triole lined, and system engineers can focus on a high-availability environment that sup-
www.fujitsu-siemens.com/triole new projects rather than routine tasks. The ports Oracle Database 10g including Oracle
www.computers.us.fujitsu.com/triole institute plans to expand the services it pro- Real Application Clusters.
vides to students, and PRIMEQUEST offers The servers also bring ease of manage-
Oracle and Fujitsu the scalability the institute needs for such ment and flexibility to consolidation efforts,
uc.fujitsu.com/oracle effortsas well as the reliability required with robust partitioning capabilities that let
www.fujitsu-siemens.com/oracle for its consolidated, mission-critical systems. companies configure a large number of iso-
us.fujitsu.com/computers/oracle We know the Fujitsu Groups reliability lated partitions, with each partition running
solutions.oracle.com Enter Fujitsu because we had used a Fujitsu Group main- its own operating system and applications. In
frame, says Tatsuro Yamazaki, director effect, each partition is a fully independent
of the Center for Science Information at server within the system, which means
Shibaura Institute of Technology. We chose companies can run Linux and Windows
PRIMEQUEST because it is as robust as simultaneously on the same machine. Whats
mainframe-class computers, and we can more, with PRIMEQUESTs separation of I/O
expect it to provide stable operations. resources and system boards, additional I/O
PRIMEQUEST supports consolidation with resources can be added without affecting
the ability to easily scale up and scale out processor and memory configurations. That
cost-effectively. Sungae Hospital in Korea, flexibility lets companies scale up and scale
for example, is consolidating 14 servers out applications within the server, and easily
rearrange disks and peripherals connected to
each partition.
Overall, PRIMEQUEST servers are designed
to provide power and cost-effectiveness
both today and tomorrow. To that end, the
Fujitsu Group works with key partners
including Intel and Oracleto ensure that
PRIMEQUEST development continues to
meet the needs of enterprise computing.
PRIMEQUEST and the TRIOLE process
are designed to help companies transform
and streamline their data centers, says
Dr. Bernd Kosch, vice president of Alliances
at Fujitsu Siemens Computers. We will
continue to explore new ways to reduce IT
operating costs while enhancing the data
centers ability to support business-critical
Japans Shibaura Institute of Technology has used PRIMEQUEST servers to consolidate computing and adapt to the ever-changing
mission-critical applications and provide reliable service to some 8,000 students and staff. needs of the business.
2006 Fujitsu Limited. Fujitsu, PRIMECLUSTER, PRIMEQUEST, and TRIOLE are either trademarks or registered trademarks of Fujitsu Limited in Japan and/or other countries. Intel and Itanium are registered trademarks of Intel Corporation or its
subsidiaries in the United States and other countries. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. All other trademarks and product names are the property of their respective owners.
S4
f r o m o u r READERS
ITS HERE
Oracle OpenWorld is here. Ill be at the show October 2226,
meeting with authors, editorial board members, and partners;
READ more about
Oracle Security recording podcasts; talking to customers; getting ideas for future
oracle.com/security articles; and more. If you see me there, please say hello, and tell
OTN Database Vault me what youd like to read in Oracle Magazine.
oracle.com/database/database-vault.html
Demand USi.
800.809.3003
sales@usi.net
www.usi.net
ORACLE MAGAZINE
AT TWENTY
Observant readersor more accurately, those readers who focus on details in Oracle
Magazine that have nothing to do with the magazines technical content and everything to
do with the magazine itselfhave no doubt noticed that the spine of Oracle Magazine this
year carries the volume number XX. That does, in fact, mean that Oracle Magazine is now 20
years old, an event that carries some significance in the magazine world when one considers
that nearly 60 percent of all magazines fail before reaching their first anniversary.* So happy
anniversary, Oracle Magazine! And heres to 20 more information-filled years.
BY JEFF S PIC ER
From Newsletter to Magazine cation, focusing much of its content on how Oracle customers
Oracle Magazine didnt emerge from a used Oracle technology in their own businesses. Much of
smoke-filled marketing meeting, fully that content was industry focused, demonstrating Oracle
formed and ready to serve readers, but Corporations knowledge in a variety of verticals. In addition,
rather evolved in 1987 from a quarterly the magazine added new departments and cat-
company newsletter to a brief, 12-page egories for DBAs and developers.
printed magazine that contained Oracle Oracle Magazine also began to carry pro-
product and company news. Those first files of industry executives, such as HPs John
magazines, published twice yearly, con- Young, Sun Microsystems Scott McNealy, and
tained short customer profiles, Oracle company news, infor- Amdahls Jack Lewis, giving these leaders a
mation about Oracle partners, and product updates. Tom Hogan, chance to share their thoughts about tech-
Oracle Magazines
The magazine evolved quickly in those early yearsmuch first editor nology and its impact on business with the
as Oracle Corporation itself. In the late 1980s and early 1990s, growing audience of Oracle Magazine.
Oracle had become well known as an enterprise database and During this period, as the magazine began publishing quar-
tools company; the magazine noted this reputation by dubbing terly, the staff changed and grew, with the first editor, Tom
itself as the SQL Database Journal for several years. However, Hogan, passing the baton to editors Jon Bell and Julie Gibbs.
as the companys products and services rapidly expanded Other editors included Leslie Steere and managing editor Kim
moving beyond databases and development tools to include Austin, as well as editor/writer Don Tyler, who had been with
enterprise applications and industry-specific toolsthe maga- the magazine since its inception. Julia McVeigh also joined the
zine dropped the tagline and called itself staff. The magazine added profession-
simply Oracle Magazine. als to handle design, production, and
circulation, and for the first time ever, it
Focus on Customers was audited by a professional circulation
Oracle Magazine continued to change management firm.
alongside Oracle itself, and by the early
1990s the magazine bore little resemblance The Impact of the Internet
to issues just a few years prior. The maga- Although it had been in existence for
zine grew in size, readership, and sophisti- nearly 30 years, the internet was finally
* A Bumper Crop, Samir Husni, April 1, 2004, Folio:
ORACLE MAGAZINE
TODAY
Jennifer Hamilton,
Sales and
Production Director
Tom Haunert,
Editor in Chief
16 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
reach beyond the magazine itself. grow and evolve, so has Oracle Magazine. The
First and foremost was columnist Tom Kyte, who began magazine continues to hold a unique position
working with the magazine in 2000. Kyte, with Oracles public in the world of magazines, reflecting both the
sector organization, started consulting with the magazine to interests and needs of its readers and the pri-
evaluate weekly code tip submissions for the magazines Web orities of Oracle Corporation.
site. An online Q&A forum soon followed and Ask Tom Today, each issue of Oracle Magazine Julia McVeigh,
was born. The popularity of Ask Tom was instantaneous, reaches nearly 1 million readers* with a broad former publisher
and Kyte began receiving hundreds of questions each week. A mix of technical content for developers, admin- and production
more usable online interface was required, istrators, and DBAs; customer profiles; partner manager
so Kyte quickly rebuilt the Ask Tom Web site and vendor news; Oracle company news; event information;
using Oracle Application Express. Other col- and opinion columns. The magazine is truly a portal to the
umnists, including Cameron ORourke and world of Oracle.
Steven Feuerstein, soon followed with online As with all worthwhile endeavors of Oracle Magazines
community sites of their own, promoting scope, there are many thoughtful, dedicated people behind
information exchange between users and Margaret Lindquist, the scenes, planning, editing, and producing each issue of the
former online editor
offering expert advice and commentary. magazine. You can learn more about these people, as well as
In addition, Oracle Magazine began its tradi- past staff members, on our Web site.
tion of inviting Independent Oracle Users Group presidents And finally, thank you to the readers of Oracle Magazine, par-
to use the magazine as a forum: presidents Rich Niemiec, ticularly those who provide feedback about the content of the
Kimberly Floss, and Ari Kaplan authored regular columns magazine. The magazine is only worthwhile if it serves the needs
about database management, tuning, wireless, and other tech- of our readers, so please let us know what those needs are. O
nical topics. Oracle Magazine also began the annual practice of
honoring visionaries in the Oracle community with the Oracle Jeff Spicer (jeff.spicer@oracle.com) is the publisher of Oracle Magazine. He was
Magazine Editors Choice Awards. editor in chief from July 2000 to January 2006.
With its increased focus on solid tech- * Erdos & Morgan readership survey, September 2005
Kay Keppler,
Features Editor
YES, WE CAN.
800.897.7097
Hear Us Speak At
Oracle OpenWorld
www.strsoftware.com
NFORM
RESULT SMOREI
MATION BETTER
TIO NB ETT
ULTSMO REINFOR
TIONBE TTERRES
RE INF OR MA
SMOREI NFORMA
RE SU LTS MO
REINFOR MATION RESUL
TTERRES ULTSMO MATION BETTER
NB ETT ER
NFORMA TIONBE ULTSMO REINFOR
R
RESULT SMOREI TIONBE TTERRES
INF OR MA TIO
MATION BETTER SMOREI NFORMA
E
ULTSMO REINFOR BETTER RESULT
RE
TTERRES MATION
T
ER RE SU LTS MO
SMOREI NFORMA TIONBE ULTSMO REINFOR
BETTER RESULT TIONBE TTERRES
T
REINFOR MATION SMOREI NFORMA
TIO NB ETT
BETTER RESULT
E
TTERRES ULTSMO REINFOR MATION
RE INF OR MA
NFORMA TIONBE TERRES ULTSMO
B
BETTER RESULT SMOREI FORMAT IONBET
SU LTS MO
REINFOR MATION MOREIN
BETTERR ESULTS
N
ULTSMO
NB ETT ER RE
TIONBE TTERRES REINFOR MATION
SMOREI NFORMA TTERRES ULTSMO
O
BETTER RESULT NFORMA TIONBE
INF OR MA TIO
I
REINFOR MATION RESULT SMOREI
TTERRES ULTSMO MATION BETTER
T
SU LTS MO RE
NFORMA TIONBE ULTSMO REINFOR
RESULT SMOREI TIONBE TTERRES
A
NB ETT ER RE
MATION BETTER SMOREI NFORMA
ULTSMO REINFOR BETTER RESULT
OR MA TIO
TIONBE TTERRES REINFOR MATION
M
SMOREI NFORMA TTERRES ULTSMO
LTS MO RE INF
BETTER RESULT NFORMA TIONBE
R
REINFOR MATION RESULT SMOREI
RE SU
ULTSMO BETTER
O
TIONBE TTERRES REINFOR MATION
TIONB ETT ER
NFORMA ULTSMO
F
RESULT SMOREI IONBET TERRES
MATION BETTER MOREIN FORMAT
RE INFORMA
ULTSMO REINFOR BETTERR ESULTS
SMORE IN
TIONBE TTERRES REINFOR MATION
RR ES UL TS MO
SMOREI NFORMA TTERRES ULTSMO
BETTER RESULT NFORMA TIONBE
AT ION BE TTE
RESULT SMOREI
MATION BETTER
ULTSMO REINFOR
TIONBE TTERRES
SMOREI NFORMA
BETTER RESULT ETTERRE SULT
REINFOR MATION INFORM ATIONB
RE SU LTS M
RRESUL TSMORE
RMATIO NBETTE
TIO NB ETT ER
SULTSM OREINFO
R
ATIONB ETTERRE
TSMORE INFORM
RE INF OR MA
O
NBETTE RRESUL NBETTE RRESU
OREINFO RMATIO OREINFO RMATIO
ES UL TS MO
ETTERRE SULTSM ETTERRE SULTSM
M
INFORM ATIONB INFORM ATIONB
S
RMATIO NBETTE RMATIO NBETTE
RE INF OR MA
T
OREINFO OREINFO
ETTERRE SULTSM ETTERRE SULTSM
L
ATIONB INFORM ATIONB
TSMORE INFORM
RE SU LTS MO
NBETTE RRESUL RRESUL TSMORE
U
OREINFO RMATIO RMATIO NBETTE
TIO NB ETT ER
ETTERRE SULTSM SULTSM OREINFO
S
INFORM ATIONB ATIONB ETTERRE
TSMORE INFORM
RE INF OR MA
E
RRESUL TSMORE NBETTE RRESUL
RMATIO NBETTE OREINFO RMATIO
R
RE SU LTS MO
SULTSM OREINFO ETTERRE SULTSM
ATIONB ETTERRE INFORM ATIONB
NB ETT ER
TSMORE INFORM
R
NBETTE RRESUL RRESUL TSMORE
RMATIO NBETTE
INF OR MA TIO
E
OREINFO RMATIO SULTSM OREINFO
ETTERRE SULTSM
T
ETTERRE
RE
ATIONB INFORM ATIONB
TSMORE INFORM
ER RE SU LTS MO
TSMORE
T
NBETTE RRESUL NBETTE RRESUL
OREINFO RMATIO OREINFO RMATIO
E
MA TIO NB ETT
ETTERRE SULTSM ETTERRE SULTSM
INFORM ATIONB INFORM ATIONB
B
RRESUL TSMORE RRESUL TSMORE
MO RE INF OR
RMATIO NBETTE RMATIO NBETTE
SULTSM OREINFO
N
SULTSM OREINFO
ETT ER RE SU LTS
ATIONB ETTERRE ATIONB ETTERRE
TSMORE INFORM TSMORE INFORM
O
NBETTE RRESUL NBETTE RRESUL
MA TIO NB
I
OREINFO RMATIO OREINFO RMATIO
MO RE INF OR
ETTERRE SULTSM
T
ETTERRE SULTSM
EINFORM ATIONB INFORM ATIONB
A
RR ES UL TS
TSMORE
RMATIO NBETTE RRESUL
SULTSM OREINFO
M
ATIONB ETTERRE
TSMORE INFORM
R
NBETTE RRESUL TTERRES ULTS
OREINFO RMATIO NFORMA TIONBE
RE SU LTS M
RESULT SMOREI
MATION BETTER
TIO NB ETT ER
ULTSMO REINFOR
TIONBE TTERRES
SMOREI NFORMA
RE INF OR MA
BETTER RESULT RRESUL TSMO
REINFOR MATION RMATIO NBETTE
RE SU LTS MO
TTERRES ULTSMO SULTSM OREINFO
NFORMA TIONBE ATIONB ETTERRE
TIO NB ETT ER
RESULT SMOREI TSMORE INFORM
REINFOR MATION BETTER RMATIO NBETTE RRESUL
TTERRES ULTSMO
MA
MO RE INF OR
SULTSM OREINFO
NFORMA TIONBE ATIONB ETTERRE
RESULT SMOREI TSMORE INFORM
RE SU LTS
MATION BETTER NBETTE RRESUL
TIO NB ETT ER
ULTSMO REINFOR OREINFO RMATIO
TIONBE TTERRES ETTERRE SULTSM
SMOREI NFORMA INFORM ATIONB
RE INF OR MA
RESULT TSMORE
MATION BETTER NBETTE RRESUL
RE SU LTS MO
ULTSMO REINFOR OREINFO RMATIO
TIONBE TTERRES ETTERRE SULTSM
SMOREI NFORMA INFORM ATIONB
TIO NB ETT ER
BETTER RESULT RRESUL TSMORE
REINFOR MATION RMATIO NBETTE
RE INF OR MA
TTERRES ULTSMO SULTSM OREINFO
NFORMA TIONBE ATIONB ETTERRE
RE SU LTS MO
RESULT SMOREI TSMORE INFORM
MATION BETTER NBETTE RRESUL
NB ETT ER
ULTSMO REINFOR OREINFO RMATIO
TIONBE TTERRES ETTERRE SULTSM
INF OR MA TIO
SMOREI NFORMA INFORM ATIONB
BETTER RESULT RRESUL TSMORE
RE
MATION NBETTE
RE SU LTS MO
ULTSMO REINFOR OREINFO RMATIO
TIONBE TTERRES ATIONB ETTERRE
SULTSM
SMOREI NFORMA
TIO NB ETT ER
BETTER RESULT TSMORE INFORM
REINFOR MATION NBETTE RRESUL
OREINFO RMATIO
RE INF OR MA
TTERRES ULTSMO ETTERRE SULTSM
NFORMA TIONBE INFORM ATIONB
RR ES UL TS MO
RRESUL TSMORE
RMATIO NBETTE
SULTSM OREINFO
ATIONB ETTERRE
Jonathan Schwartz
President and CEO
Sun Microsystems, Inc.
PREMIER ELITE GRANDE
Larry Ellison
CEO
Oracle PLATINUM INNOVATION
ORACLE USERS
GROUPS
Deutsche ORACLE-Anwendergruppe
22 SEPTEMBER/OCTOBER 20 06 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.
DATABASE SECURITY BEST PRACTICES such as auditing, are useful for contain- business drivers and technical underpin-
IN A BOX ing internal threats (which are your nings equally well.
Has there ever been a better time to most likely risks, in fact) as well. (Of Sample post: Analyzing Microsofts
educate yourself about best practices course, Oracle Database Vault, the new Approach to Provisioning
for maintaining database security? If option to Oracle Database 10g Release blogs.oracle.com/identitycorner
the recent stories in the media about 2 Enterprise Edition, is potentially your OChristopher Jones, Christopher
information security breaches havent best solution for preventing malicious Jones on OPAL. The Oracle-PHP-
motivated you to do so, perhaps the superusers from accessing applications Apache-Linux (OPAL) stack gives LAMP
shadow of an impending security audit or performing tasks outside their autho- (Linux-Apache-MySQL-Perl/PHP/
will. (If neither is motivating you, rized responsibilities.) Python/Primate) a run for its money,
then you have even bigger challenges.) Get your own lockdown project and Jones is consistently adept at
Fortunately, OTNs new Project started at oracle.com/technology/pub/ explaining why.
Lockdown technical article series has articles/project_lockdown. Sample post: Getting Oracle
arrived to serve this purpose. Connection Errors Faster in PHP
Project Lockdown, published in THE RISING STARS OF BLOGS.ORACLE.COM blogs.oracle.com/opal
partnership with Oracle ACE Arup Its been three or four months since OMatt Wright, Matt Wrights Blog.
Nandathe author behind the Oracle blogs.oracle.com launched, and the This blog is simply overflowing with
Database 10g: Top Features for DBAs response has been awesomeat the useful information about developing and
seriestakes a unique and actionable time of this writing, there have been deploying Business Process Execution
approach. If you had a single day to more than half a million page views Language (BPEL)based business flows.
secure your Oracle Database using (collectively). The blog launch has Sample post: Sharing XML Schemas
out-of-the-box featuresor more motivated scores of Oracle employees across BPEL Processes
realistically, a single week, month, to take advantage of this new platform blogs.oracle.com/matt
or quarterwhat would be on your to more easily communicate and inter- With blogs.oracle.com, these and
action item checklist? In Project act with Oracle users, resulting in an other talented Oracle employee and
Lockdown, Nanda provides the incredibly content-rich environment for nonemployee bloggers have the oppor-
answers, not to mention the checklist newcomers and experts alike. tunity to forge a new trusted relation-
PDFs themselves. Many new employee blogging ship with their respective communities.
Just by way of example, Phase 1 stars have risen at blogs.oracle.com. Score one for corporate blogging.
(duration of one day) includes simple Here are just a few, along with the Read more Oracle blogs for DBAs
but detailed instructions for remov- names of their blogs: and developers at blogs.oracle.com.
ing default passwords, configuring OSteven Chan, Oracle E-Business
Oracle binary permissions, securing Suite Technology. This is perhaps Justin Kestelyn, OTN Editor in Chief
the Listener (a popular hacker target), the best of the bunch. The volume of justin.kestelyn@oracle.com
and trimming back sweeping privileges information here for Oracle E-Business
such as DROP ANY TABLE. For those of Suite users is simply incredible, not to New Tech Articles, Columns,
you committed to an extended project mention straight from the technology & Notes
over the course of a quarter, Phase 4 team behind the suite. O FOR DEVELOPERS:
offers guidance for creating a Virtual Sample post: In-Depth: Demilitarized oracle.com/technology/pub/articles/
Private Database, implementing trans- Zones and the E-Business Suite tech_dev.html
parent data encryption, creating secure blogs.oracle.com/schan Build an Online Reporting Application
backups, and more. ONishant Kaushik, the Identity Using Oracle XML Publisher
A key point is that although many Corner. Identity management is a hot by Mark Rittman
of these best practices are designed to technology, and Kaushik does an excel- Oracle ACE Mark Rittman explains how
foil external attacks, several of them, lent job demystifying itexplaining to create an online reporting environ-
28 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
MOST POPULAR*
Content on OTN
For DBAs/Sysadmins:
ment using XML Publisher technology, O FOR DBAS/SYSADMINS: 1. Installing Oracle Database 10g on Linux x86, by
step by step. oracle.com/technology/pub/articles/ John Smiley
oracle.com/technology/pub/articles/rittman- tech_dba.html 2. Oracle Database 10g: Top 20 Features for DBAs
xmlpub.html Project Lockdown: Database Security (series), by Arup Nanda
Hello Ajax! How to Do the Ajax Thing Best Practices 3. Build Your Own RAC Cluster on Linux and FireWire,
with Oracle JDeveloper by Arup Nanda by Jeffrey Hunter
by Frank Nimphius Learn a practical, phased approach to 4. Project Guide for Oracle RAC Implementation, by
Oracle ACE Frank Nimphius provides a securing your database infrastructure Christopher Haskins
quick-start introduction to Asynchronous using built-in Oracle Database security
5. Oracle Database 10g Express Edition: Not Just for
JavaScript and XML (Ajax) by creating a featuresover one day, week, month, Learners, by Lewis Cunningham
simple Hello World application. and quarter.
oracle.com/technology/pub/articles/nimphius- oracle.com/technology/pub/articles/project_ For Developers:
ajax.html lockdown
1. A Hype-Free Introduction to Ajax, by Chris Schalk
A Hype-Free Introduction to Ajax Project Guide for Oracle RAC
by Chris Schalk Implementation 2. Ruby on Rails on Oracle: A Simple Tutorial, by
Get an overview of the core fundamen- by Christopher Haskins Richard Monson-Haefel
tals of Ajax (as well as its relationship Get a step-by-step guide for defining, 3. SOA Best Practices: The BPEL Cookbook, by
to JavaServer Faces) from Oracle ACE designing, and delivering a successful various authors
Chris Schalk, without the usual hype. Oracle Real Application Clusters (Oracle 4. Installing PHP and the Oracle 10g Instant Client for
oracle.com/technology/pub/articles/ RAC) project in your organization. Linux and Windows, by Christopher Jones
schalk-ajax.html oracle.com/technology/pub/articles/haskins- 5. Hello Ajax! How to Do the Ajax Thing with Oracle
Ruby on Rails on Oracle: A Simple Tutorial rac-project-guide.html JDeveloper, by Frank Nimphius
by Richard Monson-Haefel
Learn the basics of Ruby on Railsthe New OTN TechCasts (Podcasts) *For the two-month period ending May 31, 2006
dynamic framework thats taking the All OTN TechCasts (podcasts) are available at
Web development community by oracle.com/techcasts
stormwith Oracle on the back end. The Developers Guide to Oracle Fusion
oracle.com/technology/pub/articles/haefel- Middleware and Microsoft Office OTN home
oracle-ruby.html Oracle Fusion Middleware Product oracle.com/technology
Grails on Oracle for Java Developers Strategy Director Frank Knifsend chats OTN headlines
oracle.com/technology/pub/news
by Tug Grall with Peter Lubbers, author of the
Learn how to quickly build a Grails Oracle Application Server Developers Free software downloads
oracle.com/technology/software
application on Oracle Database 10g Guide for Microsoft Office Interoperability,
Documentation
Express Edition, and then deploy it to 10g Release 3, about the various ways oracle.com/technology/documentation
Oracle Application Server 10g. developers can integrate Oracle Fusion
Technology and Developer
oracle.com/technology/pub/articles/grall- Middleware functionality with Microsoft Centers
grails.html Office functionality and the technologies oracle.com/technology/tech
Adding Google-like Search Operators to that make it possible. Podcasts
Simple Search Boxes SOA Best Practices Roundtable Series oracle.com/techcasts
functions
O Numerous usability enhancements
ORACLE HOLDS MARKET SHARE LEAD DEPLOY LINUX FASTER WITH ORACLE platform for Oracle Fusion Applications,
Two independent analyst companies recently VALIDATED CONFIGURATIONS Oracle Fusion Middleware will help
published 2005 market share figures for ustomers looking to deploy Oracle customers move more easily to Oracle
relational database management systems
(RDBMSs). Both showed Oracle on top by
C solutions on Linux can turn to
the Oracle Validated Configurations
Fusion Applications. Retailers will
benefit from the ability to integrate mul-
a wide margin. Gartners research showed
program for pretested, validated, and tiple systems in a secure manner and
that Oracle had a 48.6 percent share of the
supported architectures, including soft- adjust their processes and policies to
market, followed by IBM, with 22 percent, and
ware, hardware, storage, and networking react to market changes.
Microsoft, with 15 percent, based on revenue
from licenses, updates, subscriptions and components. Available for download Choice is paramount for retail-
hosting, technical support, and maintenance. from Oracle Technology Network, the ers, says Duncan Angove, senior vice
IDC, which bases its revenue numbers on configurations help speed deployment president and general manager, Oracle
licenses, maintenance, and subscriptions, and reduce expensive testing, enabling Retail. Oracles retail customers have
showed that Oracle held a 44.6 percent customers to achieve shorter time to a significant need to integrate their
share, followed by IBM, at 21.4 percent, and market and lowered infrastructure costs diverse IT environments. Certifying
Microsoft, at 16.8 percent. while helping improve performance, Oracle Retail solutions with Oracle
Sources: Gartner and IDC scalability, and reliability. Fusion Middleware is a key milestone
www.gartner.com/press_releases/asset_152619_11.html
www.idc.com/getdoc.jsp?containerId=prUS20180306 Oracle Validated Configurations are in meeting current customer needs
a result of the companys real-world and providing a path to Oracle Fusion
SOA ON THE RISE; FLEXIBILITY SEEN testing environment and provide docu- Applications.
AS BENEFIT mented best practices, including details
Businesses and governments worldwide expect on what to deploy, how to deploy, and ORACLE IMPROVES ENTERPRISE SINGLE
to increase the percentage of applications run the most-robust hardware and soft- SIGN-ON IN ORACLE IDENTITY MANAGEMENT
on service-oriented architectures (SOAs) by ware combinations. As a result, Oracle racle has enhanced its best-in-class
an average of 20 percent over the next three
years, according to consulting and outsourcing
Validated Configurations can lead to
faster problem resolution and reduced
O family of identity management
offerings with enterprise single-sign-on
firm Capgemini. The top reasons for using SOA
support costs. capabilities, which increase user con-
are innovation, compliance, and the speed of
The Oracle Validated Configurations venience, improve security, reduce the
change. The top benefits from using SOA were
seen as business flexibility, lower software process enables Oracle to act as a trusted number of help desk calls and associ-
integration costs, and better alignment of IT advisor and work with customers and ated costs, and assist in compliance
and business goals. The biggest obstacles to partners to define and share best prac- with password policies. Single-sign-on
using SOA are lack of understanding, difficulty tices for secure, reliable, and efficient support, which was previously avail-
in justifying ROI, and shortage of needed skills. Linux production deployments, says able for Web-based applications, is now
Source: Capgemini Monica Kumar, director of product also available for client/server, custom,
www.capgemini.com/m/en/n/pdf_Organizations_look_to
_Service-Oriented_Architecture_for_transformation_and_
marketing, Oracle. and host-based mainframe applications.
innovation__says_Capgemini_survey.pdf Oracle Enterprise Single Sign-On Suite
ORACLE RETAIL MERCHANDISING includes five distinct components.
MIDDLEWARE MARKET GROWING; ORACLE SYSTEM CERTIFIED WITH ORACLE Oracle Enterprise Single Sign-On
GROWING FASTEST FUSION MIDDLEWARE Logon Manager allows individuals to
Worldwide application integration and racle has certified Oracle Retail securely use a single login credential
middleware software revenues totaled US$8.5
billion in 2005, up 7.1 percent over 2004,
O Merchandising Planning and
Optimization applications with Oracle
for all desktop, client/server, and legacy
applications. Oracle Enterprise Single
according to Gartner. At 8.7 percent, Oracles
Fusion Middleware 10g. The certifica- Sign-On Password Reset enables strong
market share of the middleware market
tion enables retail customers to protect, password management for Microsoft
was third, after IBM (37.2 percent) and BEA
Systems (14.5 percent) and ahead of Microsoft
extend, and evolve their investments in Windows through secure, flexible, self-
(4.7 percent). Oracles market share grew the Oracle Applications using Oracles service interfaces. Oracle Enterprise
most, rising 39.6 percent from 2004 to 2005; standards-based middleware products. Single Sign-On Authentication Manager
IBMs market share rose 6.7 percent, BEAs 6.0 The certification makes it easier for allows organizations to use a combina-
percent, and Microsofts 13.4 percent. organizations to integrate their Oracle tion of tokens, smart cards, biometrics,
Source: Gartner Retail applications with other pack- and passwords for strong authentica-
www.gartner.com/press_releases/asset_153343_11.html
aged and custom applications by using tion throughout the enterprise. Oracle
a service-oriented architecture (SOA). Enterprise Single Sign-On Provisioning
Additionally, as the underlying SOA Gateway enables organizations to
directly distribute single login cre- ORACLES PEOPLESOFT ENTERPRISE program will continue this effort, by
dentials to Oracle Enterprise Single RELEASE 9 DELIVERED providing ongoing enhancements to the
Sign-On Logon Manager, based on racle has delivered the first product current Oracle Applications beyond the
provisioning instructions from Oracle
Identity Manager. The final component,
O of PeopleSoft Enterprise Release
9PeopleSoft Enterprise Learning
delivery of Oracle Fusion Applications.
Oracle Enterprise Single Sign-On Kiosk Management. Other product families ORACLE ACQUIRES DEMANTRA, PORTAL
Manager, allows users to securely access of PeopleSoft Enterprise Release 9 are SOFTWARE, AND TELEPHONY@WORK
enterprise applications even at multiuser scheduled for delivery throughout the racle recently acquired Demantra, a
kiosks and distributed workstations.
Oracle Enterprise Single Sign-On will
remainder of the calendar year.
PeopleSoft Enterprise Release 9
O leading global provider of demand
management, sales and operations plan-
be available in the second half of 2006. leverages Oracles Fusion Middleware ning, and trade promotions management
Oracle Enterprise Single Sign-On Suite and delivers Oracle Fusion capabilities solutions. The acquisition will enable
is US$60 per user. Oracle Enterprise to PeopleSoft Enterprise customers. It Oracle to provide customers with a
Single Sign-On Password Reset is avail- includes enhanced Web services func- comprehensive solution for the extended
able separately for US$7 per user. tionality, Oracle BPEL Process Manager, enterprise that enhances demand vis-
Oracle Business Activity Monitoring, and ibility with powerful analytics for
OPEN SOURCE EDITION OF ORACLE Oracle XML Publisher. This release is more-accurate demand-driven planning,
TOPLINK UNVEILED the culmination of a year-long project forecasting, and modeling.
opLink Essentials, the first compliant to integrate core components of the Oracle has also purchased Portal
T implementation of the Java Persistence
API (JPA), is now available. Oracle,
Oracle Fusion Middleware family with
PeopleSoft applications, says Doris
Software, a leading global provider
of billing and revenue management
along with Sun Microsystems, was the Wong, general manager of PeopleSoft solutions for the communications and
Enterprise JavaBeans 3.0 (EJB) specifica- Enterprise applications. Using Release media industry. Portal offers a billing
tion colead and delivered the JPAan 9, customers can deploy portable and and revenue management solution with
API for creating, removing, and querying flexible business processes across hetero- a modern, object-oriented architecture
across lightweight Java objectsas part of geneous IT environments and applica- built on Oracle technology that can
the specification. The official open source tions, resulting in less complexity, lower bill and manage all communications
reference implementation for the Java costs, and less maintenance time. services, including wireline, wireless,
Platform, Enterprise Edition 5 Software PeopleSoft Enterprise Release 9 also broadband, cable, Voice over IP, Internet
Development Kit (SDK), TopLink includes many enhancements across Protocol Television, music, and video.
Essentials is also available from Oracle as its product families that improve busi- Oracle has also acquired a provider
a standalone implementation. ness processes and industry capabilities of IP-based contact center technology,
The new JPA is the standard for and address customer requirements. Telephony@Work, to further extend its
object-relational persistence introduced For example, the release includes new On Demand and customer relationship
in the EJB specification, which provides capabilities for managing compliance management offerings. O
a simplified approach to mappings and requirements, plus new talent man-
application use of persistent entities agement features such as integration
with capabilities suitable for mission- of applications and systems that store
Oracle Validated Configurations
critical enterprise applications. The JPA human resources data for a single oracle.com/technology/tech/linux/
can also be used for Java persistence enterprisewide system. validated-configurations
outside of EJB 3.0. TopLink Essentials With a continued focus on improv- Oracle Retail
oracle.com/industries/retail
integrates easily with third-party frame- ing customers overall ownership
works, such as Spring, helping provide experience, PeopleSoft Enterprise Oracle Identity Management
oracle.com/products/middleware/
developers with the flexibility to use the Release 9 improves upon the imple- identity-management/identity-management.html
development environment and tools of mentation, use, and support of Oracle TopLink Essentials
their choice. Applications. Release 9 contains hun- oracle.com/technology/products/ias/toplink/jpa
The contribution of TopLink dreds of modifications that simplify PeopleSoft Enterprise Release 9
Essentials to the Java Enterprise and improve the user experience in oracle.com/applications/peoplesoft-
enterprise.html
Edition 5 SDK is consistent with our addition to easing deployment and the
efforts to raise the state of the art integration of systems with PeopleSoft Oracle and Demantra
oracle.com/demantra
within the developer community and Enterprise applications.
Oracle and Portal Software
provide developers with technology This release supports Oracles efforts oracle.com/portalsoftware
that makes their jobs easier, says to enable its customers to maximize the Oracle and Telephony@Work
Steven G. Harris, vice president, Oracle value of their application investments. oracle.com/telephonyatwork
Fusion Middleware. Oracles new Applications Unlimited
32 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
a t O r a c l e ORACLE NEWS BY JEFF ERI CKSO N
is driven by market trends. As more- ORACLE BERKELEY DB JAVA EDITION LEARN about Oracles complete line
powerful devices proliferate and as Oracle Berkeley DB Java Edition is of embedded databases
oracle.com/database/embedded.html
networks become faster, more data is a high-performance, transactional
moving from the core data center out to storage engine written entirely in Java. DOWNLOAD Oracle Berkeley DB
BOB ADLER
Java Edition
the edge of the network, where it can Developers use the Java Edition of dev.sleepycat.com
be accessed more quickly. According to Berkeley DB when they want portability
Enterprise Grid
Computing with Oracle
By Brajesh Goyal and ONE-STOP SUPPORT NOW INCLUDES SAP R/3 processes, enhancing the functionality of
Shilpa Lawande
n coordination with SYSTIME, an Oracle Concurrent Manager. AppWorx
Oracle Press
www.oraclepress.com
ISBN: 0-07-226280-X
I Oracle Certified Advantage Partner,
Oracle now provides support and
was already validated with Oracles
PeopleSoft Enterprise applications.
maintenance for SAP R/3 applications Perceptive Software, developer
Ready to take full advantage of the agility, through Oracles One-Stop Support of ImageNow document manage-
reliability, and cost savings of grid computing?
Enterprise Grid Computing with Oracle provides
program. Oracle will also establish a ment software, has had its product
a road map for implementing Oracle enterprise dedicated solution support center for integration validated with Oracle E-
grid technology. providers that support SAP R/3 applica- Business Suite, Oracles JD Edwards
Coauthored by Brajesh Goyal, former principal tions running on Oracle databases. EnterpriseOne, PeopleSoft Enterprise
product manager for Grid Computing at Oracle, The One-Stop Support program Student Administration, and PeopleSoft
and Shilpa Lawand, former principal developer
at Oracle, the book discusses the technologies
provides qualified independent software Enterprise Financial Management
and practical methods involved in moving vendor (ISV) partners with support Solutions product suites. The validated
toward the grid model at every layer of the IT infrastructure and special access to integration establishes a link between
stackstorage, servers, databases, middleware, Oracle engineering resources. In the documents stored in ImageNow and
and applications. Youll find out how to grid- past, the program provided seam- records in the enterprise applications.
enable existing IT infrastructures, reduce islands
of computing resources, and share IT resources
less support for ISV applications and
across the enterprise. the Oracle technology they run on; ORACLE PARTNERNETWORK UPGRADES
Topics include building and managing a data now, ISVs will also be able to support SOLUTIONS CATALOG
center based on the Enterprise Grid Alliance SAP R/3 applications that coexist with he new Oracle PartnerNetwork
reference model; lowering total cost of ownership
and improving responsiveness and flexibility
Oracle-based applications.
Ninety-four percent of R/3 custom-
T Solutions Catalog launches in
October 2006, giving customers and
at various layers of the IT stack; and sharing
storage capabilities systemwide using storage ers have not upgraded to new SAP ver- prospects an enhanced and faster way
virtualization and provisioning. sions, and the vast majority of those to connect with Oracles more than
companies run Oracle as well, explains 17,500 partners. Powered by Oracle
The Relational Oracle President Charles Phillips. Fusion Middleware, including Oracle
Database Dictionary There are also many customers who Application Server 10g and Oracle
By C.J. Date have purchased mySAP licenses but Portal, the new catalog better serves
OReilly Media
www.oreilly.com
havent yet installed them. With the Oracles growing community of partners
ISBN: 0-596-52798-5 help of SYSTIME, were focused on and provides an improved experience
ensuring that these customers have a for users seeking a solution.
Looking for a quick superior ownership experience around Now available in 13 languages, the
database reference guide? all of their applications. catalog can help customers shorten IT
This pocket-size dictionary defines nearly
600 terms and concepts used with relational
procurement cycles by instantly locat-
databases, including Oracle. ORACLE PARTNERS VALIDATE INTEGRATIONS ing partner solutions or services that
racle has validated many partners meet their needs. Extensive new search
As more and more people turn to databases
for both large systems and small Web-based
applications, misunderstandings arise about the
O integrationsand many more
validations are in progress. Validation
functionality allows searches by solu-
tion type, product, hardware platform,
precise meaning of database-related terms, such
as foreign key, join, instantiation, table, and view.
acknowledges that the software has been operating system, expanded geographic
These misunderstandings can affect the design, thoroughly tested to enable seamless specifications, and more. Companies can
programming, and use of database systems. integration and optimal performance also locate partners who have solution
The Relational Database Dictionary provides with Oracle products. Many partners integrationsbetween the partner prod-
a single, compact source where designers, provide validated integrations with more ucts and Oracles applicationsvalidated
programmers, database administrators, and
students of relational database systems can find a
than one Oracle application product by Oracle, as well as partners using
glossary of precise definitions. line. Two partners of note: leading technologies including service-
Author C.J. Date is a founder of relational AppWorx, an Oracle Certified Partner oriented architecture and grid.
database theory. At IBM, he developed the and a provider of business process auto- Oracle Partners can simply and
relational model based on E.F. Codds initial mation software, has had its AppWorx securely publish their solution profiles
definition, was a DB2 designer, and wrote An
Introduction to Database Systems.
Version 7 validated with Oracle E- and manage leads, all within the same
Business Suite 11i Release 10. AppWorx portal interface. Straightforward, unique
Browse for Oracle books at oracle.com/ offers a single interface to monitor and URLs now make it easy to find partner
technology/books/10g_books.html. manage enterprisewide asynchronous solutions via Web search engines.
34 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
PARTNER SPOTLIGHT System Integrators Embrace Oracle BPEL Process Manager
usiness Process Execution Language (BPEL) is simplify- Innowave Technology used Oracle BPEL Process Manager
B ing process integration and saving companies money
by providing a standard for assembling discrete services
to integrate Data Select Systems COBOL-based CLCS III
application with an Oracle database. Data Selects CLCS
into an end-to-end process. Below are five Oracle System III systems service 40 percent of U.S. construction loans.
Integrator partners that are building solutions using Oracle Seamlessly extracting and loading COBOL data into an
BPEL Process Manager, Oracles infrastructure for creating, Oracle database without altering the CLCS III system was
deploying, and managing business processes: critical for the companys continued success.
BIAS used Oracle BPEL Process Manager to integrate Sierra Atlantic provides engineering change order (ECO)
systems between the Corrections Corporation of America management for new and modified products in the form of
(CCA) and the Hamilton County Jail System in Tennessee. adaptable, preconfigured business workflows. Built using
CCAs system is used for booking and processing more than Oracle BPEL Process Manager, the companys solution
200 inmates per day, and CCA plans to use the BPEL inte- can handle a range of ECOs, from routine documentation
gration with other systems in the coming years. changes to end-of-year product phase-outs.
CISCO, Inc., used Oracle BPEL Process Manager to create SkillNets StoreHub solution, created with Oracle BPEL
a way for Farmers Mutual Hail, a provider of crop insurance Process Manager, addresses common retail challenges such
in 15 midwestern states, to allow its agents and policyhold- as stockout. In order to offer customer retention options, the
ers to access policy information online with a self-registra- process must be streamlined in the context of a Substitute-
tion process. Manual processes, modeled using Oracle BPEL Delay-Leave framework. StoreHub orchestrates the stockout
Process Manager human workflow, take over only if the self- business process across point of sale, inventory, catalog, and
registration process determines its necessary. customer relationship management in near real time.
IKAN ADDS MODELING CAPABILITY TO intelligence environments, and business and optimizes data structures and access
ORACLE SQL DEVELOPER processes. It supports online transaction algorithms accordingly, resulting in fast
kan, an Oracle Certified Partner, has processing, data marts, and data ware- response time and throughput. O
I released CWD4ALL for Oracle SQL
Developer, a modeling, mapping, and
houses for online analytical processing.
It bridges ODBC and JDBC to enable
diagramming tool that complies with direct catalog capturing. SYSTIME
the Common Warehouse Metamodel www.systime.net
(CWM). Oracle SQL Developer is WIPRO INFOTECH AND ORACLE DELIVER Oracle Validated Integrations
oracle.com/partnerships
Oracles graphical tool for creating and REAL-TIME STOCK EXCHANGE SURVEILLANCE
browsing database objects; CWD4ALL ipro Infotech and Oracle have AppWorx
for Oracle SQL Developer gives Oracle
SQL Developer full entity-attribute-
W implemented the first phase of a
new market surveillance system for the
www.appworx.com
Perceptive Software
www.imagenow.com
relationship modeling facilities. Bombay Stock Exchange (BSE). Called
Oracle PartnerNetwork
CWD4ALL for Oracle SQL Developer the BSE Online Surveillance System- Solutions Catalog
provides relational and physical integrated (BOSS-i), the new system solutions.oracle.com
mapping and diagramming of Oracle monitors trading data in the exchanges BIAS
databases, with full data definition lan- derivatives and equities (cash) markets. www.biascorp.com
guage generation. CWD4ALL for Oracle BOSS-i monitors all major exchange CISCO
SQL Developer also allows exporting parameters in real time, looking for www.ciscoinc.com
to Oracle Analytical Workspaces, and suspicious activity. Using rules-based Innowave Technology
www.innowavetech.com
supports forward- and reverse-engineer- advanced analytics, its alert-generation
ing capabilities to and from Oracle8i engine notifies a surveillance console Sierra Atlantic
www.sierraatlantic.com
Database, Oracle9i Database, and when such activity is detected. Real-time
SkillNet
Oracle Database 10g from within Oracle monitoring of the exchanges more than www.skillnetinc.com
SQL Developer. 5 million daily transactions, as well as
CWD4ALL for Oracle SQL Developer
CWD4ALL for Oracle SQL Developer management of generated data, are made www.cwd4all.com
simplifies and accelerates the complex possible through Oracle TimesTen In-
Wipro Infotech
aspects of analyzing, designing, and Memory Database, a memory-optimized www.wipro.in
implementing data models, business database that manages data in memory
By the Book
Three peers extol the pleasures of reading, both on the job and off.
Jaromir Nemec That kind of problem can easily be peerSPECS
Company: Capgemini, a global
If you could change a feature of missed in the developing/testing consulting, technology, and
Oracle Database, what would it be? environment because of small outsourcing firm
The SQL profile is a very data volume and loadand when Job Title/Description:
Senior Oracle DBA, providing help
exciting feature. Id appreciate the application moves to produc- and advice to project teams and
the ability to define the profile tion, people are disappointed by developerswith a preference
for avoiding problems over
on a predicate level that could poor response time. Having a look solving them
be reused in all statements upriver at the way developers Location: Brussels, Belgium
using this predicate. work and providing sound advice Length of Time Using Oracle
Tell us about the paper you can save us a lot of annoyance later. Products: 13 years
wrote and presented at the U.K. Oracle User Whats your favorite thing to do
Group Exhibition & Conference 2005 titled Are Your Statistics Bad outside of work? Reading scientific periodicals, novels, and
Enough? You can tell pretty quickly whether your statistics are comics. Some of my favorites are Hermann Hesses Narcissus
stale or fresh, but its difficult to decide if theyre appropriate and Goldmund; Douglas Hofstadters Gdel, Escher, Bach; Art
or misleading. In my presentation, I proposed a method that Spiegelmans Maus; and Jacques Tardis comic books about
makes it possible to measure the quality of database statistics. World War I.
Its based on the access and filter predicates used in statements
accessing the data. Simply put, its like a JUnit test for DBAs. Jeffrey Hunter
If you were going to the space station Whats your favorite tool or tech-
for six months, which Oracle reference peerSPECS nique on the job? Using Oracle
books would you take? I personally Company: T-Mobile, an extended SQL trace data for
international cell phone and
like books by Jonathan Lewis wireless service provider
application system and SQL
he wrote Cost-Based Oracle Job Title/Description: tuning. Its not just a tool
Fundamentals [Apress, 2005] and Freelance database consultant, for performance tuningits
responsible for enterprise
Practical Oracle8i [Addison-Wesley, integration solutions and the unmatched as a tool for under-
2001]. Apart from a lot of useful design of the data warehouse standing the internals of how
technical details, they offer guidance Location: Vienna, Austria the Oracle kernel works.
on how to think while working Length of Time Using Oracle Which new features of Oracle Database
Products: 15 years
with Oracle Database. 10g are you finding most valuable? The new Oracle Automatic
Storage Management feature has made it incredibly easy for
Bruno Vroman us to provision and manage storage with both single-instance
How did you get started in IT? I studied mathematics at university and Oracle Real Application peerSPECS
and was fond of pure math, like algebra and logic. Then I Clusters deployments. Company: The DBA Zone, a
took my first IT course and thought: This is applied logic! What advice do you have about provider of remote managed
database administration services
This is what I want to do! I immediately switched my focus getting into Web and database
Job Title/Description: Senior
to applied mathematics. development? Download the latest DBA, responsible for designing
You mention that youd rather avoid problems than solve them. Tell version of Oracle JDeveloper 10g and implementing highly available
database solutions; ensuring
us more about that philosophy. When and get Oracle JDeveloper 10g database availability; and
something goes wrong with appli- Handbook [Oracle Press, 2004]. application, system, and SQL tuning
Location: Butler, Pennsylvania
cation performance, its often due Oracle JDeveloper 10g provides a
Oracle Credentials: Oracle-
to bad practicefor example, unique development environment certified DBA (Oracle7, Oracle8,
requiring the scanning of GBs of capable of using Oracle-specific Oracle8i, Oracle9i ) with 12 years of
experience using Oracle products
data for a simple query, when frameworksOracle Application
a slightly different approach Development Framework, for
oracle.com/technology/community/
would produce the same results exampleas well as non-Oracle oracle_ace
at a fraction of the workload. specific frameworks. O
40 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
INSIDE ORACLE DATABASE VAULT SECURES THE INSIDE OF THE ENTERPRISE.
BY DAV ID A. KELLY
extended its security capabilities with the release of access for individuals only to the specific data they need to do
Oracle Database Vault, which gives organizations the mecha- their jobs. This is something new to the industry.
nisms to restrict access to super and privileged users with Oracle Database Vault helps organizations manage aspects
database realms. A database realm allows an organization of regulatory compliance. Weve been spending a lot of our
to define a protection zone around a specific application, time with companies whose external auditors have raised
part of an application, or a set of data. Access to this zone the issue of data security from a financial reporting integrity
is protected from power users, such as those with the DBA issue, says Jay Thompson, a managing director at Protiviti, a
role. Additionally, Database Vault multifactor authorization leading international provider of independent internal audit
can block access based on factors such as time of day (for and business and technology risk consulting services.
example, only between 9 a.m. and 5 p.m.), IP address limita- Some companies will find that using [Oracle] Database
tions (so that someone cant log in remotely), or other con- Vault is a very simple way for them to restrict access selectively
siderations. Rules can be associated with dozens of database to data, and theyll be able to address a significant security risk
commands, enabling strict control over their usage. issue theyre facing by limiting access to sensitive information,
Oracle Database Vault allows you to control the super he adds.
and privileged user access, says Wynn White, senior direc-
tor, security and identity marketing, Oracle. By using Oracle PROTECTING FROM INTERNAL THREATS
Database Vault, you have more-granular access control mecha- Today, reducing risk and meeting auditing requirements means
nisms to specific data sets, as well as the ability to restrict being able to protect against not only traditional external
O R AC L E D ATA B A S E S E C U R I T Y
Oracle Database security features help ensure
regulatory compliance, protect from insider
threat, promote information consolidation
and sharing, and protect sensitive Oracle Audit Vault
information on media. Administrators can consolidate and protect
audit information, enabling centralized
analysis and reporting on audit data.
Fine-Grained Auditing
DBAs specify the
conditions necessary to Oracle Identity Management
generate an audit Sysadmins manage the lifecycle of user
record. identities within and beyond the firewall.
Strong authentication lowers risk of
security breaches. With Oracle Identity
Management, DBAs manage database
users and authorizations in one
central place.
000000000010111000000000
010101100000000001010111
000000000000010100000000
001100000000000000110001
000000000001111
001111000000000
Transparent Data Encryption 010111100000000000101111
0101 00000000101111
Protect information without change to 0000000
0000001100100000000
00001100100000000
000010000000000001011010
001011010 Oracle Database Vault
the application by transparently 0000000000
0000011100000000
00011100000000 Managers control access to data and
encrypting data and decrypting it 0010010000
0000000000011010
00000000011010 applications, even among administrators,
when it is read back to the user. 000000000011001000000000
HIGHLY
001011000000000000000100 protecting against insider threat from
000000000100100100000000 malicious intent, negligence, or oversight.
Oracle Label Security SENSITIVE The Command Rules and Realms features
Control access to critical business data add rules and protection zones
using data classification and FIDENTIAL through which users access the restricted
label-based access control. information. Multifactor authorization
enforces how, when, and where
applications can be accessed by verifying
Virtual Private Database IP address, authentication method, and
Customized security policies support time of day.
security when standard object-level
privileges and database roles dont
meet application security
requirements.
STEVE LYONS
44 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
Copyright 2006, Oracle. All rights reserved. Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its afliates. Other names may be trademarks of their
respective owners.
46 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
The challenge for organizations is how to go about focusing on solving those internal
data security threats without overdoing it and restricting business.
Jay Thompson, Managing Director, Protiviti
2 with Oracle Transparent Data Encryption and its ability to be considered across the organization, says Oracles White.
help customers address critical business requirements quickly. Security has evolved from a technology to a business issue,
The same process is happening with Oracle Database with applicability to all organizations across all industries
Vault, a product that addresses many of the key business con- which makes it more important than ever before. By delivering
cerns that organizations face today: regulatory compliance, a broader footprint of security technologies, Oracle ensures the
separation of duty, strong internal controls, and concerns protection of an organizations information assets. O
around database consolidation security as well as report-
ing. Customers want to be able to keep their power users David A. Kelly (dkelly@upsideresearch.com) is a business, technology, and travel
and super users (or DBAs) from accessing application data, writer who lives in West Newton, Massachusetts.
and Oracle Database Vault enables organizations to do that,
explains Needham.
STRATEGIC VISION
READ about information security
But it doesnt stop there. A strategic data security vision oracle.com/solutions/security
includes a much broader landscape than ever beforeespe-
LEARN about secure development processes
cially with the increased threat of internal attacks, theft, or oracle.com/solutions/security/secure-development-processes.html
simple mistakes, and the necessity of meeting new regulatory DISCOVER Oracle Database Security
compliance and auditing requirements. oracle.com/database/db-security.html
IT and data security is no longer a specialized niche within DOWNLOAD Oracle Database 10g
the IT organization as it used to be, but something that has to otn.oracle.com/software/products/ias
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.
>
the Whe l
>
>
BY A L A N JOCH
>
Oracle Data Hubs centralize and synchronize
the truth of your enterprise.
>
ts a classic courtroom drama. Actor Jack Nicholson, playing the besieged Col.
Jessep in the movie A Few Good Men, is directed by Tom Cruises Lt. Kaffee to tell
the truth. From the witness stand, Jessep glowers at Kaffee and snaps, You cant
handle the truth!
Obviously, Jessep wasnt talking to a business executive. Businesspeople not only can
handle the truth, its something they thrive on. Its the incomplete, duplicate, fuzzy, and
slippery facts that pass as corporate truth that drive executives crazy.
For years, companies of all sizes and industries have been challenged to find ways
to create a single source of truth about their customers and products, often with little
success. That challenge has now been made easier because of Oracles expanding
family of data hub technologies. Data hubs provide a central place where companies
can store customer and product information thats been standardized, enriched, dedu-
plicated, and made available to any enterprise resource planning (ERP), customer
BOB ADLER
relationship management, engineering, or other production system that needs the infor-
mation. Gone are the frustrations of inaccurate records and not knowing if Jennifer
Earlier this year, IHOP launched a custom application on usually a collaborative effort among departmental users, privacy
top of the data hub that allows the company to track mile- officers, and IT. For example, attributes in a business custom-
stones for new restaurants, including major steps such as real ers identifying data often include the company name, corporate
estate approvals and construction timelines. IHOP built the Web site address, master phone number, and physical address.
50 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
>
The second step is the easiest. What infor-
mation (data elements) does the company
want to store about each master record? In
larger application portfolios, each source
system has some elements of truth to con-
tribute to the master record. For example, the
accounting application may contain the single
source of truth for the bill-to address, but the
service application contains the single source
of truth for the installed-at address. The Data
Hub technology lets companies source each
data element from each data source if neces-
sary to build the composite master record.
The single-source-of-truth record is further
supported by a metadata framework that
allows companies to personalize the data
models by adding unique attributes to them
without programming.
After the record is uniquely identified, a
robust rules-based matching engine deter-
mines whether the record is a duplicate. If it
is, then the hub doesnt create a new record in
the data registry. Instead, it adds a record in a
cross-reference table.
Data models structure and store the data,
but the next step is to ensure the information
itself is accurate, up-to-date, and complete.
For companies that are new to managing
data quality, often the best strategy is to take
an important subset of the total records and The Oracle Product Information Management Data Hub definitely saves time and eliminates duplication
develop the data quality business processes of effort and redundant entries for the same part, says Matthias Kenngott, IT Director at Glacier Garlock
and corresponding matching, validation, and Bearings, Heilbronn, Germany.
enrichment rules, says Peter Heller, senior
director of applications product marketing at greater reality is that most large organizations run dozens of
Oracle. Most companies are surprised at how bad their data business systems with customer and product information, and
quality is, and very early into the project they realize the need the ability to successfully cross-reference that data has become
for dedicated data quality resources. Data hub best practices an essential competitive advantage. Enter data hubs.
call for a central data librarian supported by a data governance Hubs not only store and maintain accurate records, they
committee from various lines of business to centralize data provide an integration layer for synchronizing the data among
quality business practices, hub operations, and manage the information sources. Hubs based on open standards, such
complete data lifecycle, he says. as Oracles, work with any combination of applications from
various vendors. Further, workflow capabilities in Oracles
DOING MORE data hubs automatically route information from department
Large companiesand even smaller companiesshould do to department for sign-offs, which can reduce approval times
more to manage data. Even if a company runs a single enter- from days or weeks to hours, AMR Researchs Swanton adds.
TON HENRIKS
prise software package, each department that touches cus- Oracle has unified its customer data management across
tomer information needs to coordinate its data management Oracles portfolio of applications and product lines: Oracle
processesand most companies dont, says Heller. And the Customer Data Hub has been integrated with Oracles
52 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
SPECIAL ADVERTISING SECTION
How Dell
Does IT When the computer company moved one of its critical supply chains from a
legacy UNIX system to industry-standard technology and Oracle Database 10g,
it boosted performance and cut $5 million out of IT costs.
t Dell, fast, flexible, and lean supply chains operational, we dont build and ship products.
S1
SPECIAL ADVERTISING SECTION
systemand with the ongoing success operational, because the problem is chain database platformand man-
of Dell products and the resulting IT stopping manufacturing at one of our agers wanted to do so quickly, before
workloads, that system was reaching domestic or international facilities. the coming holiday season, when the
the limits of its capacity. Whats more, the IT group could companys sales tend to spike.
We were starting to get Sev 1 calls see that things werent going to be
regularly, says Miller. Such calls, he getting any easier. The demand for Saying good-bye to UNIX
explains, occur when an outage in the Dells products was increasing, and Dells challenge was hardly unique:
supply chain management system forecasts called for higher production Running out of headroom on a large
interrupts production. They are the volumes in the near future. In addition, legacy server is a familiar problem for
highest level of severity in terms of the company was bringing on new IT professionals in many organizations.
problem calls, based on the degree of factories the system had to support. Traditionally, the solution has been to
impact to the business. With those calls, To handle these growing workloads, add another legacy server, in essence
its all hands on deck, and we drop the IT department clearly needed to implementing a relatively large amount
everything and get them back up and increase the capacity of its supply of capacity in one passand then hope
the new server will meet the companys
needs for several more years. But Dell
IT leadership took a look at advancing
technology and decided there was a
better way.
We saw that there was an oppor-
tunity to move the database from the
expensive UNIX environment to a more
cost-effective standards-based envi-
ronment that could provide the high
levels of performance we needed,
Dell on Dell at a Glance says Miller. The platform Dell selected:
groups of Dell PowerEdge servers
Business system running Oracle Database 10g with
Database supporting a supply chain involving: Oracle Real Application Clusters, and
More than 10 manufacturing plants worldwide drawing on Dell/EMC storage devices.
1 million part numbers The platform uses the Linux operating
3 million inventory movements per day system, reflecting a growing trend in
More than 2 million bills of materials per year the Oracle community: According to
1.8 million purchase order lines per year an Independent Oracle Users Group
member survey in early 2006, Linux will
Old environment overtake Suns UNIX-based Solaris as
Sun UNIX server the top operating system for Oracle
database deployments in 2007.
New environment The demands on the Dell and Oracle
Dell PowerEdge servers platform were clearly going to be signif-
Oracle Database 10g with Oracle Real Application Clusters icant. The database has to support a
Dell/EMC storage devices range of vital supply chain processes,
including configuration management,
Benefits procurement, material-cost manage-
More than $5 million in IT savings ment, inventory, and accounts payable.
90 percent reduction in the number of product units not manufactured In terms of workloads, that means han-
due to system outages dling the volumes of information needed
40 to 50 percent shorter financial closings to manage 1 million Dell part numbers
Increased IT flexibility and scalability across nearly 200 product families. It
Reliable, cost-effective support for critical supply chain also means tracking nearly 3 million
inventory movements a day, more than
S2
SPECIAL ADVERTISING SECTION
2 million bills of materials a year, and And new nodes can be easily added to
nearly 1.8 million purchase order lines the cluster to increase capacity.
per yearand doing so with high levels In recent years, Dell and Oracle have
of reliability and speed. The availability tested and validated a variety of configu-
of our supply chain systems is paramount rations using Dell PowerEdge servers
to keeping our factories running, says and Oracle software, including such
Curt Johnson, director of Worldwide Pro- clustered systems. As a result, Dells IT
curement IT at Dell. And because were group has been able to take advantage
building more than 100,000 systems each of the strengths of both companies tech-
day, any downtime costs us thousands nologies. In terms of performance, for
of dollars per minute. example, using Oracle Database 10g,
Not surprisingly, Dells IT group put Dell servers lead other vendors servers
the platform through an extensive and in the 300GB clustered TPC-H price/
rigorous evaluation. Given the high performance results. The PowerEdge Better performance, lower cost
stakes involved, the choice was certainly servers also include Dell OpenManage In operation, the Dell and Oracle plat-
not a matter of simply choosing the com- tools, which offer integrated deployment, form has proven to be highly effective.
panys own servers, says Miller. We monitoring, and change-management The reliability and stability has just been
built an environment where we could capabilities for updating server software, phenomenal, says Miller. For example,
simulate a full online set of users, as well operating systems, databases, and appli- Dell tracks the number of product units
as the batch processing we use to inter- cations, all from a single console. that are not manufactured due to system
face this data with numerous other appli- Dells IT group has also drawn on outagesand that figure has been
cations. The group also put the system Oracle Enterprise Manager 10g Grid reduced by more than 90 percent. At
to the test in the real world, implementing Control tools to streamline the monitoring the same time, he adds, weve seen
and evaluating it in its Malaysian opera- and management of its databases. Grid tremendous performance improvements.
tions before rolling it out globally. Control lets us manage the clustered The new environment can process sig-
The system passed these various database on multiple servers through nificantly more data than before.
tests, and today Dells supply chain one central location, says Ravee Avutu, That improvement is especially
database is run on clusters of up to six senior manager of Database Manage- evident during weekly, end-of-quarter,
Dell PowerEdge servers, depending ment Services at Dell. This has helped and end-of-month financial processing
on the region being supported, with us improve reliability and reduce man- times, which have been cut by an esti-
mirrored disaster recovery systems at agement costs. mated 40 to 50 percentor more. Basic
remote sites. That means that Dell has With the new system, Dell IT is now month-end batch jobs that used to take
redundancy at both the backup and supporting supply chain operations at eight hours now take two to three hours.
cluster levels. If a server node goes more than 10 plants around the world, In more complex cases, there can be
down, its workload can be picked up as well as several merging centers in the some 40 steps involved in closing the
instantly by another node in the cluster. U.S., where products such as computers, books and calculating cost, a process
Additionally, individual nodes can be printers, and flat panels are consolidated that used to take 13 hours or more to
brought down one at a time for mainte- into orders for more efficient shipping. complete. Those closings are now com-
nance without affecting the operation Within months, Dell plans to have all of its pleted in six hours or less. Such reduc-
of the overall systemas opposed to regions using Dell and Oracle Database tions have been key, because during
having to take the entire UNIX server 10g, giving the company a powerful, con- these closing processes, the supply
down when maintenance was required. sistent platform worldwide. chain system is shut downand so is
S3
SPECIAL ADVERTISING SECTION
July 2006. Printed in the U.S.A. Dell, the DELL logo, OpenManage, and PowerEdge are trademarks of Dell Inc. Oracle is a registered trademark of Oracle Corporation. Linux is a registered
trademark of Linus Torvalds. Microsoft and Windows Server are registered trademarks of Microsoft Corporation. Other trademarks and trade names may be used in this document to refer to
either the entities claiming the marks or their products. Dell disclaims any proprietary interest in the marks and names of others. 2006 Dell Inc. All rights reserved. Reproduction in any manner
whatsoever without the written permission of Dell Inc. is strictly forbidden. For more information, please contact Dell Inc.
S4
Oracle Database 10g
#1 Database
In The World
Other
17.2%
Yet again...
Microsoft
16.8%
Oracle
44.6%
IBM
21.4%
oracle.com
or call 1.800.ORACLE.1
#1 Database means number one in terms of software revenue (license + maintenance)
in the worldwide relational DBMS market. Source: IDC, Worldwide RDBMS 2005 Vendor.
Shares: Preliminary Results for the Top 5 Vendors Show Continued Growth (IDC #201692), May 2006.
Copyright 2006, Oracle. 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.
CONTENT AT YO
anaging streams of unstructured datadocuments, tends with vast quantities of documents, all of which must
spreadsheets, presentations, and image filesis a be consistently accessed, archived, and shared. The company,
problem that wont disappear soon. Organizations headquartered in Hailey, Idaho, specializes in the energy, facili-
generate and receive a relentless influx of infor- ties, and communications markets.
mation from online and offline systems, but companies that To streamline its activities, POWER Engineers is migrat-
cant manage unstructured content effectively not only suffer ing from a paper-based archiving process to an Oracle-based
productivity losses, they risk being out of compliance with content management solution that uses a single, integrated
government and industry regulations. repository for capturing, classifying, retaining, and retiring
How widespread is this problem? John K. Waters writes content based on enterprisewide policies. Our products are
in Application Development Trends (Managing Unstructured documents to our clients, says Loren Dugan, IT director at
Information, February 1, 2005) that more than 80 percent POWER Engineers. As such, we need to find a way to better
of the information that companies generate is unstructured support how theyre generated, how theyre maintained, how
and that managing it has become critical. Just about every theyre delivered to the clientsand how theyre destroyed
company is coping with an explosion of [data], he writes, when the documents reach the end of their lifecycle.
and finding ways to use that unstructured data has become a Oracles content management solution is centered around
competitive differentiator. two new database options. Oracle Content Database (Oracle
With hundreds of team members working on more than Content DB) enables customers to manage large volumes
2,000 concurrent projects, POWER Engineers constantly con- of unstructured content in a single Oracle database. Oracle
58 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
UR FINGERTIPS BY DAV ID B AUM
house for them, from their projects, is safeguarded, Dugan relatively simple. What I like best about Oracles system is its
says. For examplepower substations, or the power distri- simplicityfrom a usability standpoint, from an administra-
60 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
We estimate that the
Oracle solution is about
one-sixth the cost of
any other platform we
looked at.
Anthony Abbattista, Vice
President of Enterprise Technology, Strategy,
and Planning, Allstate Insurance Company
organized, and made accessible and sharable. energy, financial services, telecommunications, and insurance,
Oracle provides different ways to access unstructured and Open Text is using Oracle Content DB to deliver its next
content stored in the database. As part of its content manage- generation of solutions. Open Texts solutions also enable
ment solution, Oracle has developed a set of J2EE- and .NET- customers to access and manage content from Oracles Siebel,
PeopleSoft, and JD Edwards applications, as well as future Document management and retention policies can be
Oracle Fusion Applications. applied on a folder-by-folder basis and controlled as part of
an integrated business process. For example, workflows can
LOW-COST CONTENT MANAGEMENT be associated with specific folders and automatically trig-
Integrated content management is especially important gered when events, such as document check-in or deletion,
for large, information-intensive corporations like Allstate occur in them. This allows Allstate to devise custom work-
Insurance Company, the second- flows that drive review and approval
largest property and casualty cycles, notify users when a new docu-
insurer in the United States.
SNAP SHOTS ment version has been checked in, or
In a company of Allstates size, POWER Engineers prevent the deletion of a document
there are many business drivers www.powereng.com without a managers permission.
Location: Hailey, Idaho
for a good document management Securing and managing documents
Industry: Engineering and Construction
solution, says Anthony Abbattista, Employees: 700
inside the Oracle content management
Allstates vice president of Oracle Products and Services: Oracle Content DB, Oracle solution will help us with our compli-
Enterprise Technology, Strategy and Records DB, Oracle Content Services, Oracle Real-Time ance initiatives. First of all, we want
Planning. First, theres a massive Collaboration, Oracle Projects, Oracle Financials, Oracle a secure doc store. We want to know
amount of content that weve been Human Resources, Oracle Purchasing, Oracle iLearning whos looking at documents, whos
digitizing over the last few years as creating them, and what the lifecycle
Allstate Insurance Company
we make our processes better and has been over time. Secondly, when we
www.allstate.com
more efficient. Second, we have Location: Northbrook, Illinois want to retrieve documents, a content
regulatory requirements that neces- Industry: Insurance management solution allows us to
sitate better storage, retention, and Employees: More than 40,000 tag and organize those records in the
retrieval cycles. Oracle Products and Services: Oracle Content DB, Oracle appropriate way, Abbattista says.
The Data Management Records DB, Oracle Content Services Allstate sees these technology
Associations Cupoli agrees. In this improvements as a means to improve
age of Sarbanes-Oxley and other regulations, the overwhelm- service to customers and employees. The Oracle solution
ing amount of unmanaged, unstructured data could increase already stores several hundred million documents. Over
a companys exposure, she writesespecially since the time, we hope to combine our structured and unstructured
unstructured data is not easily accessible or found. content in a way that gives us record management capabili-
Allstate was attracted to the reliability and comparative ties second to none, says Abbattista. In essence, we want to
low cost of the Oracle content management platform. We provide a taxonomy for data. While the data itself might not
estimate that the Oracle solution is about one-sixth the cost be structured, being able to find, index, search, and align it to
of any other platform we looked at, Abbattista adds. Thats our compliance initiatives is really important. Getting every-
largely because the solution builds upon our existing infra- thing into a database helps us accomplish that objective. O
structure, is extremely effective in its use of resources, and
was engineered to be a robust product. As part of our enter- David Baum (david@dbaumcomm.com) is a freelance business writer based in
prise architecture, we have been able to deploy it as a Web Santa Barbara, California.
service, making it very easy for our application programmers
to integrate it into our IT environment.
With Oracles solution, Allstate will easily be able to specify
which content should be retained, for how long, and in what READ more about
form. For example, financial statements must be retained Oracle Content DB
oracle.com/database/contentdb.html
without change for a set period of time, along with an audit-
able log that controls check-in, check-out, and change man- Oracle Records DB
oracle.com/database/recordsdb.html
agement. The company can integrate with familiar desktop
and business applications, providing a document audit trail LEARN about content management for the entire enterprise
oracle.com/technology/products/contentdb/pdf/contentdb-bus-whitepaper.pdf
that lets them quickly find vital information. Once the reten-
DOWNLOAD Oracle Database 10g
tion period has expired, the content management solution will oracle.com/technology/software/products/database/oracle10g
also administer the disposal of documents in a prescribed way.
62 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
Mobility and Business
Solutions that consider business needs,
processes, and technology while
empowering mobile professionals.
genpact.com
d e v e l o p e r INDUSTRY STANDARD BY R IC H SCHWERI N
remote scripting, Web applications Object Notation. Because all the popular says Ted Farrell, chief architect and
often required a full-page refresh browsers support JavaScript and the vice president of tools and middleware
when the user changed anything on an necessary XMLHttpRequest objects, and at Oracle. This means that developers
just need to program to the same load the Oracle ADF Faces components Foundation, Google, IBM, Laszlo
JSP/JSF APIs they already know, and and the Oracle Ajax render kit, and Systems, Mozilla, Novell, Openwave,
that the Oracle Ajax render kit will then you get a very visual, standards- Oracle, Red Hat, Yahoo!, Zend, and
generate the JavaScript, DHTML, based environment. Oracle JDeveloper Zimbra. The initiative promotes
SVG [Scalable Vector Graphics], and adapts to developers programming Ajaxs promise of universal compatibil-
XMLHttpRequest code that is sent to styles, so different developers working ity with any computer device, applica-
and from the browser. on the same team can edit exactly the tion, or operating system, and easy
Oracle will submit the Ajax render same data in a variety of ways theyre incorporation into existing and future
kit to the open source community as a most comfortable with. software programs. O
follow-up to a previous donation of JSF
components to the Apache MyFaces ORACLE BACKS OPEN AJAX Rich Schwerin (rich.schwerin@oracle.com) is a product
project. The Oracle Ajax render kit is Although Oracle recently joined the marketing manager with Oracle technology marketing.
one of four render kits Oracle offers. Open Ajax initiative to promote Ajax,
The others are HTML, which primarily Farrell explains that Oracles support
generates HTML and some JavaScript; for Ajax isnt newAjax technology
Telnet, which takes JSF components has been part of the Oracle Fusion READ more about Ajax
and renders them out into telnet; and Middleware architecture for more than oracle.com/technology/tech/java/ajax.html
adaptivepath.com/publications/essays/
Mobile, which takes components and two years. Oracle is strongly com- archives/000385.php
renders them for mobile devices. mitted to Ajax technology, and many
A Hype-Free Introduction to Ajax
Oracle ADF Faces and the Oracle of our products, including Oracle oracle.com/technology/pub/articles/schalk-ajax.html
Ajax render kits are not the only Oracle JDeveloper 10g Release 3, utilize Ajax JOIN the Ajax community
tools available for developers working standards, says Farrell. As a result, ajaxmatters.com
with Ajax. Oracle JDeveloper 10g pro- Oracle is making it easier for develop- DISCOVER Ajax development with
vides a wide spectrum of options in ers to reap the benefits of Ajax today Oracle JDeveloper
oracle.com/technology/pub/articles/
terms of what can be built with Oracle and in the next generation of applica-
nimphius-ajax.html
ADF technology, so when it comes tion development.
to Ajax, developers have choices, The initial supporting members of DOWNLOAD Oracle JDeveloper and
Oracle ADF
explains Farrell. You can program in the Open Ajax initiative include BEA, oracle.com/technology/products/jdev
JavaScript directly, or you can down- Borland, Dojo Foundation, Eclipse
66 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
&
&"&
&
&"&
&%!&!
&#
&"&& &" & & &"&%!&$!&! " %
1. SQL Editor - a multi-session, multi-threaded, multi-page 1. The Object Navigator offers a new way to quickly select
utility that executes any SQL statement or script, PL/SQL DB objects, filter content, customize, save and reload scenes
Command, and most SQL*PLUS commands (a syntax (snapshots) of your Object Navigator workspace.
highlighting editor). 2. The ObjectSelector tree shows DB and repository objects
2. Select rows, select any single cell or range of cells and hierarchically, displaying object types in different colored
copy them directly into other file formats with only a few icons: disabled objects in grey, and invalid objects in red.
mouse clicks. Or, for more powerful controls, use the 3. The ContentSelector contains open objects and displays
Export utility. the active object in tabs and its information in sub-tabs.
3. Toggle column visibility or move column position using 4. Scenes are Object Navigator workspace snapshots of all
drag&drop via the unique ColumnSelector. open objects, pane sizes and positions. Re-load a scene
4. Sort data local or server side; toggle sort direction or and see frequently used objects with a single click.
sequence with a single click on any column header. Add or remove objects or navigate through scenes using
5. Execute single or multiple statements in the editor or use the SceneSelector.
Direct Execution on the output tab of your choice using 5. Customize active object display by toggling visibility of
a single click. columns, changing positions, filtering data and saving set-
6. Set the unique Smart Output to automatically select the tings for the object. Re-load the object and it will appear as
most logical output tab at statement execution. saved.
7. Re-execute any previously executed statement with a sin- 6. Table HR.EMPLOYEES has a customized visibility of
gle click using the SQL Execution History list; load pre- columns, sorted data by two columns on the server side
saved scripts from a file; or paste one from the clipboard. and an active Filter Salary >9000 in the column SALARY.
codeLISTING 1: A simple custom service method in an application module proxy file is called HRServiceClient and
is created in the oramag.frameworks
public void deleteCurrentEmpAndCommit() {
Row empRow = getEmpView().getCurrentRow(); .example.client subpackage.
if (empRow != null) { You can include most custom methods
empRow.remove();
in the client interface. For a method to
getDBTransaction().commit();
} be successfully added, all the types in
} its method signature must implement
the java.io.Serializable interface and any
checked exceptions must be JboException
codeLISTING 2: An application module custom interface
or a subclass. Your method can also throw
package oramag.frameworks.example.common; any unchecked exceptionjava.lang
import oracle.jbo.ApplicationModule;
public interface HRService extends ApplicationModule { .RuntimeException or subclass thereof
void deleteCurrentEmpAndCommit(); without any problems. If you add a
} method to the application module class
but dont see it in the Available list, first
check that it doesnt violate any of the
To add a custom service method to an also need to include the method in the rules above. If it seems that your added
application module in Oracle JDeveloper, application modules client interface to let method should be legal, try recompiling
simply enable a custom Java class for client UIs invoke it. In Oracle JDeveloper, the application module class and visiting
your application module, navigate to it to publish a method from your applica- the Application Module Editor again.
in the Java code editor, and type the Java tion modules custom Java class on the The online version of this article, at
code for a new public method into the client interface, use the Client Interface oracle.com/technology/oramag/oracle/
application modules Java implementa- panel of the Application Module Editor. 06-sep/o56frameworks.html, includes
tion class. Listing 1 shows a simple Select one or more desired methods from information on calling a custom service
deleteCurrentEmpAndCommit() method the Available list, and click > to move method. For more details about working
that could be used in an HRService appli- them to the Selected list. Then click OK with ADF Business Components, see
cation module. This method accesses the to save your changes. the Oracle ADF Developers Guide for
current row in an EmpView view object When you publish custom service Forms/4GL Developers manual on OTN at
instance in the data model and calls its methods on the client interface, Oracle oracle.com/technology/documentation/
remove() method to delete it. The JDeveloper creates a Java interface jdev/b25947_01. O
deleteCurrentEmpAndCommit() method with the same name as the application
then accesses the current transaction module in the common subpackage of Steve Muench is a consulting product manager for
and calls its commit() method to save your application modules package (as Oracle JDeveloper and an Oracle ACE. In his more than
the changes. illustrated in Listing 2). For an appli- 16 years at Oracle, he has developed and supported
Although a custom application cation module named HRService in Oracle tools and XML technologies and continues to
module method can accept arguments the oramag.frameworks.example package, evangelize them. Muench coauthored the Oracle ADF
if necessary, note how easy it is for the this custom interface would be named Developers Guide for Forms/4GL Developers (Oracle,
code in custom methods to refer to a HRService and reside in the oramag 2006) and wrote Building Oracle XML Applications
view object instance in the data model, .frameworks.example.common package. (OReilly Media, 2000). He shares tips and tricks on OTN
using generated accessor methods such The interface extends the base (oracle.com/technology) and in his Dive into BC4J and
as getEmpView(). By calling the ApplicationModule interface in the oracle ADF blog (radio.weblogs.com/0118231).
getCurrentRow() method on a view .jbo package, reflecting the fact that a
object (as shown in Listing 1), you can client can access all of the base function-
access the same current row for any view ality your application module inherits
object the client user interface uses. As from the ApplicationModuleImpl class.
a result, there is often no need to pass Whenever you add methods to or READ online-only article content
oracle.com/technology/oramag/oracle/06-sep/
parameters from the client if the goal is remove them from the Selected list in o56frameworks.html
simply to pass values from current rows the Client Interface panel, the corre-
READ more about Oracle
of other view object instances in the sponding service interface file gets JDeveloper 10g and Oracle ADF
same application modules data model. updated automatically. Oracle JDeveloper oracle.com/technology/products/jdev
oracle.com/technology/products/jdev/tips/
also generates a companion client proxy muench/designpatterns
PUBLISHING CUSTOM SERVICE METHODS class that is used when you deploy oracle.com/technology/documentation/jdev/
b25947_01
TO CLIENTS your application module for access by a
When you add a public custom method remote client. For the HRService applica- DOWNLOAD Oracle JDeveloper 10g
oracle.com/technology/products/jdev
to your application module class, you tion module in this example, the client
70 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
d e v e l o p e r ODP.NET BY M A R K A. WI LLI AMS
click Execute. To grant the second privi- codeLISTING 1: The HR.ORAMAG PL/SQL package code
lege, delete the existing text in the query
CREATE OR REPLACE PACKAGE HR.ORAMAG IS
editor, type GRANT DEBUG ANY PROCEDURE TYPE T_IN_VALUES IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
TO HR, and click Execute. TYPE T_OUT_VALUES IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
can now create the PL/SQL example code IS_NOT_A_PRIME CONSTANT NUMBER DEFAULT 0;
used in this article to demonstrate the fea- IS_A_PRIME CONSTANT NUMBER DEFAULT 1;
tures of the PL/SQL debugger. You create
JOBS_REC jobs%rowtype;
a PL/SQL package and a PL/SQL package
body. The PL/SQL package describes and PROCEDURE ADD_NEW_JOB (P_JOB_ID IN JOBS.JOB_ID%TYPE,
exposes (or publishes) the functionality P_JOB_TITLE IN JOBS.JOB_TITLE%TYPE,
P_MIN_SALARY IN JOBS.MIN_SALARY%TYPE,
in the package body, which is where the P_MAX_SALARY IN JOBS.MAX_SALARY%TYPE);
functionality described in the package is END ORAMAG;
implemented. The PL/SQL code example
in Listings 1 and 2 determines whether
each number in a PL/SQL array is a prime Select Console Application from the Studio main menu, select Oracle
number and creates a new row in the Templates list, and give the new project Developer Tools from the Options list,
JOBS table using a PL/SQL record. a name such as SepOct2006 in the Name and then click the check box next to
To create the PL/SQL code, use field. You must add a reference to the HR.ORAMAG in the Available Database
the query window within ODT. To ODP.NET assembly to your project to Connections list. The PL/SQL debugger
display the query window, right-click access the PL/SQL code. To add the refer- may identify the code to be debugged by
the HR.ORAMAG connection node ence, select Project -> Add Reference looking for any checked connections, so
in Oracle Explorer and select Query from the Visual Studio main menu. if you have other connections defined,
Window from the context menu. Enter Select Oracle.DataAccess.dll from the ensure that they are not checked.
the text of Listing 1 in the Query Editor Component Name list. Now that the In the same location, you will see
field, and click Execute to create the reference to the ODP.NET assembly has a TCP/IP port range. During PL/SQL
package. Next, replace the text in the been added, replace the template C# code debugging, Oracle Database will connect
Query Editor field with the text of generated by Visual Studio with the code to Visual Studio via TCP/IP on a random
Listing 2 and click Execute to create the in Listing 3, available with this columns port within this range. Make sure this
package body. The Listing 1 and Listing code download and in the online version range represents open ports on your
2 code is available in the Database.sql of this column at oracle.com/technology/ machine and that they are not blocked
script included with this columns code oramag/oracle/06-sep/o56odp.html. by a firewall.
download, at oracle.com/technology/ When you create a new project, The last step in configuring ODT
oramag/oracle/06-sep/o56odp.zip. the Enable the Visual Studio hosting to debug PL/SQL alongside your .NET
You must compile the PL/SQL code process debug option is enabled by code is to enable application debug-
with debug information to enable default. Oracle recommends that you ging. To do this, select Tools -> Oracle
debugging. To do this, go to Oracle disable it, by selecting Project -> Application Debugging from the Visual
Explorer and expand the Packages Properties from the Visual Studio Studio main menu and ensure that
node. Find the ORAMAG package; main menu, clicking the Debug tab, there is a check mark next to Oracle
right-click it; and from the menu, select and unchecking Enable the Visual Application Debugging in the menu,
Compile Debug. The icon next to the Studio hosting process in the Enable indicating that it is enabled.
ORAMAG package and the individual Debuggers list. Alternatively, you
procedures and functions underneath will need to start and then terminate DEBUGGING THE PL/SQL CODE
it will change to reflect that it has been the debugger once before the PL/SQL Now that you have created the PL/SQL
compiled with debug information. debugger can work properly. code, granted the appropriate privileges
to the HR user, and created a C# project,
CREATE THE .NET PROJECT CONFIGURING THE DEBUGGER OPTIONS you can debug the code from within the
To create a new .NET project to test To debug the PL/SQL code seamlessly Visual Studio environment.
and debug the PL/SQL code, select from the Visual Studio environment, you Setting break points. You must set break
File -> New -> Project from the Visual need to configure ODT to locate the points in both your C# and PL/SQL
Studio main menu. Select Visual C# PL/SQL code to be debugged: Select code to stop the debugger during execu-
Projects from the Project Types list. Tools -> Options from the Visual tion. Set a break point in your C# code
72 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
after the ExecuteNonQuery call, which
executes the DETERMINE_PRIMES PL/
SQL procedure. In addition, set a break
point in your PL/SQL code after the
BEGIN keyword in the DETERMINE_
PRIMES procedure. If you dont set a
break point in your PL/SQL code, the
debugger will not stop inside the PL/
SQL code body. If you dont set a break
point in your C# code, the debugger
will not stop inside the C# code when
you return from the PL/SQL code. To
compile and run the solution in debug
mode, select Debug -> Start Debugging
from the Visual Studio menu. The
program will begin running, and the
ODT debugger will stop execution on
your break point in the PL/SQL code
(see Figure 1). Press the F11 key to step
through the PL/SQL code line by line.
Viewing and modifying variable values.
Figure 1: The PL/SQL debugger and array expansion during debugging While debugging the example, you can
watch the C# application set up and
call the DETERMINE_PRIMES PL/SQL
procedure, which accepts an array in
its first parameter. When working with
the PL/SQL debugger in Visual Studio,
you can see each element in an array
at debug time with the live data that
was passed to the procedure from the
.NET application. Figure 1 shows the
debugger stopped on the break point
in the DETERMINE_PRIMES PL/SQL
procedure with the passed-in array
P_IN_VALUES expanded in the Locals
window, which displays local variables.
In addition to examining types such
as arrays while debugging, you can
examine other complex types, such as
each element in a PL/SQL record type or
a user-defined type.
To continue executing the program,
press the F5 key until the Visual Studio
Figure 2: Examining a PL/SQL record type within the PL/SQL debugger debugger halts execution on the break
point you previously set in the C# code.
Set a break point in the ADD_NEW_JOB
PL/SQL procedure. You can then press
F5 once more to continue execution until
you reach the break point in the ADD_
NEW_JOB procedure. To step through
this procedure line by line, press F11.
Figure 2 illustrates drilling down into
the JOBS_REC PL/SQL record type in
the ADD_NEW_JOB stored procedure.
Figure 3: Viewing a PL/SQL call stack To view or drill down into a global
codeLISTING 2: The HR.ORAMAG PL/SQL package body code PL/SQL package variable such as JOBS_
REC, you must use the Watch window,
CREATE OR REPLACE PACKAGE BODY HR.ORAMAG IS
a built-in window in Visual Studio that
PROCEDURE DETERMINE_PRIMES (P_IN_VALUES IN T_IN_VALUES,
P_OUT_VALUES OUT T_OUT_VALUES) IS allows you to examine specific program
BEGIN variables. To add JOBS_REC to the
for i in p_in_values.first..p_in_values.last
loop
Watch window, right-click JOBS_REC in
p_out_values(i) := is_prime(p_in_values(i)); the code and select Add Watch from the
end loop; context menu.
END DETERMINE_PRIMES;
View the PL/SQL call stack. Another
FUNCTION IS_PRIME (P_NUMBER IN NUMBER) RETURN NUMBER IS important PL/SQL debugging feature is
l_sqrt number := 0;
the ability to view the PL/SQL call stack.
l_sqrt_ceil number := 0;
l_divisor number := 0; By examining the call stack, you can
l_divisor_squared number := 0; determine the code path to the current
begin
if p_number < 2 then
point in the execution of your program.
return IS_NOT_A_PRIME; To view the call stack, click Visual
end if; Studios Call Stack tab, which is available
if p_number != ceil(p_number) then by default in debug mode. Figure 3 illus-
return IS_NOT_A_PRIME; trates the call stack within the IS_PRIME
end if; PL/SQL function in the package body.
if p_number = 2 then You can double-click on any level
return IS_A_PRIME; of the stack to go to the corresponding
end if;
line of code.
if mod(p_number,2) = 0 then
return IS_NOT_A_PRIME; SUMMARY
end if;
With the example code provided with
l_sqrt := sqrt(p_number); this column, you can take your own tour
l_sqrt_ceil := ceil(l_sqrt); of the PL/SQL debugger. It offers the
if l_sqrt = l_sqrt_ceil then same debugging features you are already
return IS_NOT_A_PRIME; familiar with from your experience in
end if;
debugging C# or VB code, and the ability
l_divisor := 3; to seamlessly debug both .NET and PL/
SQL code from a common environment is
for i in 1..l_sqrt_ceil
loop
a welcome addition to the tools available
l_divisor_squared := l_divisor * l_divisor; for the .NET and Oracle programmer. O
if mod(p_number,l_divisor) = 0 and l_divisor_squared < p_number then
return IS_NOT_A_PRIME; Mark A. Williams (mawilliams@cheshamdbs.com)
end if; is an Oracle ACE, an Oracle Certified Professional
DBA, and the author of Pro .NET Oracle Programming
if l_divisor_squared > p_number then
return IS_A_PRIME; (Apress, 2004).
end if;
l_divisor := l_divisor + 2;
end loop;
END IS_PRIME; READ online-only column content
oracle.com/technology/oramag/oracle/06-sep/
PROCEDURE ADD_NEW_JOB (P_JOB_ID IN JOBS.JOB_ID%TYPE, o56odp.html
P_JOB_TITLE IN JOBS.JOB_TITLE%TYPE,
P_MIN_SALARY IN JOBS.MIN_SALARY%TYPE, VISIT the .NET Developer Center
P_MAX_SALARY IN JOBS.MAX_SALARY%TYPE) IS oracle.com/technology/dotnet
BEGIN DOWNLOAD
jobs_rec.job_id := p_job_id;
the sample code for this column
jobs_rec.job_title := p_job_title; oracle.com/technology/oramag/oracle/06-sep/
jobs_rec.min_salary := p_min_salary; o56odp.zip
jobs_rec.max_salary := p_max_salary;
ODP.NET 10g
insert into jobs (job_id, job_title, min_salary, max_salary) oracle.com/technology/tech/windows/odpnet
values (jobs_rec.job_id, jobs_rec.job_title, jobs_rec.min_salary, jobs_rec.max_salary); Oracle Developer Tools for Visual
END ADD_NEW_JOB;
Studio .NET
oracle.com/technology/tech/dotnet/tools
END ORAMAG;
74 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
d e v e l o p e r BROWSER-BASED BY R A J MATTAMAL
Express Lockdown
Lock down your Oracle Application Express applications.
hen talking about Oracle 11. Click Create on the last page of you from having to create this plumb-
Application Express, I find the wizard to confirm your decision to ing, so you can focus on securing the
that the concept of authen- create an application. areas that need securing.
tication is easy to explain. To start the Access Control Page
Access control within applications, STEP 2: TAKE A QUICK LOOK AT wizard, do the following:
however, seems to be a bit more difficult THE APPLICATION 1. In the developer toolbar at the
to convey. With that in mind, Id like to At this point, you can see the application bottom of the screen, click Create.
walk through the process of creating an in action by clicking Run Application 2. Select New Page, and click Next.
application and then locking it down so on the success page. Log in, using the 3. Select Access Control, and click Next.
that only privileged users can perform same username and password you used 4. Accept the default administration
specific operations. In doing so, Ill take to log in to your Oracle Application page number, 8, and click Next.
advantage of a feature newly added to Express workspace. The application is a 5. Select Use an existing tab set and
Oracle Application Express in version simple one that allows you to view and create a new tab within the existing
2.2: the Access Control Page wizard. update the employee data you uploaded tab set.
in step 1. Clicking the Analysis tab 6. Select TS1 (Employees, Analyze) in
STEP 1: SET UP THE TABLES provides you with access to visual and the Tab Set field.
To get started, create (or have your tabular breakdowns of the number of 7. Enter Administration in the New Tab
administrator create) a new work- employees in each department. Label field, and click Next.
space. Once logged in to your Oracle 8. Click Finish.
Application Express workspace, create STEP 3: ADD AN ACCESS CONTROL PAGE If you click Run Page on the success
an application based on the employee Traditionally, you would secure the page of the wizard, youll see the access
data in the provided spreadsheet: application by first defining a set of control page you just added to your
1. Click Application Builder. authorization schemes that determine application. The page is divided into
2. Click Create. if the current user has specific privi- two regions, one where you set the
3. Select Create from Spreadsheet, and leges based on some rules. With those Access Mode of the application and
click Next. schemes defined, the next step would another where you populate a list of
4. Select Upload file, and click Next. be to flag the various parts of the appli- privileged users.
5. Click Browse; select the om_ cation, including user interface compo-
employees.csv script, available with the nents and application logic, to render STEP 4: IDENTIFY PRIVILEGED USERS
sample application code for this article at or process only after they pass those Select the second Access Mode option,
oracle.com/technology/oramag/oracle/ security checks. Restricted Access, and click Set
06-sep/o56browser.zip; and click Next. Oracle Application Express 2.2, Application Mode. In the Access
6. Enter OM_EMPLOYEES into the Table however, introduces a much more Control region, youll specify which
Name field, and click Next. streamlined approach to creating and users have what privileges. To keep
7. Enter Employee and Employees into managing those authorization schemes, things simple, the users of your appli-
the Singular Name and Plural Names with the Access Control Page wizard. cation will be the employees in the
fields, respectively. Using this wizard creates two tables om_employees.csv spreadsheet. Within
8. Click Next. in your application schema as well as that list, give JCHEN administrative
9. Select DEPARTMENT_ID in the a screen for managing the values they privileges, AFRIPP edit privileges, and
Summary by Column field, and click store. The wizard also creates three LPOPP view privileges.
Next. authorization schemes that check those 1. Click Add User.
10. Click Next again on each of the sub- tables to see two things: (1) the access 2. Enter JCHEN in the Username
sequent pages, accepting the defaults, mode of the application overall and (2) field, and select Administrator in the
to complete the wizard. (On the User whether the current user has been iden- Privilege column.
Interface page, select a theme other than tified as having Admin, Edit, or View 3. Click Apply Changes, and then click
the defaultTheme 1, if you like.) privileges. Using this new wizard saves Add User.
76 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
Oracle Fusion Middleware
Single Sign-on Access Management Identity Administration User Provisioning Federated Identity
Virtual Directory LDAP Directory Web Services Management
oracle.com/middleware
or call 1.800.ORACLE.1
Copyright 2006, Oracle. 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.
d e v e l o p e r PL/SQL PRACTICES BY STEVEN FEUERSTEI N
Here are two notes to make about CREATE OR REPLACE PACKAGE BODY string_pkg
this implementation: IS
OI have declared a local variable, but I
FUNCTION betwnstr (
string_in IN VARCHAR2
dont really need it here. It is present to , start_in IN PLS_INTEGER
demonstrate the best practice of how to , end_in IN PLS_INTEGER
best declare such variables. )
RETURN VARCHAR2
OThis is a simplified implementation of IS
BETWNSTR to demonstrate best prac- l_return maxvarchar2_t;
tices. It does not handle all the cases a BEGIN
l_return := SUBSTR ( string_in
real between string utility should. , start_in
Now I am going to move the , end_in - start_in + 1 );
BETWNSTR function into a package and RETURN l_return;
END betwnstr;
move the hard-coded local variable dec- END string_pkg;
laration, as shown in Listing 1. /
Notice that I have now declared the
following subtype:
duced in Oracle9i Database Release string_in IN VARCHAR2
SUBTYPE maxvarchar2_t IS 2). You can also define your own type, , start_in IN PLS_INTEGER
VARCHAR2 ( 32767 ); again perhaps in your centralized string , end_in IN PLS_INTEGER
package, and then reference that type. )
I use that subtype in my declaration Suppose I want to add a function RETURN VARCHAR2;
of the local variable. to my string package that accepts a list
It is true that I do still have a hard- of elements separated by a delimiter (a FUNCTION list_to_collection (
coding of the number 32767 in my comma-delimited list, or a string such string_in IN VARCHAR2
package, but it appears only once and as that returned by DBMS_UTILITY , delim_in IN VARCHAR2
serves as the single point of definition .FORMAT_CALL_STACK, delimited by DEFAULT ,
for the new, biggest VARCHAR2- new-line characters) and returns a col- )
allowed datatype. lection whose elements are those strings RETURN DBMS_SQL.varchar2a;
If Oracle Database increases the between delimiters. I can take one of END string_pkg;
maximum size for a VARCHAR2, I can two approaches: /
make a change in one place and recom- 1. Use a collection type defined by
pile string_pkg and all programs that Oracle Database and available automati- 2. Alternatively, I define my own collec-
use this package, and then my applica- cally to all programmers, such as those tion type in the package and then use
tion will be able to immediately take found in the DBMS_SQL package. Here that in the function interface:
advantage of the expanded datatype. is an example of the function header for
Work with lists of strings. As noted above, this approach: CREATE OR REPLACE PACKAGE
to work with a list of strings you need string_pkg
to declare the list based on an already- CREATE OR REPLACE PACKAGE IS
defined collection type. You can use string_pkg SUBTYPE maxvarchar2_t IS
a type offered by Oracle Database, IS VARCHAR2 ( 32767 );
such as DBMS_SQL.VARCHAR2S SUBTYPE maxvarchar2_t
(maximum of 255 characters per string) IS VARCHAR2 ( 32767 ); TYPE maxvarchar2_aat IS
or DBMS_SQL.VARCHAR2A (maximum TABLE OF maxvarchar2_t
of 32,767 characters per string, intro- FUNCTION betwnstr ( INDEX BY PLS_INTEGER;
80 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
FUNCTION betwnstr ( Lets just use CLOBs as the standard you run your application and gather
string_in IN VARCHAR2 datatype for string functions. I could information about its real-time behavior.
, start_in IN PLS_INTEGER then build a VARCHAR2 skin that Afterwards, you examine the trace to
, end_in IN PLS_INTEGER simply invokes the CLOB-based algo- identify bugs. When you debug, you
) rithm for its implementation. Given the step through the code line by line and
RETURN VARCHAR2; performance characteristics of CLOB, examine the goings-on in your code.
however, it is recommended that you This is a crucial technique for identify-
FUNCTION list_to_collection ( use CLOB only when youre sure that ing the cause of a bug.
string_in IN VARCHAR2 VARCHAR2 (32767) is not big enough. There are a variety of tracing scenarios:
, delim_in IN VARCHAR2 For additional discussion on this ODevelopment tracing. I want to trace
DEFAULT , topic, refer to the online version of the execution of my program during
) this column at oracle.com/technology/ development, to understand, test, and
RETURN maxvarchar2_aat; oramag/oracle/06-sep/o56plsql.html. debug the code thoroughly. I neither want
END string_pkg; nor need tracing in my production code.
/ WHATS THE DBMS_OUTPUT OVERHEAD? OProduction tracing. I need to include
it introduces an external dependency in conditionally skip them where possible or No, cases, I can rely solely on DBMS_
this package. Because the DBMS_SQL there is minimal impact; dont go to the effort OUTPUT to display tracing data to
package is present in all versions of of trying to conditionally make the calls. the screen. In many other situations,
Oracle Database, its hard to get too What a fine and very practical ques- however, I will want to use a different
worried about this external dependency. tion you ask. repository for my trace. For example,
Generally, though, you are better off Before I answer it, Ill briefly describe suppose my program runs for hours. I
avoiding such dependencies or at least how DBMS_OUTPUT works and want to see the trace information while
minimizing the number of dependen- provide some information about tracing. the program continues to execute. So
cies in a program. The second option (a How DBMS_OUTPUT works. The I will write information out to a table
collection type defined directly within DBMS_OUTPUT package provides a using an autonomous transaction proce-
the package specification) allows you to procedure (PUT_LINE) that writes text dure. I can then see the output immedi-
define a completely self-contained utility. out to a buffer (an array in memory) if ately from another session.
Functions for VARCHAR2s and CLOBs. In output has been enabled. Host environ- As with every other aspect of your
Oracle9i Database Release 2 and above, ments like SQL*Plus can then call the application design, you should think
you can in many circumstances treat DBMS_OUTPUT.GET_LINES procedure through the kinds of tracing you need
VARCHAR2 and CLOB interchangeably. to retrieve the contents of the buffer and and the repositories in which the trace
Visit the PL/SQL Semantics for LOBs display those strings through some kind information must be written before you
section in the Oracle Database Application of visual interface. DBMS_OUTPUT is, begin writing your application.
Developers GuideLarge Objects, at therefore, only useful when executing Testing. To answer your question, I put
download.oracle.com/docs/cd/B19306_ code from an environment that can/will together a scriptlocated in Listing 2
01/appdev.102/b14249/adlob_plsql_ display output from this built-in package. of the online version of this column,
semantics.htm#i1008068, to get more DBMS_OUTPUT is certainly the sim- at oracle.com/technology/oramag/
details about how Oracle Database will plest and most direct means of seeing oracle/06-sep/o56plsql.htmlto test the
implicitly convert between VARCHAR2 what is happening inside your PL/SQL overhead of calling DBMS_OUTPUT
and CLOB, and how you can apply subprogram. The need for the host envi- .PUT_LINE. I explain it and the results
many of the standard VARCHAR2 built- ronment to extract data from the buffer, in a bit more detail below, but I will first
in functions directly to CLOBs. however, limits the usefulness of DBMS_ offer my conclusions to you:
Because CLOBs can be much larger OUTPUT as a tracing mechanism. 1. The impact on application performance
than VARCHAR2 strings, you can think Tracing issues and requirements. Tracing is (here comes one of those classically
of a VARCHAR2 variable as being (logi- generally refers to implementing a infuriating answers) application-specific.
cally) a subtype of CLOB. So a function mechanism in your code so that you That is, a call to DBMS_OUTPUT.PUT_
that works with CLOBs should also can trace or watch what is going on in LINE all by itself doesnt incur very much
work with VARCHAR2s. your code. Tracing is different, by the overhead. (For example, over 100,000
One might then be tempted to say, way, from debugging. When you trace, invocations of my test code, calling
Test case Length of string Number of calls Elapsed time course). Now, one issue I believe you
(hundredths of seconds) will currently encounter when using lots
DBMS_OUTPUT enabled 10 1000000 767 of conditional compilation statements
DBMS_OUTPUT disabled 10 1000000 392 in your code ($IF, $ENDIF, $ERROR,
DBMS_OUTPUT enabled 10000 1000000 984 $$ccflagname, and so on) is that the code
DBMS_OUTPUT disabled 10000 1000000 739 is harder to read. I expect, however, that
DBMS_OUTPUT disabled NULL 1000000 61 the various PL/SQL editors, such as Toad,
Call to N/A 1000000 11 SQL Navigator, PL/SQL Developer, and
DBMS_OUTPUT.PUT_LINE the latest entryOracle SQL Developer,
removed
will soon offer toggles to hide this logic
Table 1: Analysis of DBMS_OUTPUT.PUTLINE overhead as you are editing and reviewing your
code, greatly improving that situation.
DBMS_OUTPUT.PUT_LINE and passing a date and a Boolean. This may be more OIf you are not yet running Oracle
NULL, took .61 seconds. Removing the work than is usually performed when Database 10g Release 2, also consider
call to this built-in reduced execution time you call DBMS_OUTPUT.PUT_LINE, enclosing trace calls inside your own
to .11 seconds.) What can take a lot of but it is surely not outside the realm of conditional statement, which might look
time is evaluating the value that you pass normal tracing activity. like this:
to the single string parameter of DBMS_ OI called DBMS_OUTPUT.PUT_LINE
OUTPUT.PUT_LINE. More on this below. with the following variations: output IF trace_pkg.trace_enabled
2. The more important question when enabled, output disabled, pass just a THEN
examining the issue of tracing in ones NULL, and dont call DBMS_OUTPUT trace_pkg.trace (l_my_data);
code is, What is the best way to do it, .PUT_LINE at all. END IF;
from the standpoint of readability and Table 1 shows what I found after
maintainability of code? (Hey, this running this script. With this approach, the argument(s)
is, after all, a best-practices column!) As you can see, there is certainly passed to the trace mechanism will be
Generally, ones code is more readable overhead associated with calling DBMS_ evaluated only if tracing is enabled.
when it is not littered with lots of calls to OUTPUT.PUT_LINE, and the scale of You can, therefore, keep to an absolute
trace programs. that overhead depends very much on the minimum the overhead your application
The results are in. Having said all that, amount of work it takes to construct and will experience when tracing is disabled. O
lets now take a look at the results of pass the string to DBMS_OUTPUT.PUT_
my analysis of the overhead of calling LINE. Is this overhead considerable or Steven Feuerstein (steven@stevenfeuerstein.com)
DBMS_OUTPUT.PUT_LINE. I will then minimal? I cannot answer that question is a PL/SQL evangelist, having written 10 books on
conclude with more best-practice for youit depends on your application. the subject, including Oracle PL/SQL Programming
oriented comments. Tracing recommendations. I offer the fol- and Oracle PL/SQL Best Practices (OReilly Media).
To construct the script to analyze lowing tracing recommendations: Feuerstein serves as a senior technology advisor for
overhead in DBMS_OUTPUT.PUT_LINE ONever call DBMS_OUTPUT.PUT_LINE Quest Software and is currently building a unit testing
in Listing 2, here is the approach I took: directly in your application code. Create a tool for PL/SQL programs (www.unit-test.com).
OI used consecutive calls to DBMS_ wrapper that accepts the application data
UTILITY.GET_CPU_TIME to compute you want to see in your trace and then
elapsed time down to the hundredth of a calls DBMS_OUTPUT.PUT_LINE. Why
second (you can substitute this program do I suggest this? Prior to Oracle Database
with DBMS_UTILITY.GET_TIME if you 10g, DBMS_OUTPUT.PUT_LINE will READ online-only column content
are not yet running Oracle Database 10g). raise an error if you try to display strings oracle.com/technology/oramag/oracle/06-sep/
o56plsql.html
OI recorded the results in a database with more than 255 characters (that limit
table, because DBMS_OUTPUT must has now been raised to 32K). Also, you READ more
Best Practice PL/SQL
be disabled for at least part of this may want to send trace information to a oracle.com/technology/pub/columns/plsql
script and is, in any case, the focus of file or table rather than the screen, and a Feuerstein
our analysis and should not be used to direct call to DBMS_OUTPUT.PUT_LINE www.oreillynet.com/cs/catalog/view/au/344
record and display results. forces you to sacrifice that flexibility. LEARN more about
OFor most of the tests, I passed a OIf you are running Oracle Database conditional compilation
oracle.com/technology/tech/pl_sql/pdf/
string that requires some effort to con- 10g Release 2, take advantage of condi- Plsql_Conditional_Compilation.pdf
struct each time the built-in is called. tional compilation so that you can easily
DOWNLOAD Oracle Database 10g
Specifically, I used RPAD to create a compile out the trace calls when your oracle.com/technology/software/products/database/
string of a length specified at the time program goes into production (unless oracle10g
the test is run, and concatenated to that you need production-time tracing, of
82 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
t e c h n o l o g y PARTITIONING BY A RU P N A N DA
Partition Decisions
Understand your partition choices, and choose the best partition and key for your data.
he partitioning feature of Oracle scheme and the number of partitions, create table sales (
Database enables you to partition from the DBA_PART_TABLES view. You product_id number,
stored data segments such as tables can get the details of each partition, such trans_amt number,
and indexes for easier manage- as the name and the upper boundary sales_dt date,
ment and improved performance. Oracle of the partition, from the DBA_TAB_ state_code varchar2(2)
Database provides many types of parti- PARTITIONS view, as shown in Listing )
tioning options, including partition by list (state_code)
range, list, hash, range/list, (
and range/hash. The real partition ct values (CT),
challenge for database partition ca values (CA),
designers is not creating partition def values (default)
the partitioned objects; );
rather, its the decision that
precedes itwhat type of Sometimes it may not be pos-
partitioning to use and what sible to define the ranges ofor
column to use as a partition a set of known values foreach
key. This article describes partition. A typical example is a
how to choose the best par- table, CUST, containing custom-
titioning strategy, including ers, with the CUST_ID column
the best partition type and as the primary key. The CUST_
best partition key column. ID value is an incrementally
increasing but rather meaning-
A QUICK PRIMER less number, so a range partition
Partitioning, in a nutshell, based on these values may also
stores a data segment such as a table 2. Note that this view shows the high be rather meaningless.
as multiple segments while retaining a value of a partition, which is actually the You can partition the CUST table
logically monolithic structure. The most lower boundary of the next partition. by using hash, where a hash function
popular partitioning option is range par- A partition holds records up to but not is applied to the partition key of each
titioning, with which you define a range including its high value. For instance, row and, based on the output, the row
of values for each partition. For example, the upper boundary of the Y05Q2 is placed in an appropriate partition.
in a table of customer transactions called partition is 2005-07-01 00:00:00, All the hash partitions hold an equal
TRANS, you can range-partition it by meaning this partition contains values number of rows. Here is how you create
using the TRANS_DT (transaction date) up to 2005-06-30 23:59:59. Records the CUST table with four hash partitions:
column as the partition key so that a with TRANS_DT values of 2005-07-01
first partition holds records in which the 00:00:00 and later will be stored in the create table cust (
TRANS_DT value is between January 1 next partitionY05Q3. cust_id number,
and March 31, 2005; the second partition In the TRANS table example, you cust_name varchar2(20)
holds records in which the TRANS_DT could find a column that can be grouped )
value is between April 1 and June 30; and into ranges of values such as dates, but it partition by hash (cust_id)
so on. Listing 1 creates this table. may not be possible to group all columns partitions 4;
After youve created the TRANS that way. For example, a column holding
table, you will seeif you query the names of U.S. states contains a finite and INDEXES
DBA_TABLES dictionary viewthat the small number of values. This type of You can create two types of indexes on
PARTITIONED column value is YES. You column calls for list partitioning, in which partitioned tables:
GIL ADAMS
can get further details about the parti- the partitions hold discrete values instead Local. The index is partitioned in exactly
tioning, such as the type of partitioning of ranges. Here is an example: the same way as the base table. For
instance, you can create a local index on codeLISTING 1: Script for creating the TRANS table with range partitions
the TRANS_AMOUNT column of the
create table trans (
TRANS table as follows: trans_id number,
trans_dt date,
create index in_trans_01 product_code number,
store_id number,
on trans (trans_amount) trans_amount number(12,2)
local; )
partition by range (trans_dt)
(
This creates a range-partitioned index, partition y05q1 values less than (to_date(04/01/2005,mm/dd/yyyy)) tablespace y05q1,
on the TRANS_DT column, the same way partition y05q2 values less than (to_date(07/01/2005,mm/dd/yyyy)) tablespace y05q2,
the TRANS table is partitioned. All the partition y05q3 values less than (to_date(10/01/2005,mm/dd/yyyy)) tablespace y05q3,
partition y05q4 values less than (to_date(01/01/2006,mm/dd/yyyy)) tablespace y05q4,
index entries for a specific partition, such partition pmax values less than (maxvalue) tablespace users
as Y05Q1, will exist only inside the cor- )
responding partition of the index.
Global. The index can span all partitions
codeLISTING 2: TRANS partition details
in the base table. For example, suppose
col partition_position format 999 head Pos
there is a primary key on TRANS, on the
col partition_name format a10 head Name
TRANS_ID column. The primary key col high_value format a50 head High Value
can be anywhere inside the table, across select partition_position, partition_name, high_value
from dba_tab_partitions
all the partitions. In this case, the index
where table_name = TRANS order by 1;
entries of a partition of the table may
exist outside the corresponding partition Pos Name High Value
------- ------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
of the index. For such a situation, create
1 Y05Q1 TO_DATE( 2005-04-01 00:00:00, SYYYY-MM-DD HH24:MI:SS, NLS_CALENDAR=GRE...
a global index, as follows: 2 Y05Q2 TO_DATE( 2005-07-01 00:00:00, SYYYY-MM-DD HH24:MI:SS, NLS_CALENDAR=GRE...
3 Y05Q3 TO_DATE( 2005-10-01 00:00:00, SYYYY-MM-DD HH24:MI:SS, NLS_CALENDAR=GRE...
4 Y05Q4 TO_DATE( 2006-01-01 00:00:00, SYYYY-MM-DD HH24:MI:SS, NLS_CALENDAR=GRE...
alter table trans
5 PMAX MAXVALUE
add constraint pk_trans
primary key (trans_id)
using index global; codeLISTING 3: Script for creating the ADVERTISING table
create table advertising (
THE PARTITION DECISION ad_id number,
Now that youve seen the basics of parti- ad_dt date,
product_code number,
tioning, here comes the tough part: How
ad_cost number,
do you decide on the type and columns channel varchar2(10)
used for partitioning? Your choice of )
partition by range (ad_dt)
partitioning has to address key partition-
(
ing objectives for manageability and partition y05q1 values less than (to_date(04/01/2005,mm/dd/yyyy)) tablespace y05q1,
performance. How you partition will partition y05q2 values less than (to_date(07/01/2005,mm/dd/yyyy)) tablespace y05q2,
partition y05q3 values less than (to_date(10/01/2005,mm/dd/yyyy)) tablespace y05q3,
be based on the priorities you assign to
partition y05q4 values less than (to_date(01/01/2006,mm/dd/yyyy)) tablespace y05q4,
your objectives. I break down the objec- partition pmax values less than (maxvalue) tablespace y05q4
tives into the following categories: );
OPerformance
OEase of administration
84 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
be judicious not to create the codeLISTING 4: Results from hash-partitioned tables
index but to list-partition the PLAN_TABLE_OUTPUT
table on the PRODUCT_CODE ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
column, with one partition per Plan hash value: 2303213640
PRODUCT_CODE value. The ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
PMs query will still do a full- | Id | Operation | Name | Rows | Bytes | Cost (%CPU) | Time | Pstart | Pstop |
table scan, but this time the ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 78 | 11 (19) | 00:00:01 | | |
scope of the full table is actu- | 1 | HASH GROUP BY | | 1 | 78 | 11 (19) | 00:00:01 | | |
ally the partition, not the entire | * 2 | HASH JOIN | | 1 | 78 | 10 (10) | 00:00:01 | | |
table. This enhances the perfor- | 3 | PARTITION HASH SINGLE | | 1 | 39 | 4 (0) | 00:00:01 | 4 | 4 |
|* 4 | TABLE ACCESS FULL | TRANS | 1 | 39 | 4 (0) | 00:00:01 | 4 | 4 |
mance immensely. Recall that | 5 | PARTITION HASH SINGLE | | 1 | 39 | 5 (0) | 00:00:01 | 4 | 4 |
list partitioning was preferred |* 6 | TABLE ACCESS FULL | ADVERTISING | 1 | 39 | 5 (0) | 00:00:01 | 4 | 4 |
over range partitioning in this ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
case because the PRODUCT_ Predicate Information (identified by operation id):
CODE is a discrete value. --------------------------------------------------------------------------------------------------------------------
If two rather large tables
2 - access(T.TRANS_ID=A.AD_ID AND T.PRODUCT_CODE=A.PRODUCT_CODE)
are often joined together in 4 - filter(T.TRANS_ID=101)
SQL statements, consider the 6 - filter(A.AD_ID=101)
potential benefits of partition-
wise joins. Suppose you have
another table called ADVERTISING, in the same way. In this case, range parti- product_code number,
which contains detailed information tioning on the columns being joined and store_id number,
on the companys advertising. Here is a partitioning on the same ranges is the trans_amount number(12,2)
description of the ADVERTISING table: most effective. Listing 3 shows the script )
for creating the ADVERTISING table with partition by hash (trans_id)
Name Null? Type this range partition. (
------------ ----------- -------------------------------- Similarly, if you often join these partition trans1 tablespace trans1,
AD_ID NUMBER tables on the PRODUCT_CODE partition trans2 tablespace trans2,
AD_DT DATE column, then that column should be a partition trans3 tablespace trans3,
PRODUCT_CODE NUMBER strong candidate for the partition key. partition trans4 tablespace trans4
AD_COST NUMBER And because product code values are in )
CHANNEL VARCHAR2(10) a specific set, the partitioning scheme /
should be list partitioning. create table advertising (
Suppose that PMs often query the If the ADVERTISING and TRANS ad_id number,
ADVERTISING and TRANS tables to see tables are not joined on some specific ad_dt date,
the revenue vis--vis various advertising date or date fields but rather on some product_code number,
amounts spent to check the effectiveness sequential number such as the AD_ID or ad_cost number,
of the advertising campaigns. Here is the TRANS_ID value, you should reevaluate channel varchar2(10)
query they use to find out the revenue the partitioning strategy. Because records )
numbers and advertising expenditures have unique values in those columns, you partition by hash (ad_id)
for a specific period for each product: cant choose a list-partitioning strategy (
(which requires discrete, finite values). partition ad1 tablespace ad1,
select t.product_code, sum(trans_amount), A range partition would be ineffective, partition ad2 tablespace ad2,
sum(ad_cost) because the sequentially increasing values partition ad3 tablespace ad3,
from trans t, advertising a in these two columns would require partition ad4 tablespace ad4
where t.trans_dt = a.ad_dt numerous partitions to be created that )
and t.product_code = a.product_code might not have any specific meaning. /
and trans_dt between 1-aug-05 and In such a case, the hash partition After the tables are created, you can
1-sep-05 is useful. It makes sure the records are use the DBMS_XPLAN tool to check to
group by t.product_code; evenly spread over all the partitions. You make sure the partitions are used prop-
can create the tables as follows: erly. First you have to generate a plan for
Here the tables are joined on the the PMs product query:
columns TRANS_DT and AD_DT, both create table trans (
date columns. To enhance performance, trans_id number, explain plan for
you might decide to partition both tables trans_dt date, select t.product_code, sum(trans_amount),
sum(ad_cost) across tablespaces, export tables, delete unusable when you drop the partition.
from trans t, advertising a data, and so onone partition at a time. To prevent the index from becoming
where t.trans_id = a.ad_id Data purge. Suppose that TRANS is a unusable, in Oracle9i Database and later,
and t.trans_id = 101 table in an OLTP system and you want you can update the global index when
and t.product_code = a.product_code to remove old records, such as the you drop the partition. The following
group by t.product_code; ones with TRANS_DT values in the drops the Y05Q1 partition and updates
first quarter of 2005. The conventional the global index:
Then you can see what the plan method is to delete the records, but dele-
looks like: tion causes undo and redo information alter table trans drop partition y05q1
to be generated, which impacts database update global indexes;
select * from table(dbms_xplan.display); performance. This can also be a very
time-consuming operation, depending If you decide not to do an automatic
The output is shown in Listing 4. on the volume of data being purged. An index update as part of dropping the
Note the PSTART and PSTOP columns, alternative to deleting records is to drop a partition, that global index will become
which indicate which table partitions partition. In the case of the TRANS table, unusable. You will have to rebuild the
were selected. For the line with Id=4, if you decided to drop all the records index to make it usable, but you can
the values of these columns are 4 and from the first quarter of 2005, youd issue defer that task to later, after youve
4, which indicates that the fourth parti- dropped other partitions or done some
tion of the TRANS table was selected, alter table trans drop partition y05q1; other operations.
where the record with TRANS_ID=101 You can manually rebuild the global
resides. Note the line with Id=6, Thats it. After you execute this index on TRANS, by using
which shows that the optimizer will command, the partition disappears from
search only partition 4 of the joined the table. This statement does not actu- alter index pk_trans rebuild;
ADVERTISING table as well, not the ally delete anything from the table; it
entire table. In the absence of an index, merely updates the data dictionary to The online version of this article
this hash-partition strategy makes the indicate that the Y05Q1 partition no at oracle.com/technology/oramag/
PMs query much faster than a full-table longer belongs to the table. Because no oracle/06-sep/o56partition.html contin-
scan on the entire table, for both the data moves (except a small amount of ues the partition priority discussion.
TRANS and ADVERTISING tables. information in the data dictionary), undo
Ease of administration. Partitioning is and redo generation is minimal, making CONCLUSION
always introduced as a technique for the operation extremely fast compared The most important decisions in parti-
managing large objects. Although its to the deletion approach and virtually tion design are choosing the partitioning
applicable to objects of any size, the impact-free in terms of performance. scheme and the column(s) to partition
advantages are more obvious in large Note that a regular DELETE statement on, and these decisions depend heavily
tables. When you rebuild an index deletes table rows from wherever they on the priorities of potentially conflicting
on a nonpartitioned table, your only exist, leaving empty spaces in the blocks. objectives. Once you are familiar with
option is to build the entire index in Although the table data may be sparse, the advantages of each type of partition-
one statement. If the table is partitioned, the overall size of the segment may still ing scheme, you will be able to choose
however, you can rebuild partitions of be large and have a very high high-water the scheme and column(s) appropriate
local indexes one at a time. For instance, mark (HWM, the largest size the table has for your partitioning needs. O
in the case of the TRANS table, you ever occupied). A high HWM slows full-
can rebuild the Y05Q1 partition of the table scans, because Oracle Database has Arup Nanda (arup@proligence.com) has been an
IN_TRANS_01 local index: to search up to the HWM, even if there Oracle DBA for more than 12 years, handling all
are no records to be found. When a parti- aspects of database administrationfrom performance
alter index in_trans_01 rebuild partition tion is dropped, the segment itself is gone tuning to security and disaster recovery. He is a
y05q1; and the HWM of other segments remains coauthor of PL/SQL for DBAs (OReilly Media, 2005). He
the same, so the query runs faster. was Oracle Magazines DBA of the Year in 2003.
as opposed to rebuilding the IN_ While the DELETE statement deletes
TRANS_01 index as a whole. The the rows, the corresponding index entries
advantage of this approach is even more are also adjusted, causing fragmentation,
pronounced when you load a specific which may impact performance. READ online-only article content
oracle.com/technology/oramag/oracle/06-sep/
partition and the index needs to be When a partition is dropped, the o56partition.html
rebuilt only on that partition, not on the corresponding partition of any local READ more about partitioning
rest of the index. In addition to doing index is also dropped. If there is a global oracle.com/solutions/business_intelligence/
partitioning.html
index rebuilds, you can also move tables index, however, that index can become
86 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
t e c h n o l o g y SEARCH BY RON HARDMAN
thing very specific. How much more the organization to have access to all during installation. The easy-to-use inter-
difficult is it for people in your organiza- of your HR records, for example. The face requires no customization, and it is
tion who perhaps did not grow up with second problem is that not all data- also possible to use query APIs to embed
computers or may even be somewhat sources can be crawled. Some applica- search results in your own custom appli-
intimidated by them to have to look for tions have closed datasources, and the cation. The default search page includes
something about a general topic saved only way to access their data is through basic and advanced interfaces, with the
somewhere roughly two years ago? their own search interfaces. advanced search allowing for attribute-
Search supplies the following APIs: includes a Web services API that allows
OWeb services: Build custom applica- you to connect custom interfaces. If the
tions that search indexes. default administration or query applica-
OCrawler plug-in: Use your own custom tions cannot be used in your applica-
crawler. tion, the Web services API will provide
OQuery-time authorization: Determine full administration, basic query, and
whether users should have access to advanced query capabilities to your
search results at query time. custom code.
OURL rewriter: Filter links extracted All components are bundled in a
by the crawler prior to placement in single install disk or download file, and
the queue. no additional software configuration is
Figure 1: Datasources
Analytics. The administration interface required to get up and running. It took
specific and source-specific searches. includes reports showing common search me less than 20 minutes to download
Synchronization can be scheduled terms, common misspellings, click- Oracle Secure Enterprise Search to my
at any interval to ensure that current through rates, and other statistics that can laptop and install it, and only another 10
information is presented to users. For be used to improve the user experience. to define my first datasource, complete
example, if a crawler is scheduled to run Google Desktop Enterprise Integration. You the crawl, and perform my first search.
on a particular datasource every night can integrate Oracle Secure Enterprise Enterprise searches with advanced
at 11 p.m., the crawler will examine the Search with Google Desktop Enterprise. security requirements and multiple data-
source files at that time to see which Users can then search their desktops in source configurations obviously take more
changes, if any, have been made since the interface in which they search other time. Any extra configuration time will be
the last crawl. Any new or modified file servers. a product of corporate security require-
pages or documents are indexed. ments and the number of datasources to
Other major features include the ARCHITECTURE be configured. Keep in mind that Oracle
following: Oracle Secure Enterprise Search includes Secure Enterprise Search can be up and
Connections to secure datasources. Oracle Database 10g Enterprise Edition running for a portion of your datasources
Oracle provides secure source types, (Release 10.1.0.5.0) and installs with while others are still being added.
or connectors, to several known data- the Oracle Text option, Oracles full-text
sources and also supports the develop- retrieval technology, which it uses for TRY IT OUT
ment of custom connectors to additional indexing and search operations. It does To get started, download the software
datasources. Figure 1 shows a list of not require execution of SQL scripts from OTN (oracle.com/technology/
available connectors. for index creation or maintenance. All software/products/search) for your plat-
More connectors are in development, administration is handled through the form, unzip the file, and run Setup.exe in
so refer to the online documentation administration user interface, which exe- the top-level directory.
(oracle.com/technology/documentation/ cutes in an Oracle Containers for J2EE When the installation is finished, two
ses1016.html) for the most recent con- (OC4J) runtime environment. URLs are provided for the user search
nector list. In addition to the database and the page and administration login interface.
Authentication. Oracle Secure Enterprise administration interface, Oracle Secure They should look similar to the following:
Search supports LDAP and synchroni- Enterprise Search includes a multi- O//localhost:7777/search/query/search
zation with ActiveDirectory, so it aligns threaded Java crawler. The crawler is O//localhost:7777/search/admin/control/
with your existing user management governed by settings in the administra- login.jsp
system. Employing existing user per- tion interface, including its scheduled To try out Oracle Secure Enterprise
missions/roles, it can restrict access to execution time and frequency, number Search, configure the crawler to index a
datasources according to your existing of threads to run, crawler time-out, URL and try the search. The following
security policies. maximum document size, and the depth steps guide you through this process:
Federated search. Some datasources of the crawl (the number of nested 1. Open the administration login page
may already have their own indexing links to follow beyond the defined in your browser, and enter the password
mechanism. Instead of reindexing them, datasource). It also allows you or your you created during installation.
you can use a federated search to pass administrator to set exclusion rules. For 2. The Information message on the
terms from Oracle Secure Enterprise example, if an intranet site references General page shows that no datasources
Search to the other repository and then sites on the internet that you do not are defined. Click the Sources subtab
get the results back from it for display. want to include, you can add the sites as at the top of the screen, as shown in
The search user does not know that the exclusions. These links are not indexed Figure 2.
search was executed elsewhere. and not included in searches. 3. Select Web as the source type and
Java API. Oracle Secure Enterprise Oracle Secure Enterprise Search also click Create, as shown in Figure 3.
88 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
still find what they need by clicking the
Cached link. The Links hyperlink shows
pages or documents that are referenced
(linked) by this page as well as pages or
documents that link to this page.
The result also shows how many doc-
ument matches there were for the search
terms. In this case, there are two results.
SECURE SEARCHING
The preceding Web source example
shows how you might index an inter-
net or corporate intranet site and make
it available for everyone to search. No
authentication is required, and there are
no restrictions regarding who has access
to the data. Of course, not all datasources
Figure 2: General page
are meant to be open for public access.
Some datasources require authenti-
cation prior to allowing access. Oracle
Database is a great example of this. To
index a column in an HR database, for
example, the crawler must be able to get
access to that source, and this requires
Figure 3: Select datasource authentication information.
To set up a sample CONTACTS
database for access from Oracle Secure
Enterprise Search, download the sample
data for this article at oracle.com/
technology/oramag/oracle/06-sep/
o56oses.zip, and follow these steps:
1. Log in to the Oracle Secure Enterprise
Search database as SYS or SYSTEM, and
run the Create_User.sql script.
2. Connect to the CONTACTS user (the
Figure 4: Source creation
default password is oracle).
4. Enter Code as the source name. The display what was indexed. The crawler 3. To create the MY_PRIVATE_
starting URL can be virtually anything, statistics for this datasource appear. CONTACT_LIST table and insert the
including your organizations internet 8. Click the Search link (not the Search seed data, run the Create_Table.sql script.
site. For this example, point to a code tab) at the top right of the Administration With the sample CONTACTS schema
repository for a PL/SQL programming page to open the search window. Figure in place on your local machine, create a
book, www.peakretrieval.com/plsql/ 5 shows the default search interface. new datasource on the Administration
plsql_programming_index.html, as 9. Perform a search for CTXSYS screen, as follows:
shown in Figure 4. .CONTEXT (an Oracle Text index type). 1. Click the Sources subtab, select Table
5. Click Create. A schedule is created The search is case-insensitive by default. as the source type, and click Create.
automatically, and crawling starts Figure 6 shows the search results. 2. Enter the following information to
immediately. 10. Click any link to display the indexed define the source:
6. To view the status of the crawl, click documenta script in this casefrom a. Source Name: Contacts
the Schedules link at the top of the its original source. Note that the key- b. Database Host Name: localhost
page. The Code schedule is shown, words are highlighted in the search c. TCP Port Number: 1521
along with the status of the last (or results and that the familiar Cached d.SID: SES
current) crawl. Click the link in the and Links options are available for e. User Name: CONTACTS
Status column to view the log. each record returned. If users find that f. Password: ORACLE
7. Click the Statistics link (the pencil the documents they were looking for g. Leave the Delete Passwords After
icon in the Statistics column) to have been moved or deleted, they can Crawl box unchecked.
CONCLUSION
For many years, Oracle Database has
been the leader in the database market,
Figure 6: Search results storing ever-increasing amounts of data.
Oracle Secure Enterprise Search now
h. Schema: CONTACTS 2. Enter PL/SQL as the source group extends data management beyond the
i. Table Name: MY_PRIVATE_CONTACT_ name, and click Proceed to Step 2. database to every archive, file server,
LIST 3. Choose Code from the list of avail- e-mail server, and desktop in the enter-
j. Primary Key Column: CONTACT_ID able sources, and click the >> button. prise. It is not just about storing more
k.Content Column: NOTES 4. Click Finish in the upper right corner. data but also about managing and
l. Content Type: Plain text To create the source group for the extracting relevant information when
3. Click Create. Contacts datasource, do the following: users need it, and thats the need Oracle
4. Click the Schedules subtab, and 1. Click Create. Secure Enterprise Search fills. O
click the link in the Status column for 2. Enter Contacts as the source group
the Contacts datasource. name, and click Proceed to Step 2. Ron Hardman works with Academy District 20
5. Click the Statistics icon next to the 3. Choose Table from the list, and schools in Colorado Springs, Colorado, and is the
Contacts source and log filename. click Go. founder of 5-Mile Software, a software company
6. Confirm that 10 documents are 4. Choose Contacts from the list of avail- delivering assessment and back-office solutions for
indexed, and click Finish. able sources, and click the >> button. K12 schools. He is coauthor of Oracle Database 10g
The crawler indexed the secure 5. Click Finish in the upper right corner. PL/SQL Programming and Expert PL/SQL, both from
datasource you just set up (Contacts) Click the Search link at the top right Oracle Press, and is an Oracle ACE.
because you provided the username side of the Administration page, and note
and password to the crawler. the datasources listed above the search
Provided you also set up the Web box. By default, the search is against
source example (named Code), there all source groups. To search only the
are two datasources indexed now. With Contacts source group, click Contacts, READ more about Oracle Secure
the current configuration, clicking the enter the search term diesel, and click Enterprise Search
Search link at the top right side of the Search. Oracle Secure Enterprise Search oracle.com/technology/products/oses
oracle.com/technology/documentation/ses1016.html
Administration page brings up a single returns the matching record from the
search screen for both sources. Contacts datasource. DOWNLOAD
Oracle Secure Enterprise Search
To separate the sources, click the Note that the source group is dis- oracle.com/technology/software/products/search
Search tab in the Administration played with the result set. Click the sample data for this article
window and click the Source Groups source group name to browse the rest of oracle.com/technology/oramag/oracle/06-sep/
o56oses.zip
subtab. Perform the following steps to the contents in the source group.
create two source groups, starting with The indexes created by Oracle DISCUSS Oracle Secure
the Code datasource created earlier: Secure Enterprise Search for all data- Enterprise Search
forums.oracle.com/forums/forum.jspa?forumID=262
1. Click Create. sources are secured in the Oracle
90 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
Accelerate Past the Competition
Oracle 10gRAC in10 Days
The Oracle-on-Egenera Accelerator with Egenera To learn more about the Accelerator program go to:
Processing Blade modules based on Intel Xeon www.egenera.com/reg/accelerate.html
processor technology, expedites the implementation
and deployment of the Oracle RAC or Oracle 10g
grid software infrastructure onto the Egenera One TeamOne SolutionOne Price.
BladeFrame system. Oracle-on-Egenera.
Already field-proven with existing joint customers, this
exclusive, Oracle, turnkey solution minimizes risk while
speeding time to market for grid-based applications.
Copyright 2005 Egenera, Inc. All rights reserved. Egenera, Egenera stylized logos and BladeFrame are registered trademarks of Egenera, Inc. in the United States and/or other countries.
Intel Xeon Processors and Intel Inside are registered trademarks of Intel. Oracle and Oracle certified partner are trademarks or registered trademarks of Oracle.
t e c h n o l o g y ASK TOM BY TO M KYTE
does this conceptually and then look at codeLISTING 1: Top-N query using ROWNUM
an example.
select *
Suppose you have a query in this from
form: (select *
from t
order by id)
select where rownum <= 10
from
call count cpu elapsed disk query current rows
where
-------- ------------- ----------- ------------------ --------------- ---------------- ---------------- ----------
order by columns; Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 2 0.04 0.04 0 949 0 10
Assume that this query returns a lot
-------- ------------- ----------- ------------------ --------------- ---------------- ---------------- ----------
of data: thousands, hundreds of thou- total 4 0.04 0.04 0 949 0 10
sands, or more rows. However, you are
Rows Row Source Operation
interested only in the top Nsay the
----------------- ---------------------------------------------------
top 10 or top 100. There are two ways 10 COUNT STOPKEY (cr=949 pr=0 pw=0 time=46997 us)
to approach this: 10 VIEW (cr=949 pr=0 pw=0 time=46979 us)
10 SORT ORDER BY STOPKEY (cr=949 pr=0 pw=0 time=46961 us)
OHave the client application run that
100000 TABLE ACCESS FULL T (cr=949 pr=0 pw=0 time=400066 us)
query and fetch just the first N rows.
OUse that query as an inline view, and
use ROWNUM to limit the results, as codeLISTING 2: Do-it-yourself query without ROWNUM
in SELECT * FROM (your_query_here)
SELECT * FROM T ORDER BY ID
WHERE ROWNUM <= N. call count cpu elapsed disk query current rows
The second approach is by far -------- ------------- ----------- ------------------ --------------- ---------------- ---------------- ----------
superior to the first, for two reasons. Parse 1 0.00 0.00 0 0 0 0
Execute 2 0.00 0.00 0 0 0 0
The lesser of the two reasons is that it Fetch 10 0.35 0.40 155 949 6 10
requires less work by the client, because -------- ------------- ----------- ------------------ --------------- ---------------- ---------------- ----------
the database takes care of limiting the total 13 0.36 0.40 155 949 6 10
result set. The more important reason Rows Row Source Operation
is the special processing the database ----------------- ---------------------------------------------------
can do to give you just the top N rows. 10 SORT ORDER BY (cr=949 pr=155 pw=891 time=401610 us)
100000 TABLE ACCESS FULL T (cr=949 pr=0 pw=0 time=400060 us)
Using the top-N query means that you
have given the database extra informa- Elapsed times include waiting for the following events:
tion. You have told it, Im interested
Event waited on Times
only in getting N rows; Ill never con- --------------------------------------------------- ------------
sider the rest. Now, that doesnt sound direct path write temp 33
too earth-shattering until you think direct path read temp 5
94 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
compared to the last row in the array. select * from ( your_query_goes_here,
If it would go into slot N +1 in the from t with order by ) a
array, it gets thrown out. Otherwise, it order by id; where ROWNUM <=
is added to this array and sorted and l_rec c%rowtype; :MAX_ROW_TO_FETCH )
one of the existing rows is discarded. begin where rnum >= :MIN_ROW_TO_FETCH;
Your sort area holds N rows maximum, open c;
so instead of sorting one million rows, for i in 1 .. 10 where
you sort N rows. loop OFIRST_ROWS(N) tells the optimizer,
This seemingly small detail of using fetch c into l_rec; Hey, Im interested in getting the first
an array concept and sorting just N rows exit when c%notfound; rows, and Ill get N of them as fast as
can lead to huge gains in performance end loop; possible.
and resource usage. It takes a lot less close c; O:MAX_ROW_TO_FETCH is set to the
RAM to sort 10 rows than it does to sort end; last row of the result set to fetchif you
one million rows (not to mention TEMP / wanted rows 50 to 60 of the result set,
space usage). you would set this to 60.
Using the following table T, you can After executing this query, you can O:MIN_ROW_TO_FETCH is set to the
see that although both approaches get use TKPROF to format the resulting first row of the result set to fetch, so to
the same results, they use radically dif- trace file and review what happened. get rows 50 to 60, you would set this
ferent amounts of resources: First examine the top- N query, as shown to 50.
in Listing 1. The concept behind this scenario is
create table t The query read the entire table that an end user with a Web browser
as (because it had to), but by using the has done a search and is waiting for
select dbms_random.value(1,1000000) SORT ORDER BY STOPKEY step, it was the results. It is imperative to return
id, able to limit its use of temporary space the first result page (and second page,
rpad(*,40,* ) data to just 10 rows. Note the final Row and so on) as fast as possible. If you
from dual Source Operation lineit shows that look at that query closely, youll notice
connect by level <= 100000; the query did 949 logical I/Os in total that it incorporates a top-N query (get
(cr=949), performed no physical reads the first :MAX_ROW_TO_FETCH rows
begin or writes (pr=0 and pw=0), and took from your query) and hence benefits
dbms_stats.gather_table_stats 400066 millionths of a second (0.04 from the top-N query optimization I
( user, T); seconds). Compare that with the do-it- just described. Further, it returns over
end; yourself approach shown in Listing 2. the network to the client only the spe-
/ As you can see, this result is very dif- cific rows of interestit removes any
ferent. Notably, the elapsed/CPU times leading rows from the result set that are
Now enable tracing, via are significantly higher, and the final not of interest.
Row Source Operation lines provide One important thing about using this
exec insight into why this is. You had to pagination query is that the ORDER BY
dbms_monitor.session_trace_enable perform a sort to disk, which you can statement should order by something
(waits=>true); see with the pw=891 (physical writes). unique. If what you are ordering by is
Your query performed some direct path not unique, you should add something
And then run your top-N query with reads and writesthe sort of 100,000 to the end of the ORDER BY to make it
ROWNUM: records (instead of just the 10 we are so. If you sort 100 records by SALARY,
ultimately interested in) took place for example, and they all have the same
select * on diskadding considerably to the SALARY value, then specifying rows 20
from runtime/resource usage of your query. to 25 does not really have any meaning.
(select * In order to see this, use a small table
from t PAGINATION WITH ROWNUM with lots of duplicated ID values:
order by id) My all-time-favorite use of ROWNUM is
where rownum <= 10; pagination. In this case, I use ROWNUM SQL> create table t
to get rows N through M of a result set. 2 as
And finally run a do-it-yourself query The general form is as follows: 3 select mod(level,5) id,
that fetches just the first 10 records: trunc(dbms_random.value(1,100)) data
select * 4 from dual
declare from ( select /*+ FIRST_ROWS(n) */ 5 connect by level <= 10000;
cursor c is a.*, ROWNUM rnum Table created.
And then query rows 148 to 150 and SQL> select * formed by your query, so that top-N
151 after sorting by the ID column: 2 from queries that once consumed a lot of
3 (select a.*, rownum rnum TEMP space now use none and return
SQL> select * 4 from results much faster.
2 from 5 (select id, data
3 (select a.*, rownum rnum 6 from t ORACLE OPENWORLD PLANS
4 from 7 order by id, rowid) a This is the Oracle OpenWorld issue
5 (select id, data 8 where rownum <= 150 of Oracle Magazine. I really enjoy the
6 from t 9 ) weeklong conferenceI get to meet
7 order by id) a 10 where rnum >= 148; a lot of people face-to-face that Ive
8 where rownum <= 150 only met electronically. So if youre
9 ) ID DATA RNUM at the conference, I hope to see you
10 where rnum >= 148; ------------------ -------------------- -------------------- at the talk Ill be giving there. (If you
0 45 148 havent already guessed, my talk will be
ID DATA RNUM 0 99 149 about the database and development.)
------------------ -------------------- ------------------- 0 41 150 In addition, I plan to be at a Meet the
0 38 148 Experts event hosted by OTNthe
0 64 149 SQL> Oracle Technology Network. Ive done
0 53 150 SQL> select * this event in years past, and its always
2 from been a great forum for one-on-one dis-
SQL> 3 (select a.*, rownum rnum cussions as well as group talks. Check
SQL> select * 4 from your program schedule for the dates and
2 from 5 (select id, data times of my talk and OTN events.
3 (select a.*, rownum rnum 6 from t In addition, Ill of course be blog-
4 from 7 order by id, rowid) a ging at tkyte.blogspot.comwith pic-
5 (select id, data 8 where rownum <= 151 turesabout what is going on at the
6 from t 9 ) conference. In addition to my blog,
7 order by id) a 10 where rnum >= 148; be sure to check out OTN (at oracle
8 where rownum <= 151 .com/technology), which will be full of
9 ) ID DATA RNUM downloadable show content including
10 where rnum >= 148; ------------------ -------------------- --------------------- podcasts, video streams, and presenta-
0 45 148 tion material. O
ID DATA RNUM 0 99 149
------------------ -------------------- -------------------- 0 41 150 Tom Kyte has worked for Oracle since 1993. He is a
0 59 148 0 45 151 vice president in the Oracle Public Sector group and
0 38 149 the author of Expert Oracle Database Architecture:
0 64 150 Now the query is very deterministic. 9i and 10g Programming Techniques and Solutions
0 53 151 ROWID is unique within a table, so if (Apress, 2005) and Effective Oracle by Design (Oracle
you use ORDER BY ID and then within Press, 2003), among other books.
Note in this case that one time for ID you use ORDER BY ROWID, the rows
row 148, the result returned DATA=38, will have a definite, deterministic order
and that the next time, the result and the pagination query will determinis-
ASK Tom
returned DATA=59. Both queries are tically return the rows as expected. Oracle Vice President Tom Kyte answers your most
returning exactly the right answer, difficult technology questions. Highlights from that forum
appear in this column.
given what youve requested: Sort the ROWNUM WRAP-UP asktom.oracle.com
data by ID, throw out the first 147 Ill hazard a guess that you and many
rows, and return the next 3 or 4 rows. other readers now have a newfound READ more Tom
Expert Oracle Database Architecture: 9i and 10g
Both of them do that, but because respect for ROWNUM and understand Programming Techniques and Solutions
amazon.com/exec/obidos/tg/detail/-/1590595300
ID has so many duplicate values, these aspects:
the query cannot do it deterministi- OHow ROWNUM is assigned, so you Effective Oracle By Design
amazon.com/exec/obidos/tg/detail/-/0072230657
callythe same sort order is not assured can write bug-free queries that use it
from run to run of the query. In order OHow it affects the processing of your DOWNLOAD
to correct this, you need to add some- query, so you can use it to paginate a Oracle Database 10g Express Edition
thing unique to the ORDER BY. In this query on the Web (Oracle Database XE)
oracle.com/technology/xe
case, just use ROWID: OHow it can reduce the work per-
96 SEPTEMBER/OCTOBER 20 06 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
Become a Master
Step up from Oracle Certified Professional to Oracle Certified Master.
T
shown in Figure 1. The three levels Master tories; and execute programs from the
are organized to suit the needs of entry- command-line prompt.
level, professional, and senior-level IT OAlthough Oracle documentation is
professionals, respectively. The highest available for reference during the exam,
Advanced Skills:
T
level of certification an Oracle Certified Professional looking up simple commands in the
Professional (OCP) can achieve is Oracle documentation will cost time. Therefore,
Database 10g Administrator Certified candidates should not rely too much on
Master (Oracle Certified Master). the availability of reference documenta-
Fundamentals:
T
The Oracle Certified Master exam tests pleted within a specific time. Therefore,
candidates on their ability to perform Figure 1: Oracle certification levels time management is critical. Moreover,
in a real-world, live database environ- some scenarios are built on each other;
ment, and it is a test of both knowledge 4. Data management failure to meet a set of objectives in one
and experience. In addition to having 5. Data warehouse management scenario may have a negative impact on
practical experience, a candidate taking 6. Performance management later scenario objectives.
the exam is required to have expertise in 7. Oracle Real Application Clusters OBe prepared to restore and recover your
complex DBA tasks. The prerequisites for 8. Oracle Data Guard data. Candidates must back up their data
this rigorous performance-based certifica- Each Oracle Certified Master candi- during the exam and restore and recover
tion are that candidates must first earn date is provided with a dedicated server the data if necessary.
an Oracle Database 10g OCP credential that has both Oracle Database 10g and
and complete two advanced-level courses Red Hat Linux installed. A complete CONCLUSION
through Oracle University. Oracle 10g documentation set is available With Oracle Certified Master, Oracle
The Oracle Certified Master certifica- on the server. Over the course of two provides the only hands-on certifica-
tion consists of a two-day onsite practi- days, candidates are given scenarios in tion and the first master-level database
cal exam that is conducted in an Oracle which they are asked to perform complex certification in the industry. Achieving
University classroom. The test is available technical tasks that require setup, diag- this rigorous certification puts an Oracle
at more than 150 locations worldwide. nostics, troubleshooting, and problem technologist in the most elite group of
Also, Oracle Certified Master upgrade resolution. There are no multiple-choice database professionals in the world. O
certification will be available soon for or fill-in-the-blank questions on the exam.
Oracle9i Oracle Certified Masters, who Aradhana Puri (ocpexam_ww@oracle.com) is a
will be able to take a one-day practical STRATEGIES FOR ACHIEVING A HIGH SCORE principal Oracle Certification Exam developer at Oracle.
exam to upgrade their credentials to The following are recommended strate- She has been with the company since 2000.
Oracle Database 10g. gies for meeting the exam objectives and
achieving a high score on the Oracle
PRACTICUM CONTENT Certified Master practicum:
The Oracle Certified Master practicum OWhile preparing for the exam, you LEARN more about the Oracle
content focuses on eight primary areas: must perform tasks associated with Certification Program, and download
1. Server configuration each of the exam objectives. Limiting a free exam guide
oracle.com/education/certification
2. Oracle Enterprise Manager 10g preparation only to book study will not
READ Inside OCP columns
Grid Control adequately prepare you for two days of oracle.com/technology/oramag/oracle/ocp
3. Managing database availability rigorous hands-on testing.
98 SEPTEMBER/OCTOBER 20 06 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.
Contact vendors below for additional information about products or services advertised in this issue.
ADVERTISER WEB SITE PAGE
Altova www.altova.com 30
Cordaware www.cordaware.com 38
Embarcadero www.embarcadero.com 2
EMC www.emc.com 5
Genpact www.genpact.com 64
Justsystems www.justsystems.com 78
Kaplan IT www.kaplanit.com 47
Nokia www.nokia.com 63
USi www.USi.com 14
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.
10 0 SEPTEMBER/OCTOBER 20 06 ORACLE.COM/ORACLEMAGAZINE
LOOK FOR
ORACLE PRESS
AT Oracle OpenWorld 2006!
Stop by the Oracle Press kiosk in the Oracle OpenWorld Bookstore
located at Moscone West, Level 2. Join the Oracle Press Community and get a
free t-shirt.* Buy 2 or more Oracle Press books and get a free teddy bear!*
ORACLE
PRESS
THE GENUINE AUTHORITY ON
ORACLE 10g
O R I G I N A L AU T H E N T I C
For more helpful technical tips like this, become an IOUG member
and gain access to the online Library of Oracle Knowledge containing hundreds of
technical tips and papers, receive the official IOUG publication, SELECT Journal, and
IOUG e-newsletter publications. Plus, you'll have access to exclusive discounts, dozens
of other online resources and a network of nearly 20,000 peers to share information.
storage behind the scenes without down- that needed assistance with its integration DOWNLOAD the ASMLib
time or major storage reconfiguration. efforts. The company ran applications on support library
oracle.com/technology/tech/linux/asmlib
One of my clients, a financial services both UNIX and Windows machines, but
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.
Its not your drawer.
Its your data center.
2006 Network Appliance, Inc. All rights reserved. Specications subject to change without notice. NetApp and the Network Appliance logo are registered trademarks
and Network Appliance is a trademark of Network Appliance, Inc. in the U.S. and other countries. Oracle is a registered trademark of Oracle Corporation. All other brands
or products are trademarks or registered trademarks of their respective holders and should be treated as such. Part # C14989-01