60
Copyright 2013 LoadSpring is a trademark of LoadSpring Solutions, Inc. www.loadspring.com Follow us on Facebook IT’S YOUR PROJECT. Run it any way you want to. SpringBoard 7.0 is a powerful gateway that lets you build Project Management solutions exactly the way you want. Take control of scheduling, estimating, BIM and more—fully supported and in one location. How much can you accomplish? Let your imagination and ROI run wild. Get your Project Management software securely deployed and implemented—your way—in days. SpringBoard lets you manage and share software, data and ideas globally on any device, including handheld devices via LoadSpringMobile. And our new SpringBoard Connect feature lets you view and update data from multiple applications, all from a single web dashboard. Go ahead—have your way with the Cloud. SpringBoard 7.0 lets you conquer Project Management challenges fast, easy and now. Just the way you like it. Take charge. Scan the code for your virtual SpringBoard tour.

oracle20130708-dl

  • Upload
    kodanda

  • View
    160

  • Download
    2

Embed Size (px)

DESCRIPTION

Oracle magazine

Citation preview

Copyright 2013 LoadSpring is a trademark of LoadSpring Solutions, Inc. www.loadspring.com Follow us on Facebook

It’s your project. Run it any way you want to.

SpringBoard 7.0 is a powerful gateway that lets you build Project Management solutions

exactly the way you want. Take control of scheduling, estimating, BIM and more—fully supported

and in one location. How much can you accomplish? Let your imagination and ROI run wild.

Get your Project Management software securely deployed and implemented—your way—in days.

SpringBoard lets you manage and share software, data and ideas globally on any device, including d

handheld devices via LoadSpringMobile™.

And our new SpringBoard Connect feature lets you view and update data from multiple applications, onnect

all from a single web dashboard.

Go ahead—have your way with the Cloud. SpringBoard 7.0 lets you conquer Project

Management challenges fast, easy and now. Just the way you like it.

Take charge. Scan the code for your virtual

SpringBoard tour.

Untitled-1 1 4/9/13 6:17 PM

Grow Up, Branch OutOracle Database Appliance provides new ways for organizations to simplify, consolidate, and grow

JULY/AUGUST 2013

BUSINESS AT THE SPEED OF SPARCNew systems powered by Oracle’s SPARC T5 and SPARC M5 processors break 17 performance records

The Shine of Open Source MySQL puts the M and the power in LAMP / 16 Cloud Builders Unite Bloggers, tweeters, and user groups form cloud builder communities / 22 Build Your Own Build and deploy Oracle ADF declarative components, and gain the benefi ts of reuse / 39 Pivotal Access to Your Data: Analytic Functions, Concluded Part 12 in a series on the basics of the relational database and SQL / 45 On Randomness, Syntax, and Mutation Our technologist gets deterministic, delimited, and the opposite of trigger-happy / 51

JA13_Cover_R1.indd 1 5/29/13 1:56 PM

omg0713pCV2_p1.indd 2 5/24/13 12:09 AM

2

JULY/AUGUST 2013 ORACLE.COM/ORACLEMAGAZINE

VOLUME XXVII - ISSUE 4 CONTENTS

EVENTS / 8Find out about upcoming technology and industry events.

RESOURCES / 11Your guide to Oracle Webcasts, podcasts, white papers, and more

BRIEFS / 13The latest product news

INTERVIEW / 16The Shine of Open SourceMySQL puts the M and the power in LAMP. —Tom Haunert

PARTNER NEWS / 18BOOK BEAT / 18ARCHITECT / 21The CX FactorWooing and wowing customers in the digital age—Bob Rhubart

UP CLOSE / 22Cloud Builders UniteBloggers, tweeters, and user groups work to form a cloud builder community. —Jeff Erickson

PEER-TO-PEER / 23Finding HelpPeers get career boosts from the cloud, My Oracle Support, and Oracle University. —Blair Campbell

ORACLE ADF / 39Build Your OwnBuild and deploy Oracle ADF declarative components, and gain the benefits of reuse. —Frank Nimphius

SQL 101 / 45Pivotal Access to Your Data: Analytic Functions, ConcludedPart 12 in a series on the basics of the relational database and SQL —Melanie Caffrey

ASK TOM / 51On Randomness, Syntax, and MutationOur technologist gets deterministic, delimited, and the opposite of trigger-happy. —Tom Kyte

TIME CAPSULE / 56Flashbacks: Culture. Industry. Oracle. Oracle Magazine. —Rich Schwerin

At Oracle / 8

Community / 18 Technology / 39 Comment / 56

FROM THE EDITOR / 5Location, Location, Location—Tom Haunert

MASHUP / 6News, views, trends, and tools

Up Front / 5

Cover: Nicholas Pavkovic

Oracle unveiled two new SPARC microprocessors, SPARC T5 and SPARC M5; introduced a portfolio of systems based on these chips; and reported that the new SPARC T5–based systems have set 17

world records. Read how the revolutionary SPARC microprocessor design is moving software into silicon to power the world’s fastest database, Java, and middleware servers. —Diana Reichardt / 24

BLAZING PERFORMANCE

Are national laws requiring you to stand up new systems in new countries? What’s next for your aging heterogeneous system components?

Read how organizations are using Oracle Database Appliance to meet regulations, consolidate systems, simplify operations, deliver Oracle engineered system performance, and scale up their systems with pay-as-you-grow licensing. —David A. Kelly / 32

GROW UP, BRANCH OUT

JA13_TOC_R1.indd 2 6/6/13 12:56 PM

4

July/August 2013 Oracle.cOm/Oraclemagazine

SubScription information Subscriptions are complimentary for qualified individuals who complete the form found at oracle.com/oraclemagazine. For change of address, mail in label with the new address to: Oracle Magazine, P.O. Box 1263, Skokie, IL 60076-8263.

magazine cuStomer [email protected] fax +1.847.763.9638 phone +1.847.763.9635

privacy Oracle Publishing allows sharing of its mailing list with selected third parties. If you prefer that your mailing address or e-mail address not be included in this program, contact Customer Service at [email protected].

copyright © 2013, oracle and/or its affiliates. All Rights Reserved. No part of this publication may be reprinted or other wise reproduced without permission from the editors. ORACLE MAGAZINE IS PROVIDED ON AN “AS IS” BASIS. ORACLE EXPRESSLY DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ORACLE BE LIABLE FOR ANY DAMAGES OF ANY KIND ARISING FROM YOUR USE OF OR RELIANCE ON ANY INFORMATION PROVIDED HEREIN. The information is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Oracle Magazine (ISSN 1065-3171) is published bimonthly with a free subscription price by: Oracle, 500 Oracle Parkway, MS OPL-3C, Redwood City, CA 94065-1600. Periodicals Postage Paid at Redwood City, CA, and additional mailing offices. • POSTMASTER: Send address changes to: Oracle Magazine, P.O. Box 1263, Skokie, IL 60076-8263.

Printed by Brown Printing

reSourceSoracle products +1.800.367.8674 (US/Canada)oracle Services +1.888.283.0591oracle press books oraclepressbooks.com

editorialeditor in chief Tom Haunert [email protected] editor Jan Rogers [email protected]

Senior editor Caroline Kvitka [email protected] editor Patty Waddington

contributing editor and Writer Blair Campbelltechnology advisor Tom Kyte

contributors Marta Bright, Jeff Erickson, Fred Sandsmark, Rich Schwerin, Leslie Steere

deSignSenior creative director Francisco G Delgadillo

Senior design director Suemi Lamdesign director Richard Merchán

contributing designers Jaime Ferrand, Nicholas Pavkovicproduction designers Sheila Brennan, Kathy Cygnarowicz

publiShingvice president Jeff Spicer [email protected]

publisher Jennifer Hamilton [email protected] +1.650.506.3794audience development and operations director Karin Kinnear [email protected] +1.650.506.1985

advertiSing SaleSassociate publisher Kyle Walkenhorst [email protected] +1.323.340.8585

northwest and central uS Tom Cometa [email protected] +1.510.339.2403Southwest uS and lad Shaun Mehr [email protected] +1.949.923.1660

northeast uS and emea/apac Mark Makinney [email protected] +1.805.709.4745advertising Sales assistant Cindy Elhaj [email protected] +1.626.396.9400, x201

mailing-list rentals Contact your sales representative.

editorial boardIan Abramson, Karen Cannell, Andrew Clarke, Chris Claterbos, Karthika Devi, Kimberly Floss, Kent Graziano,

Taqi Hasan, Tony Jambu, Tony Jedlinski, Ari Kaplan, Val Kavi, John King, Steve Lemme, Carol McGury, Sumit Sengupta, Jonathan Vincenzo, Dan Vlamis

JA13_TOC.indd 4 5/24/13 9:13 AM

5From The ediTor

oracle magazine July/August 2013

Location, Location, LocationIt’s important in real estate, and it’s important in information technology.

The evolution of mainframe, mini-computer, and commodity server hard-

ware based on RISC and x86 processors has helped to reinvent business processes. When you worked in a client/server or Web-based application on the latest terminal, work-station, desktop, notebook, tablet, or smart-phone device through the years, however, you likely didn’t know the physical location of the servers and systems you were con-necting to. And in most cases, you probably didn’t know about the system’s internals and the geography of the processor, memory, storage, and networking.

You still don’t need to know where your back-end systems are located and how their internals are designed and assembled to com-plete your daily tasks, but the people who pur-chase or architect these systems and deploy them know that system architecture and inte-gration—including internal design and chassis placement—are like real estate. What’s important is location, location, location.

This issue of Oracle Magazine demon-strates that where your servers, storage, networking, and processing are located can make all the difference for national regulatory requirements, system integration and admin-istration, and application performance.

ConsolidaTion and MoveMenT In “Grow Up, Branch Out” (page 32) orga-nizations are setting up Oracle Database Appliance as a convenient local or depart-mental solution and as part of an interna-tional solution, where national regulations require systems to be located in a specific country. Deploying the pay-as-you-grow Oracle Database Appliance supports inter-national operations by addressing national

requirements and also provides room for international businesses to grow.

Oracle Database Appliance also consoli-dates processing, database, storage, and net-working in one prebuilt engineered system, delivering solution-in-a-box power and con-venience. And no team of system, database, storage, and networking specialists is required to install and maintain the solution.

“Blazing Performance” (page 24) intro-duces Oracle’s SPARC T5 and SPARC M5 pro-cessors. The processors are located in SPARC servers, of course, and those servers have set 17 performance records. In addition to record-setting performance, the SPARC T5 processor offers additional on-chip resources, including PCI Express I/O support and coherence link interfaces to allow communication between up to 8 SPARC T5 chips in a system without an external hub chip. But it’s not the location of the SPARC processor in the server, additional interfaces, or where the SPARC servers are located that’s the most important part of the SPARC processor location equation.

In his presentation on March 26, 2013, Oracle CEO Larry Ellison referred to the SPARC processor’s moving software into silicon as “the ultimate optimization.” Current SPARC processors move encryption processing, for example, to special on-chip accelerators, and plans call for adding database and Java accel-erators to future SPARC processors.

SPARC’s current and future silicon-located accelerators will make applications running standard encryption ciphers, database pro-cesses, and Java run faster. That’s a lot of applications running in a lot of places.

Tom Haunert, editor in [email protected]

LEARN more about Oracle Database Appliancebit.ly/185gVXyOracle’s SPARC serversoracle.com/sparc

NExt StEPS

CONNECT: bit.ly/aVgo69 bit.ly/orclmagfb twitter.com/oraclemagazine linkd.in/orclmag

Send your opinions about what you read in Oracle Magazine, and suggestions for possible technical articles, to [email protected]. You can also follow our @oraclemagazine Twitter feed or join us on Facebook at bit.ly/orclmagfb. Letters may be edited for length and clarity and may be published in any medium. We consider any communications we receive publishable.

SEND MAiL tO thE EDitORS

JA13_EdNote_R1.indd 5 6/6/13 12:43 PM

6

JULY/AUGUST 2013 ORACLE.COM/ORACLEMAGAZINE

MashUp News. Views. Trends. Tools.

AudioToolThis multifunction audio app includes an audio spectrum analyzer, audio signal generator, speaker polarity checker, and more. Note that the iOS version is called iAudioTool. US$6.99–US$7.49 (Android, iPhone, iPad). bit.ly/17RfRUy

THX tune-upAdjust the sound (and picture) on your home theater, and then play THX trailers to show off your tuned system. Requires Apple TV or an AV adapter on your device. US$1.99 (iPhone, iPad). bit.ly/188sTOH

Sound Meter ProThis sound pressure level meter app uses your phone mic to measure noise volume in decibels and shows a reference. It has been calibrated for many specific device models. US$0.99 (Android). bit.ly/159Ym44

AwarenessAwareness uses your device’s mic to sample ambient sound as you listen to music, and then feeds important noises (such as car horns) to your headphones for safety. US$6.99 (iPhone, iPad). essency.co.uk

Do people in your enterprise telecommute?

Is telecommuting an important option for working parents?

Do you believe telecommuting can limit career upward mobility?

AU

DIO

AP

PS

BINOCULARS—AND MORE

Working at home is a hot topic these days. A recent study found that telecommuting is an important option for workers, but is also limiting. More than 300 global executives were asked their opinions about telecommuting.

Many smartphones have surprisingly good built-in microphones, so a growing number of apps are taking advantage of the mic’s capabilities.

77%

94%

60%

“ If you know what you’re looking for, you’re more apt to find it. That’s as true for finding insights as it is for tracking down a lost pair of socks.”

—Charles Kiefer and Malcolm Constable, coauthors of The Art of Insight: How to Have More Aha! Moments (Berrett-Koehler Publishers, 2013)

Ever tried to manage a camera, binoculars, and a video recorder during a concert or bird-watching expedition? Sony lets you stop juggling by combining these devices into one. Its DEV-50 binoculars feature 0.8 to 25 times variable optical zoom, image stabilization, autofocus, and splash and dust resistance. But the real surprise comes from the built-in HD cam-corder and 20.4 megapixel still camera, which capture both 2-D and 3-D images, while you view them through the binoculars. You can send those images and videos (which are geotagged) to your computer or TV, or view them through the binoculars. The binoculars operate for about two hours on one battery charge. US$2,000. sony.com

Don’t Lose ItDo you ever misplace your phone, your keys, your bag, and/or your kid? The hipKey is a tough, stylish aluminum fob that communicates via Bluetooth with your iPhone, iPad, or iPod Touch. When the hipKey and the i-device get too far apart—you decide how far—one or both makes a 90-decibel shriek. Put the hipKey on your key ring or in your child’s pocket, or attach it to anything

else you want to keep track of, such as your luggage while traveling. The device also has a find-me feature that alerts your i-device to make the hipKey alarm sound, and vice versa. US$89.95. hippih.com

AND MORE Sony lets you stop juggling by combining these devices into one. Its DEV-50 binoculars feature 0.8 to 25 times variable optical zoom, image stabilization, autofocus, and splash and dust resistance. But the real surprise comes from the built-in HD cam-corder and 20.4 megapixel still camera, which capture both 2-D and 3-D images, while you view them through the binoculars. You can send those images and videos (which are geotagged) to your computer or TV, or view them through the binoculars. The binoculars operate for about two hours on one battery charge. US$2,000

Source: The Korn/Ferry Institute, bit.ly/179AMV7

23%

6%

40%

Yes No

WHAT IS YOUR COMPANY’S POLICY ON TELECOMMUTING?A. Telecommuting is supported,

without limits.B. Telecommuting is supported,

with limits.C. Telecommuting is allowed on an

occasional basis.D. Telecommuting is not supported.E. Other

65 Percentage of North American CIOs, IT directors, and IT man-agers surveyed who say they

do not have the time, practices, or tools to collect information on the utilization of their IT investments.Source: Kovarus IT management survey, bit.ly/10x42NZ

YO

UR

TU

RN

facebook.com/OracleMagazine

Telecommuting’s Toll

JA13_MashUp_R1.indd 6 6/6/13 12:49 PM

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Register at oracle.com/openworld

SEpt. 22 - 26, 2013San FranciSco

rEGiStEr noWSave $500 by July 19th

1,700 Sessions | 475 Exhibitors | 400 Demos

8

July/august 2013 Oracle.cOm/Oraclemagazine

events

Technology EventsConferences and sessions to help you stay on the cutting edge

Java Forum StuttgartJuly 4, Stuttgart, Germanyfbit.ly/Z4pZ9FThis one-day gathering is primarily geared toward developers, but technology managers who want to learn more about Java can also attend lectures and birds-of-a-feather gather-ings. About 40 exhibitors are participating.

ÜberConf 2013July 16–19, Denver, Coloradofbit.ly/ZdPtOJExplore the Java platform through 160 techni-cally focused sessions, including more than 25 hands-on workshops on architecture, cloud, security, enterprise Java, languages on the Java Virtual Machine, build/test, mobility, and agility.

NASBO Annual Meeting July 21–24, Anchorage, Alaskafbit.ly/ICMpGkThe National Association of State Budget Officers (NASBO) annual meeting features expert speakers on the economy, state revenues, healthcare reform, and other topics.

JavaOne ShanghaiJuly 22–25, Shanghai, Chinafbit.ly/10Ilr72Four content-packed days include constructing applications using Java Platform, Standard Edition; composing Java Platform, Enterprise Edition–based enterprise solutions; creating

client-side solutions using JavaFX, building mobile and embedded Java applications for smart devices, and building and deploying appli-cations in the cloud.

O’Reilly OSCON Open Source ConventionJuly 22–26, Portland, Oregonfbit.ly/Z4qosBMore than 3,000 members of the open source community are expected to hear from speakers sharing new developments, best practices, and tips; choose from sessions covering open source languages and platforms; and participate in comprehensive tutorials on technical skills, new features, and applications.

PeopleSoft RECONNECTJuly 23–25, Rosemont, Illinoisfbit.ly/Y938GEPeopleSoft RECONNECT, this year replacing Quest regional events, offers end users in-depth education on specific Oracle’s PeopleSoft modules plus sessions that cover enhancements, techniques, and tips.

Black Hat USA 2013July 27–August 1, Las Vegas, Nevadafbit.ly/Y93ywIThe information security community convenes for training and briefings. Topics include Web attacks and exploitation, cloud security funda-mentals, digital forensics, and Java security.

Oracle OpenWorld ShanghaiJuly 22–25, Shanghai, ChinaOracle OpenWorld Shanghai keynotes, technical ses-sions, hands-on labs, and demos deliver information on critical technology topics such as cloud, busi-ness analytics, customer experience, and engineered systems. Oracle and its partners and customers present information to help you address today’s chal-lenges and plan for the future. bit.ly/Z5VWOI

ORACLE USER GROUPS

The Chartered Institute for IT, BCS Berkshire Branch Committee MeetingJuly 2, Reading, Englandbit.ly/10IlbF8

UKOUG Application Express (APEX) SIG MeetingJuly 4, Solihull, Englandukoug.org

Sacramento Java Users Group MeetingsJuly 9 and August 13, Sacramento, Californiasacjug.org

UKOUG Partner ForumJuly 11, London, Englandukoug.org

UKOUG Mobile DayJuly 16, Reading, Englandukoug.org

Chicago Java Users Group MeetingsJuly 16 and August 20, Chicago, Illinoisbit.ly/ZJWkOT

Australian Oracle User Group BI-Focused MeetingJuly 17, Brisbane, Queensland, Australiabit.ly/12B2NUa

Ohio Oracle Users Group MeetingJuly 18, Dublin, Ohiobit.ly/XzZtqo

UKOUG Public Sector HCM Customer Forum and WorkshopJuly 18, Solihull, Englandukoug.org

Southwest Regional Oracle Applications User Group MeetingJuly 19, Irvine, Californiasroaug.com

Suncoast Oracle Users Group MeetingsJuly 23 and August 27, Tampa, Floridasoug.org

Austin Java Users Group MeetingsJuly 30 and August 27, Austin, Texasaustinjug.org

Burlington Ruby ConferenceAugust 3–4, Burlington, Vermontburlingtonruby.com

London Java Community: Hack the TowerAugust 10, London, Englandbit.ly/Zxgh2w

Northern California Oracle Users Group One-Day Oracle Performance Research Seminar with Craig ShallahamerAugust 14, Santa Clara, Californianocoug.org

GETT

y IM

AGES

JA13_Events_R1.indd 8 6/6/13 12:53 PM

Download our FREE Server Room Efficiency Kit and

enter to win a Google Nexus 10 tablet!

Visit www.apc.com/promo Key Code a693u Call 888-289-2722 x6545

©2013 Schneider Electric. All Rights Reserved. Schneider Electric, APC, Smart-UPS and PowerChute are trademarks owned by Schneider Electric Industries SAS or its affili-

ated companies. All other trademarks are property of their respective owners. • www.schneider-electric.com • 998-1177097_GMA-US_Nexus

Today’s more sophisticated server and networking technologies require higher availability.

That means you need more sophisticated power protection to keep your business up

and running at all times. But that’s not all. In today’s economy, your UPS must safeguard

both your uptime and your bottom line. Only APC by Schneider Electric™ helps you meet

both of these pressing needs. Specifically, the APC by Schneider Electric Smart-UPS™

family now boasts models with advanced management capabilities, including the ability

to manage your energy in server rooms, retail stores, branch offices, network closets, and

other distributed environments.

Intelligent UPS management software.

PowerChute™ Business Edition, which comes standard with Smart-UPS 5 kVA and below,

enables energy usage and energy cost reporting so you can save energy and money by

tracking energy usage and costs over time; CO2 emissions monitoring to reduce environmental

impact through increased understanding; and risk assessment reporting so you can identify

and proactively manage threats to availability (e.g., aging batteries).

Best-in-class UPS.

Our intelligent, interactive, energy-saving APC by Schneider Electric Smart-UPS represents

the combination of more than 25 years of legendary reliability with the latest in UPS

technology including an easy-to-read, interactive, alphanumeric LCD display to keep you

informed of important status, configuration, and diagnostic information; a unique battery life

expectancy predictor; and energy-saving design features, like a patent-pending “green”

mode.

Now, more than ever, every cost matters and performance is critical. That’s why you should

insist on the more intelligent, more intuitive APC by Schneider Electric Smart-UPS.

But they do trust APC by Schneider Electric Smart-UPS.

40 million computer users don’t trust the power grid.

Why Smart-UPS is asmarter solution

Intuitive alphanumeric display:Get detailed UPS and power

quality information at a glance

— including status, about, and

diagnostic log menus in your

choice of up to five languages.

Configurable interface:Set up and control key UPS

parameters and functions using

the intuitive navigation keys. On

rack/tower convertible models,

the display rotates 90 degrees

for easy viewing.

Energy savings: A patent-pending “green” mode

achieves online efficiencies to 97

percent or higher, reducing heat

loss and utility costs.

10

July/august 2013 Oracle.cOm/Oraclemagazine

events

OTM SIG User Conference July 28–31, Philadelphia, Pennsylvaniafus.otmconference.comOracle Transportation Management Special Interest Group (OTM SIG) sponsors four days of knowledge sharing, ideas, and experiences.

OAUG Connection Point—Apps TechJuly 30–31, Pittsburgh, Pennsylvaniafbit.ly/Z4rdl9The Oracle Applications Users Group (OAUG); Pittsburgh OAUG; and the OAUG Database, Upgrade, and ATG SIGs present an unprec-edented gathering of Oracle E-Business Suite technical professionals sharing information, best practices, and details about Oracle E-Business Suite 12.2.

SHARE in BostonAugust 11–16, Boston, Massachusettsfbit.ly/XzYIxHSubject-matter experts and practitioners discuss issues facing enterprise IT professionals. Technical education and peer-to-peer net-working opportunities are available for IT man-agers, IT architects, systems analysts, systems programmers, and IT support personnel.

Flash Memory SummitAugust 13–15, Santa Clara, Californiafflashmemorysummit.comThis three-day event includes tutorials, in-depth sessions, and keynotes. Tutorials cover flash technology, architectures, solid-state drives (SSDs), hardware, testing, enterprise storage, and applications. The program also features a preconference seminar, “Introduction to SSDs.”

USENIX Security SymposiumAugust 14–16, Washington DCfbit.ly/12CvOepUSENIX brings together researchers, practitioners, systems administrators and programmers, and other professionals interested in the security of computer systems and networks. The sympo-sium spans three days, with a technical program including refereed papers, invited talks, panel dis-cussions, and birds-of-a-feather sessions.

AUSOUG INSYNC13 National Conference SeriesAugust 15–16, Sydney, New South Wales, AustraliaAugust 19–20, Melbourne, Victoria, AustraliaAugust 27–28, Canberra, Australiafbit.ly/12B2NUaThis series of conferences, which replaces the former “Oracle with 20:20 Foresight” events, runs in each Australian state capital and features two days of concurrent topical and attendee-specific sessions and workshops, as well as networking functions. Additional events are planned for Brisbane and Adelaide (September) and Perth (November).

Quest ANZ User Group Annual ConferenceAugust 15–16, Melbourne, Victoria, Australiafbit.ly/YHfQQOThis conference, sponsored by the Quest inde-pendent user group, features content related to Oracle’s JD Edwards EnterpriseOne, JD Edwards World, and PeopleSoft products.

XChange 2013 August 18–22, Washington DCAugust 26–29, San Francisco, Californiafbit.ly/17h2zjRXChange is a two-day event for representatives from 250 United States and Canadian IT solu-tion providers who meet with technology vendors and industry experts to explore opportunities, deepen their understanding of IT trends, and share best practices with peers.

Java Specialists SymposiumAugust 19–22, Crete, Greecefjcrete.orgJava champions and geeks gather in this user-created and user-run event to learn about new Java technologies, talk about Java, and explore the island of Crete.

ITExpoAugust 27–29, Las Vegas, Nevadafitexpo.tmcnet.com/west13More than 7,000 attendees representing companies of all sizes and sectors of the IP communications industry are expected at ITExpo for education and networking.

MobileHCIAugust 27–30, Munich, Germanyfmobilehci2013.orgMobileHCI covers the field of human-computer interaction (HCI), specifically as it relates to portable and personal devices and the services those devices access. This is a multidisciplinary forum for academics, developers, designers, and practitioners.

Oracle Eventsoracle.com/eventsLocate User Groupsoracle.com/technetwork/community

EVENTS LOCATOR

GETT

y IM

AGES

The three-day USENIX Security Symposium, taking place August 14 to 16 in Washington DC, brings together researchers, practitioners, systems administrators and programmers, and other professionals interested in the security of computer systems and networks.

REGISTER for these upcoming Oracle eventsOracle OpenWorld 2013September 22–26oracle.com/openworldJavaOneSeptember 22–26oracle.com/javaoneMySQL ConnectSeptember 21–23oracle.com/mysqlconnect

JA13_Events.indd 10 5/22/13 2:31 PM

11ResouRces

oRacle magazine July/august 2013

What’s New at OracleThe latest videos, podcasts, blogs, and more

VideOsThe Top Five Security Considerations to Look for in a Cloud Providerfbit.ly/YUwN5uOracle Senior Vice President and CIO Mark Sunday discusses cloud security and key compli-ance considerations.

Optimize Your Data Centerfbit.ly/XMeeBiLearn how Oracle’s data center components, systems, and Oracle Optimized Solutions are engineered to work together.

Oracle Data Integration: Moving Data to Transform Businessfbit.ly/Z6oYKaDiscover how Oracle Data Integration products deliver continuous access to trusted data.

Transforming a Day in the Life of a Chief Financial Officerfbit.ly/11OjuHySee how today’s business is driving CFOs to become more strategic in their use of technology.

Life-Changing Analytics fbit.ly/14wn25QOracle Business Analytics improves workforce management, simplifies financial reporting and analysis, and answers business questions.

e-BOOKsOracle’s SPARC T-Series Serversfbit.ly/Xhf5z0Read about Oracle’s new SPARC T5 servers, which offer 2 times throughput performance, 1.3 times single-thread performance, 2.3 times the L3 cache, 2 times the I/O bandwidth, and 2 times the scale of previous-generation SPARC T4 servers.

Twenty-First-Century Finance: Maximize Potential, Deliver Resultsfbit.ly/127bmpmExplore how CFOs can develop a twenty-first-

century finance organization by getting the basics right, being more strategic, and inspiring change.

WHite PaPers“ the total economic impact of Oracle

Business intelligence applications”fbit.ly/YetC46Forrester Consulting examines the potential return on investment of Oracle Business Intelligence Applications.

“ Building Large-scale e-Commerce Platforms with Oracle”fbit.ly/17M5MczDiscover the ecosystem of applications, middle-ware, and core technology that Oracle delivers to support a complete e-commerce strategy.

“ From Customer Orders through Fulfillment: Manufacturing, High-tech, and retail”fbit.ly/YJaBr5Get the results of a survey of 600 supply chain executives for insight into how well companies are meeting their order fulfillment challenges.

“ Oracle Hyperion Project Financial Planning: aligning Financial and Project Plans” fbit.ly/10rpcJQFind out how to align long-term plans with pro-posed and ongoing projects to make the best use of corporate resources. “ Oracle’s x86 systems: the Best x86

Platform for Oracle solaris”fbit.ly/XfUdajDiscover the benefits of running Oracle Solaris on Oracle x86 systems, such as more-advanced fault diagnosis, automatic service requests, easier serviceability, and simplified installation.

“ Oracle VM—enabling rapid Migration to Private Cloud”fbit.ly/XV9srZFind out how to use Oracle VM templates to vir-tualize your applications 7 to 10 times faster than with traditional virtualization technologies.

“ taking Control of the Order-to-Cash Cycle”fbit.ly/XmzysXInsights from experts at FSN, Deloitte, and Oracle show you how to accelerate collections, avert write-offs, and tune up your order-to-cash process.

“ Middleware as a service using Oracle enterprise Manager 12c Cookbook”fbit.ly/12cyejCGet step-by-step instructions for provisioning an Oracle WebLogic Server domain using Oracle Enterprise Manager 12c.

WeBCasts“ announcing New sParC servers with the World’s Fastest Microprocessor”fbit.ly/10ntm9KOracle executives introduce the new standard for extreme performance with the latest portfolio of Oracle’s SPARC servers.

“ introducing Oracle database appliance X3-2”fbit.ly/13rxghiWatch Oracle executives launch the latest Oracle Database Appliance and hear cus - tomers discuss how it has revolutionized the way they deploy, manage, and support a data-base platform.

“ Building a Private Cloud infrastructure with Oracle’s sParC servers”fbit.ly/XhdQzrDeploy a cloud infrastructure faster while low-ering TCO and improving system performance with Oracle Optimized Solution for Enterprise Cloud Infrastructure.

“ Consolidation Best Practices for enterprise applications”fbit.ly/X1srZaLearn how to consolidate your application and database infrastructure, reduce IT cost and complexity, and improve performance and availability.

JA13_RESOURCES_R1.indd 11 5/28/13 3:23 PM

12

July/august 2013 Oracle.cOm/Oraclemagazine

resOurces

“ Data Center Storage Trends for 2013” fbit.ly/1103B1JOracle’s Ravi Pendekanti and guest speaker Laura DuBois from IDC discuss the top data center storage trends.

“ InnoDB in MySQL 5.6: 230 Percent Performance Improvement”fbit.ly/11OfQNVGet an expert overview of the benefits and uses of new InnoDB features in MySQL 5.6.

Techcast Series: Architecting Business Continuity Essentials for Enterprise Applicationsfbit.ly/16mxz1kOracle experts discuss how to maximize avail-ability by incorporating redundancy, high avail-ability, backup and recovery, and disaster recovery processes into your data center.

ReSOuRCe CeNTeRSMigration Made easy: SuSe Linux to Oracle Linux fbit.ly/10RseOiGet the resources you need to migrate, including guides for system administrators, Webcast replays, and customer case studies.

Oracle Storage expert Center: engineered Systems Backupfbit.ly/10knHjzLearn about using Oracle’s Sun ZFS Backup Appliance to reduce the cost and effort of backup and recovery by more than 50 percent compared to competitive solutions.

Turn Your Aging Data Center into an enterprise Data Powerhousefbit.ly/164JCi1

Check out the latest generation of faster, more efficient server and storage systems as well as offers for system refresh, trade-ins, and discounts.

PODCASTS“RedPatch explained”fbit.ly/14wmhK2Listen to an expert Ksplice developer discuss what RedPatch can do for your Linux environment.

Podcast Series: Making the Right Storage Choices fbit.ly/Yt93uVThis 10-part podcast series examines the most important elements to consider when making storage purchasing and deployment decisions.

Podcast Center: Oracle WebCenter Café fbit.ly/XcZVdVListen to the latest updates about Oracle WebCenter from customers, partners, and experts.

Podcast Center: Oracle Virtualizationfbit.ly/12dKpN6Listen to Oracle VM product managers discuss Oracle VM deployment use cases that include Oracle applications and private cloud com-puting environments.

SOCIAL MeDIAOracle Learning Library on Facebookfon.fb.me/YF9kcvAccess free Oracle Learning LIbrary content produced by Oracle product development and cur-riculum teams.

Oracle Value Chain on Twitterfbit.ly/14wneZ8Connect with Oracle Value Chain thought leaders and evangelists.

Oracle university Blogfbit.ly/10zBhjdStay informed on the latest training courses and certifications, get tips and tutorials from expert instructors and course developers, and read analyst commentary.

ORACLe uNIVeRSITYOracle Virtualization Trainingfbit.ly/XOxuc2Learn how server, desktop, and network virtualiza-tion training can help reduce infrastructure cost, improve resource utilization, and simplify data center management.

Oracle Java Trainingfbit.ly/10rRzNCGet the latest training on Java Platform, Enterprise Edition.

CALCuLATORSOracle Value Calculator for SPARC Serversfbit.ly/10ZIaOyFind out how Oracle’s SPARC servers and integrated technology stack can help you achieve unprecedented scale and simplicity in your data center and reduce costs.

“We set out to design the world’s fastest database machine, the world’s fastest Java machine, and the world’s fastest middleware. We also ended up with the world’s fastest pro-cessor and the ability to execute an enormous range of appli-cations with technical performance leadership, as well as cost leadership.”—John Fowler, Executive Vice President of Systems at Oracle, in “Announcing New SPARC Servers with the World’s Fastest Microprocessor” (bit.ly/10ntm9K)

OVeRHeARD

Oracle Blog Centeroracle.com/blogsOracle Consultingoracle.com/consultingOracle events and Webcastsoracle.com/events

Oracle Newslettersoracle.com/newslettersOracle Podcast Centeroracle.com/podcastsOracle universitybit.ly/ouoramagOracle on Facebookfacebook.com/oracleOracle on Google+bit.ly/LdGiM0Oracle on LinkedInlinkedin.com/company/oracleOracle on Twittertwitter.com/oracleOracle Supportoracle.com/supportMy Oracle Supportmyoraclesupport.comMy Oracle Support Communities communities.oracle.com

WeB LOCATOR

JA13_RESOURCES.indd 12 5/22/13 2:44 PM

13BRIEFS

ORACLE MAGAZINE JULY/AUGUST 2013

Product Resources

TUTORIALS/DEMOSOracle Social Relationship Management SeriesThis series contains 10 videos, including an introductory video about Oracle Social Relationship Management, a platform for the socially enabled enterprise, and two sub-series that highlight the publish, engage, and listen tools of Oracle Social Marketing Cloud Service and Oracle Social Engagement and Monitoring Cloud Service. �bit.ly/130P7zH

Oracle Database: Introduction to SQLThis course helps participants understand the basic concepts of a relational database. It covers writing subqueries, combining multiple queries into a single query using SET operators, reporting aggregated data using group functions, controlling privileges at the object and system level, creating indexes and constraints, altering existing schema objects, and creating and querying external tables. �bit.ly/104br7q

Oracle Database: Program with PL/SQLThis course starts with an introduction to PL/SQL and proceeds to explore the benefits of this powerful programming language. Participants learn how to create PL/SQL blocks of application code that can be shared by multiple forms, reports, and data manage-ment applications as well as how to create anonymous PL/SQL blocks. �bit.ly/12X1ps1

Oracle Big Data Tutorial Video SeriesThis three-part tutorial series shows you how to use Oracle Big Data. Topics include improving customer experience, delivering a personalized service, and managing online profiles.�bit.ly/12o3FFY

Leveraging Third-Party Libraries to Create and Deploy Applications to Oracle CloudThis tutorial shows you how to create and deploy an application that leverages the open source PrimeFaces JavaServer Faces (JSF) component suite library to add func-tionality beyond the core JSF libraries. It also covers how to create, deploy, and test applications that use the component suite directly with a local Oracle WebLogic Server instance and remotely with Oracle Cloud.�bit.ly/ZAjYT2

New Oracle Big Data Appliances UnveiledOracle has announced the availability of Oracle Big Data Appliance X3-2 Starter Rack, Oracle Big Data Appliance X3-2 In-Rack Expansion, and Oracle Big Data Appliance infrastructure as a service. Oracle Big Data Appliance X3-2 Starter Rack enables organiza-tions to jumpstart their first big data projects with an optimally sized appliance. Oracle Big Data Appliance X3-2 In-Rack Expansion helps customers easily and cost-effectively scale their footprint as their data grows. Oracle Big Data Appliance infra-

structure as a service provides Oracle Big Data Appliance X3-2 on premises without any upfront capital expenditure.

“With these new additions to the Oracle Big Data Appliance product family, Oracle is meeting the needs of a wider number of customers and expanding its offering to handle everything from the first proof of concept to a large-scale enterprise deploy-ment,” says Çetin Özbütün, vice president of data warehousing and big data technologies at Oracle. “We are focused on bringing the power of big data to our existing enterprise customers, with an integrated platform of engineered systems and key capabilities like SQL support for HDFS [Hadoop Distributed File System].”

oracle.com/bigdata

Oracle Business Analytics Portfolio UpdatedOracle has enhanced its business analytics solutions to help organizations improve business outcomes while simplifying IT. Release 3.0 of Oracle Endeca Information Discovery applications offers a completely redesigned user interface for a superior exploration and analysis of information from any combination of structured and unstruc-tured sources. Oracle Business Intelligence Foundation Suite Release 11.1.1.7 delivers significant updates to usability, mobility, user experience, and big data integration, enabling organizations to analyze critical information and get the intelligence they need to optimize their business.

“In today’s uncertain and extremely competitive business environment, our customers are looking for ways to distill data meaningfully to detect problems, iden-tify opportunities, and better plan for the future,” says Paul Rodwick, vice president of product management at Oracle. “The new enhancements reinforce our commitment to continually adding value to our customers by delivering innovation around business dis-covery, self-service analytics, and user expe-rience, and providing greater effectiveness to drive optimization and tighter alignment across the business.”

bit.ly/ItHFjs

Oracle Taleo Learn Cloud Service UpdatedThe latest version of the Oracle Taleo Learn Cloud Service learning management system expands its global reach with additional time zones, languages, and date format preferences, along with usability updates to help increase adoption and convenience. Part of Oracle Cloud, Oracle Taleo Learn

Cloud Service is a comprehensive solu-tion for delivering, tracking, managing, and reporting on all types of formal and informal training.

“Learning is critical to aligning an increas-ingly global workforce, though organizations must understand there isn’t a ‘one-size-fits-all’ solution to training,” says Jim Obsitnik, group vice president and general manager, Oracle Taleo Learn Cloud Service. “Oracle Taleo Learn Cloud Service incorporates new enhancements to support learning on a global scale, helping organizations achieve maximum efficiency through a centralized cloud-based learning management system that delivers unique, tailored user experi-ences to maximize learner adoption.”

bit.ly/11c4Z4AI-HUA

CHE

N

JA13_Briefs.indd 13 5/22/13 2:55 PM

July/August 2013 Oracle.cOm/Oraclemagazine

14 Briefs

Java Platform, Enterprise Edition 7 LandsThe latest release of Oracle’s platform for enterprise Java computing—Java Platform, Enterprise Edition 7 (Java EE 7) has arrived, with support for modern-era Web applications. It supports HTML5, offers tools to increase developer produc-tivity, and meets the most-demanding enterprise requirements.

Java EE 7 enables developers to deliver dynamic, scalable HTML5 applications by reducing response time with low-latency data exchange using WebSocket. It also sim-plifies data parsing for portable applications with standard JSON support, and delivers asynchronous, scalable, high-performance RESTful services.

Productivity enhancements in Java EE 7 include support for batch processing and JSON processing. Java EE 7 also provides

developers with an annotations-based framework for managing WebSockets and provides the infrastructure for using tradi-tional concurrency concepts in a container-managed environment.

Java EE 7 enables developers to meet the demands of the enterprise by breaking down batch jobs into manageable chunks for uninterrupted online transaction processing (OLTP) performance.

“Oracle’s commitment to Java and the Java community grows with every release,” says Cameron Purdy, vice president of develop-ment at Oracle. “The availability of Java EE 7 will equip enterprises to rise to evolving requirements—like HTML5 and mobile appli-cations—and allow them to confidently bank their future on the Java platform.”

bit.ly/1473wt8

New In-Memory Applications Deliver Faster PerformanceNow available, Oracle in-memory applica-tions for Oracle engineered systems leverage dynamic random access memory (DRAM), flash memories, and the near-zero latency InfiniBand network fabric to run 10 to 20 times faster than commodity hardware by transforming batch processing to real time and shortening response time with improved UI rendering.

Business-critical applications and work-flows such as financial close, cost manage-ment, projections, and planning often take hours or days to execute. The new Oracle in-memory applications change business dynamics to allow organizations to quickly

discover growth opportunities, make smarter decisions, reduce corporate costs, and accel-erate time-consuming workloads.

“Oracle continues to demonstrate its commitment to innovation that produces business results and value for Oracle Applications running on Oracle engineered systems,” says Steve Miranda, executive vice president of application development at Oracle. “The release of Oracle in-memory applications will help organizations not only complete load runs faster, but also discover new insights for efficiencies that would have been previously overlooked.”

bit.ly/15kNFf7

Oracle Virtual Networking IntroducedOracle has unveiled Oracle Virtual Networking, the industry’s fastest data center fabric, with up to 80 Gb/sec bandwidth to the server. Oracle Virtual Networking sup-ports Oracle’s SPARC T5, T4, and M5 servers and Oracle Solaris 11 on both SPARC and x86 platforms. A complete fabric for the modern data center, Oracle Virtual Networking can help organizations improve application per-formance by four times, reduce infrastructure complexity by 70 percent, and cut local area network and storage area network capital expenditures by 50 percent.

“As the industry’s fastest data center fabric, Oracle Virtual Networking enables increased performance and agility while virtually eliminating the complexity in tradi-tional data centers,” says Raju Penumatcha, vice president, product development, Netra systems and networking, at Oracle. “Now with added support for the fastest proces-sors on the planet and the first cloud OS, customers can leverage the benefits of Oracle Virtual Networking in both SPARC and x86 environments.”

bit.ly/13YVgLL I-Hua

CHe

n

Oracle Invests in Proteus Oracle has made a strategic minority invest-ment in Proteus Digital Health, a company that develops ingestible and wearable sensors that are FDA-approved as medical devices. Oracle and Proteus expect to work together in clinical trials to provide clinical investigators worldwide the ability to measure informa-tion about medica-tion ingestion, dose timing, and associated physiologic response continuously and precisely for patients enrolled in clinical trials.

“To optimize the clinical development of personalized, innovative, and safe therapies, clinical trial sponsors, clinical trial service providers, investigators, and patients world-wide require continuous, precise, and near-real-time information on what medicines are taken and the patient’s physiological response when inside and outside of a clin-ical setting,” says Neil de Crescenzo, senior vice president and general manager, Oracle Health Sciences. “We are looking forward to integrating Proteus’ technology into Oracle’s cloud-based clinical trial platform to provide these unique benefits to the industry.”

bit.ly/ZLxxiFproteusdigitalhealth.com

Oracle Buys TekelecOracle has entered into an agreement to acquire Tekelec, a network signaling, policy control, and subscriber data management provider for communications networks.

“As connected devices and applications become ubiquitous, intelligent network and service control technologies are required to enable service providers to efficiently deploy all-IP networks, and deliver and monetize innovative communications services,” says Bhaskar Gorti, senior vice president and general manager, Oracle Communications. “The combination of Oracle and Tekelec will give service providers the most com-plete solution to manage their businesses across customer engagement, business and network operations, service delivery, and end-user applications.”

oracle.com/tekelec

JA13_Briefs.indd 14 5/22/13 2:56 PM

ORACLE MAGAZINE JULY/AUGUST 2013

15BRIEFS

Oracle Delivers Social Relationship Management PlatformOracle has unveiled an end-to-end social management solution for the enterprise. Oracle Social Relationship Management integrates the full spectrum of social activi-ties and analysis in a single platform, creating a seamless transition from listening and content creation to moderation and analysis of a company’s social media efforts.

“Social is driving significant change across enterprises, enabling businesses to rethink and restructure their traditional way of doing business,” says Thomas Kurian,

executive vice president of product develop-ment at Oracle. “Oracle Social Relationship Management brings together traditionally disparate social solutions into one powerful enterprise platform, allowing customers to

fully leverage and maximize social data, insights, and inter-actions to improve customer interactions and business results.”

bit.ly/13YWuGZ

Oracle’s Primavera P6 Analytics 3.1 ReleasedNow available, Oracle’s Primavera P6 Analytics 3.1 provides deeper trending analysis and increased project visibility and control, helping organizations improve decision-making and drive efficien-cies in project processes. Part of Oracle’s Primavera P6 Enterprise Project Portfolio Management family of products, the new release of Primavera P6 Analytics offers an expanded range of key industry metrics that provide critical support for offline and online maintenance projects, deliver day-to-day project tracking, and enable early risk identification.

“For project managers in any industry, it’s important to know how projects are performing day to day, and to identify risk at the earliest opportunity. For those managing large and complex assets, it’s absolutely essential,” says Yasser Mahmud, vice presi-dent of product strategy and industry mar-keting, Oracle’s Primavera Global Business Unit. “With the new capabilities included in the latest release of Oracle’s Primavera P6 Analytics, we are able to help organiza-tions reduce risk by accelerating analysis and increasing project control.”

bit.ly/13YWF53

I-HUA

CHE

N

Now Available: Fujitsu M10 ServersOracle and Fujitsu have announced the worldwide avail-ability of Fujitsu M10 servers, based on Oracle’s 16-core SPARC64 X processor. The new SPARC servers deliver mainframe-class reliability, availability, and serviceability with maximum scalability for mission-critical workloads.

“Oracle welcomes the all-new Fujitsu M10 servers to the SPARC family,” says Edward Screven, chief corporate architect at Oracle. “Oracle and Fujitsu’s strong collaboration exemplifies Oracle’s com-mitment to achieve extreme performance by engineering hardware and software together to benefit customers.”

bit.ly/15kN7py

Oracle Health Sciences InForm and Oracle Argus Safety IntegratedTo help clinical trial sponsors and con-tract research organizations (CROs) more cost-effectively and efficiently capture and manage information on adverse events, Oracle has integrated Oracle Health Sciences InForm and Oracle Argus Safety.

“Out-of-the-box integration between Oracle Health Sciences InForm and Oracle Argus Safety helps trial sponsors and CROs

to respond faster to potential serious adverse effects while reducing the costs and poten-tial for error involved in rekeying informa-tion. It also ensures consistent information between the clinical data management and safety systems,” says Neil de Crescenzo, senior vice president and general manager, Oracle Health Sciences.

bit.ly/OWZucW

Oracle Introduces Comprehensive Management for Desktop VirtualizationThe newest releases of Oracle Virtual Desktop Infrastructure and Sun Ray Software include integration with Oracle Enterprise Manager 12c, providing a com-plete, single-vendor desktop virtualization solution that spans hardware, software, and enterprise-class management. In addition, they both now support Oracle Linux 6 and Oracle Solaris 11, and Oracle Virtual Desktop Infrastructure now supports Windows 8 and Ubuntu 12.04–based virtual desktops.

“Only Oracle offers a comprehensive solu-tion to deliver and manage virtual desktop environments, along with the enterprise appli-cations they access, from a single console,” says Wim Coekaerts, senior vice president of Linux and virtualization engineering at Oracle. “The latest enhancements to Oracle Virtual Desktop Infrastructure and Sun Ray Software, and the integration with Oracle Enterprise Manager, help customers more easily deploy and manage virtual desktops securely from multiple locations and devices.”

bit.ly/R7mZGd

Oracle Business Process Management Suite UpdatedThe latest enhancements to Oracle Business Process Management Suite 11g provide users with improved process modeling capabili-ties, richer simulation, Web forms design, and a new process player. This version of Oracle Business Process Management Suite, a component of Oracle Fusion Middleware, includes updates to Business Process Composer, support for Adaptive Case Management, and an expanded list of Oracle Process Accelerators.

“Business management is evolving at a rapid pace, and organizations need to provide their business users with the nec-essary tools to make informed business process decisions in real time,” says Michael Weingartner, senior vice president of devel-opment at Oracle. “The new enhancements to Oracle Business Process Management Suite empower business users by giving them unprecedented control over the entire business process lifecycle.”

bit.ly/15rZccu

JA13_Briefs.indd 15 5/22/13 2:56 PM

16

JULY/AUGUST 2013 ORACLE.COM/ORACLEMAGAZINE

MySQL is the world’s most popular open source database, and Oracle recently

announced the release of MySQL 5.6. Oracle Magazine Editor in Chief Tom Haunert sat down with Tomas Ulin, vice president of MySQL engineering, to discuss the past, present, and future of MySQL. Oracle Magazine: How is MySQL technology being used today?Ulin: MySQL is the number one open source database, with 15 million installations world-wide and tens of thousands of new down-loads every day. MySQL is widely used on the Web and powers 9 out of the 10 most highly trafficked Websites in the world. MySQL is the M in the LAMP stack—together with Lfor Linux; A for Apache; and P for PHP, Perl, or Python—which is the most popular Web development stack.

MySQL is also used by enterprise and governmental organizations for Web apps as well as custom enterprise apps, such as data marts. These are very complementary use cases to Oracle Database that are typical in ERP [enterprise resource planning] and other applications.Oracle Magazine: Oracle recently announced the release of MySQL 5.6. As an open source database, what’s involved in the develop-ment and release process of MySQL in general, and MySQL 5.6 in particular?Ulin: MySQL has a huge user base of both community users and customers, and we work closely with all constituents to ensure that MySQL continues to meet the needs of both existing applications and the require-ments of emerging markets. We have a number of mechanisms for working with the community, including forums, mailing lists, the bug database, industry conferences, and code repositories such as Launchpad.

Because MySQL is an open source data-base, we regularly publish development milestone releases [DMRs] to preview new features, which cumulatively add up to formal GA [general availability] in the end.

These DMRs enable the community to get early access to code for evaluation and feed-back. In the case of MySQL 5.6, we published five DMRs and one release candidate prior to GA in February of this year.

New features can be developed both by my engineering team at Oracle and by the community users, who submit code under an Oracle Contributor Agreement. Whether new features come from inside or outside Oracle, they all undergo the rigorous QA process we have in place to ensure the stability and reli-ability of MySQL.Oracle Magazine: What are the key new and updated features in MySQL 5.6?Ulin: There is a very long list of new features in MySQL 5.6. In terms of features and in terms of lines of codes added, I would say that MySQL 5.6 is the biggest new release in the history of MySQL. The key new and updated features in MySQL 5.6 include online DDL [data definition language] for InnoDB, improved scalability and perfor-mance, improved replication, improved opti-mizer, improved performance schema, and a new NoSQL access layer.

MySQL 5.6 online DDL allows you to flexibly evolve your schema without loss of service, as opposed to having your data read-only while altering a table. If you’d like to add, for example, an index or a column to one of your tables, you can now do this fully online if you’re using InnoDB, which is the most popular storage engine for MySQL.

Scalability and performance features in MySQL 5.6 allow you to scale on the latest generations of commodity hardware and achieve linear scalability on mixed, read-write, and read-only workloads up to 48 CPU threads.

Some optimizer improvements in MySQL 5.6 include subquery execution, index condi-tion push down, file sort optimization, and batch key access, delivering a range of about 4 times to up to 300 times faster execution, depending on the data and the query.

Replication is one of the most popular features in MySQL, enabling users to scale out their databases across distributed farms of commodity servers, while also providing a foundation for high availability. We have introduced a lot of replication improvements in MySQL 5.6, and the most prominent are multithreading on the slave side and binary log group commit on the master side, which provide, overall, better performance and scalability of MySQL replication. Benchmarks demonstrate about five times improvement on both masters and slaves. MySQL 5.6 also includes global transaction identifiers, which is a significant addition to replication to enable self-healing replication setups.

Performance schema was one of the most popular additions to MySQL 5.5, and MySQL 5.6 builds and improves on it with many more instrumentation points and less overhead. It delivers developers and DBAs much more visibility into their databases to tune and optimize performance.

Last but not least, MySQL 5.6 introduces a new NoSQL direct access API, and it’s one of the features that has received the most

Tomas Ulin, Vice President of MySQL Engineering, Oracle

The Shine of Open SourceMySQL puts the M and the power in LAMP.

TOBY

MAU

DSLE

Y/GE

TTY

IMAG

ES

JA13_Interview.indd 16 5/22/13 3:48 PM

17

oracle magazine July/august 2013

interview by tom Haunert

attention. It allows you to directly access InnoDB data—it bypasses the SQL layer to achieve lower latency and scalability for key/value-based queries. It delivers up to nine times better performance in some cases.

With the addition of the NoSQL API, you can now use SQL when that’s your best option, and you can use NoSQL when that’s your best option. You’re accessing the same data and you’re maintaining the ACID [atomicity, con-sistency, isolation, durability] properties that you’re used to in a database. MySQL 5.6 com-bines the best of the SQL and NoSQL worlds. Oracle Magazine: MySQL is available in different editions. What are the different editions, and what are they designed for?Ulin: MySQL Community Edition is free to use under the Open Source GPL License, version 2.0. The commercial editions are available under a simple subscription or a more traditional license-plus-support model, and they provide features that are

designed to simplify development and reduce total cost of ownership. They include, for example, 24/7 Oracle Premier Support as well as a number of database management, security, and monitoring features.

There are three different commercial editions: MySQL Standard Edition, MySQL Enterprise Edition, and MySQL Cluster Carrier Grade Edition. Each edition provides access to more features. If you move, for example, from MySQL Standard Edition to MySQL Enterprise Edition, you will add monitoring, backup, security, auditing, scal-ability, and high-availability features. And moving from MySQL Enterprise Edition to MySQL Cluster Carrier Grade Edition will add additional features related to real-time per-formance, scalability, and high availability.Oracle Magazine: In recent years, there have been questions about Oracle’s commitment to MySQL. How does MySQL 5.6 address these questions?

Ulin: Oracle acquired MySQL more than three years ago; since then, both MySQL 5.5 and 5.6 have been released with higher quality than ever before and with more new features than ever before. The MySQL engineering team is much bigger than ever before. Substantial engineering resources have been invested into making sure that MySQL now integrates with almost every product in the Oracle product family. All of this testifies to Oracle’s commitment to MySQL. Ubiquity, availability, and ease of use are what make MySQL the world’s most popular open source database, and we intend to keep it that way.

LEARN more about MySQLmysql.com

LISTEN to the intervieworacle.com/magcasts

NExT STEpS

MEETING THE DEMANDS OF TOMORROW AND DELIVERING HIGH-PERFORMANCE NOW

Cybernoor Corporation I www.cybernoor.com I +1.925.924.0400

Cybernoor is the leading expert in Applications Performance Optimization.We can optimize and scale your environment to prepare your system for thefuture and ensure it can handle the demand as well as the growth. Before youstart any upgrade, performance tuning initiative, or hardware changes, contactCybernoor to learn more about our proven performance tuning solutions.

JA13_Interview.indd 17 5/23/13 11:22 AM

MEETING THE DEMANDS OF TOMORROW AND DELIVERING HIGH-PERFORMANCE NOW

Cybernoor Corporation I www.cybernoor.com I +1.925.924.0400

Cybernoor is a leader in Applications Performance Optimization.We can optimize and scale your environment to prepare your system for thefuture and ensure it can handle the demand as well as the growth. Before youstart any upgrade, performance tuning initiative, or hardware changes, contactCybernoor to learn more about our proven performance tuning solutions.

omg0713p017.indd 1 5/31/13 2:24 PM

18 Book Beat

JULY/AUGUST 2013 ORACLE.COM/ORACLEMAGAZINE

Oracle PartnerNetwork Launches Social Media Resource CenterOracle PartnerNetwork has unveiled “Modern Marketing for Today’s Digital World,” a new kit in the partner enable-ment resource center that addresses partners’ need to build or further their brand online. The new kit includes a Webcast series and a library of best-practice and how-to guides that help partners enhance their online profile, build a community on Twitter and LinkedIn, maximize the benefits of Google AdWords, and more.

A key component of the kit, the new Webcast series focuses on helping part-ners create a successful online community through three developmental stages. “Laying the Foundation” helps partners create an online brand, leverage analytics to measure and refine techniques, and build a profile to showcase their ser-vices and products; “Building an Online Presence” shows partners how to leverage LinkedIn, Twitter, Facebook, and Google+ as lead-generation machines; and “Staging the Business for Success” helps partners use online forums, e-blasts, e-books, and Web seminars to complement traditional marketing techniques.

oracle.com/partners

Oracle Business Intelligence Applications

By Simon Miller and William HutchinsonOracle Pressoraclepressbooks.com

Oracle Business Intelligence Applications shows you how to deliver

intuitive, role-based intelligence for everyone in an organization. The authors—master principal sales consultants at Oracle who specialize in Oracle Business Intelligence Applications—provide complete coverage of implementing and operating Oracle Business Intelligence Applications. They also explain how to enable better decision-making and optimize business pro-cesses based on accurate information. The book includes case studies and advanced scenarios based on real-world experiences from Oracle’s presales team.

Oracle GoldenGate 11g Handbook By Robert FreemanOracle Pressoraclepressbooks.com

This book walks you through implementing Oracle GoldenGate—a real-time transactional

change data capture, transformation, and delivery solution—from basic architecture to tips and tricks. Author Robert Freeman guides database professionals through advanced topics such as multimaster repli-cation and conflict resolution. Each chapter of Oracle GoldenGate 11g Handbook features workshops that you can use to install, con-figure, and run Oracle GoldenGate 11g. The book also emphasizes the heterogeneous capabilities of Oracle GoldenGate and pro-vides step-by-step instructions that show how to move disparate data from current and legacy systems to an Oracle database.

Oracle Application Express for Mobile Web Applications

By Roel Hartman, Christian Rokitta, and David PeakeApressapress.com

Oracle Application Express for Mobile Web Applications helps

you translate your knowledge of Oracle Application Express into developing for mobile devices. This book walks you through all the required steps to build a Web applica-tion that will run on phones, tablets, and other mobile devices. You will learn how to make enterprise reporting and business

functions accessible to mobile devices; how to customize the look and feel of your applications; and how to respond to gestures such as swiping and pointing. The book also shows you how to enhance mobile applica-tions through the use of plug-ins and how to deploy applications into the Apple and Android stores.

Oracle ADF 11gR2 Development Beginner’s Guide

By Vinod KrishnanPacktpacktpub.com

This book shows you how to implement Web-based applications using Oracle Application Development

Framework 11g Release 2 (Oracle ADF 11g Release 2). Oracle ADF 11gR2 Development Beginner’s Guide covers the basics of devel-opment and then steps through more-com-plex topics, following a tutorial approach. Author Vinod Krishnan starts with instal-lation and configuration and then covers topics such as working with the model layer and model data, followed by displaying and binding data.

Oracle SOA BPEL PM 11g R1: A Hands-On Tutorial

By Ravi Saraswathi and Jaswant SinghPacktpacktpub.com

Oracle SOA BPEL PM 11g R1: A Hands-On Tutorial is your guide to learning

Business Process Execution Language (BPEL) and creating basic and complex BPEL processes using Oracle JDeveloper and Oracle BPEL Process Manager. Following instructions, you will create and configure adapters, human workflow, and advanced BPEL orchestration. You will also practice deploying, testing, debugging, tuning, error handling, and troubleshooting processes. In addition, you will see how to integrate Oracle BPEL Process Manager with Oracle Service Bus, Oracle Business Rules, and Oracle Business Activity Monitoring. Finally, you will learn how to achieve scalability, high availability, and failover and failback capabilities to deliver business continuity and disaster recovery objectives.

Look for other Oracle books at bit.ly/NjG3KM.

ARCTOOLS Achieves Oracle Validated Integration with Oracle’s JD Edwards WorldDCSoftware, an Oracle Gold Partner, has achieved Oracle Validated Integration of ARCTOOLS v7, its data purging and archiving tool, with Oracle’s JD Edwards World A9.3. Available ARCTOOLS modules cover finan-cials, distribution, manufacturing, and other JD Edwards functions.

ARCTOOLS’ rule-based, parameter-driven purging and archiving solution enables customers to reduce the size of their active database, and thereby lower database management costs, reduce business and compliance risks, deliver safer and quicker upgrades, and improve enterprise resource planning performance.

arctools.com I-HUA

CHE

N

JA13_Partner.indd 18 5/23/13 9:14 AM

19PARTNER NEWS

ORACLE MAGAZINE JULY/AUGUST 2013

I-HUA

CHE

N

Talent Technology Becomes Oracle Platinum PartnerTalent Technology, provider of Talemetry solutions, has achieved Oracle Platinum Partner status. The status demonstrates Talent Technology’s expertise in delivering solutions that help Oracle human capital management customers engage top talent.

talenttech.com

Oracle PartnerNetwork Delivers Partner Resources for Oracle’s SPARC Servers To support Oracle’s new SPARC T5 and SPARC M5 servers, Oracle PartnerNetwork has announced new partner specializations and additional resources and programs.

The SPARC T5 and SPARC M5 server partner specializations include tools and training to help partners showcase their expertise in Oracle’s new servers to their customers. Supporting resources include the SPARC T5 demo equipment program, through which qualifying value-added resellers can receive a discount on select SPARC T5 servers for demos and customer use cases. Oracle PartnerNetwork’s new demand generation resources include a fast start, 1:1 demand-generation kit that comprises a reference guide, templates, and SPARC T5 video assets; a sales velocity kit that helps extend demand generation

activities across a partner’s customer and prospect base; and Oracle-sponsored bench-marks, e-books, road shows, and tech days.

In addition to the new specializations and resources, Oracle PartnerNetwork has announced that current SPARC T4 autho-rized resellers can immediately sell Oracle’s SPARC T5 systems, and opportunities to resell SPARC M5 servers are also available.

Authorized Oracle resellers who work through participating authorized Oracle value-added distribu-tors are eligible for select rebates on the new SPARC T5 and SPARC M5 server lines.

oracle.com/partners

eVerge Group Achieves Oracle PartnerNetwork Specialization for the Financial Services IndustryeVerge Group, an Oracle Platinum Partner, has achieved Oracle PartnerNetwork Specialized status in the Financial Services Industry category. This is eVerge Group’s 13th Oracle PartnerNetwork specialization overall, and its 6th industry specialization.

Oracle and eVerge Group have jointly devel-oped a hosted customer relationship manage-ment solution designed to address the unique needs of financial institutions. eVerge Group’s preconfigured solution helps financial institu-tions increase customer acquisition, improve customer service, develop and manage mar-keting programs, enhance sales productivity, and improve management insight.

evergegroup.com

Two SimpliCTI Cloud Connectors Achieve Oracle Validated Integration with Oracle RightNow Cloud ServiceSimpliCTI Software Solutions, an Oracle Gold Partner, achieved Oracle Validated Integration with Oracle RightNow Cloud Service for SimpliCTI Cloud Connector for Avaya Application Enablement Services version 3.0 and SimpliCTI Cloud Connector for Cisco

Unified Contact Center Enterprise version 3.0.The SimpliCTI adapters provide unified

access to multichannel capabilities including voice, e-mail, Web chat, and short message service.

bit.ly/1391ecC

Four Oracle Partner Solutions Achieve Oracle Exadata, Oracle Exalogic, and Oracle SPARC SuperCluster Ready Statuses Four Oracle Partners have announced that their applications have earned Oracle Exadata Ready, Oracle Exalogic Ready, and Oracle SPARC SuperCluster Ready statuses.

BroadVision, an Oracle Gold Partner, announced that BroadVision K2 version 8.2 solutions have achieved Oracle Exadata, Oracle Exalogic, and Oracle SPARC SuperCluster Ready statuses. BroadVision K2 solutions are comprehensive, scalable e-business platforms.

ERI Bancaire, an Oracle Gold Partner, achieved Oracle Exadata, Oracle Exalogic, and Oracle SPARC SuperCluster Ready statuses for its OLYMPIC Banking System version A. The system spans private wealth management, retail banking, corporate banking, and central bank operations.

Spatial Business Systems, an Oracle

Platinum Partner, has achieved Oracle Exadata, Oracle Exalogic, and Oracle SPARC SuperCluster Ready statuses for its Automated Vehicle Location version 4 solu-tion. The solution uses data from GPS devices and external datasources to enable efficient management of vehicle fleets.

Xplore Software Consulting, an Oracle Gold Partner, announced that Xplore e-Project Management v1.0, its Web-based project management application, earned Oracle Exadata, Oracle Exalogic, and Oracle SPARC SuperCluster Ready statuses. The solution helps users manage projects, tasks, and resources.

broadvision.comwww.eri.chspatialbiz.comxplore-software.com/project_management

SnapPay Achieves Oracle Validated Integration with Oracle’s JD Edwards EnterpriseOne

SnapPay 3.1, a real-time credit card sales order automation and payment card industry security solution created by Oracle Gold Partner CDI, has achieved

Oracle Validated Integration with Oracle’s JD Edwards EnterpriseOne 9.1. SnapPay provides a secure end-to-end solution (cov-ering credit card authorization, settlement, collection, administration, and security) that leverages JD Edwards’ integration best practices and standards. SnapPay can handle multiple companies and currencies, inte-grates tax and shipping logic, and supports multiple gateways including Authorize.Net, CyberSource, Moneris, and PayPal.

cditechnology.com

JA13_Partner.indd 19 5/23/13 9:15 AM

20

JULY/AUGUST 2013 ORACLE.COM/ORACLEMAGAZINE

PARTNER NEWS

SAVE THE DATEOracle PartnerNetwork Exchange @ OpenWorld September 22–26oracle.com/opnexchange

Keste Achieves Oracle PartnerNetwork Specialization for Oracle Cloud BuilderKeste, an Oracle Platinum Partner, has earned Oracle PartnerNetwork Cloud Builder spe-cialization status. Keste was recognized for its expertise in delivering services for use with Oracle’s portfolio of cloud-optimized soft-

ware and hardware products, including Oracle Enterprise Manager and the Oracle Exalogic Elastic Cloud engineered system.

Keste provides cloud platforms and cloud integration services, in addition to developing solutions to help global companies automate and optimize complex business processes.

keste.com

TTI Performance Systems’ Pre-Hire Assessments Earn Oracle Validated Integration with Oracle Taleo Enterprise Cloud ServiceTTI Performance Systems, an Oracle Gold Partner, has achieved Oracle Validated Integration of its Success Insights Pre-Hire Assessments offering with Oracle Taleo Enterprise Cloud Service. The integration pro-vides seamless inclusion of TTI’s validated, legally compliant pre-employment assess-ments that leverage quantitative data anal-ysis and cognitive neuroscience with Oracle

Taleo Recruiting Cloud Service. The combina-tion of Oracle Taleo and TTI’s assessment offering helps human resource teams hire superior performers and maximize employee performance and satisfaction.

In addition to its assessment-based talent management solutions, TTI provides research-based, validated coaching tools.

ttiassessments.com

UC4 ONE Automation Platform Achieves Oracle Exadata Optimized StatusUC4 Software, an Oracle Gold Partner, has achieved Oracle Exadata Optimized status for its UC4 ONE Automation Platform V9. Oracle Exadata Optimized status demonstrates that UC4 ONE Automation Platform V9 has been tested and tuned to work with Oracle Exadata Database Machine to deliver optimum perfor-mance, scalability, and reliability.

The UC4 ONE Automation Platform unifies workload automation, application release management, routine compilation, managed file transfer, virtualization automa-tion, and more.

uc4.com

I-HUA

CHE

N

Polar Bears International is a trusted voice focused

on funding scientific research for the survival of this magnificent animal.

Polar Bears International also funds educational

programs that are inspiring people to reduce their

carbon emissions.

Conservation through Research and Education www.polarbearsinternational.org

Help Us Help the Polar BearPhoto © R&C BuChanan

JA13_Partner.indd 20 5/23/13 9:15 AM

21Architect By BoB RhuBaRt

orAcle mAgAzine July/august 2013

There was a time when “customer experi-ence” was limited to what happened to

you when you walked into a store, restaurant, or other place of business or when you called a business on the telephone. But that was back when you could still smoke on airplanes.

These days your customer experience, or CX, isn’t limited to the physical world or the telephone. In fact, CX is far more likely to happen via a Web browser or mobile applica-tion. And that online experience is just as likely to happen on Facebook or Twitter as it is on a company’s Website. Chances are that you’ve combined a physical customer experi-ence with a virtual customer experience by looking up product reviews while standing in a retail store contemplating a purchase.

So it’s no wonder that CX has become a significant factor in enterprise IT as compa-nies enter the latest phase in the ongoing battle for customer attention and loyalty.

“In many industries, products and ser-vices in and of themselves are now less of a differentiating factor for consumers,” says John Brunswick, an enterprise architect with the Oracle WebCenter team and a prolific blogger (johnbrunswick.com) on the tech-nical aspects of CX. “Ensuring consistent, high-quality engagement across all channels and various stages of an individual’s journey with a brand allows organizations to distin-guish themselves.”

But wooing and wowing customers with a distinctive customer experience isn’t getting any easier.

“From an enterprise IT standpoint, the consumerization of technology has greatly increased customer expectations,” says Brunswick. “This elevation can create a series of challenges.”

One of those challenges is presenting a unified face to the customer, especially when the company behind that visage is a collec-tion of separate marketing, sales, support, and other customer-facing operating units.

“Back-office systems have generally not been designed to efficiently support trans-parent CX for outside parties,” Brunswick explains. “But for organizations that have focused on enterprise architecture and implementing capabilities, rather than discrete technical solutions, adaptation to supporting rich CX is less costly and less time consuming.”

That adaptation also involves embracing the evolving manner in which users relate to technology.

“The pendulum of CX is moving away from function toward form. This is driven largely by demographic shifts,” says Oracle ACE Billy Cripe, an Oracle WebCenter specialist, execu-tive with Digitiliti, and self-described social media Jedi. “The boomer generation favored all-in-one solutions that delivered superior value while sacrificing the sexiness of experi-ence. The millennial generation favors form over function. They’re willing to sacrifice some capability at the edges in favor of a con-venient and fun experience. It’s iPhone over BlackBerry. It’s Amazon over Best Buy.”

Customers now expect from technology a reflection of how they expect to be treated by businesses under this new CX paradigm.

“CX is important because it crosses the boundaries of traditional customer rela-tionship management,” says Ultan O’Broin, director of global user experience for Oracle. “It’s contextual, social, and real-time digital interaction. No more the customer—only this customer. It’s goodwill gone viral, gone virtual.”

That shift in focus to the individual cus-tomer is not lost on sharp architects.

In his work helping clients design and develop health insurance exchange solutions, Oracle enterprise architect Eric Stephens reports that CX is very much on the radar.

“It’s important that the CX is meaningful, engaging, and aligned,” Stephens says, “and that the underlying application, information, and technology components are aligned with the CX needs.”

The architecture of the human experience in the twenty-first century is increasingly defined by the overlap of the physical and virtual worlds. The challenge for businesses—and for architects—is to create a customer experience that, ironically, is made a bit more human by virtue of technological innovation.

“In a software-intensive world,” explains Stephens, “performance characteristics and features may be equal, but the Zen of CX is what will draw folks to a particular product or platform.”

LISTEN to “The CX Factor and Oracle WebCenter”

bit.ly/15zIdiZall ArchBeat podcastsbit.ly/otnarchpodREAD

“Customer Experience Reference Architecture,” an Oracle white paperbit.ly/VLr3js

NEXT STEpS

Bob Rhubart ([email protected]) is manager of the architect community on Oracle Technology Network, the host of the

Oracle Technology Network Arch2Arch podcast series, and the author of the ArchBeat blog (blogs.oracle.com/archbeat).

The CX FactorWooing and wowing customers in the digital age

“ The pendulum of CX is moving away from function toward form.”—Billy Cripe, Oracle ACE

CONNECT: bit.ly/otnarchblog on.fb.me/otnarchfb bit.ly/otnarchtw bit.ly/otnarchli

JA13_Architect.indd 21 5/22/13 4:32 PM

22

JULY/AUGUST 2013 ORACLE.COM/ORACLEMAGAZINE

UP CLOSE BY JEFF ERICKSON

Depending on which survey you read, 70 to 90 percent of Oracle customers are

considering, testing, or implementing private clouds. That means a lot of technologists are looking for information on how to do it.

Oracle’s Anand Akela wants to help these cloud builders help each other. After getting to know many of them on Twitter and Facebook and on their blogs, he attended COLLABORATE 13 to meet them face-to-face.

Akela is a longtime technologist in systems management, servers, data center efficiency, and enterprise software who now finds himself a principal product marketing director at Oracle. The role fits his social nature, and he’s determined to use his posi-tion to help the cloud builder community grow. Akela’s goal at COLLABORATE 13, where he was a keynote speaker for the Oracle Cloud general session, was to listen, learn, and connect people. “The independent com-munity is going to do its own thing, but I can let them know that Oracle is eager to hear their critiques—and can find product experts when they ask,” he says. “I also wanted to introduce the enthusiastic people I’ve known online to the IOUG [Independent Oracle Users Group] cloud builder community where they can find more opportunities to share and learn.” His time at COLLABORATE could not have been more rewarding, Akela says.

WORKING COLLABORATE 13At COLLABORATE, two places to find cloud community members were the IOUG Cloud Computing Special Interest Group (SIG) and IOUG Oracle Enterprise Manager SIG events.

“There were hundreds of people at the Oracle Enterprise Manager SIG meeting. There was a lot of excitement and people wanting to contribute,” says Akela, who had helped to bring a few Oracle product experts to the meeting. “We also had a Twitter-based chat going so people who weren’t at

the event could participate online. We took questions and answers from the room and also from the Twitter feed.”

Akela was amazed by the number of SIG members who were interested in volun-teering with the cloud builder community—including many who signed up for ongoing volunteer roles on the spot. “[Voluntarism] is imperative for any community to thrive. SIG members picked up tasks such as running discussion groups, writing for blogs, setting up the Webcasts, and running monthly meetings,” he says.

MEET THE BLOGGERSA key part of ongoing dialogue between cloud builders is the work of popular cloud technology bloggers, several of whom Akela met at COLLABORATE. “I have had conversa-tions with many of these people on a weekly and sometimes daily basis, but I hadn’t met them and they had never met each other,” Akela explains. So he met with the likes of Kellyn Pot’Vin, Leighton Nelson, and Fuad

Arshad, whose cloud technology blogs he admires. “We will continue to interact online, but now we’ve all met each other, and that enhances the relationship,” he adds. “It will help us work together to build this community.”

To underscore his point about the impor-tance of community, Akela showed me a tweet. IOUG had asked participants on Twitter why COLLABORATE is important to them. One 131-character reply told the story: “I will tell you why, in five minutes at the IOUG party last night I got a question answered that was nowhere to be found on Google.”

“That tweet tells precisely why we need to keep building this community,” says Akela. “If you’re building a private cloud, these IOUG SIGs and bloggers are community resources you should tap into. I will do what I can from my position to help them thrive.” t

Anand Akela, Principal Product Marketing Director, Oracle

Jeff Erickson ([email protected]) is a senior editor with Oracle Publishing.

BOB

ADLE

R

Cloud Builders UniteBloggers, tweeters, and user groups work to form a cloud builder community.

FOLLOW Akelathe Oracle Enterprise Manager blogblogs.oracle.com/oemFOLLOW cloud technology bloggers Kellyn Pot’Vin dbakevlar.comLeighton Nelson blogs.griddba.comFuad Arshad fuadarshad.comLEARN more aboutthe IOUG Cloud Computing SIGbit.ly/YTzg6Jthe IOUG Oracle Enterprise Manager SIGbit.ly/ZL5pIT

NEXT STEPS

JA13_UpClose.indd 22 5/22/13 4:45 PM

Learn more about the Oracle ACE program at oracle.com/technetwork/community/oracle-ace.

23Peer-To-Peer by blair Campbell

oracle magazine July/august 2013

Finding HelpPeers get career boosts from the cloud, My Oracle Support, and Oracle University.

Which new features of Oracle Applications are you currently finding most valuable? For migrating artifacts between EPM applications, servers, and environments, I’ve become a tremendous fan of the Lifecycle Management feature of the Oracle Hyperion enterprise performance management [EPM] system. How are you using cloud computing in your work? I think I might be the poster child for cloud computing. It allows a company like mine to get access to large chunks of computing power without a large outlay, expertise, or space. It’s been an absolute lifesaver for development, new-release testing, and education. Any particular cloud-related projects you’d like to mention? Oracle ACE John Booth and I conceived the idea of the user group ODTUG running the labs and training sessions it holds at every Kscope conference in the cloud. Each student can be in control of his or her own virtual server, and from ODTUG’s perspective, the servers come up for a very short amount of time, get used, and then all get destroyed just in time for the next lab. It was my idea to go to the cloud, but the hard technical and infrastructure work was all John’s.

Which features in Oracle Database are you currently finding most valuable? I really appreciate the enhancements and new capabilities of Oracle Recovery Manager, especially in areas tailored to backing up massive amounts of data. Native compression arrived in Oracle Database 10g, and new enhancements to speed up backups and recovery exercises emerge with every new release of the database.What advice do you have about how to get into database administration? Start with the basics, and ensure that you have access to a suite of virtual machines to leverage your newfound skills as you acquire them. Don’t study technical documentation without trying things out as you go—and do not believe everything you read as a result of your search engine hits.What’s your go-to Oracle reference? My Oracle Support is where I spend all my time—once one hones the skills required to work effectively with this organization, its assistance is second to none. There’s nothing like an Oracle Support team armed with the latest information and with such a massive knowledgebase at their fingertips.

What’s your favorite technique on the job? Investigating problems in the servers running Oracle Solaris and then documenting how I’ve solved them, step by step, in my blog, Apuntes de Solaris [Solaris Notes, at solaris4ever.blogspot.com]. I do this to try to help the sys admin community—and to help myself, because I have a bad memory.What technology has most changed your life? The newer releases of Oracle Solaris have had a big impact—for example, Oracle Solaris 10 and its Oracle Solaris Containers feature [Oracle Solaris Zones as of Oracle Solaris 11]. These new releases brought radical changes—including the creation of zones; the new Service Management Facility, which left inetd [the Internet Services Daemon] behind; and the new way of patching using zones.You’ve taken Oracle University [OU] classes in the past. What led you to do this? I started my IT career in 1992, when I got a job performing OS tasks in a factory. I eventually became a UNIX administrator and began to take OU courses focused on Oracle’s Sun solutions. Since then I’ve taken nearly a dozen courses. These courses have helped tremendously to upgrade my skills.

Company: Pythian, a data and data infrastructure management consulting firmJob title/description: Oracle team lead, participating in the management of service delivery for clients and intervening in technical triage as requiredLocation: Ottawa, Ontario, CanadaLength of time using Oracle products: 26 years

MiCHaeL abbey

Company: Telecom Argentina S.A., a telecommunications companyJob title/description: Senior technical support specialist, responsible for administration and configuration of Oracle Solaris platformsLocation: Buenos Aires, ArgentinaLength of time using Oracle products: More than 10 years

DiegO aguirre

Company: CL Solve, an enterprise performance management consulting companyJob title/description: President and consultant, handling all company operationsLocation: Philadelphia, PennsylvaniaLength of time using Oracle products: 19 years

CaMerOn LaCkpOur

JA13_peer.indd 23 5/23/13 9:07 AM

BLAZING PERFORMANCE

New SPARC microprocessors power the world’s fastest database, Java, and middleware servers.

BLAZING PERFORMANCE

BY DIANA REICHARDT

Oracle unveiled two new SPARC microprocessors, SPARC T5 and SPARC M5, and introduced a

portfolio of systems based on these chips at a live event in Redwood Shores, California, on March 26. Oracle CEO Larry Ellison introduced the SPARC T5, calling it “the world’s fastest microprocessor,” and reported that the new SPARC T5–based systems have set 17 world records.1

Specifically, the SPARC T5-8 server achieved more than 8 million transactions per minute on the TPC-C benchmark,2 Oracle Executive Vice President of Systems John Fowler told the audience. “It’s simply an astonishing level of capability at a cost and performance point that no one has ever seen before, and it’s a huge step for us,” Fowler said.

ORACLE MAGAZINE JULY/AUGUST 2013

1 All world record claims can be found at oracle.com/benchmarks and blogs.oracle.com/bestperf.2 Oracle’s SPARC Server Benchmarks, bit.ly/YLfhay

JULY/AUGUST 2013 ORACLE.COM/ORACLEMAGAZINE

26

RON

SELL

ERS

Targeted at midrange computing, the new SPARC T5 servers provide high throughput and computing density along with built-in virtualization and extreme scalability. These highly efficient plat-forms are designed for large-scale, mission-critical applications and are well suited for multitier enterprise applications with Web, data-base, and application components.

“It’s fascinating,” Ellison said. “[The T5-8 server] is not very big, but there’s been no single server that’s ever run the [Oracle] data-base faster than this on an official benchmark.” What’s more, he said, the SPARC T5-8 is also the fastest Java server and middleware server in the world.

The superior performance of SPARC T5 servers begins with the extreme speed of the SPARC T5 microprocessor.

“This will come as a big shock to a lot of people, but these machines offer better integer performance than the IBM Power series,” Ellison announced. “The [SPARC] T5 microprocessor itself delivers better integer performance than IBM Power [CPU].”

SPARC M5 CHIP AND SERVERSEllison and Fowler also introduced the SPARC M5-32, a high-end server that offers huge performance gains over the previous genera-tion. It uses the new SPARC M5 six-core processor running at 3.6 GHz and delivers roughly 10 times performance improvement over the

SPARC Enterprise M9000 server that it replaces. Oracle’s goal with the SPARC M5-32 and the entire SPARC M5 line

of systems is to change the economics of high-end servers, Fowler said. “We wanted to actually step the high end up, to allow you to tackle a different class of applications and a different level of capa-bility, but do that in a cost-performance point that still makes the high end a very attractive enterprise platform,” he said.

These new vertically scalable servers contain large pools of resources that can support dozens of workloads of various sizes and

Oracle customers, industry analysts, and members of the technology press gathered at Oracle headquarters for the SPARC T5 and SPARC M5 launch event on March 26, 2013.

The SPARC T5 processor is a 28 nm processor featuring 16 S3 cores, 128 threads, dedicated 128 K L2 cache per core, 8 MB shared L3 cache, and a high-frequency (3.6 GHz) clock. It includes a new high-performance directory-based protocol, which enables SPARC T5 systems to scale to 8 sockets without any additional silicon needed to maintain memory coherence links.

The SPARC M5 processor has 48 MB of L3 cache for outstand-ing single-thread performance,

making it ideal for just about any workload. It has 8 threads per core and 6 cores per processor for a total of 48 threads per processor. It supports 1 TB of memory per processor, which allows the SPARC M5-32 to scale up to 32 SPARC M5 processors, 192 processor cores, 1,536 threads, and 32 TB of main memory, all of which can be used by a single instance of Oracle Solaris or by many instances using SPARC M5-32 partitioning technologies.

SPARC T5 and SPARC M5: What’s Inside?

JA13_SPARC_R1.indd 26 5/29/13 10:07 AM

oracle magazine July/August 2013

27

types to simplify consolidation and application deployment. New applications can be added, eliminating the need to install a server for each new application, and existing applications can grow by taking advantage of the extra headroom available.

Using virtualization technologies such as Dynamic Domains, Oracle VM Server for SPARC, and Oracle Solaris Zones, customers can

consolidate many applications on high-end SPARC M5-32 servers to increase server utilization and business flexibility.

Moving Software to Silicon Ellison said that to maintain and increase its leadership position in processors and the systems that use them, Oracle needs to continue to double performance every year and move more software features into hardware, a process that he referred to as “the ultimate optimi-zation.” Plans include putting database and Java accelerators right on the chips as well, he noted, emphasizing that Oracle has done this kind of thing before. For example, Oracle has already moved encryp-tion into silicon. The SPARC T5 processor accelerates all the most common bulk encryption ciphers so that applications can offload the encryption processing to improve performance.

a Different way of DeSigningIn the past, Fowler noted, systems design focused primarily on con-necting networking with storage and the operating system to build a product—with an arm’s-length approach to applications. Oracle is able to achieve so many new world records because the database team, the Java team, and the middleware team work together and influence every aspect of the system design, he said. “It’s a lifestyle here. The teams do intensive microbenchmarks and simulations in the design phase to create these systems.”

The new SPARC T5 and SPARC M5 systems leapfrog the competi-tion with up to 10 times the performance improvement over the previous generation, Fowler said, offering an unbeatable value for midrange and high-end enterprise computing.

“We set out to design the world’s fastest database machine, the world’s fastest Java machine, and the world’s fastest Java middleware machine,” Fowler said. “We also ended up with the world’s fastest pro-cessor, and the ability to execute an enormous range of applications with technical performance leadership as well as cost leadership.”

Oracle CEO Larry Ellison introduced the SPARC T5, the world’s fastest microprocessor, and systems based on it.

Running a machine the size of the SPARC M5-32 server puts tremendous stress on the operat-ing system, said Oracle CEO Larry Ellison at the SPARC launch event, and he explained that Oracle Solaris is architected to manage the thousands of processors, hundreds of terabytes of memory, extremely large storage arrays, and highest bandwidth networks

that are found in Oracle’s SPARC systems.

Oracle Solaris is also designed and tested to protect customer investments in software. The Oracle Solaris Binary Application Guarantee enables customers to purchase new systems or upgrade the OS on older systems and continue to run their existing applications.

The Oracle Solaris Connection

Oracle Executive Vice President of Systems John Fowler told the audience that the SPARC T5-8 offers “an astonishing level of capability.”

Saul

lew

iS, R

on S

elle

RS

Diana Reichardt is a senior writer at oracle.

WATCH the SPARC T5 and SPARC M5 launch Webcastbit.ly/12yHnnTLEARN more about SPARC serversbit.ly/10z5Mw1Oracle benchmarksbit.ly/12eyspROracle Solarisoracle.com/solaristhe Oracle Solaris Guarantee Programbit.ly/10z5Vc0READ

“SPARC T5 Deep Dive: An Interview with Oracle’s Rick Hetherington” bit.ly/15QQq8c

NExT STEPS

JA13_SPARC_R1.indd 27 5/29/13 10:08 AM

the era of big data and tight IT budgets, it’s more important than ever

for IT leaders to be strategic when investing in their enterprises to

ensure optimum business value. With the advent of cloud computing

and large workloads, they need systems with the fl exibility to provide performance

and availability for mission-critical enterprise applications today and the scalability

and reliability to accommodate growth in the future—all at an ideal price point.

Fujitsu M10 servers have taken a new approach to meeting these requirements by

introducing a number of innovative technologies.

The new Fujitsu M10 server, based on the 16-core SPARC64™ X processor and

developed jointly between Fujitsu and Oracle, delivers extreme performance,

mainframe-class reliability, availability and serviceability (RAS), along with maximum

scalability for mission-critical workloads. This “datacenter in a box” features a large

compute capacity in a compact size, using a fl exible and modular architecture of four

processor building blocks to scale incrementally up to 64 processors hosting 32 TB

of memory. It also supports Oracle Solaris 10 and 11, and is binary compatible with

all SPARC servers, enabling highly fl exible system confi gurations. The server offers an

appealing low total cost of ownership thanks to rapid deployment, useful software

tools, and simplifi ed management and support.

By deploying Fujitsu M10 servers, companies can achieve dramatic business value

and cost savings. “Fujitsu M10 delivers extreme performance that enables customers

to further improve their competitiveness with real-time decisions in the ever-changing

world,” says Noriyuki Toyoki, corporate senior vice president at Fujitsu. “Fujitsu M10

is our commitment to bring big results to customers, helping them maximize their

return on investment with unique dynamic scalability and mainframe-class reliability.”

The new

Fujitsu M10

servers deliver

world-class

enterprise

performance

for real-time

processing, dynamic

scalability, and

mainframe-class

RAS with an eye

on the bottom line.

A Bold New Server

that Evolves with

Your Business

A Bold New Server

that Evolves with

Your Business

In

ADVERTISING SUPPLEMENT

Untitled-1 2 6/5/13 2:09 PM

WORLD-CLASS ENTERPRISE

PERFORMANCE WITH

EXTREME RESPONSE TIME

Fujitsu M10 servers featuring the 16-core SPARC64

X processor provide superlative performance

for the largest workloads. Employing proven Fujitsu

supercomputer technology for highly parallel

computing and an innovative cooling technology

to achieve low latency access time between

memory and CPU, the Fujitsu M10 can process

large amounts of data in a short period of time.

These technologies provide superior performance

for enterprise workloads such as online transaction

processing (OLTP), enterprise resource planning

(ERP), business intelligence and data warehousing

(BIDW), supply chain management (SCM), and

customer relationship management (CRM).

PAY AS YOU GROW DYNAMIC SCALABILITY

The modern enterprise needs a fl exible platform

that provides superior performance and availability

for the current applications environment, and the

ability to scale to future growth and technological

needs. Fujitsu M10 servers feature unique dynamic

scaling to grow as the business grows. Their modu-

lar building-block architecture can scale easily and

economically, combining up to 16 building blocks

for a total of 64 processors and 1,024 cores. With

the CPU Activation feature, customers can activate

CPUs on a CPU core basis and pay for only the

processor cores that are needed, enabling rapid

and cost-effective adding of resources. This capacity-

on-demand feature is valuable for customers such

as NTT DATA who want their IT environment to

grow in alignment with the business.

“We at NTT DATA have evaluated and con-

fi rmed the high performance of Fujitsu M10 that

stems from Fujitsu’s high-performance supercom-

puter technology,” says Hiroshi Endo, senior vice

president of NTT DATA Corporation. “We look for-

ward to further accelerating the adoption of Fujitsu

M10 into our IT infrastructure to match the big data

era with high performance processing capacity.

NTT DATA will use the exciting new technologies

in Fujitsu M10 to drive the development of new IT

solutions that in turn directly advance our custom-

ers’ business.”

Untitled-1 3 6/5/13 2:10 PM

MainFraMe-class ras

Fujitsu M10 servers use proven, highly reliable

technologies in all of their components. Their

mainframe-class RAS capabilities ensure high avail-

ability for mission-critical applications. In addition,

comprehensive and exhaustive data protection and

redundancy assures system uptime 24 hours a day,

365 days a year.

innOvative sOFtware On

chip technOlOgy

Fujitsu M10 servers feature Software on Chip

(SWoC) technology, which implements common

software code sequences directly into the hard-

ware, offering multiplicative enhancements in per-

formance. Oracle and Fujitsu are collaborating on

future advances in software and hardware optimi-

zations, including shifting cryptographic operations

from software to the processor. This new SWoC

hardware technology is expected to be exploited

in new releases of Oracle software.

high-eFFiciency cOOling technOlOgy

Fujitsu’s hybrid cooling technology, Liquid Loop

Cooling, combines the strengths of liquid and air

cooling to resolve the typical problems that exist in

server cooling systems. Liquid Loop Cooling allows

high efficiency cooling and reduces the CPU/memory

board size. The coolant circulates efficiently using

multiple redundant pumps, removing the processor

heat via a small heat exchanger/radiator on each

board that is air-cooled. The system reduces the size

of the heat sink and fans, leading to space-saving and

less noise. It also dramatically improves the internal

design of the server, allowing CPUs and memory

to be packed closer together, reducing memory

latency. Furthermore, controlled CPU temperature

will improve the parts life cycle. This efficient cooling

system can lead to significant cost savings for

businesses.

advanced virtualizatiOn

and cOnsOlidatiOn

SPARC-processor-based servers are among the

world’s best consolidation and virtualization plat-

forms. The Fujitsu M10-4S server supports up to 16

physical partitions, and as many as 256 Oracle VM

Server for SPARC domains can be deployed in each

physical partition, enabling massive server consoli-

dation and virtualization.

To reduce the number of resources that IT

needs to manage, it is vital to consolidate work-

loads, applications, databases, operating system

instances, and servers. Consolidation yields a num-

ber of benefits: improved system utilization rates,

cost savings, improved security, more predictable

service levels, and increased flexibility in appli-

cation deployment. For successful consolidation

projects, IT needs a server platform that can scale

to support any number of application instances,

in a highly available mission-critical environment.

The platform also needs resource management

and virtualization capabilities to simplify managing

numerous applications, and the tools to manage

that consolidated environment. The Fujitsu M10-4S

server delivers on all these requirements, where IT

managers can

create pools of

compute

resources

that can be

rapidly and

dynamically allocated to meet new and changing

workloads.

nO. 1 unix Os Oracle sOlaris

Fujitsu M10 servers support Oracle Solaris 11 and

Oracle Solaris 10. In addition, Oracle offers the

Oracle Solaris Application Guarantee Program,

offering guaranteed binary and source-code

compatibility for applications dating back to 1997

or earlier. Oracle Solaris 9 is also available to use

in Oracle Solaris Legacy Containers. In fact, one

customer was able to operate Oracle Solaris 9, 10

and 11 on one server to run multiple applications.

In addition, both Oracle VM Server for SPARC

and the Oracle Solaris Zones feature of Oracle

Solaris are included in all Fujitsu M10 servers at

no cost.

three MOdels tO Meet Business needs

Fujitsu M10 servers are available in three models to

meet the specific needs of many types of businesses.

Every Fujitsu M10 server is based on the 16-core

SPARC64 X processor with SPARC V-9 processor

architecture, built-in security, a maximum of 600

“Fujitsu is the only server processor development company based in Japan. We are proud of our long history and technology skills.”

– Takumi Maruyama, Assistant Vice President, Processor Development Division, Fujitsu

Advertising supplement

Untitled-1 2 6/5/13 2:12 PM

gigabytes drive size, and SAS drive protocol. All

Fujitsu M10 servers come with the Oracle Solaris

11 operating system pre-installed. In addition, each

model offers a different configuration:

The Fujitsu M10-1 server features 2.8 gigahertz

processor speed, one maximum processor with up

to 16 cores and 32 threads per system. The system

memory is up to 512 gigabytes in one rack unit (RU)

height chassis.

The Fujitsu M10-4 server features 2.8 gigahertz

processor speed and four maximum processors with

64 maximum cores and 128 maximum threads per

system. The system memory is up to 2 terabytes in

a four RU chassis.

The Fujitsu M10-4S server features four 3.0

gigahertz processors in a four RU chassis that can

be combined with other M10-4S servers using Fujitsu

cross-bar technology to form a 16-unit configuration

offering up to 64 processors, with 1,024 cores and

2,048 threads. The system memory can scale up to

32 terabytes enclosed in two datacenter racks with

integrated cross-bars.

“To increase profitability and remain compet-

itive in today’s fast-paced business environment,

businesses are focused on speeding up application

processing and improving their overall IT efficiency,”

says Bill King, executive vice president of Platform

Products Group at Fujitsu America. “The Fujitsu

M10 servers help our customers realize these objec-

tives while providing a direct return on investment by

delivering tremendous price performance advantage

with advanced features for optimized database and

application performance, mainframe RAS, scalability

and a high- performance infrastructure that busi-

nesses expect from Fujitsu.”

Oracle and Fujitsu: a strOng alliance

Over the years, Oracle and Fujitsu have built a

strong alliance that is focused on delivering mean-

ingful value to customers. The Fujitsu M10 servers

are a direct result of their joint collaborative efforts.

“Oracle welcomes the all new Fujitsu M10 servers

to the SPARC family,” says Oracle Chief Corporate

Architect Edward Screven. “Oracle and Fujitsu’s

strong collaboration exemplifies Oracle’s commitment

to achieve extreme performance by engineering hard-

ware and software together to benefit customers.”

“Fujitsu is the only server processor development

company based in Japan. We are proud of our

long history and technology skills,” says Takumi

Maruyama, assistant vice president, Processor

Development Division at Fujitsu. “We look forward

to delivering the Fujitsu M10, which combines

Fujitsu and Oracle’s expertise and innovative tech-

nologies, to our customers, and providing them

with real business and IT value.” n

This document is for informational purposes only, and

may not be incorporated into a contract or agreement.

Fujitsu is proud to be an Oracle PartnerNetwork

Diamond level partner, making it one of a handful

to achieve the highest ranking available in the

Oracle PartnerNetwork (OPN) program. The

Diamond distinction lauds Fujitsu for its extensive

expertise in Oracle solutions across the entire

stack—services, software and hardware. It also

recognizes Fujitsu’s outstanding ability to provide

differentiated and innovative services to joint

customers around the globe.

Currently, Fujitsu has over 3,500 Oracle specialists

whose deep skills have helped the company achieve

six advanced specializations. This means that not only

has Fujitsu met a variety of stringent requirements; it

has at least 50 certified implementation specialists on

staff for each of six specific product areas.

“By achieving Diamond-level status, the highest

in OPN, Fujitsu has demonstrated its vast knowledge

of Oracle technologies and its outstanding

ability to offer that expertise to joint customers

worldwide,” says Michelle Montalvo, vice president,

Global Systems Integrator Alliances, Oracle.

“This achievement is a significant milestone in a

longstanding relationship with Fujitsu.”

Fujitsu’s Diamond-Level and Oracle Specialized Partner Status Yields Big Benefits for Customers

For more information on how Fujitsu M10 servers can benefit your enterprise, please visit oracle.ts.fujitsu.com/sparc.

Untitled-1 3 6/5/13 2:13 PM

July/August 2013 Oracle.cOm/Oraclemagazine

32

Oracle Database Appliance provides new ways for organizations to simplify, consolidate, and grow.

integrated system

one-button in

stallation

pay as you grow

orac

le d

atab

ase

appl

ianc

e branch deployment

orac

le d

atab

ase

appl

ianc

e

engi

neer

ed s

yste

m

stan

dard

con

figu

rati

on

sim

ple

to m

aint

ain

syst

emco

nsol

idat

ion

plat

form

sing

le-v

endo

r su

ppor

t

expa

ndab

le

expa

ndab

levi

rtua

lize

d pl

atfo

rm

departmental system

midsize business

one-button patching

pay as you grow

grow up, branch out

by david a. Kelly

solu

tion

in a

box

JA13_ODA.indd 32 5/23/13 4:17 PM

oracle magazine July/August 2013

33

standard configuration

departmental system

pay as you grow

virtualized platform

pay as you grow

one-button diagnosis

single-vendor support

storage expansion

pay as you grow expandable simple to maintain

branch deployment

engineered system

with the variety of servers, storage, and networking options available, today’s it infrastructures can

be very complex and expensive to build and maintain. that’s why oracle created oracle database appliance.

“with oracle database appliance, organizations don’t need to architect high-availability systems, and they don’t need to manage storage—it’s all provided out of the box,” says sohan demel, vice president of product strategy and business development at oracle. “oracle database appliance enables companies to

vastly simplify their it infrastructures and increase their operational efficiencies.”

oracle database appliance is a single, integrated package of software, server, storage, and networking, and it provides a plug-and-play way for organizations to easily deploy and manage a robust but self- contained it infrastructure. oracle database appliance is a fully integrated 4u rack-mountable system for midsize businesses, enterprise departments, and remote/distributed deployments.

JA13_ODA.indd 33 5/23/13 4:17 PM

July/August 2013 Oracle.cOm/Oraclemagazine

34

BoB

Adle

r

A unique feature of Oracle Database Appliance is the solution’s “capacity on demand” software licensing. While Oracle Database Appliance comes with 32 high-performance Intel processor cores, organizations can start out by using as few as 2 processor cores and grow to the system’s full capacity as business needs dictate—with no hardware upgrades needed.

“It’s a really great platform for customers to grow into. Organizations can limit their initial cost outlay and better align their IT spending with business growth,” says DeMel.

Aon: InternAtIonAl GrowthWhen it comes to cloud computing, one size may not fit all—at least for companies that want to offer cloud-based solutions internation-ally. Take the case of Aon eSolutions.

Aon eSolutions is the technology solutions business of Aon, one of the world’s largest risk management, insurance, and reinsurance brokerage providers. Aon eSolutions has more than 1,600 global customers, including many Fortune 100 companies and more than 250,000 distinct users who leverage its systems.

Aon eSolutions offers its customers the ability to manage their own risk exposure. It also provides claims and policy administration that allows companies to manage everything from day-to-day claims entry and healthcare bill review services to paying out insurance claims.

Aon’s applications have to be available 24/7. “Our customers have people all over the world entering data and running reports,” says Scott Wilson, vice president of hosting and IT operations at Aon eSolutions. “Our solutions are critical to the day-to-day business operations for a large number of companies.”

In addition to being available, Aon eSolutions systems have to perform. Customers run reports against 30 or 40 years’ worth of data and expect to have the results very quickly. To make this possible, Aon eSolutions has developed a wide range of cloud-based services that serve the risk management industry. The company’s software-as-a-service (SaaS) solutions have traditionally been delivered through two data centers in the United States.

Yet over the past few years, Aon has encountered a changing regu-latory climate. “We started seeing new requirements for data security and privacy,” says Wilson. “Specifically in countries like Canada and in the European Union, there are stringent rules about where data can be stored.”

As a result, Aon needed to be able to provide a solution that could ensure that no financial data, personally identifiable information, or personal health information was stored outside of a country or union.

At the same time, Aon needed to maintain the kind of perfor-mance its customers were used to, as well as the availability that

its traditional enterprise Oracle deployment provided. Because data privacy is an important concern for Aon eSolutions customers, the system solution also had to be able to encrypt data and meet regulatory requirements.

After evaluating its options, Aon eSolutions selected Oracle Database Appliance as the foun-dation for servicing key international markets. By using Oracle Database Appliance, Aon is able to continue to sell its services and solutions in Canada and in European Union countries while staying compliant with their laws.

“Oracle Database Appliance fit our needs very well. It’s really quick to set up, the cost of entry is low, and we have the ability to scale fast,” says Wilson. “It met all our performance requirements and even performed better than our existing infrastructure in some cases. So far, we’ve had 100 percent availability since deploying it.”

The solution worked so well that Aon eSolutions purchased eight Oracle Database Appliances. It’s currently running seven in two data centers in Europe and one in its domestic data center. To minimize up-front costs, Aon eSolutions is running a minimum configuration with a single Oracle license per Oracle Database Appliance on some of its appliances.

“ We’re realizing a 55 percent CapEx savings by using Oracle Database Appliance.” —Scott Wilson, Vice President of Hosting and IT Operations, Aon eSolutions

“The compelling thing about Oracle Database Appliance is the ability to grow into it over a period of time, so we’re paying as we go,” says Scott Wilson, Aon eSolutions vice president of hosting and IT operations.

JA13_ODA_R1.indd 34 5/28/13 3:07 PM

oracle magazine July/August 2013

35

“The compelling thing about Oracle Database Appliance is the ability to grow into it over a period of time,” says Wilson, “so we’re paying as we go with the capacity on demand.”

Aon eSolutions also appreciates the technical and business agility that Oracle Database Appliance provides. “Our Oracle Database Appliance systems have given us a huge amount of flexibility, from an infrastructure perspective as well as a business perspective,” says Wilson. “Now we can meet customers in their own countries, if their data privacy regulations require that, and maintain the same level of service and cost.”

In addition, the Oracle Database Appliance–based solution was extremely easy and fast to deploy. “It literally took us a day from the time we received Oracle Database Appliance devices to when we had them up and running,” says Wilson. “It didn’t require a DBA, a system administrator, a SAN [storage area network] engineer, and a network engineer, the way a traditional system environment would have.”

In its new European data center, Aon eSolutions runs a primary production database cluster on an Oracle Database Appliance. It also has a local standby appliance and a remote disaster recovery appliance. The deployed Oracle Database Appliance systems provide high availability, local standby, and remote standby capabilities. Aon eSolutions relies on Oracle Real Application Clusters and Oracle Active Data Guard to meet its high-availability and disaster recovery requirements.

The solution has been a huge success. “We’re realizing a 55 percent CapEx savings by using Oracle Database Appliance,” says Wilson. “Oracle Database Appliance also gave us a 70 percent savings in our data center footprint.”

“From a technology stack solution perspective, this is one of the best decisions we’ve made in a long time,” says Wilson. “The cost savings from a business standpoint are very compelling. We can go into a marketplace and quickly stand up our solution while offering the same types of performance, availability, and data privacy that a traditional infrastructure build-out would have.”

Yodlee: enterprise Growth With today’s business cycles, it can be hard to estimate future busi-ness and IT needs. Underestimating future growth potential can

have dramatic—and negative—impact on revenues and business opportunity. On the other hand, overbuilding IT infrastructure can waste money and hinder an organization when it needs agility to address a new business need.

That’s why Yodlee turned to Oracle Database Appliance. “The great thing about Oracle Database Appliance is that it allows

us to have the database, database clustering for high availability, storage, and applications in one single device,” says Jeff Schulte, vice president of scalability and architecture for operations at Yodlee. “In addition, it allows us to use the capacity-on-demand capabilities to enable just one Oracle license to start off with, and then, as the customers in that region grow, we can enable more Oracle licenses to grow as needed. It’s a great model for us.”

Yodlee is a 13-year-old technology company that serves the finan-cial industry. It provides a data platform that powers services and applications for nearly 600 customers and more than 40 million end users, delivering new ways to manage and move money digi-tally. Yodlee customers are the world’s largest financial institutions, including 7 of the top 10 US banks, as well as hundreds of startups. Yodlee’s solutions integrate directly with banks and financial pro-viders to create comprehensive and personalized financial manage-ment solutions.

Yodlee has to be able to support millions of users, including inter-national customers in 10 different countries. Historically, all Yodlee users have been operating out of the company’s US-based data

The latest Oracle Database Appliance X3-2 release includes new virtualization capabilities that enable organizations to host application workloads right next to database workloads on the same appliance. Virtualization enables the resources of the appliance to be fully partitioned—the database runs its own operating system and its own virtual machine, while application workloads do the same. For licensing purposes, customers still pay only for what they use.

“The Oracle Database Appliance

Virtualized Platform feature is ideally suited for companies with remote branch offices that need to consolidate applications and data-base assets onto a converged appli-ance that does not require local IT staff to manage,” says Sohan DeMel, vice president of product strategy and business development at Oracle. “For SaaS [software as a service] providers and application vendors, the Virtualized Platform provides a simple, standardized way to deliver a complete solution in a box.”

Virtualization

Jeff Schulte, vice president of scalability and architecture for operations at Yodlee, says all the pieces of Oracle Database Appliance are engineered to perform well with each other. “With an engineered system, you don’t have to design it yourself. You’re getting the whole thing prearchitected for you.”

Pete

r St

embe

r

JA13_ODA.indd 35 5/23/13 4:19 PM

July/August 2013 Oracle.cOm/Oraclemagazine

36

centers. Yet, over the past few years, Yodlee has seen growing privacy regulations and security concerns related to data sovereignty drive requirements for data to stay within its home country. “Since our systems all involve data integration with financial institutions, these new regulations were starting to become a barrier to business,” says Schulte. “We essentially came to the point where we decided we needed to establish a physical data center presence internationally.”

Yodlee needed a platform and archi-tecture that it could put into any country and that would handle the intense secu-rity requirements for financial data. The company evaluated more than 15 pos-sible solutions before it decided on Oracle Database Appliance. “The need to support international requirements really drove the selection of Oracle Database Appliance,” says Schulte.

Yodlee’s selection requirements for sup-porting international deployments boiled down to four considerations: cost, perfor-mance and scalability, ease of management, and security. Oracle Database Appliance won out across all four categories.

“From a cost standpoint, we really found no other solution out there that could deploy an infrastructure, software, hardware, data-base, and storage that was less expensive,” says Schulte. “It also scales really well. You can start out with a small implementation, which for us would be 100,000 users or fewer, and can scale all the way to a large implementation, which for us would be 1 million users. At the same time, the performance was great.”

For Yodlee, another big benefit is Oracle Database Appliance’s ease of management and the fact that all the key components are preintegrated, including high-availability capabilities. “It performs really well. It’s an engineered system—all the pieces are engineered to perform well with each other,” says Schulte. “With an engineered system, you don’t have to design it yourself. You’re getting the whole thing prearchitected for you.”

“Our experience has been that Oracle Database Appliance is a really easy system to implement,” says Schulte. “We haven’t had to do anything to tune the system to make it perform well. In fact, we’ve never tuned it. What we have deployed right now in our international data center is Oracle Database Appliance out of the box. I’m expecting that a single Oracle Database Appliance system for us will scale to well over 1 million users without us having to add additional hardware.”

The savings Yodlee has obtained from using Oracle Database Appliance has been impressive. “We achieved a 50 percent reduc-tion in CapEx by choosing Oracle Database Appliance,” says Schulte. “In addition, our out-of-the-box performance was 10 percent faster than our existing SAN-based infrastructure.”

MediSwitch: Growth on deMandWhen you’re processing more than 100 million electronic healthcare transactions a year, high availability and performance are critical. That’s why MediSwitch, South Africa’s leading electronic healthcare trans-action servicing company, chose Oracle Database Appliance when it needed to upgrade its key transaction systems.

MediSwitch acts as an intermediary between more than 12,000 hospitals, pharmacies, doctors, dentists, and other medical businesses in South Africa and the more than 60 medical schemes that pay out claims. Effectively, MediSwitch takes electronic medical claims and validates all the information before it is submitted to payment providers.

“Our aim is to provide improved efficien-cies for both sides of our value chain,” says Wayne Botha, IT manager at MediSwitch. “We improve efficiencies for healthcare providers by tracking and providing feedback on their claims, and we improve efficiencies for medical schemes by allowing them to cut down on manual intervention and reduce paper claims.”

MediSwitch processes more than 100 million transactions per year—and it needs to do so with very high levels of availability and performance. For example, because of its processing work with pharmacies, MediSwitch is very limited in the amount of downtime it’s allowed to have, with service-level agreements (SLAs) ensuring uptime as high as 99.95 percent.

MediSwitch has two active data centers, with claim processing split between the two. The company’s existing hardware was reaching its end of life, so MediSwitch explored upgrade options.

“We really needed a solution that would deliver excellent uptime, availability, and disaster recovery,” says Botha.

After an extensive investigation, MediSwitch determined that Oracle Database Appliance was the right fit for its business. The company chose Oracle Database Appliance for two main reasons: the solution was the perfect size for MediSwitch and was the right value for the money.

“Oracle Database Appliance cuts down on OpEx because it’s an engineered system, from the applications down to the disk, where we have one vendor to speak to instead of three or four,” says Botha. “From an ongoing maintenance perspective, it’s certainly a lot easier for our infrastructure team to manage an Oracle Database Appliance instead of a custom system.”

MediSwitch also deployed Oracle Enterprise Manager to monitor and manage its Oracle Database Appliance systems. “Oracle Enterprise Manager provides us one portal where we can go and manage the complete stack from one place, instead of using the mul-

Aon eSolutions, the technology solutions business of Aonaon-esolutions.comaon.comLocation: London, EnglandEmployees: 65,000Revenue: US$11.5 billion in 2012Oracle products: Oracle Database Appliance; Oracle Database, Enterprise Edition; Oracle Real Application Clusters; Oracle Active Data Guard; Oracle Advanced Security

Yodlee yodlee.comLocation: Redwood City, CaliforniaEmployees: 700Oracle products: Oracle Database Appliance; Oracle Database, Enterprise Edition 11.2.0.3.4; Oracle Real Application Clusters 11.2.0.3.4

MediSwitchmediswitch.co.zaLocation: Johannesburg, South Africa Employees: 105Oracle products: Oracle Database Appliance; Oracle Database, Enterprise Edition 11.2.0.3.0; Oracle GoldenGate 11.2.1.0.1, Oracle Enterprise Manager

SnApShOtS

JA13_ODA.indd 36 5/23/13 4:19 PM

oracle magazine July/August 2013

37

tiple systems we had to use with our custom solution,” says Botha. One of the big advantages that MediSwitch sees with Oracle

Database Appliance is its built-in upgrade path. “With Oracle Database Appliance, all the future CPUs that we need are already in the server room,” says Botha. “We can simply register the number of CPUs needed with Oracle and later turn on additional CPUs as busi-ness demands dictate.”

MediSwitch uses Oracle GoldenGate to replicate data in real time between its two data centers. MediSwitch implemented Oracle GoldenGate in a real-time bidirectional replication, so that even if the network links between the two sites are cut, they will still con-tinue to run independently and resync when they’re reconnected. The use of Oracle GoldenGate also simplifies MediSwitch’s disaster recovery plan: because it has active hardware at both data centers, it doesn’t have to do ongoing disaster recovery testing. MediSwitch also used Oracle GoldenGate to do a zero-downtime migration to the Oracle Database Appliances.

“Our business users were surprised at the speed of the new Oracle Database Appliance–based system,” says Botha. “We were very, very

impressed with the performance of the Oracle Database Appliances. Routine monthly billing processes were reduced from four hours to less than 45 minutes. It’s superfast. The general responsiveness of the Oracle Database Appliance system is much, much better than our previous system.”

MediSwitch is also realizing benefits from an operational per-spective. Instead of running four or five servers for development and testing, MediSwitch has moved development and testing onto its two Oracle Database Appliance systems. “We’re able to run all our databases on the Oracle Database Appliances, so it’s really a one-stop shop for managing the server. It’s a much simpler and cleaner infrastructure,” says Botha.

Simplified ConSolidation and GrowthToday’s organizations have to walk a tightrope: they have to plan for growth while at the same time limiting capital expenditures and ongoing costs. This can be especially tricky when it comes to IT investments, and even more so when existing servers or platforms have to be upgraded.

New solutions such as the Oracle Database Appliance engineered system are changing the game. With its integrated and consoli-dated stack of server, storage, networking, and virtualization, Oracle Database Appliance provides new ways for midsize organizations and departments to simplify IT operations, consolidate IT assets, and grow their IT capabilities and cost structures with their businesses.

“Oracle Database Appliance is a disruptive technology that elimi-nates the traditional requirement to integrate separate server, storage, and networking components,” says Oracle’s DeMel. “Deploying, man-aging, consolidating, and scaling business-critical systems is now pos-sible without armies of IT staff or expensive consultants.”

Wayne Botha, IT manager at MediSwitch, was impressed with the performance of the Oracle Database Appliance. “Routine monthly billing processes were reduced from four hours to less than 45 minutes. It’s superfast,” he says.

David A. Kelly (davidakelly.com) is a business, technology, and travel writer who lives in West Newton, Massachusetts.

READ more about Oracle Database Appliance bit.ly/11VCF6Q

WATCH the Oracle Database Appliance X3-2 launch Webcastbit.ly/11969N3

NEXT STEpS

JoNa

thaN

tor

goVN

ik/g

etty

iMag

es

“ We’re able to run all our databases on the Oracle Database Appliances, so it’s really a one-stop shop for managing the server.” —Wayne Botha, IT Manager, MediSwitch

JA13_ODA_R1.indd 37 5/28/13 3:08 PM

Join the Oracle Press Community:

www.OraclePressBooks.com

Your Destination for oracle anD Java expertise

Written by leading technology professionals, Oracle Press books offer the

most definitive, complete, and up-to-date coverage of Oracle products and

technologies available.

@OraclePress OraclePress

oracle Business intelligence

applications: Deliver value through

rapid implementations

Simon Miller, William Hutchinson

Provide actionable business

intelligence across the enterprise

using this this complete package of

BI solutions.

advanced tuning for JD edwards

enterpriseone implementations

Michael Jacot, Allen Jacot, Frank

Jordan, Gurbinder Bali, Patrick Scott,

Kyle Kinder

Achieve peak performance from

your ERP platform while minimizing

downtime and lowering TCO.

MysQl Workbench:

Data Modeling & Development

Michael McLaughlin

Build and maintain world-class

MySQL databases, execute effective

queries, and gain superior visibility

into your enterprise data.

Available in print and eBook formats

Java Developer 39Oracle aDF by Frank nimphius

Oracle magazine July/august 2013

Build Your OwnBuild and deploy Oracle ADF declarative components, and gain the benefits of reuse.

D eclarative components in Oracle Application Development Framework

(Oracle ADF) enable application developers to build custom JavaServer Faces (JSF) components from existing Oracle ADF Faces components (Oracle ADF Faces is a feature of Oracle ADF) and deploy them as reusable Oracle ADF libraries. Developers who want extra functionality with existing Oracle ADF Faces components or who are building a composite component such as an address field can use the declara-tive component feature to ensure layout consistency as they reuse components throughout Oracle ADF applications.

This article provides an overview of declar-ative components in Oracle ADF and provides a hands-on guide that walks through the declarative build process.

About orAcle ADF DeclArAtive componentsOracle ADF declarative components are standard JSF components that expose their state and behavior through attributes. The attributes exposed by a component define a public API that developers use to enable bidirectional communication with the declarative component. Note that declara-tive components don’t have their own Oracle ADF PageDef files and therefore cannot have their own bindings defined.

Oracle ADF provides two types of declara-tive components:•tag-library-based declarative components

are used to build new JSF components out of one or many existing Oracle ADF Faces components. This component type exposes value attributes and method attributes and can be deployed in Oracle ADF libraries for reuse across application boundaries.•Dynamic declarative components (DDCs)

are reusable layout fragments that are defined in and for a specific view layer

project. DDCs are used to simplify the cre-ation of recurring complex layouts such as custom panel tabs. This type of declarative component supports value attributes but does not support method attributes (as discussed below).

DeclArAtive component AttributesDeclarative components provide two types of attributes that collectively define their public application interface. Developers can create and edit these attributes, using Oracle JDeveloper’s Property Inspector feature. •value attributes are comparable to

JavaBeans properties and can be used to pass data into or read it from a declara-tive component. In the latter case, devel-opers use expression language (EL) to ref-erence a managed bean or an Oracle ADF binding property.•method attributes are used by the declara-

tive component to dispatch Oracle ADF Faces and JSF events to be handled by the consuming Oracle ADF application. To create a declarative component that can raise events, developers create a named method attribute at design time with a sig-nature that defines the method return type (usually void) and the method parameter type (such as javax.faces.event .ValueChangeEvent)to notify the con-suming application about a value change.

DeclArAtive component FAcetsIn JSF, facets are named areas within a com-ponent that application developers can use to add JSF child components such as tool-bars and context menus. In the same way, declarative components can also include facet definitions to enable application devel-opers to add JSF child components. The facet location within a declarative component is defined by another Oracle ADF Faces com-ponent called the facet reference.

JspX versus FAceletsThe view declaration language (VDL) in JSF defines the technology that acts as a container for JSF component markup tags. Through JSF Release 1.2, JavaServer Pages (JSP) was the default VDL for JSF applica-tions, and it is still supported in JSF 2.x. However, Facelets is a new VDL that has become the new default and recommended container in JSF 2.x, because of its better alignment with the JSF request lifecycle. Because JSPX documents are different from Facelets, developers must build Oracle ADF declarative components for a specific VDL, so it’s important to know the target VDL for which a component needs to be built. In Oracle JDeveloper 11g Release 1, the VDL is always JSPX, but in Oracle JDeveloper 11g Release 2 and later releases, it can be JSPX or Facelets.

Geometry mAnAGementGeometry management is Oracle ADF func-tionality that automatically sizes Oracle ADF Faces components according to the available view size. Geometry management works in cases when the surrounding JSF layout component is able to stretch its child components. Although dynamic declarative components do participate in Oracle ADF geometry management, declarative compo-nents don’t. To size declarative components, developers need to expose and implement custom width and height attributes.

usinG sepArAte WorkspAcesBecause declarative components are reus-able artifacts in Oracle ADF and not built specifically for a single application, it is best to develop them in their own Oracle JDeveloper workspace. At the very least, declarative components should be devel-oped in a separate project. This approach simplifies deployment and also helps main-

OrAcle ApplicAtiOn DevelOpment FrAmewOrk AnD OrAcle jDevelOper

i-HuA

cHe

n

JA13_ADF.indd 39 5/23/13 4:49 PM

40 Oracle aDF

July/august 2013 Oracle.cOm/Oraclemagazine

tain reusable code that is independent from application-specific code.

Hands-on overview: a simple data export applicationOracle ADF Faces provides a behavior tag—af:exportCollectionActionListener—that declaratively enables a command button or a command link for exporting data from a col-lection component such as a table or a tree. However, the export functionality is limited to data rows currently displayed in the table, and it outputs only to the Microsoft Excel HTML document format.

To support other data export formats such as PDF and regular HTML or to print not-yet-queried data to the client , developers can build a declarative component. The instructions in this article show how to build, deploy, and test a declarative component that exports Oracle ADF table data to an HTML file download, as shown in Figure 1.

The declarative component described in the following example performs a simple HTML file export of data, making it easier to avoid having to use third-party packages such as Apache POI for Excel. Some parts of the declarative component and the Oracle ADF sample application have been prebuilt for you, so you can focus on building declara-tive components. Because the application is partially built, it is especially important to follow the hands-on instructions closely.

GettinG readyBefore following the steps in this article, download and install the Studio edition of Oracle JDeveloper 11g Release 2. It is available as a free download on Oracle Technology Network at bit.ly/KDqHjz. You also need access to an Oracle Database instance with an unlocked HR schema.

Next download the o43adf-1940728.zip sample application at bit.ly/YhDuEV and unzip the file.

This sample application includes two Oracle ADF workspaces. The first workspace represents the Oracle ADF application that consumes the declarative component for testing. The second workspace holds the declarative component itself.

The workspace for the test application has been prebuilt. The only change needed is to

change the database connection used by the Model project of the Oracle ADF Business Components feature of Oracle ADF to point to your HR database schema. To do so, follow the instructions below:1. Launch Oracle JDeveloper 11g Release

2. From the Oracle JDeveloper menu bar, select File -> Open and navigate to the directory containing the unpacked sample application.

2. Open the Oramag070813/sample folder, and select the oramag070813.jws file. Click Open to load the workspace.

3. Select View -> Database -> Database Navigator, and expand the oramag070813 node to display the hrconn node.

4. Right-click hrconn, and select Properties from the menu. Edit the database con-nection information to work with your setup. Test the changes, and click OK. Next, start the Oracle WebLogic Server

instance integrated with Oracle JDeveloper. To start Oracle WebLogic Server, select Run -> Start Server Instance.

If this is the first time you’ve run the integrated Oracle WebLogic Server, a Create Default Domain dialog box will open. Create a password for the default Oracle WebLogic Server domain, and select an address from those listed for Listen Address. For example, choose localhost rather than leaving the address empty.

Click OK to save the changes and to create and configure the default domain for Oracle ADF.

creatinG an oracle Jdeveloper workspace and proJectThe next step is to create a new Oracle JDeveloper workspace for the declarative component. 5. Switch to the Oracle JDeveloper

Application Navigator by clicking the Application Navigator tab in the inte-grated development environment (IDE).

6. Choose File -> New from the Oracle JDeveloper menu to create a new application. In the New Gallery, select General -> Applications.

7. Choose the Custom Application entry, and click OK.

8. Click Browse next to the Directory field to locate the Oramag070813 folder in the directory in which you unzipped the sample files. Then click Select.

9. Set the Application Name field value to OramagCom.

10. Set the Application Package Prefix field value to oramag.sample.julaug .thirteen, and click Next to navigate to the second wizard dialog box.

11. Set the Project Name field value to OramagPanelCollection.

12. Hold down the Ctrl key while selecting ADF Faces and ADF Page Flow from the Available list of project features, and click the selection button (the right-arrow icon).

13. Click Next, and change the Default Package field value to oramag.sample .julaug.thirteen.comp.

14. Click Finish.15. In the Application Navigator, right-click

Figure 1: Custom Oracle ADF component for exporting data to HTML

JA13_ADF.indd 40 5/23/13 4:49 PM

41Oracle aDF

Oracle magazine July/august 2013

the OramagPanelCollection node and choose Project Properties from the menu that appears.

16. Select the Libraries and Classpath node, and click Add Library.

17. In the Add Library dialog box, select ADF Model Generic Runtime and click OK twice.At this point, you have created the

Oracle JDeveloper workspace and project in which the Oracle ADF declarative compo-nent will be built. You have also configured the project to access the Oracle ADF binding runtime classes that are needed to export table data.

Declarative component: DefinitionThe next step is to define the declarative component.18. Right-click the OramagPanelCollection

node, and choose New from the menu.19. Under Categories, select the Web Tier ->

JSF/Facelets node and ADF Declarative Component. Click OK.

20. In the Create ADF Declarative Component dialog box, set the Declarative Component Name field value to HtmlExportPanelCollection.

21. Keep the default values for File Name, Directory, and Declarative Component Package, and click Add Tag Library.

22. In the Create Declarative Component Tag Library dialog box, define the value for the Tag Library Name field as HtmlExportPanelCollection.

23. Set the Tag Library URI field value to /htmlexport/collection. This field defines a namespace for the custom component so it can be uniquely addressed on a JSF page.

24. Set the Tag Library Prefix field value to oramag. In the way Oracle ADF Faces components are prefixed with af:, this custom component will be prefixed with oramag: when referenced on an applica-tion page.

25. Click OK.26. Leave the Use Custom Component

Class checkbox—which enables you to render a Java class you can use to override JSF implementation details such as component encoding and decoding—unchecked.

27. Ensure that the Document Type selec-tion is set to Facelets. This setting is required because the precreated Oracle ADF sample application used for testing the component also uses Facelets.

28. With the Facet Definition tab selected, click the green plus (+) icon.

29. Define the Facet Name field value as tableArea, and enter Drop target for ADF Faces table components for Description.

30. Select the Attributes tab, and click the green plus (+) icon to create a component attribute with the following values:

31. Again, click the green plus icon (+) to create a second attribute, with the fol-lowing values:

32. Click OK to create the component definition. At this point, your new workspace con-

tains an empty declarative component, con-figured with a single facet to hold an Oracle ADF bound table as a child component. It contains two attributes that developers will use to define a title for the exported HTML data and the number of rows to export. The declarative component should appear in the visual editor in Oracle JDeveloper.

note: The runtime logic you add later to the declarative component will throw an exception if the child component is not an Oracle ADF bound table.

Declarative component: implementationThe next step is to add the declarative com-ponent implementation, which is the code for exporting child component data to HTML. 33. Choose View -> Component Palette from

the Oracle JDeveloper menu to select the Component Palette.

34. In the Component Palette, expand the Layout accordion, select the Panel Collection component (the sixth compo-nent in the Layout accordion), and drag it into the visual page editor that shows the HtmlExportPanelCollection.jsf file.note: The Panel Collection component

in Oracle ADF Faces is used to decorate the Oracle ADF Faces table, tree, and treeTable components with menus for showing, hiding, and sorting attributes. This hands-on guide creates a declarative component that adds HTML export functionality to this component.35. Stay in the Layout accordion in the

Component Palette. Find and select the Facet Definition component in the Core Structure subsection, and drag it into the center of the Panel Collection component.

36. In the Insert Facet Definition dialog box that appears, select tableArea for Facet Name and click OK.note: The Facet Definition tag adds

metadata that defines where in the compo-nent application developers can declaratively add UI components later. 37. Save your work.38. Next, choose View -> Structure from

the Oracle JDeveloper menu to open the Structure window.

39. In the Structure window, expand the af:panelCollection - dc_pc1 entry and right-click the f:facet – toolbar entry.

40. Select Insert Inside f:facet – toolbar -> Toolbar to add a new toolbar component.

41. Still in the Structure window, right-click af:toolbar and choose Insert Inside af:toolbar -> Toolbar Button.

42. Select View -> Property Inspector from the Oracle JDeveloper menu to open Property Inspector.

43. Ensure that the af:commandToolbarButton component is selected in the Structure window, and change the Text property value to export to HTML, using Property Inspector.

44. Switch back to the Component Palette by clicking the Component Palette tab, and expand the Operations accordion.

45. Select the File Download Action Listener component in the Listeners subhead area. While pressing the left mouse

Name exportTitle

Type java.lang.String

Default Value Oramag Export

Required <<Leave as not selected.>>

Name exportRows

Type java.lang.Integer

Default Value -1

Required <<Leave as not selected.>>

JA13_ADF.indd 41 5/23/13 4:49 PM

42 Oracle aDF

July/august 2013 Oracle.cOm/Oraclemagazine

button, drag the File Download Action Listener component into the toolbar button component in the visual editor of the Structure window.

46. Ensure that the af:fileDownloadActionListener entry is selected in the Structure window, and open Property Inspector.

47. Set the Content Type property to text/html and the File Name property to exportedData.html.

48. Click the down-arrow icon next to the Method property, and choose Edit from the menu to create a new managed bean method to handle the data export.

49. In the Edit Property: Method dialog box, click New (next to the Managed Bean field).

50. Edit the dialog box fields as follows:

51. Click OK.52. Back in the Edit Property: Method dialog

box, click New (next to the Method field).53. Set the Method Name field value

as handleFileDownload, and click OK twice.

54. In the Application Navigator, expand the OramagPanelCollection -> Application Sources -> oramag.sample.julaug -> thirteen -> comp package, and double-click the CustomPanelCollectionBean .java file.

55. Return to the operating system. Use any file browser to navigate to the directory containing the unpacked sample applica-tion, and open the template folder.

56. Open the contained CustomPanelCollectionBean.txt file in a text editor, and use Ctrl-A and Ctrl-C to copy its full contents to the clipboard.

57. Return to Oracle JDeveloper. Place the cursor inside the Java code editor, which shows the CustomPanelCollectionBean .java file, and replace its contents with

the clipboard contents by using Ctrl-A and Ctrl-V.

58. Switch to the visual page editor, by clicking the HtmlExportPanelCollection .jsf tab header.

59. In the Oracle JDeveloper Structure window, select the af:componentDef -> af:panelCollection - dc_pc1 component node, and open Property Inspector.

60. Navigate to the Binding property in the Advanced section, click the down-arrow icon, and choose Edit from the menu.

61. In the Edit Property: Binding dialog box, select CustomPanelCollectionBean for Managed Bean and customPanelCollec-tion for Property.

62. Click OK.63. Save your work, and close the code editor.

At this point, you have created a declara-tive component that expects an Oracle ADF bound table as a child component and uses a managed bean in the backing bean scope to access the table binding to export row data to HTML. The backing bean scope of the managed bean ensures that multiple instances of the declarative component can be added to a single Oracle ADF Faces page.

Deploying the Component into an oraCle aDF libraryTo reuse the declarative component in an Oracle ADF project, it must first be deployed into an Oracle ADF library. 64. Right-click the OramagPanelCollection

node in the Application Navigator, and choose Project Properties from the menu.

65. Select the Deployment node, and click New.

66. In the dialog box that appears, ensure that Profile Type is ADF Library JAR File and set Deployment Profile Name to oramag070813. Then click OK three times in sequence to confirm these selections.

67. Save your work again. Then right-click the OramagPanelCollection node. Choose Deploy -> oramag070813 from the menu, and click Next followed by Finish.At this point, you have created an Oracle

ADF library file (oramag070813.jar) and saved it in the Oramag070813\OramagComp\OramagPanelCollection\deploy directory in the file system.

Using the resoUrCe paletteThe next step is to create an Oracle JDeveloper Resource Palette reference to this library, to allow reuse in Oracle ADF applications. 68. Choose View -> Resource Palette from

the Oracle JDeveloper menu to open the Resource Palette window.

69. Click the folder icon at the top, and choose New Connection -> File System.

70. In the dialog box that appears, define Connection Name as htmlExportPanelCollection.

71. Click Browse to navigate to and select the Oramag070813\ OramagComp\OramagPanelCollection\deploy folder, and click Select.note: Make sure you select the deploy

folder and not the JAR file within.72. Click OK.

testing the ComponentTo test the declarative component, switch workspaces in Oracle JDeveloper to the pro-vided sample application and import the Oracle ADF library from the Resource Palette.73. In the Application Navigator, select the

oramag070813 workspace from the list of open workspaces and select the ViewController project.

74. In the Resource Palette, expand the IDE Connections accordion, select the File System -> htmlExportPanelCollection node, and select the oramag070813 .jar file.

75. Right-click the oramag070813.jar file, and choose Add to Project.

76. In the Confirm Add ADF Library dialog box, click Add Library to add the JAR file to the ViewController project list of library dependencies.

77. Expand the ViewController -> Web Content node, and double-click the SamplePage.jsf file.

78. With the SamplePage.jsf file open in the visual editor, open the Component Palette and choose the HtmlExportPanelCollection entry from the list.

79. Select the HtmlExportPanelCollection component, and drag it from the Component Palette into the page dis-played in the visual page editor.

80. Expand the Application Navigator

Bean Name CustomPanelCollectionBean

Class Name CustomPanelCollectionBean

Packageoramag.sample.julaug.thirteen.comp

Extends java.lang.Object

Scope backingBean

Registration Configuration File

Generate Class If It Does Not Exist

<<Select.>>

JA13_ADF.indd 42 5/23/13 4:50 PM

43Oracle aDF

Oracle magazine July/august 2013

Data Controls accordion, drag the AppModuleDataControl -> allHrEmployees collection into the visual page editor, and drop it as a Table -> ADF Read-only table into the table area facet of the declarative component.

81. Click OK in the Edit Table Columns dialog box, accepting all the default settings.

82. In the Structure window, select the f:view -> af:document -> af:form -> af:pageTemplate -> f:facet-center -> oramag:HtmlExportPanelCollection com-ponent, and open Property Inspector.

83. Optionally, change the ExportTitle attri-bute value string to a custom label and the ExportRows attribute to a positive integer. These are the two attributes exposed on the custom component.

84. Run the SamplePage.jsf page, by right-clicking it in the Application Navigator and choosing Run.

85. In the browser application, click export

to HTML to download an HTML file con-taining exported table data.

ConClusionThis article walked through a simple example of how to declaratively build JSF components from existing Oracle ADF Faces components.

To learn more about the declarative component functionality, spend some time playing with the sample application (for example, by using EL to provide values to the exposed component attributes). You can also try extending the sample application to export data to other file formats.

DOWNLOAD Oracle JDeveloper 11g Release 2bit.ly/KDqHjz

the sample application for this articlebit.ly/YhDuEV

READ more about Oracle ADFbit.ly/105QWMd

dynamic declarative componentsbit.ly/ZtahlM

Oracle ADF Faces export collection listener bit.ly/12xSkTP

READ more Nimphius Oracle ADF Code Corner bit.ly/ZFLRcm

Oracle Technology Network forum Harvest blogbit.ly/138PZkQ

Oracle Technology Network Oracle JDeveloper forumbit.ly/YjTmEK

Oracle ADF Insiderbit.ly/10a8n9S

NExt StEpS

Frank Nimphius is a senior principal product manager for Oracle JDeveloper and Oracle Application Development Framework. He is coauthor of Oracle Fusion Developer Guide: Building Rich Internet Applications with Oracle ADF Business Components and Oracle ADF Faces, published by McGraw-Hill (2009).

Copyright © 2013, Oracle and/or its affi liates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affi liates. Other names may be trademarks of their respective owners.

Print. Digital. Mobile

Join Us.

Oracle Magazine @OracleMagazineOracleMagazine

Go to where the conversation lives. Connect with Oracle Magazine on your favorite social channel and be a part of our growing community.

JA13_ADF.indd 43 5/23/13 4:50 PM

3G 9:41 AM

Reach More than 700,000 Oracle Customers

with Oracle Publishing Group

Connect with the Audience that Matters Most to Your Business

Oracle Magazine

The Largest IT Publication in the World

Circulation: 550,000

Audience: IT Managers, DBAs, Programmers, and Developers

Profit

Business Insight for Enterprise-Class Business Leaders to Help Them Build

a Better Business Using Oracle Technology

Circulation: 100,000

Audience: Top Executives and Line of Business Managers

Java Magazine

The Essential Source on Java Technology, the Java Programming Language,

and Java-Based Applications

Circulation: 125,000 and Growing Steady

Audience: Corporate and Independent Java Developers, Programmers,

and Architects

For more information

or to sign up for a FREE

subscription: Scan the

QR code to visit Oracle

Publishing online.

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. 113940

Database Application Developer and DBA 45

oracle magazine July/august 2013

SQl 101 By Melanie Caffrey

Pivotal Access to Your Data: Analytic Functions, Concluded Part 12 in a series on the basics of the relational database and SQL

Part 11 in this series, “Leading Ranks and Lagging Percentages: Analytic Functions,

Continued” (Oracle Magazine, May/June 2013), continued the discussion of analytic functions that began in Part 10. It demon-strated analytic functions that enable you to obtain results for top-N queries, evaluate data comparisons, and calculate percentages within a group, among other actions. This article wraps up the series’ coverage of ana-lytic functions by showing•How you can get a new perspective on your

results with pivot queries that convert column data into row data or row data into column data•How to employ an inline view to use an

analytic function in a WHERE clauseTo try out the examples in this series, you

need access to an Oracle Database instance. If necessary, download and install an Oracle Database edition for your operating system from bit.ly/fherki. I recommend installing Oracle Database, Express Edition 11g Release 2. If you install the Oracle Database software, choose the installation option that enables you to create and configure a data-base. A new database, including sample user accounts and their associated schemas, will be created for you. (Note that SQL_101 is the user account to use for the examples in this series; it’s also the schema in which you’ll create database tables and other objects.) When the installation process prompts you to specify schema passwords, enter and confirm passwords for SYS and SYSTEM and make a note of them.

Finally—whether you installed the data-base software from scratch or have access to an existing Oracle Database instance—down-

load, unzip, and execute the SQL script avail-able at bit.ly/12KRYvv to create the tables for the SQL_101 schema that are required for this article’s examples. (View the script in a text editor for execution instructions.)

TurningYourDaTaoniTssiDeA common business reporting require-ment is that data in a column be displayed horizontally rather than vertically, for better readability. For example, compare the result set in Listing 1 to the one in Listing 2. The query in Listing 1 lists all employees alongside their respective department IDs, sorted by department and employee name. The data returned in Listing 2 is the same as that returned in Listing 1, but it is dis-played differently.

Listing 2 uses the LISTAGG function (introduced in Oracle Database 11g) to con-

struct a comma-delimited list of employees per department, thereby pivoting the more traditionally displayed result set in Listing 1. You can use LISTAGG as a single-group aggregate function, a multigroup aggregate function, or an analytic function.

When LISTAGG is invoked as a single-group aggregate function, it operates on all rows that satisfy any WHERE clause condi-tion and—like all other single-group aggre-gate functions—returns a single output row. The example in Listing 2 demonstrates the use of LISTAGG as a multigroup aggregate function, returning a row for each group defined by the GROUP BY clause.

The syntax for the LISTAGG function is

LISTAGG ( column | expression,

delimiter ) WITHIN GROUP (ORDER BY

column | expression)

oracLe databaSe

SQL> set feedback onSQL> set lines 32000SQL> select department_id, last_name, first_name 2 from employee 3 order by department_id, last_name, first_name;

DEPARTMENT_ID LAST_NAME FIRST_NAME——————————————————— ——————————————————————————————————————— ————————————————————————————————————————— 10 Dovichi Lori 10 Eckhardt Emily 10 Friedli Roger 10 James Betsy 10 Michaels Matthew 10 Newton Donald 20 leblanc mark 20 peterson michael 30 Jeffrey Thomas 30 Wong Theresa Newton Frances

11 rows selected.

Code Listing 1: obtaining a list of employees, sorted by department and employee name

I-Hua

cHe

n

JA13_SQL_101.indd 45 5/23/13 4:33 PM

46 SQL 101

July/august 2013 OracLe.cOm/OracLemagazine

LISTAGG performs as an analytic function if you add an OVER clause:

OVER (PARTITION BY column | expression)

The column or expression to be aggre-gated, the WITHIN GROUP keywords, and the ORDER BY clause that immediately follows the WITHIN GROUP keywords (that is, the sort that takes place within the grouping) are mandatory in all three LISTAGG use cases.

The query in Listing 3 uses LISTAGG as an analytic function. It obtains a list of salaries, from highest to lowest, per department. Alongside each salary value is the name, in last-name/first-name alphabetical order, of the employee who earns that salary value. In addition, every employee for the current row’s listed department is returned in salary order, from highest to lowest, and in last-name/first-name alphabetical order.

TwisTing and Turning inTo Fewer and wider A PIVOT clause enables you to turn rows into columns and present your data in a cross-tabular format. The syntax of the PIVOT clause is

SELECT … FROM … PIVOT ( aggregate-

function column | expression )

FOR column | expression to be

pivoted IN (value1, … valueN)

) AS alias

Compare the result sets in Listings 4 and 5. The query in Listing 4 displays a summary of each department’s total employee salary amount in a cross-tabular report. The query in Listing 5 returns the same departmental salary summaries as those in Listing 4 but in columnar format, which your users might consider less readable.

The query in Listing 6 demonstrates that it’s possible to pivot on more than one column. The results from this query display the sum total of salaries per department, but only for employees who were hired in a par-ticular year. You can also pivot on and display multiple aggregate values, as Listing 7 dem-onstrates. The query in Listing 7 obtains the sum of all salaries, alongside the latest date of hire for an employee, per department.

When you use multiple aggregate func-tions, it’s advisable to supply an alias for each of them. The resultant column head-ings are a concatenation of the pivot values (or pivot aliases), an underscore, and (if you’ve supplied them) the aliases of the aggregate functions. For example, some of Listing 7’s columns are 10_SALS and 10_LATEST. Note that the columns for the

latest hire dates per department, such as 10_LATEST, are actually columns using the LATEST_HIRE alias. When you prepend the LATEST_HIRE alias with the department ID, the query should return a column that reads, for example, 10_LATEST_HIRE.

However, with SQL*Plus, the column heading displayed for a column with a DATE datatype is never longer than the default

SQL> select department_id, salary, first_name||’ ‘||last_name earned_by, 2 listagg(first_name||’ ‘||last_name, ‘, ‘) 3 within group 4 (order by salary desc nulls last, last_name, first_name) 5 over (partition by department_id) employees 6 from employee 7 order by department_id, salary desc nulls last, last_name, first_name;

DEPARTMENT_ID SALARY EARNED_BY EMPLOYEES——————————————————— ———————————— ———————————————————————— ——————————————————————————————————————————————— 10 100000 Emily Eckhardt Emily Eckhardt, Donald Newton, Matthew Michaels, Roger Friedli, Betsy James, Lori Dovichi 10 70000 Matthew Michaels Emily Eckhardt, Donald Newton, Matthew Michaels, Roger Friedli, Betsy James, Lori Dovichi 10 60000 Roger Friedli Emily Eckhardt, Donald Newton, Matthew Michaels, Roger Friedli, Betsy James, Lori Dovichi 10 60000 Betsy James Emily Eckhardt, Donald Newton, Matthew Michaels, Roger Friedli, Betsy James, Lori Dovichi 10 Lori Dovichi Emily Eckhardt, Donald Newton, Matthew Michaels, Roger Friedli, Betsy James, Lori Dovichi 20 90000 michael peterson michael peterson, mark leblanc 20 65000 mark leblanc michael peterson, mark leblanc 30 300000 Thomas Jeffrey Thomas Jeffrey, Theresa Wong 30 70000 Theresa Wong Thomas Jeffrey, Theresa Wong 75000 Frances Newton Frances Newton

11 rows selected.

Code Listing 3: Invoking the LISTAGG function as an analytic function

SQL> select department_id, 2 LISTAGG(first_name||' '||last_name, ', ') 3 WITHIN GROUP 4 (order by last_name, first_name) employees 5 from employee 6 group by department_id 7 order by department_id;

DEPARTMENT_ID EMPLOYEES——————————————————— ———————————————————————————————————————————————————————————————————————————————————— 10 Lori Dovichi, Emily Eckhardt, Roger Friedli, Betsy James, Matthew Michaels, Donald Newton 20 mark leblanc, michael peterson 30 Thomas Jeffrey, Theresa Wong Frances Newton

4 rows selected.

Code Listing 2: Employees, sorted by department and name, displaying one row per department

JA13_SQL_101.indd 46 5/23/13 4:34 PM

47SQL 101

oracLe magazine July/august 2013

format for the value returned. The HIRE_DATE column’s format is DD-MON-RR, so only the first nine characters of the heading are displayed. To display a full heading, such as 10_LATEST_HIRE, consider using TO_CHAR to apply a date format mask to the column.

If you don’t supply an alias for your aggregate functions, you might get an error message, as shown in the example in Listing 8. Because neither of the aggregate functions in Listing 8 is aliased, the PIVOT operator doesn’t know to which one to apply the column heading for the pivot value (in this case, the DEPARTMENT_ID value). As a result, the PIVOT operator can’t simply use its default column headings and the query fails with a “column ambiguously defined” error message. Avoid this error by creating an alias for each aggregate function; don’t rely solely on the default column headings that result from use of the PIVOT operation.

A HorizontAl View of tHe VerticAl Just as you might have a reporting need to turn rows into columns, you might also need to turn columns into rows. You’ve seen one way to do this with the LISTAGG function. You can also use the UNPIVOT operator for this purpose. Note that the UNPIVOT oper-ator does not reverse an action performed with the PIVOT operator. Rather, it works on data that is already stored as pivoted.

Consider the CREATE TABLE statement in Listing 9. It creates a table with pivoted data, using a query similar to the one in Listing 7. Now you can query this data by using the UNPIVOT operator, as Listing 10 illustrates. Compare the values returned from the query in Listing 10 with the values returned from the query in Listing 7. As you can see, they are the same but are displayed differently.

The results in Listing 7 are returned as one long record (row), with each HIRE_DATE and SALARY combination, pivoted by depart-ment, displayed side by side. In contrast, each of these combinations is returned as a separate and distinct row from the query in Listing 10, with the HIRE_DATE and SALARY values displayed in separate columns. Note that the query in Listing 10 unpivots and returns value pairs of different datatypes. HIRE_DATE uses the DATE datatype, and SALARY uses the NUMBER datatype, so the

alias you use for these value pairs must be enclosed in single quotation marks. If it is not, you might get an error message like the one shown in Listing 11.

wHen And How to PredicAte AnAlyticAllyOther than the final ORDER BY clause, ana-lytic functions are the last set of operations performed in a query. Because they can

appear only in the SELECT list or the ORDER BY clause, you cannot use them directly in any predicates, including in a WHERE or HAVING clause. If you need to select from a result set based on the outcome of applying an analytic function, you can use an inline view. An inline view is a SELECT statement in the FROM clause of another SELECT state-ment. It acts as a TABLE (otherwise known as a FROM) clause. You have already seen

SQL> select * 2 from (select department_id, salary 3 from employee) total_department_sals 4 PIVOT (SUM(salary) 5 FOR department_id IN (10 AS Accounting, 20 AS Payroll, 30 AS IT, 6 NULL AS Unassigned_Department));

ACCOUNTING PAYROLL IT UNASSIGNED_DEPARTMENT——————————————— —————————————— —————————————— ——————————————————————————————— 370000 155000 370000 75000

1 row selected.

Code Listing 4: Using the PIVOT function to obtain cross-tabular results

SQL> select department_id, sum(salary) 2 from employee 3 group by department_id 4 order by department_id nulls last;

DEPARTMENT_ID SUM(SALARY) ——————————————————— ——————————————— 10 370000 20 155000 30 370000 75000

4 rows selected.

Code Listing 5: Traditional columnar display of summarized salaries, grouped by department

SQL> select * 2 from (select department_id, to_char(trunc(hire_date, 'YYYY'), 'YYYY') hire_date, salary 3 from employee) 4 PIVOT (SUM(salary) 5 FOR (department_id, hire_date) IN 6 ((10, '2007') AS Accounting_2007, 7 (20, '2008') AS Payroll_2008, 8 (30, '2010') AS IT_2010 9 ) 10 );

ACCOUNTING_2007 PAYROLL_2008 IT_2010—————————————————————— ————————————————— —————————————— 190000 90000 370000

1 row selected.

Code Listing 6: Displaying the sum total salaries of employees per department for a particular year

JA13_SQL_101.indd 47 5/23/13 4:34 PM

48 SQL 101

July/august 2013 OracLe.cOm/OracLemagazine

examples of inline view capability in this article in Listings 4, 6, 7, 8, and 9.

Suppose you want to use an analytic function to obtain the top two salary earners by department. As Listing 12 illus-trates, you can place the analytic function operation in an inline view and alias it. The alias provided to the inline view in Listing 12 is D_RANK (this is named for the result of applying the DENSE_RANK analytic func-tion). The query in the inline view (the inner query) must be resolved before it can be used by the query that encompasses it (the outer query). After the inline view com-pletes, the outer query can use its result in a predicate. The predicate clause in the outer query for Listing 12 is

WHERE d_rank < 3

Striving to Perform WellAlthough analytic functions help you form a more elegant and less convoluted SQL solution to a reporting requirement, they are not a replacement for writing good code. Your goal should be to constantly and con-sistently write good SQL that’s easy to main-tain and that will perform well over time. It’s all too easy to abuse SQL techniques that make processes easier. Used incorrectly, any SQL technique can be written poorly and become a system inhibitor.

In particular, sorting and sifting data can exhaust system resources. (The query in Listing 13, for example, includes three potential sort operations.) This shouldn’t necessarily deter you from using analytic functions, but keep in mind that you can write a query that brings a system to its knees just as easily as you can write one that provides you with an efficient, elegant, and easy-to-maintain solution. With the power of analytic functions comes responsibility.

ConCluSionThis article concludes the discussion of analytic functions introduced in Part 10 and continued in Part 11 of this series. It demon-strates how LISTAGG, PIVOT, and UNPIVOT can be used to manipulate the way your data is displayed. You’ve seen how to turn columns into rows and rows into columns and how such views differ from each other.

SQL> select hire_date, salary 2 from pivoted_emp_data 3 UNPIVOT INCLUDE NULLS 4 ((hire_date, salary) 5 FOR department_id IN ( 6 (acc_latest_hire, acc_sum_sals) AS 'Accounting', 7 (pay_latest_hire, pay_sum_sals) AS 'Payroll', 8 (it_latest_hire, it_sum_sals) AS 'IT', 9 (null_latest_hire, null_sum_sals) AS 'Unassigned' 10 )) 11 order by hire_date, salary;

HIRE_DATE SALARY———————————————— ———————————14-SEP-05 7500006-MAR-09 15500027-FEB-10 37000007-JUL-11 370000

4 rows selected.

Code Listing 10: Using the UNPIVOT operator to turn rows into columns

SQL> select * 2 from (select department_id, hire_date, salary 3 from employee) 4 PIVOT (SUM(salary) AS sals, 5 MAX(hire_date) AS latest_hire 6 FOR department_id IN (10, 20, 30, NULL));

10_SALS 10_LATEST 20_SALS 20_LATEST 30_SALS 30_LATEST NULL_SALS NULL_LATE—————————— ————————————— —————————— ————————————— —————————— ——————————————— ————————————— —————————————370000 07-JUL-11 155000 06-MAR-09 370000 27-FEB-10 75000 14-SEP-05

1 row selected.

Code Listing 7: Pivoting on and displaying multiple aggregate columns

SQL> select * 2 from (select department_id, hire_date, salary 3 from employee) 4 PIVOT (SUM(salary), 5 MAX(hire_date) 6 FOR department_id IN (10, 20, 30, NULL));select * *ERROR at line 1:ORA-00918: column ambiguously defined

Code Listing 8: A “column ambiguously defined” error occurs

SQL> CREATE TABLE pivoted_emp_data AS 2 select * 3 from (select department_id, hire_date, salary 4 from employee) 5 PIVOT (SUM(salary) sum_sals, 6 MAX(hire_date) latest_hire 7 FOR department_id IN (10 AS Acc, 20 AS Pay, 30 AS IT, NULL));

Table created.

Code Listing 9: Creating a table with pivoted data

JA13_SQL_101.indd 48 5/23/13 4:34 PM

49SQL 101

oracLe magazine July/august 2013

You’ve learned how to take individual data items and return them as delimited lists for more-readable reports. You’re also now aware of the specific caveats that apply when you use these functionalities.

Last but not least, you’re aware now that queries that use analytic functions can—if you’re not careful—consume many, if not all, of your system resources. In all cases, analytic functions greatly reduce the need to write complicated SQL to obtain the same results. But they are tools to be wielded with equal parts of enthusiasm and caution. Review the documentation at bit.ly/yWtbz1 and bit.ly/R4cZyq for more details.

This article concludes the SQL 101 series. You’ve learned basic relational database con-cepts and many SQL coding constructs, but the series has given you only a glimpse into what Oracle SQL has to offer you. Be sure to continue to read the documentation and try existing and new Oracle Database fea-tures. Thank you for being readers of Oracle Magazine and of the SQL 101 series. As you continue writing SQL, my hope is that you enjoy it as much as I do.

Melanie Caffrey is a senior development manager at Oracle. She is a coauthor of Expert PL/SQL Practices for Oracle Developers

and DBAs (Apress, 2011) and Expert Oracle Practices: Oracle Database Administration from the Oak Table (Apress, 2010).

READ SQL 101, Parts 1–11bit.ly/omagsql101READ more about relational database design and concepts Oracle Database Concepts 11g Release 2 (11.2)bit.ly/aonqPPOracle Database SQL Language Reference 11g Release 2 (11.2)bit.ly/yWtbz1Oracle Database Data Warehousing Guide 11g Release 2 (11.2) bit.ly/R4cZyq

DOWNLOAD the sample script for this articlebit.ly/12KRYvv

NExt StEPS

SQL> select first_name||' '||last_name, department_id, hire_date, 2 sum(salary) over (order by department_id, first_name||' '||last_name) sum_dept_emp, 3 avg(salary) over (order by hire_date, department_id) avg_dept_hire_dt 4 from employee 5 order by department_id, hire_date, first_name||' '||last_name;

FIRST_NAME||''||LAST_NAME DEPARTMENT_ID HIRE_DATE SUM_DEPT_EMP AVG_DEPT_HIRE_DT————————————————————————————————————— ——————————————————— ———————————— —————————————————— ————————————————————————Emily Eckhardt 10 07-JUL-04 240000 100000Donald Newton 10 24-SEP-06 140000 85000Betsy James 10 16-MAY-07 60000 74166.6667Matthew Michaels 10 16-MAY-07 310000 74166.6667Roger Friedli 10 16-MAY-07 370000 74166.6667Lori Dovichi 10 07-JUL-11 240000 97000michael peterson 20 03-NOV-08 525000 76428.5714mark leblanc 20 06-MAR-09 435000 75000Thomas Jeffrey 30 27-FEB-10 895000 100000Theresa Wong 30 27-FEB-10 595000 97000Frances Newton 14-SEP-05 970000 87500

11 rows selected.

Code Listing 13: Query with analytic functions that may cause system performance problems

SQL> select * 2 from (select department_id, last_name||', '||first_name, salary, 3 dense_rank() over (partition by department_id 4 order by salary desc nulls last) d_rank 5 from employee) 6 where d_rank < 3 7 order by department_id, salary desc nulls last;

DEPARTMENT_ID LAST_NAME||','||FIRST_NAME SALARY D_RANK ——————————————————— ——————————————————————————————————————————————————————————————— ——————————— ————————————— 10 Eckhardt, Emily 100000 1 10 Newton, Donald 80000 2 20 peterson, michael 90000 1 20 leblanc, mark 65000 2 30 Jeffrey, Thomas 300000 1 30 Wong, Theresa 70000 2 Newton, Frances 75000 1

7 rows selected.

Code Listing 12: Using an inline view to enable use of an analytic function as a predicate

SQL> select hire_date, salary 2 from pivoted_emp_data 3 UNPIVOT INCLUDE NULLS 4 ((hire_date, salary) 5 FOR department_id IN ( 6 (acc_latest_hire, acc_sum_sals) AS Accounting, 7 (pay_latest_hire, pay_sum_sals) AS Payroll, 8 (it_latest_hire, it_sum_sals) AS IT, 9 (null_latest_hire, null_sum_sals) AS Unassigned 10 )) 11 order by hire_date, salary; (acc_latest_hire, acc_sum_sals) AS Accounting, *ERROR at line 6:ORA-56901: non-constant expression is not allowed for pivot|unpivot values

Code Listing 11: Using aliases for value pairs of different datatypes

JA13_SQL_101.indd 49 5/23/13 4:35 PM

BUY BUILD

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates.Other names may be trademarks of their respective owners.

oracle.com/databaseappliance

or call 1.800.ORACLE.1

DatabaseApplianceor Puzzle Pieces?

Database Appliance: Simple, Reliable, Affordable

OracleDatabaseAppliance or

Microsoft Database

+HP Server

+NetApp Storage

+Cisco Networking

+Consultants

Database Application Developer and DBA 51

oracle magazine July/August 2013

ask Tom by tom Kyte

On Randomness, Syntax, and MutationOur technologist gets deterministic, delimited, and the opposite of trigger-happy.

I have an UPDATE statement that returns two different results for the same data.

I use a subquery in the UPDATE to identify the rows to be modified, and that SELECT statement first returns the row where ID = 14152967. But when I run the UPDATE, the wrong row is updated. Can you explain what is happening here?

[Editor’s note: Listing 1 includes the questioner’s table setup, a subquery for the UPDATE, the UPDATE, and the UPDATE result.]

The problem is that your subquery is nondeterministic. I can actually run your example and update either of the two rows in the TEST table, depending on which row I inserted first! I took your query and added a few columns to it so I could see the data values you are partitioning on and ordering by, and then I removed the WHERE clause to get rows WHERE ROW_N > 1. Listing 2 shows the results.

In looking at that Listing 2 data, the reason for this anomaly should be clear: the result set is nondeterministic. It can and will return different answers “randomly.”

You are assigning ROW_NUMBER after partitioning by HOSTID and PROD_RID and then sorting by PRI. Because your HOSTID and PROD_RID values are the same—and the PRI value is the same—there is no deter-ministic way to sort this data. Either of the two rows could be first and the other second. The ROW_NUMBER assignment is not guar-anteed to be the same from run to run of that query. In fact, if I truncate that table and insert the data in reverse order, I might see the following result set:

ROW_N ID HOSTID PROD_RID PRI

———————— ——————————— ———————— ————————————— ————

1 14152967 44026 10013252 13

2 14152966 44026 10013252 13

As you can see, the ROW_N values have been switched, simply due to a switch in the order in which the rows were inserted into the table. Do not be concerned if you cannot reproduce this exactly. It will depend on the sort work area size assigned, possibly your block size, the type of segment space allocation you are using, and many other factors. In other words, it will appear random in practice.

Whenever you partition on or order by a set of attributes that are not unique when taken together, your results will be nonde-terministic. The ordering of the data in a result set and the values of certain analytic windowing functions can and will vary from query execution to query execution.

In this particular case, I cannot offer the final solution to your query dilemma. You will have to decide what you need to order by to make this query deterministic. For example, if the larger values of ID are the ones you want to update, you’ll want to add ID to the ORDER BY list, as shown in Listing 3.

Assuming that ID is unique in the Listing 3 result set (and I cannot say for sure, because there are no constraints at all on this example), ordering by PRI DESC, ID ASC will assure you of identical results from query execution to query execution.

I touched on this topic briefly a few years ago in “On Top-n and Pagination Queries” (bit.ly/Z6nxLL). This deterministic property is important whenever you are using analytic windowing functions or even just a simple ORDER BY statement.

Comma-DelImIteD Data from oraCle SQl DeveloperI have to create a comma-delimited file with Oracle SQL Developer. I’m using this syntax to generate the output:

select spriden_id||','|| spriden_first_name||','|| spriden_last_name from spriden where spriden_pidm = 1012;

The company I’m sending the file to wants a header record at the top of the file that has all the field names I’m selecting. What’s the syntax for creating the header record so it looks like this:

ID,First_Name,Last_Name

You are going to be surprised at how easy this is. Oracle SQL Developer supports a few “hints” of its own design in SQL queries. (They’re not hints in the manner that INDEX, PARALLEL, FULL, USE_NL, and the like are hints.) For this result set, a simple

select /* CSV */ spriden_id ID,

spriden_first_name FIRST_NAME,

spriden_last_name LAST_NAME

from spriden

where spriden_pidm = 1012;

will do the trick. In addition to that “hint,” there are others:•Xml – tagged XML format•Html – marked-up HTML table format•DelImIteD – same as CSV•INSert – a SQL insert format•loaDer – a pipe-delimited format suitable

for SQL*Loader (sqlldr) •fIXeD – fixed-width fields with trailing

blanks to pad them out•teXt – plain-text output

You can see examples of each, with more information on using them in Oracle SQL Developer, at bit.ly/10AuN46 and bit.ly/19dt2Or. The blog providing this

Oracle Database

JA13_AskTom.indd 51 5/23/13 4:56 PM

52 ask tom

July/August 2013 oracle.com/oraclemagazine

information—ThatJeffSmith—is authored by Jeff Smith, the product manager for Oracle SQL Developer.

Mutating tablesI have a trigger somewhat like this:

create or replace trigger TR_TABLE_X_AUafter update on TABLE_Xfor each row

declare cursor cursor_select_fk is select FK_FOR_ANOTHER_TABLE from TABLE_Y Y, TABLE_Z Z where :NEW.JOINING_COL = Y.JOINING_COL and Y.JOINING_COL = Z.JOINING_COL and :NEW.FILTER_CONDITION_1 = Y.FILTER_CONDITION_1 and :NEW.FILTER_CONDITION_2 = Y.FILTER_CONDITION_2 and :NEW.SOME_DATE_COL = (select max(SOME_DATE_COL) from TABLE_X where FILTER_CONDITION_1 = :NEW.FILTER_CONDITION_1 and FILTER_CONDITION_2 = :NEW.FILTER_CONDITION_2) begin for rec in cursor_select_fk loop PCK_SOME_PACKAGE.SOME_PROC (rec.FK_FOR_ANOTHER_TABLE); end loop;end TR_TABLE_X_AU;

I am using triggers because it is an enhancement and I don’t want to modify the existing software. The nested query selecting the MAX date seems to be the cause of the problem. Changing the query to use SYSDATE results in no errors or exceptions. Any idea on how I can get the MAX date during the execu-tion of the trigger for TABLE_X?

A row trigger cannot read from the table it is firing on if the triggering statement might affect more than one row (and an UPDATE can affect more than one row in general). The only type of row trigger that might be able to read the table it is firing on would be an INSERT using the VALUES clause, because it affects zero rows or one row only.

That said, this error message exists to save you from the fires of “data integrity

SQL> CREATE TABLE TEST 2 ( ID varchar2(10), 3 PROD_RID varchar2(10) NULL, 4 VERSIONS_RID varchar2(10) NULL, 5 HOSTID varchar2(10) NULL, 6 HIDDEN varchar2(10) NULL 7 );Table created.

SQL> insert into TEST 2 (id,prod_rid,versions_rid,hostid,hidden) 3 values(14152967, 10013252, 29300796, 44026, 0 );1 row created.

SQL> insert into TEST 2 (id,prod_rid,versions_rid,hostid,hidden) 3 values(14152966, 10013252, 29300796, 44026, 0);1 row created.

SQL> create table PRI 2 (PROD_RID NUMBER, 3 VERSIONS_RID NUMBER, 4 PRI NUMBER 5 );Table created.

SQL> INSERT INTO PRI VALUES (10013252,29300796,13);1 row created.

SQL> SELECT id 2 FROM (SELECT row_number() over 3 (PARTITION BY hostid, prod_rid 4 order by pri DESC) row_n, 5 ID 6 FROM (SELECT prod.ID, 7 prod.HOSTID, 8 prod.PROD_RID, 9 mv.PRI 10 FROM TEST prod 11 JOIN PRI mv 12 ON (mv.VERSIONS_RID = prod.VERSIONS_RID 13 AND mv.PROD_RID = prod.PROD_RID) 14 WHERE HIDDEN = 0 15 ) x 16 ) y 17 WHERE y.row_n > 1;

ID——————————————14152967

SQL> UPDATE TEST 2 SET HIDDEN = 4 3 WHERE ID IN 4 ( 5 <<the 17 lines of the above SELECT id… query…>> 22 );

1 row updated.

SQL> select id,hidden from test;

ID HIDDEN—————————————— ————————————14152967 014152966 4

Code Listing 1: The first question’s sample table, subquery, UPDATE, and result information

JA13_AskTom.indd 52 5/23/13 4:56 PM

53ask tom

oracle magazine July/August 2013

does not exist in my database anymore.” And therefore it exists to save you from a grievous error in logic. If this trigger were able to work—if the trigger were permitted to read TABLE_X while firing—it would lead to nondeterministic outcomes from exactly the same SQL executed against exactly the same data (which is very reminiscent of the first question in this column). I’ll explore why that is in a moment.

But first I’d like to comment on “. . . I am using triggers because it is an enhance-ment. . .” I am not a fan of that reasoning. Software exists to be changed—that is why it is called software and not hard-ware. Hardware is the stuff we have to live with as is. Software is malleable, changeable. Triggers are horrible for trying to “automagically” slide a change into production. They come with so many side effects and long-term downsides. I’ve written about this before in “The Trouble with Triggers” (bit.ly/12og7Ip).

Your attempt at a trigger is a classic example of why triggers can be so bad. If the trigger were allowed to work, it would leave your data in an inconsistent state—or even worse, in a different state in two dif-ferent databases that contained exactly the same data to start with! For example, let’s assume that you do an UPDATE to SOME_DATE_COL. This UPDATE affects more than one row. If this trigger worked—if this trigger could read TABLE_X while the UPDATE was taking place—think about what would or could happen.

In this hypothetical situation, every time a row is updated, the trigger tries to read the “max” value, but remember: you are updating SOME_DATE_COL, so you are reading the table in the middle of the UPDATE, while the data is being updated (hypothetically, because Oracle Database doesn’t actually allow such a bad thing to happen). You will possibly read a max value that was never a max value at any point in time. You will read and process data that should never have been seen.

For example, first suppose the data in the table is

...... 01-JAN-2012 ......

....... 02-JAN-2012 ........

and also suppose that your UPDATE just happens to hit the rows in that order. Now assume the UPDATE you executed is

update table_x set some_date_col =

some_date_col + 5 .......;

That will change 01-jan to 06-jan and then 02-jan into 07-jan. Now, in truth, the only max(SOME_DATE_COL) values ever in this table were 02-jan (before the UPDATE)

and 07-jan (after the UPDATE). However, what will your trigger hypothetically see? It will see 01-jan get turned into 06-jan, and it will read that result and process it as if that had been the max date at some point. But it never was. Never. And then your trigger will process 07-jan as the max date for the second row.

But it will do that only if the UPDATE hits those rows in that specific order. What if the rows are processed in this order instead?

SQL> SELECT * 2 FROM (SELECT row_number() over 3 (PARTITION BY hostid, prod_rid 4 order by pri DESC) row_n, 5 ID, 6 hostid, prod_rid, pri 7 FROM (SELECT prod.ID, 8 prod.HOSTID, 9 prod.PROD_RID, 10 mv.PRI 11 FROM TEST prod 12 JOIN PRI mv 13 ON (mv.VERSIONS_RID = prod.VERSIONS_RID 14 AND mv.PROD_RID = prod.PROD_RID) 15 WHERE HIDDEN = 0 16 ) x 17 ) y 18 /

ROW_N ID HOSTID PROD_RID PRI—————————————— —————————————— —————————————— —————————————— —————————————— 1 14152966 44026 10013252 13 2 14152967 44026 10013252 13

Code Listing 2: A close look at a nondeterministic result set

SQL> SELECT * 2 FROM (SELECT row_number() over 3 (PARTITION BY hostid, prod_rid 4 order by pri DESC, ID ASC ) row_n, 5 ID, 6 hostid, prod_rid, pri 7 FROM (SELECT prod.ID, 8 prod.HOSTID, 9 prod.PROD_RID, 10 mv.PRI 11 FROM TEST prod 12 JOIN PRI mv 13 ON (mv.VERSIONS_RID = prod.VERSIONS_RID 14 AND mv.PROD_RID = prod.PROD_RID) 15 WHERE HIDDEN = 0 16 ) x 17 ) y 18 /

ROW_N ID HOSTID PROD_RID PRI—————————————— —————————————— —————————————— —————————————— —————————————— 1 14152966 44026 10013252 13 2 14152967 44026 10013252 13

Code Listing 3: ID added to ORDER BY as possible deterministic result solution

JA13_AskTom.indd 53 5/23/13 4:57 PM

54 ask tom

July/August 2013 oracle.com/oraclemagazine

....... 02-JAN-2012 ........

...... 01-JAN-2012 ......

In this case, given the same exact set of data, the same data, just processed in a different order because of the way the rows existed on disk, you will get an entirely different answer! This is eerily similar to the first question in this column about the nondeterministic analytic function. The actual order of the rows on disk affects the answer!

So, Oracle Database does not permit such behavior in a trigger. Oracle Database does not allow you to program such incon-sistencies into your application. Oracle Database will not allow you to query a table in the middle of modifying that table. The bugs—the strange order-dependent bugs—this would introduce into applications would be unbelievable.

I strongly (as strongly as I can) encourage you to abandon the trigger and implement the code logic you need as a straightforward code change. Remember: software exists to be modified, and that is why we call it soft-ware (and not hardware).

I hesitate to post this next link, but you could find it easily enough by searching. bit.ly/19hg5Dp shows how to postpone the processing of the modified data until an AFTER trigger, when the table is “stable.”

In Oracle Database 11g and above, you could use a compound trigger in place of the three triggers I demonstrated in this linked text, but the logic would be the same. But please give serious consideration to not using triggers for what should be a code change.

Query Works in an anonymous Block But not in a ProcedureMy cursor query works fine in an anonymous block but fails to find any data in a PL/SQL block. The code is

declare cursor c1 is select object_name from all_objects where owner='IRIS_DATA' and object_type='SEQUENCE';

v_string varchar2(2000);

begin for c2 in c1 loop v_string := 'DROP SEQUENCE IRIS_DATA.'||c2.object_name; execute immediate v_string; end loop;end;

When I execute it as an anonymous block, it works fine. When I make it a stored proce-

dure, however, it executes but doesn’t find any sequences to process. I coded this procedure in a CLONEDEV schema and granted the privi-leges below as SYS to the CLONEDEV user:

GRANT DBA TO CLONEDEV; GRANT SELECT ANY TABLE TO CLONEDEV; GRANT ANALYZE ANY TO CLONEDEV; GRANT DELETE ANY TABLE TO CLONEDEV; GRANT INSERT ANY TABLE TO CLONEDEV; GRANT CREATE ANY TABLE TO CLONEDEV;

SQL> create user iris_data identified by iris_data;User created.

SQL> grant create session, create sequence to iris_data;Grant succeeded.

SQL> create user clonedev identified by clonedev;User created.

SQL> grant create session, create procedure to clonedev;Grant succeeded.

SQL> connect iris_data/iris_data;Connected.

iris_data> create sequence iris_data.seq;Sequence created.

iris_data> connect clonedev/clonedev;Connected.

clonedev> create or replace procedure drop_sequences 2 AUTHID CURRENT_USER 3 is 4 begin 5 dbms_output.put_line('drop sequence started.'); 6 for x in (select 'drop sequence ' || sequence_name sql_stmt 7 from user_sequences ) 8 loop 9 dbms_output.put_line( x.sql_stmt ); 10 execute immediate x.sql_stmt; 11 dbms_output.put_line( 'success: ' || x.sql_stmt ); 12 end loop; 13 dbms_output.put_line('drop_sequence: Dropping sequence completed.'); 14 end drop_sequences; 15 /Procedure created.

clonedev> grant execute on drop_sequences to iris_data;Grant succeeded.

clonedev> connect iris_data/iris_dataConnected.

iris_data> exec clonedev.drop_sequences;drop sequence started.drop sequence SEQsuccess: drop sequence SEQdrop_sequence: Dropping sequence completed.

PL/SQL procedure successfully completed.

Code Listing 4: Invoker’s rights and no special privileges

JA13_AskTom.indd 54 5/23/13 4:57 PM

55ask tom

oracle magazine July/August 2013

GRANT UPDATE ANY TABLE TO CLONEDEV; GRANT DROP ANY TABLE TO CLONEDEV; GRANT ALTER ANY TABLE TO CLONEDEV; GRANT ALTER ANY TRIGGER TO CLONEDEV; GRANT DROP ANY INDEX TO CLONEDEV; GRANT CREATE ANY INDEX TO CLONEDEV; GRANT ALTER ANY INDEX TO CLONEDEV; GRANT CREATE ANY SEQUENCE TO CLONEDEV; GRANT DROP ANY SEQUENCE TO CLONEDEV; GRANT SELECT ON ALL_TAB_COLUMNS TO CLONEDEV; GRANT SELECT ON ALL_CONSTRAINTS TO CLONEDEV; GRANT SELECT ON ALL_CONS_COLUMNS TO CLONEDEV; GRANT SELECT ON ALL_OBJECTS TO CLONEDEV; GRANT EXECUTE ON DBMS_STATS TO CLONEDEV; GRANT EXECUTE ON DBMS_FLASHBACK TO CLONEDEV; GRANT FLASHBACK ANY TABLE TO CLONEDEV;

I’ll refer you to bit.ly/13SzdXR, where you can see that roles are never enabled during the execution of a definer’s rights routine. By design, the ALL_OBJECTS view shows you things you can see with your current set of privileges. So if you disable roles, you’ll be able to “see” far fewer things in ALL_OBJECTS. For example

SQL> select count(*) from all_objects;

COUNT(*)

—————————————

72946

SQL> set role none;

Role set.

SQL> select count(*) from all_objects;

COUNT(*)

—————————————

56414

So that is the root cause. You are not able to see all sequences, even if you can create or drop any sequence. Now, that said, I don’t like your approach, because I don’t like these ANY privileges. This is, in fact, a good case for an invoker’s rights routine. Allow CLONEDEV to “own” this code, but have IRIS_DATA run the code. Then you need no special privileges at all. Consider the code in Listing 4.

Do you see how very, very, very few privileges are necessary? And none of those extremely nasty ANY privileges is involved. If you are concerned about having to connect as IRIS_DATA because of passwords, that too can be solved. See the recent column “On Becoming Others, Limits, and Restoration” (bit.ly/10H3Yjv), for that solution. IRIS_DATA can enable clonedev to “become” IRIS_DATA by using clonedev’s password, enabling you to accomplish your goal with very few privi-leges needed.

Committing During an importDuring import it seems that the entire table is imported and then committed, or in the event of an error, the entire table is rolled back. If I have a large table with millions of rows, can I do something in the import so that some rows are imported? Can the import commit the rows so that I have the data as well as free up the undo?

Import (imp) does have a COMMIT parameter. It commits not after a fixed number of records, but rather after each array insert it performs, which you can control with the BUFFER parameter. I should point out, though, that if your table has LONG or LOB columns, the array size will be 1 in all cases.

But because an INSERT generates very little undo (just a delete+rowid entry in the undo), it would be uncommon for you to need to use the COMMIT parameter. Very uncommon.

Additionally, you should be using Oracle Data Pump import (impdp)—not Import (imp)—which will permit you to do a direct path insert. Direct path operations bypass undo generation, so there will be no undo to be concerned with. See Oracle Database Utilities 11g Release 2 (11.2), “Overview of

Oracle Data Pump” (bit.ly/ZTFxKZ), for details on that.

In general, using COMMIT = Y for your import would be a really bad idea. If you started importing a table and committed the first batch of rows and then it failed for any reason, you would have no way to restart your import at the point of failure. You would have to truncate the table or drop it and start over.

But in any case, use Oracle Data Pump import, and you won’t have to worry about undo generation.

ASK Tom Tom Kyte answers your most difficult technology questions. Highlights from that forum appear in this column. asktom.oracle.com FOLLOW Tom on Twitter@OracleAskTomREAD more Tombit.ly/omagasktomExpert Oracle Database Architecture: Oracle Database 9i, 10g, and 11g Programming Techniques and Solutions, Second Editionamzn.to/ckGXaR READ more about deterministic queriesbit.ly/Z6nxLLtrigger troublesbit.ly/12og7Ipbit.ly/19hg5Dpdefiner’s and invoker’s rightsbit.ly/13SzdXRbit.ly/10H3YjvOracle Data Pumpbit.ly/ZTFxKZ

DOWNLOAD Oracle Database 11gbit.ly/epBiUG FOLLOW Oracle Database on Twitter@oracledatabaseon Facebookfacebook.com/oracledatabase

NExT STEPS

Tom Kyte is a database evangelist in Oracle’s Server Technologies division and has worked for Oracle since 1993. He is the author of Expert

Oracle Database Architecture (Apress, 2005, 2010) and Effective Oracle by Design (Oracle Press, 2003), among other books.

JA13_AskTom.indd 55 5/23/13 4:57 PM

56

JULY/AUGUST 2013 ORACLE.COM/ORACLEMAGAZINE

Flashbacks: Culture. Industry. Oracle. Oracle Magazine. Time Capsule BY RICH SCHWERIN

1995

JIM

SUG

AR/C

ORBI

S IM

AGES

“Just a Hobby”

1991

1997

2006

1999

FACEBOOK POLL RESULTSWhat is your favorite open source software? We asked our Facebook fans, and here’s what they said:

Mozilla Firefox 54%Linux 38%MySQL 6%OpenJDK 2%

Filmed during Netscape Communications’ final year as an independent company, Code Rush is a PBS documentary focused on a group of Netscape engineers facing an impos-sible deadline to release the open source version of Netscape’s internet software. Learn more and watch the film at clickmovement.org/coderush.

2006

2000

Duke digs open source Java and gets the source code via the Open Java Development Kit (OpenJDK), a free and open source implementation of Java Platform, Standard Edition.

Braveheart wins the Oscar for best film. The Rock and Roll Hall of Fame opens in Cleveland, Ohio. And in Sweden, two Swedes and a Finn release MySQL. Eighteen years and more than 100 million copies downloaded or distributed later, it’s the world’s most popular open source database.

In an essay, open source soft-ware advocate Eric Raymond contrasts the “cathedral” model, where source code is available with every release but development between releases is restricted to an exclusive group, and the “bazaar” model, where the code is developed online in public view.

The Cathedral and the Bazaar

Four years after developing the Apache HTTP Server,

a group of developers forms the nonprofit Apache Software Foundation, a community of free and open source software developers and users. Today, the foundation provides organi-zational, legal, and financial support for more than 140 open source software projects such as Apache Hadoop, OpenOffice, and Struts.

Apache Software Foundation

Oracle Unbreakable Linux SupportEight years after releasing the first commercial RDBMS for Linux, Oracle introduces the same enterprise-class support for Linux that it provides for its database, middle-ware, and applications products. Penguins join Oracle CEO Larry Ellison on stage at Oracle OpenWorld for the announcement.

OpenJDK

YOUR TURNWithout communities of dedicated devel-opers, open source is a nonstarter; code doesn’t write itself. So, developers, it’s your turn to open your time capsule. What was the first programming language you worked with? Any COBOL or Fortran veterans out there? Visit Facebook/OracleMagazine and let us know. bit.ly/orclmagfb

Code Rush

“I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones.” —21-year-old Finnish university student Linus Torvalds, in a post on the comp.os.minix Usenet group asking for feedback on his kernel. That kernel became Linux, the largest open source development project in the history of computing.

JA13_TimeCapsule.indd 56 5/24/13 8:54 AM

2.6x BetterPerformance

Industry Standard Java Middleware

SPECjEnterprise2010 Performance Benchmark

Oracle’s SPARC T5

Server Cost:

$805,000Server Cost:

$299,000

Performance:

10,902Performance:

27,843

SPEC and the benchmark name SPECjEnterprise are registered trademarks of the Standard Performance Evaluation Corporation. Virtualized results on spec.org as of 5/21/2013 for application and database on one 8-chip server. SPARC T5-8, 27,843.57 SPECjEnterprise2010 EjOPS, pricing on oracle.com; IBM Power 780, 10,902.30 SPECjEnterprise2010 EjOPS, pricing on ibm.com. Server cost excludes storage and software. Details: oracle.com/sparc-t5.

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

IBM’s Power7+ AIX