You are on page 1of 60

Its 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 morefully 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 implementedyour wayin days. SpringBoard d lets you manage and share software, data and ideas globally on any device, including handheld devices via LoadSpringMobile . And our new SpringBoard Connect onnect feature lets you view and update data from multiple applications, all from a single web dashboard. Go aheadhave 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.

Copyright 2013 LoadSpring is a trademark of LoadSpring Solutions, Inc.

www.loadspring.com

Follow us on Facebook

JULY/AUGUST 2013

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 benets 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

BUSINESS AT THE SPEED OF SPARC


New systems powered by Oracles SPARC T5 and SPARC M5 processors break 17 performance records

Grow Up, Branch Out


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

VOLUME XXVII - ISSUE 4

CONTENTS

BLAZING PERFORMANCE
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 T5based systems have set 17 world records. Read how the revolutionary SPARC microprocessor design is moving software into silicon to power the worlds fastest database, Java, and middleware servers. Diana Reichardt

GROW UP, BRANCH OUT


Are national laws requiring you to stand up new systems in new countries? Whats 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-asyou-grow licensing. David A. Kelly

/ 24

/ 32

Cover: Nicholas Pavkovic

Up Front / 5
FROM THE EDITOR / 5
Location, Location, Location Tom Haunert

Community / 18
PARTNER NEWS / 18 BOOK BEAT / 18 ARCHITECT / 21
The CX Factor
Wooing and wowing customers in the digital age Bob Rhubart

Technology / 39

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

MASHUP / 6
News, views, trends, and tools

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

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

UP CLOSE / 22

Cloud Builders Unite


Bloggers, tweeters, and user groups work to form a cloud builder community. Jeff Erickson

SQL 101 / 45

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

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

Pivotal Access to Your Data: Analytic Functions, Concluded


Part 12 in a series on the basics of the relational database and SQL Melanie Caffrey

BRIEFS / 13
The latest product news

ASK TOM / 51

INTERVIEW / 16

The Shine of Open Source


MySQL puts the M and the power in LAMP. Tom Haunert

On Randomness, Syntax, and Mutation


Our technologist gets deterministic, delimited, and the opposite of trigger-happy. Tom Kyte

JULY/AUGUST 2013 ORACLE.COM/ORACLEMAGAZINE

Editorial Editor in ChiefTom Haunerttom.haunert@oracle.com Managing EditorJan Rogersjan.rogers@oracle.com Senior EditorCaroline Kvitkacaroline.kvitka@oracle.com Associate Editor Patty Waddington Contributing Editor and Writer Blair Campbell Technology Advisor Tom Kyte Contributors Marta Bright, Jeff Erickson, Fred Sandsmark, Rich Schwerin, Leslie Steere DESIGN Senior Creative Director Francisco G Delgadillo Senior Design Director Suemi Lam Design Director Richard Merchn Contributing Designers Jaime Ferrand, Nicholas Pavkovic Production Designers Sheila Brennan, Kathy Cygnarowicz Publishing Vice PresidentJeff Spicerjeff.spicer@oracle.com PublisherJennifer Hamiltonjennifer.hamilton@oracle.com+1.650.506.3794 Audience Development and Operations DirectorKarin Kinnearkarin.kinnear@oracle.com+1.650.506.1985 Advertising sales Associate PublisherKyle Walkenhorstkyle@sprocketmedia.com+1.323.340.8585 Northwest and Central USTom Cometathomas.cometa@sbcglobal.net+1.510.339.2403 Southwest US and LADShaun Mehrshaun@sprocketmedia.com+1.949.923.1660 Northeast US and EMEA/APACMark Makinneymark.makinney@sprocketmedia.com+1.805.709.4745 Advertising Sales AssistantCindy Elhajcindy@sprocketmedia.com+1.626.396.9400, x201 Mailing-List Rentals Contact your sales representative. Editorial Board Ian Abramson, Karen Cannell, Andrew Clarke, Chris Claterbos, Karthika Devi, Kimberly Floss, Kent Graziano, Taqi Hasan, Tony Jambu, Tony Jedlinski, Ari Kaplan, Val Kavi, John King, Steve Lemme, Carol McGury, Sumit Sengupta, Jonathan Vincenzo, Dan Vlamis

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 Service oracle@halldata.com 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 oracle@halldata.com.

Resources Oracle Products +1.800.367.8674 (US/Canada) Oracle Services +1.888.283.0591 Oracle Press Books oraclepressbooks.com

Copyright 2013, Oracle and/or its affiliates. All Rights Reserved. No part of this publication may be reprinted or otherwise reproduced without permission from the editors. ORACLE MAGAZINE IS PROVIDED ON AN AS IS BASIS. ORACLE EXPRESSLY DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ORACLE BE LIABLE FOR ANY DAMAGES OF ANY KIND ARISING FROM YOUR USE OF OR RELIANCE ON ANY INFORMATION PROVIDED HEREIN. 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 Oracles 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

July/August 2013 Oracle.com/oraclemagazine

From The Editor

Location, Location, Location


Its important in real estate, and its important in information technology.

Next Steps
LEARN more about Oracle Database Appliance bit.ly/185gVXy Oracles SPARC servers oracle.com/sparc

he evolution of mainframe, minicomputer, and commodity server hardware 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 smartphone device through the years, however, you likely didnt know the physical location of the servers and systems you were connecting to. And in most cases, you probably didnt know about the systems internals and the geography of the processor, memory, storage, and networking. You still dont need to know where your back-end systems are located and how their internals are designed and assembled to complete your daily tasks, but the people who purchase or architect these systems and deploy them know that system architecture and integrationincluding internal design and chassis placementare like real estate. Whats important is location, location, location. This issue of Oracle Magazine demonstrates that where your servers, storage, networking, and processing are located can make all the difference for national regulatory requirements, system integration and administration, and application performance. Consolidation and Movement In Grow Up, Branch Out (page 32) organizations are setting up Oracle Database Appliance as a convenient local or departmental solution and as part of an international solution, where national regulations require systems to be located in a specific country. Deploying the pay-as-you-grow Oracle Database Appliance supports international operations by addressing national
twitter.com/oraclemagazine linkd.in/orclmag

Send Mail to the Editors


Send your opinions about what you read in Oracle Magazine, and suggestions for possible technical articles, to opubedit_us@oracle.com. 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.

requirements and also provides room for international businesses to grow. Oracle Database Appliance also consolidates processing, database, storage, and networking in one prebuilt engineered system, delivering solution-in-a-box power and convenience. And no team of system, database, storage, and networking specialists is required to install and maintain the solution. Blazing Performance (page 24) introduces Oracles SPARC T5 and SPARC M5 processors. The processors are located in SPARC servers, of course, and those servers have set 17 performance records. In addition to recordsetting 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 its not the location of the SPARC processor in the server, additional interfaces, or where the SPARC servers are located thats 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 processors 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 accelerators to future SPARC processors. SPARCs current and future silicon-located accelerators will make applications running standard encryption ciphers, database processes, and Java run faster. Thats a lot of applications running in a lot of places. Tom Haunert, Editor in Chief tom.haunert@oracle.com

CONNECT:

bit.ly/aVgo69

bit.ly/orclmagfb

oracle magazine July/August 2013

MashUp
AUDIO APPS

News. Views. Trends. Tools.

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

AudioTool

This 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.99US$7.49 (Android, iPhone, iPad). bit.ly/17RfRUy

THX tune-up

Adjust 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 Pro

This 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

Awareness

Awareness uses your devices 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

BINOCULARS AND MORE

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 camcorder 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

If you know what youre looking for, youre more apt to find it. Thats 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 (BerrettKoehler Publishers, 2013)

YOUR TURN

WHAT IS YOUR COMPANYS 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
facebook.com/OracleMagazine

65

Percentage of North American CIOs, IT directors, and IT managers surveyed who say they do not have the time, practices, or tools to collect information on the utilization of their IT investments.

Telecommutings Toll
Yes 77% No 23%

Source: Kovarus IT management survey, bit.ly/10x42NZ

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.

Do people in your enterprise telecommute?


94%

Is telecommuting an important option for working parents? Do you believe telecommuting can limit career upward mobility?
Source: The Korn/Ferry Institute, bit.ly/179AMV7 60% 40%

6%

Do 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 apartyou decide how farone or both makes a 90-decibel shriek. Put the hipKey on your key ring or in your childs 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

Dont Lose It

JULY/AUGUST 2013 ORACLE.COM/ORACLEMAGAZINE

SEpt. 22 - 26, 2013 San FranciSco

rEGiStEr noW

Save $500 by July 19th


1,700 Sessions | 475 Exhibitors | 400 Demos

Register at oracle.com/openworld

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.

Events

Technology Events

Oracle User Groups


The Chartered Institute for IT, BCS Berkshire Branch Committee Meeting
July 2, Reading, England

Conferences and sessions to help you stay on the cutting edge

bit.ly/10IlbF8

Oracle OpenWorld Shanghai

UKOUG Application Express (APEX) SIG Meeting


July 4, Solihull, England

ukoug.org

July 2225, Shanghai, China Oracle OpenWorld Shanghai keynotes, technical sessions, hands-on labs, and demos deliver information on critical technology topics such as cloud, business analytics, customer experience, and engineered systems. Oracle and its partners and customers present information to help you address todays challenges and plan for the future. bit.ly/Z5VWOI

Sacramento Java Users Group Meetings


July 9 and August 13, Sacramento, California

sacjug.org

UKOUG Partner Forum


July 11, London, England

ukoug.org

UKOUG Mobile Day ukoug.org

July 16, Reading, England

Chicago Java Users Group Meetings


July 16 and August 20, Chicago, Illinois

Java Forum Stuttgart


July 4, Stuttgart, Germany fbit.ly/Z4pZ9F This 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 gatherings. About 40 exhibitors are participating.

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

bit.ly/ZJWkOT

Australian Oracle User Group BI-Focused Meeting bit.ly/12B2NUa

July 17, Brisbane, Queensland, Australia

OReilly OSCON Open Source Convention


July 2226, Portland, Oregon fbit.ly/Z4qosB More 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.

Ohio Oracle Users Group Meeting


July 18, Dublin, Ohio

bit.ly/XzZtqo

berConf 2013
July 1619, Denver, Colorado fbit.ly/ZdPtOJ Explore the Java platform through 160 technically 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.

UKOUG Public Sector HCM Customer Forum and Workshop


July 18, Solihull, England

ukoug.org

Southwest Regional Oracle Applications User Group Meeting


July 19, Irvine, California

sroaug.com

Suncoast Oracle Users Group Meetings


July 23 and August 27, Tampa, Florida

NASBO Annual Meeting


July 2124, Anchorage, Alaska fbit.ly/ICMpGk The National Association of State Budget Officers (NASBO) annual meeting features expert speakers on the economy, state revenues, healthcare reform, and other topics.

PeopleSoft RECONNECT
July 2325, Rosemont, Illinois fbit.ly/Y938GE PeopleSoft Reconnect, this year replacing Quest regional events, offers end users in-depth education on specific Oracles PeopleSoft modules plus sessions that cover enhancements, techniques, and tips.

soug.org

Austin Java Users Group Meetings


July 30 and August 27, Austin, Texas

austinjug.org

Burlington Ruby Conference burlingtonruby.com

August 34, Burlington, Vermont

JavaOne Shanghai
July 2225, Shanghai, China fbit.ly/10Ilr72 Four content-packed days include constructing applications using Java Platform, Standard Edition; composing Java Platform, Enterprise Editionbased enterprise solutions; creating

Black Hat USA 2013


July 27August 1, Las Vegas, Nevada fbit.ly/Y93ywI The information security community convenes for training and briefings. Topics include Web attacks and exploitation, cloud security fundamentals, digital forensics, and Java security.

London Java Community: Hack the Tower


August 10, London, England

bit.ly/Zxgh2w

August 14, Santa Clara, California

nocoug.org

July/august 2013 Oracle.com/oraclemagazine

Getty Images

Northern California Oracle Users Group One-Day Oracle Performance Research Seminar with Craig Shallahamer

40 million computer users dont trust the power grid.

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


Todays 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 thats not all. In todays 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.

Why Smart-UPS is a smarter 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.

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).

Configurable interface:

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. Thats why you should insist on the more intelligent, more intuitive APC by Schneider Electric Smart-UPS.

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.

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 affiliated companies. All other trademarks are property of their respective owners. www.schneider-electric.com 998-1177097_GMA-US_Nexus

10

Events

Quest ANZ User Group Annual Conference


August 1516, Melbourne, Victoria, Australia fbit.ly/YHfQQO This conference, sponsored by the Quest independent user group, features content related to Oracles JD Edwards EnterpriseOne, JD Edwards World, and PeopleSoft products.

XChange 2013
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.

OTM SIG User Conference


July 2831, Philadelphia, Pennsylvania fus.otmconference.com Oracle Transportation Management Special Interest Group (OTM SIG) sponsors four days of knowledge sharing, ideas, and experiences.

Flash Memory Summit


August 1315, Santa Clara, California fflashmemorysummit.com This 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.

August 1822, Washington DC August 2629, San Francisco, California fbit.ly/17h2zjR XChange is a two-day event for representatives from 250 United States and Canadian IT solution 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 Symposium


August 1922, Crete, Greece fjcrete.org Java champions and geeks gather in this usercreated and user-run event to learn about new Java technologies, talk about Java, and explore the island of Crete.

OAUG Connection PointApps Tech


July 3031, Pittsburgh, Pennsylvania fbit.ly/Z4rdl9 The Oracle Applications Users Group (OAUG); Pittsburgh OAUG; and the OAUG Database, Upgrade, and ATG SIGs present an unprecedented gathering of Oracle E-Business Suite technical professionals sharing information, best practices, and details about Oracle E-Business Suite 12.2.

USENIX Security Symposium


August 1416, Washington DC fbit.ly/12CvOep USENIX brings together researchers, practitioners, systems administrators and programmers, and other professionals interested in the security of computer systems and networks. The symposium spans three days, with a technical program including refereed papers, invited talks, panel discussions, and birds-of-a-feather sessions.

ITExpo
August 2729, Las Vegas, Nevada fitexpo.tmcnet.com/west13 More than 7,000 attendees representing companies of all sizes and sectors of the IP communications industry are expected at ITExpo for education and networking.

SHARE in Boston
August 1116, Boston, Massachusetts fbit.ly/XzYIxH Subject-matter experts and practitioners discuss issues facing enterprise IT professionals. Technical education and peer-to-peer networking opportunities are available for IT managers, IT architects, systems analysts, systems programmers, and IT support personnel.
REGister for these upcoming Oracle events Oracle OpenWorld 2013 September 2226 oracle.com/openworld JavaOne September 2226 oracle.com/javaone MySQL Connect September 2123 oracle.com/mysqlconnect

AUSOUG INSYNC13 National Conference Series


August 1516, Sydney, New South Wales, Australia August 1920, Melbourne, Victoria, Australia August 2728, Canberra, Australia fbit.ly/12B2NUa This 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 attendeespecific sessions and workshops, as well as networking functions. Additional events are planned for Brisbane and Adelaide (September) and Perth (November).

MobileHCI
August 2730, Munich, Germany fmobilehci2013.org MobileHCI 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.

Events locator
Oracle Events oracle.com/events Locate User Groups oracle.com/technetwork/community

July/august 2013 Oracle.com/oraclemagazine

Getty Images

Resources

11

Whats New at Oracle


Videos
The Top Five Security Considerations to Look for in a Cloud Provider fbit.ly/YUwN5u Oracle Senior Vice President and CIO Mark Sunday discusses cloud security and key compliance considerations. Optimize Your Data Center fbit.ly/XMeeBi Learn how Oracles data center components, systems, and Oracle Optimized Solutions are engineered to work together. Oracle Data Integration: Moving Data to Transform Business fbit.ly/Z6oYKa Discover how Oracle Data Integration products deliver continuous access to trusted data. Transforming a Day in the Life of a Chief Financial Officer fbit.ly/11OjuHy See how todays business is driving CFOs to become more strategic in their use of technology. Life-Changing Analytics fbit.ly/14wn25Q Oracle Business Analytics improves workforce management, simplifies financial reporting and analysis, and answers business questions.

The latest videos, podcasts, blogs, and more

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/YETC46 Forrester Consulting examines the potential return on investment of Oracle Business Intelligence Applications. Building Large-Scale E-Commerce Platforms with Oracle fbit.ly/17M5Mcz Discover the ecosystem of applications, middleware, 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/YJABr5 Get 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/10RpcJQ Find out how to align long-term plans with proposed and ongoing projects to make the best use of corporate resources. Oracles x86 Systems: The Best x86 Platform for Oracle Solaris fbit.ly/XfUdaj Discover 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 VMEnabling Rapid Migration to Private Cloud fbit.ly/XV9sRZ Find out how to use Oracle VM templates to virtualize your applications 7 to 10 times faster than with traditional virtualization technologies.

Taking Control of the Order-to-Cash Cycle fbit.ly/XmzySX Insights from experts at FSN, Deloitte, and Oracle show you how to accelerate collections, avert write-offs, and tune up your order-tocash process. Middleware as a Service using Oracle Enterprise Manager 12c Cookbook fbit.ly/12cyejC Get step-by-step instructions for provisioning an Oracle WebLogic Server domain using Oracle Enterprise Manager 12c.

Webcasts
Announcing New SPARC Servers with the Worlds Fastest Microprocessor fbit.ly/10ntm9K Oracle executives introduce the new standard for extreme performance with the latest portfolio of Oracles SPARC servers. Introducing Oracle Database Appliance X3-2 fbit.ly/13RxghI Watch Oracle executives launch the latest Oracle Database Appliance and hear customers discuss how it has revolutionized the way they deploy, manage, and support a database platform. Building a Private Cloud Infrastructure with Oracles SPARC Servers fbit.ly/XhdQzR Deploy a cloud infrastructure faster while lowering TCO and improving system performance with Oracle Optimized Solution for Enterprise Cloud Infrastructure. Consolidation Best Practices for Enterprise Applications fbit.ly/X1SrZa Learn how to consolidate your application and database infrastructure, reduce IT cost and complexity, and improve performance and availability.

E-Books
Oracles SPARC T-Series Servers fbit.ly/Xhf5z0 Read about Oracles 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 Results fbit.ly/127bmpm Explore how CFOs can develop a twenty-first-

oracle magazine July/august 2013

12

Resources

overHEARD

We set out to design the worlds fastest database machine, the worlds fastest Java machine, and the worlds fastest middleware. We also ended up with the worlds fastest processor and the ability to execute an enormous range of applications 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 Worlds Fastest Microprocessor (bit.ly/10ntm9K)

Oracle University Blog fbit.ly/10zBhjd Stay informed on the latest training courses and certifications, get tips and tutorials from expert instructors and course developers, and read analyst commentary.

Oracle University
Oracle Virtualization Training fbit.ly/XOxUc2 Learn how server, desktop, and network virtualization training can help reduce infrastructure cost, improve resource utilization, and simplify data center management. Oracle Java Training fbit.ly/10rRzNC Get the latest training on Java Platform, Enterprise Edition.

Data Center Storage Trends for 2013 fbit.ly/1103B1J Oracles 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/11OfQNV Get an expert overview of the benefits and uses of new InnoDB features in MySQL 5.6. Techcast Series: Architecting Business Continuity Essentials for Enterprise Applications fbit.ly/16mxz1k Oracle experts discuss how to maximize availability by incorporating redundancy, high availability, backup and recovery, and disaster recovery processes into your data center.

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/14wmhK2 Listen to an expert Ksplice developer discuss what RedPatch can do for your Linux environment. Podcast Series: Making the Right Storage Choices fbit.ly/Yt93uV This 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/XcZVdV Listen to the latest updates about Oracle WebCenter from customers, partners, and experts. Podcast Center: Oracle Virtualization fbit.ly/12dKpN6 Listen to Oracle VM product managers discuss Oracle VM deployment use cases that include Oracle applications and private cloud computing environments.

Calculators
Oracle Value Calculator for SPARC Servers fbit.ly/10ZIaOy Find out how Oracles SPARC servers and integrated technology stack can help you achieve unprecedented scale and simplicity in your data center and reduce costs.

web locator
Oracle Blog Center oracle.com/blogs Oracle Consulting oracle.com/consulting Oracle Events and Webcasts oracle.com/events Oracle Newsletters oracle.com/newsletters Oracle Podcast Center oracle.com/podcasts Oracle University bit.ly/ouoramag Oracle on Facebook facebook.com/oracle Oracle on Google+ bit.ly/LdGiM0 Oracle on LinkedIn linkedin.com/company/oracle Oracle on Twitter twitter.com/oracle Oracle Support oracle.com/support My Oracle Support myoraclesupport.com My Oracle Support Communities communities.oracle.com

Resource Centers
Migration Made Easy: SUSE Linux to Oracle Linux fbit.ly/10RseOi Get the resources you need to migrate, including guides for system administrators, Webcast replays, and customer case studies. Oracle Storage Expert Center: Engineered Systems Backup fbit.ly/10knHjz Learn about using Oracles 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 Powerhouse fbit.ly/164JCi1

Social Media
Oracle Learning Library on Facebook fon.fb.me/YF9kcv Access free Oracle Learning LIbrary content produced by Oracle product development and curriculum teams. Oracle Value Chain on Twitter fbit.ly/14wnEZ8 Connect with Oracle Value Chain thought leaders and evangelists.

July/august 2013 Oracle.com/oraclemagazine

Product Resources

BRIEFS

13

TUTORIALS/DEMOS
Oracle Social Relationship Management Series
This series contains 10 videos, including an introductory video about Oracle Social Relationship Management, a platform for the socially enabled enterprise, and two subseries 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

New Oracle Big Data Appliances Unveiled


Oracle 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 organizations 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 infrastructure 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 deployment, says etin zbtn, 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 Database: Introduction to SQL


This 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 Business Analytics Portfolio Updated


Oracle 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 unstructured 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 todays uncertain and extremely competitive business environment, our customers are looking for ways to distill data meaningfully to detect problems, identify 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 discovery, self-service analytics, and user experience, and providing greater effectiveness to drive optimization and tighter alignment across the business. bit.ly/ItHFjs

Oracle Database: Program with PL/SQL

This 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 management applications as well as how to create anonymous PL/SQL blocks. bit.ly/12X1ps1

Oracle Big Data Tutorial Video Series


This 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

Oracle Taleo Learn Cloud Service Updated


The 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 solution for delivering, tracking, managing, and reporting on all types of formal and informal training. Learning is critical to aligning an increasingly global workforce, though organizations must understand there isnt a one-size-fitsall 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 experiences to maximize learner adoption. bit.ly/11c4Z4A

Leveraging Third-Party Libraries to Create and Deploy Applications to Oracle Cloud

I-HUA CHEN

This tutorial shows you how to create and deploy an application that leverages the open source PrimeFaces JavaServer Faces (JSF) component suite library to add functionality 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

ORACLE MAGAZINE JULY/AUGUST 2013

14

Briefs

Oracle Buys Tekelec


Oracle 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 complete solution to manage their businesses across customer engagement, business and network operations, service delivery, and end-user applications. oracle.com/tekelec

Java Platform, Enterprise Edition 7 Lands


The latest release of Oracles platform for enterprise Java computingJava Platform, Enterprise Edition 7 (Java EE 7) has arrived, with support for modern-era Web applications. It supports HTML5, offers tools to increase developer productivity, 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 simplifies 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 traditional concurrency concepts in a containermanaged 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. Oracles commitment to Java and the Java community grows with every release, says Cameron Purdy, vice president of development at Oracle. The availability of Java EE 7 will equip enterprises to rise to evolving requirementslike HTML5 and mobile applicationsand allow them to confidently bank their future on the Java platform. bit.ly/1473wt8

Oracle Invests in Proteus


Oracle has made a strategic minority investment 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 information about medication 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 worldwide require continuous, precise, and nearreal-time information on what medicines are taken and the patients physiological response when inside and outside of a clinical setting, says Neil de Crescenzo, senior vice president and general manager, Oracle Health Sciences. We are looking forward to integrating Proteus technology into Oracles cloud-based clinical trial platform to provide these unique benefits to the industry. bit.ly/ZLxxiF proteusdigitalhealth.com

New In-Memory Applications Deliver Faster Performance


Now available, Oracle in-memory applications 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 workflows such as financial close, cost management, 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 accelerate 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 Introduced


Oracle has unveiled Oracle Virtual Networking, the industrys fastest data center fabric, with up to 80 Gb/sec bandwidth to the server. Oracle Virtual Networking supports Oracles 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 performance 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 industrys fastest data center fabric, Oracle Virtual Networking enables increased performance and agility while virtually eliminating the complexity in traditional data centers, says Raju Penumatcha, vice president, product development, Netra systems and networking, at Oracle. Now with added support for the fastest processors 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

July/August 2013 Oracle.com/oraclemagazine

I-Hua Chen

15

Oracles Primavera P6 Analytics 3.1 Released


Now available, Oracles Primavera P6 Analytics 3.1 provides deeper trending analysis and increased project visibility and control, helping organizations improve decision-making and drive efficiencies in project processes. Part of Oracles 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 dayto-day project tracking, and enable early risk identification. For project managers in any industry, its 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, its absolutely essential, says Yasser Mahmud, vice president of product strategy and industry marketing, Oracles Primavera Global Business Unit. With the new capabilities included in the latest release of Oracles Primavera P6 Analytics, we are able to help organizations reduce risk by accelerating analysis and increasing project control. bit.ly/13YWF53

Oracle Business Process Management Suite Updated


The latest enhancements to Oracle Business Process Management Suite 11 g provide users with improved process modeling capabilities, 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 necessary tools to make informed business process decisions in real time, says Michael Weingartner, senior vice president of development 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

Now Available: Fujitsu M10 Servers


Oracle and Fujitsu have announced the worldwide availability of Fujitsu M10 servers, based on Oracles 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 Fujitsus strong collaboration exemplifies Oracles commitment to achieve extreme performance by engineering hardware and software together to benefit customers. bit.ly/15kN7py

Oracle Health Sciences InForm and Oracle Argus Safety Integrated


To help clinical trial sponsors and contract 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 potential for error involved in rekeying information. 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 Virtualization


The newest releases of Oracle Virtual Desktop Infrastructure and Sun Ray Software include integration with Oracle Enterprise Manager 12c, providing a complete, 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.04based virtual desktops. Only Oracle offers a comprehensive solution to deliver and manage virtual desktop environments, along with the enterprise applications 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 Delivers Social Relationship Management Platform


Oracle has unveiled an end-to-end social management solution for the enterprise. Oracle Social Relationship Management integrates the full spectrum of social activities and analysis in a single platform, creating a seamless transition from listening and content creation to moderation and analysis of a companys 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 development 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 interactions to improve customer interactions and business results. bit.ly/13YWuGZ

I-HUA CHEN

ORACLE MAGAZINE JULY/AUGUST 2013

16

The Shine of Open Source


MySQL puts the M and the power in LAMP.

ySQL is the worlds 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 worldwide and tens of thousands of new downloads 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 stacktogether with L for Linux; A for Apache; and P for PHP, Perl, or Pythonwhich 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, whats involved in the development 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 requirements 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 database, we regularly publish development milestone releases [DMRs] to preview new features, which cumulatively add up to formal GA [general availability] in the end.

Tomas Ulin, Vice President of MySQL Engineering, Oracle

These DMRs enable the community to get early access to code for evaluation and feedback. 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 reliability 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 performance, improved replication, improved optimizer, 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 youd like to add, for example, an index or a column to one of your tables, you can now do this fully online if youre 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, readwrite, and read-only workloads up to 48 CPU threads. Some optimizer improvements in MySQL 5.6 include subquery execution, index condition 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 its one of the features that has received the most

JULY/AUGUST 2013 ORACLE.COM/ORACLEMAGAZINE

TOBY MAUDSLEY/GETTY IMAGES

interview by tom Haunert

17

attention. It allows you to directly access InnoDB datait 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 thats your best option, and you can use NoSQL when thats your best option. Youre accessing the same data and youre maintaining the ACID [atomicity, consistency, isolation, durability] properties that youre used to in a database. MySQL 5.6 combines 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, scalability, and high-availability features. And moving from MySQL Enterprise Edition to MySQL Cluster Carrier Grade Edition will add additional features related to real-time performance, scalability, and high availability. Oracle Magazine: In recent years, there have been questions about Oracles 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 Oracles commitment to MySQL. Ubiquity, availability, and ease of use are what make MySQL the worlds most popular open source database, and we intend to keep it that way.

NExT STEpS
LEARN more about MySQL mysql.com LISTEN to the interview oracle.com/magcasts

MEETING THE DEMANDS OF TOMORROW AND DELIVERING HIGH-PERFORMANCE NOW


Cybernoor is a leader in Applications Performance Optimization . the leading expert in Applications Performance Optimization . We can optimize and scale your environment to prepare your system for the future and ensure it can handle the demand as well as the growth. Before you start any upgrade, performance tuning initiative, or hardware changes, contact Cybernoor to learn more about our proven performance tuning solutions.
Cybernoor Corporation I www.cybernoor.com I +1.925.924.0400

oracle magazine July/august 2013

18

Book Beat
Oracle Business Intelligence Applications
By Simon Miller and William Hutchinson
Oracle Press oraclepressbooks.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 Applicationsprovide complete coverage of implementing and operating Oracle Business Intelligence Applications. They also explain how to enable better decision-making and optimize business processes based on accurate information. The book includes case studies and advanced scenarios based on real-world experiences from Oracles presales team. 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 applications through the use of plug-ins and how to deploy applications into the Apple and Android stores.

Oracle PartnerNetwork Launches Social Media Resource Center


Oracle PartnerNetwork has unveiled Modern Marketing for Todays Digital World, a new kit in the partner enablement 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 partners 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 services 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 ADF 11gR2 Development Beginners Guide


By Vinod Krishnan
Packt packtpub.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 Beginners Guide covers the basics of development and then steps through more-complex topics, following a tutorial approach. Author Vinod Krishnan starts with installation and configuration and then covers topics such as working with the model layer and model data, followed by displaying and binding data.

Oracle GoldenGate 11g Handbook


By Robert Freeman
Oracle Press oraclepressbooks.com
This book walks you through implementing Oracle GoldenGatea real-time transactional change data capture, transformation, and delivery solutionfrom basic architecture to tips and tricks. Author Robert Freeman guides database professionals through advanced topics such as multimaster replication and conflict resolution. Each chapter of Oracle GoldenGate 11g Handbook features workshops that you can use to install, configure, and run Oracle GoldenGate 11g. The book also emphasizes the heterogeneous capabilities of Oracle GoldenGate and provides step-by-step instructions that show how to move disparate data from current and legacy systems to an Oracle database.

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


By Ravi Saraswathi and Jaswant Singh
Packt packtpub.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.

ARCTOOLS Achieves Oracle Validated Integration with Oracles JD Edwards World


DCSoftware, an Oracle Gold Partner, has achieved Oracle Validated Integration of ARCTOOLS v7, its data purging and archiving tool, with Oracles JD Edwards World A9.3. Available ARCTOOLS modules cover financials, 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

Oracle Application Express for Mobile Web Applications


By Roel Hartman, Christian Rokitta, and David Peake
Apress apress.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 application that will run on phones, tablets, and other mobile devices. You will learn how to make enterprise reporting and business

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

JULY/AUGUST 2013 ORACLE.COM/ORACLEMAGAZINE

I-HUA CHEN

PARTNER NEWS

19

Oracle PartnerNetwork Delivers Partner Resources for Oracles SPARC Servers


To support Oracles 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 Oracles 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 PartnerNetworks 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 partners customer and prospect base; and Oracle-sponsored benchmarks, e-books, road shows, and tech days. In addition to the new specializations and resources, Oracle PartnerNetwork has announced that current SPARC T4 authorized resellers can immediately sell Oracles SPARC T5 systems, and opportunities to resell SPARC M5 servers are also available. Authorized Oracle resellers who work through participating authorized Oracle value-added distributors 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 Industry
eVerge Group, an Oracle Platinum Partner, has achieved Oracle PartnerNetwork Specialized status in the Financial Services Industry category. This is eVerge Groups 13th Oracle PartnerNetwork specialization overall, and its 6th industry specialization. Oracle and eVerge Group have jointly developed a hosted customer relationship management solution designed to address the unique needs of financial institutions. eVerge Groups preconfigured solution helps financial institutions increase customer acquisition, improve customer service, develop and manage marketing programs, enhance sales productivity, and improve management insight. evergegroup.com

Two SimpliCTI Cloud Connectors Achieve Oracle Validated Integration with Oracle RightNow Cloud Service
SimpliCTI 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

Talent Technology Becomes Oracle Platinum Partner


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

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 solution. 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.com www.eri.ch spatialbiz.com xplore-software.com/project_management

SnapPay Achieves Oracle Validated Integration with Oracles JD Edwards EnterpriseOne


SnapPay 3.1, a realtime credit card sales order automation and payment card industry security solution created by Oracle Gold Partner CDI, has achieved Oracle Validated Integration with Oracles JD Edwards EnterpriseOne 9.1. SnapPay provides a secure end-to-end solution (covering credit card authorization, settlement, collection, administration, and security) that leverages JD Edwards integration best practices and standards. SnapPay can handle multiple companies and currencies, integrates tax and shipping logic, and supports multiple gateways including Authorize.Net, CyberSource, Moneris, and PayPal. cditechnology.com

I-HUA CHEN

ORACLE MAGAZINE JULY/AUGUST 2013

20

PARTNER NEWS

TTI Performance Systems Pre-Hire Assessments Earn Oracle Validated Integration with Oracle Taleo Enterprise Cloud Service
TTI 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 provides seamless inclusion of TTIs validated, legally compliant pre-employment assessments that leverage quantitative data analysis and cognitive neuroscience with Oracle Taleo Recruiting Cloud Service. The combination of Oracle Taleo and TTIs 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 Status


UC4 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 performance, scalability, and reliability. The UC4 ONE Automation Platform unifies workload automation, application release management, routine compilation, managed file transfer, virtualization automation, and more. uc4.com

Keste Achieves Oracle PartnerNetwork Specialization for Oracle Cloud Builder


Keste, an Oracle Platinum Partner, has earned Oracle PartnerNetwork Cloud Builder specialization status. Keste was recognized for its expertise in delivering services for use with Oracles portfolio of cloud-optimized software 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

SAVE THE DATE


I-HUA CHEN

Oracle PartnerNetwork Exchange @ OpenWorld September 2226 oracle.com/opnexchange

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.

www.polarbearsinternational.org

Conservation through Research and Education

Help Us Help the Polar Bear


Photo R&C BuChanan JULY/AUGUST 2013 ORACLE.COM/ORACLEMAGAZINE

Architect By Bob Rhubart

21

The CX Factor
T
here was a time when customer experience 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, isnt limited to the physical world or the telephone. In fact, CX is far more likely to happen via a Web browser or mobile application. And that online experience is just as likely to happen on Facebook or Twitter as it is on a companys Website. Chances are that youve combined a physical customer experience with a virtual customer experience by looking up product reviews while standing in a retail store contemplating a purchase. So its no wonder that CX has become a significant factor in enterprise IT as companies enter the latest phase in the ongoing battle for customer attention and loyalty. In many industries, products and services 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 technical aspects of CX. Ensuring consistent, high-quality engagement across all channels and various stages of an individuals journey with a brand allows organizations to distinguish themselves. But wooing and wowing customers with a distinctive customer experience isnt 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 collection of separate marketing, sales, support, and other customer-facing operating units.
CONNECT: bit.ly/otnarchblog

Wooing and wowing customers in the digital age

The pendulum of CX is moving away from function toward form.


Billy Cripe, Oracle ACE Back-office systems have generally not been designed to efficiently support transparent 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, executive 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 experience. The millennial generation favors form over function. Theyre willing to sacrifice some capability at the edges in favor of a convenient and fun experience. Its iPhone over BlackBerry. Its 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 relationship management, says Ultan OBroin, director of global user experience for Oracle. Its contextual, social, and real-time digital interaction. No more the customeronly this customer. Its goodwill gone viral, gone virtual.
bit.ly/otnarchtw bit.ly/otnarchli

That shift in focus to the individual customer 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. Its 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 architectsis 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.

Bob Rhubart
(bob.rhubart@oracle.com) 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).

Next Steps
LISTEN to The CX Factor and Oracle WebCenter bit.ly/15zIdiZ all ArchBeat podcasts bit.ly/otnarchpod READ Customer Experience Reference Architecture, an Oracle white paper bit.ly/VLr3js

on.fb.me/otnarchfb

oracle magazine July/august 2013

22

UP CLOSE BY JEFF ERICKSON

Cloud Builders Unite

Bloggers, tweeters, and user groups work to form a cloud builder community.

epending 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. Oracles 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 hes determined to use his position to help the cloud builder community grow. Akelas 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 community is going to do its own thing, but I can let them know that Oracle is eager to hear their critiquesand can find product experts when they ask, he says. I also wanted to introduce the enthusiastic people Ive 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 13 At 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 Twitterbased chat going so people who werent at

Anand Akela, Principal Product Marketing Director, Oracle

Arshad, whose cloud technology blogs he admires. We will continue to interact online, but now weve 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 importance 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 youre 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

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 volunteering 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 BLOGGERS A 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 conversations with many of these people on a weekly and sometimes daily basis, but I hadnt met them and they had never met each other, Akela explains. So he met with the likes of Kellyn PotVin, Leighton Nelson, and Fuad

Jeff Erickson
(jeffrey.x.erickson@ oracle.com) is a senior editor with Oracle Publishing.

NEXT STEPS
FOLLOW Akela the Oracle Enterprise Manager blog blogs.oracle.com/oem FOLLOW cloud technology bloggers Kellyn PotVin dbakevlar.com Leighton Nelson blogs.griddba.com Fuad Arshad fuadarshad.com LEARN more about the IOUG Cloud Computing SIG bit.ly/YTzg6J the IOUG Oracle Enterprise Manager SIG bit.ly/ZL5pIT

JULY/AUGUST 2013 ORACLE.COM/ORACLEMAGAZINE

BOB ADLER

Peer-To-Peer by Blair Campbell

23

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

Finding Help

Cameron Lackpour

Diego Aguirre

Michael Abbey

Company: CL Solve, an enterprise performance management consulting company Job title/description: President and consultant, handling all company operations Location: Philadelphia, Pennsylvania Length of time using Oracle products: 19 years

Company: Telecom Argentina S.A., a telecommunications company Job title/description: Senior technical support specialist, responsible for administration and configuration of Oracle Solaris platforms Location: Buenos Aires, Argentina Length of time using Oracle products: More than 10 years Whats your favorite technique on the job? Investigating problems in the servers running Oracle Solaris and then documenting how Ive 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 communityand 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 impactfor example, Oracle Solaris 10 and its Oracle Solaris Containers feature [Oracle Solaris Zones as of Oracle Solaris 11]. These new releases brought radical changesincluding 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. Youve 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 Oracles Sun solutions. Since then Ive taken nearly a dozen courses. These courses have helped tremendously to upgrade my skills.

Company: Pythian, a data and data infrastructure management consulting firm Job title/description: Oracle team lead, participating in the management of service delivery for clients and intervening in technical triage as required Location: Ottawa, Ontario, Canada Length of time using Oracle products: 26 years 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. Dont study technical documentation without trying things out as you goand do not believe everything you read as a result of your search engine hits. Whats your go-to Oracle reference? My Oracle Support is where I spend all my timeonce one hones the skills required to work effectively with this organization, its assistance is second to none. Theres nothing like an Oracle Support team armed with the latest information and with such a massive knowledgebase at their fingertips.

Which new features of Oracle Applications are you currently finding most valuable? For migrating artifacts between EPM applications, servers, and environments, Ive 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. Its been an absolute lifesaver for development, new-release testing, and education. Any particular cloud-related projects youd 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 ODTUGs 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 Johns.

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

BLAZING
New SPARC microprocessors power the worlds fastest database, Java, and middleware servers.

BY DIANA REICHARDT

PERFORMANCE
O
racle 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 worlds fastest microprocessor, and reported that the new SPARC T5based 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. Its simply an astonishing level of capability at a cost and performance point that no one has ever seen before, and its a huge step for us, Fowler said.

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

ORACLE MAGAZINE JULY/AUGUST 2013

26

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 platforms are designed for large-scale, mission-critical applications and are well suited for multitier enterprise applications with Web, database, and application components. Its fascinating, Ellison said. [The T5-8 server] is not very big, but theres been no single server thats ever run the [Oracle] database faster than this on an official benchmark. Whats 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 SERVERS Ellison and Fowler also introduced the SPARC M5-32, a high-end server that offers huge performance gains over the previous generation. It uses the new SPARC M5 six-core processor running at 3.6 GHz and delivers roughly 10 times performance improvement over the

SPARC T5 and SPARC M5: Whats Inside?


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 outstanding 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 Enterprise M9000 server that it replaces. Oracles 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 capability, 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.

JULY/AUGUST 2013 ORACLE.COM/ORACLEMAGAZINE

RON SELLERS

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 optimization. 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 encryption 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 Designing In the past, Fowler noted, systems design focused primarily on connecting networking with storage and the operating system to build a productwith an arms-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. Its 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 competition 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 worlds fastest database machine, the worlds fastest Java machine, and the worlds fastest Java middleware machine, Fowler said. We also ended up with the worlds fastest processor, 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 worlds fastest microprocessor, and systems based on it.

Diana Reichardt is a senior writer at Oracle. Next Steps


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

The Oracle Solaris Connection


Running a machine the size of the SPARC M5-32 server puts tremendous stress on the operating 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 Oracles 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.

Saul Lewis, Ron Sellers

WATCH the SPARC T5 and SPARC M5 launch Webcast bit.ly/12yHnnT LEARN more about SPARC servers bit.ly/10z5MW1 Oracle benchmarks bit.ly/12eyspR Oracle Solaris oracle.com/solaris the Oracle Solaris Guarantee Program bit.ly/10z5Vc0 read SPARC T5 Deep Dive: An Interview with Oracles Rick Hetherington bit.ly/15QQq8c

oracle magazine July/August 2013

ADVERTISING SUPPLEMENT

A Bold New Server that Evolves with Your Business


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.
and large workloads, they need systems with the exibility to provide performance and availability for mission-critical enterprise applications today and the scalability and reliability to accommodate growth in the futureall 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 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 exible system congurations. The server offers an appealing low total cost of ownership thanks to rapid deployment, useful software tools, and simplied 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.

In

the era of big data and tight IT budgets, its 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

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 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 modular 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 capacityon-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 conrmed the high performance of Fujitsu M10 that stems from Fujitsus high-performance supercomputer technology, says Hiroshi Endo, senior vice president of NTT DATA Corporation. We look forward 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 customers business.

Advertising supplement

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 consolidation and virtualization. To reduce the number of resources that IT needs to manage, it is vital to consolidate workloads, applications, databases, operating system instances, and servers. Consolidation yields a number of benets: improved system utilization rates, innOvative sOFtware On cost savings, improved security, more predictable chip technOlOgy service levels, and increased exibility in appliFujitsu M10 servers feature Software on Chip cation deployment. For successful consolidation (SWoC) technology, which implements common projects, IT needs a server platform that can scale software code sequences directly into the hardto support any number of application instances, ware, offering multiplicative enhancements in perin a highly available mission-critical environment. formance. Oracle and Fujitsu are collaborating on The platform also needs resource management future advances in software and hardware optimiand virtualization capabilities to simplify managing zations, including shifting cryptographic operations numerous applications, and the tools to manage from software to the processor. This new SWoC that consolidated environment. The Fujitsu M10-4S hardware technology is expected to be exploited server delivers on all these requirements, where IT in new releases of Oracle software. managers can create pools of Fujitsu is the only server processor development company based compute in Japan. We are proud of our long history and technology skills. resources that can be Takumi Maruyama, Assistant Vice President, Processor Development Division, Fujitsu rapidly and dynamically allocated to meet new and changing workloads. high-eFFiciency cOOling technOlOgy Fujitsus hybrid cooling technology, Liquid Loop nO. 1 unix Os Oracle sOlaris Cooling, combines the strengths of liquid and air Fujitsu M10 servers support Oracle Solaris 11 and cooling to resolve the typical problems that exist in Oracle Solaris 10. In addition, Oracle offers the server cooling systems. Liquid Loop Cooling allows Oracle Solaris Application Guarantee Program, high efciency cooling and reduces the CPU/memory offering guaranteed binary and source-code board size. The coolant circulates efciently using compatibility for applications dating back to 1997 multiple redundant pumps, removing the processor or earlier. Oracle Solaris 9 is also available to use heat via a small heat exchanger/radiator on each in Oracle Solaris Legacy Containers. In fact, one board that is air-cooled. The system reduces the size customer was able to operate Oracle Solaris 9, 10 of the heat sink and fans, leading to space-saving and and 11 on one server to run multiple applications. less noise. It also dramatically improves the internal In addition, both Oracle VM Server for SPARC design of the server, allowing CPUs and memory and the Oracle Solaris Zones feature of Oracle to be packed closer together, reducing memory Solaris are included in all Fujitsu M10 servers at latency. Furthermore, controlled CPU temperature no cost. will improve the parts life cycle. This efcient cooling system can lead to signicant cost savings for three MOdels tO Meet Business needs businesses. Fujitsu M10 servers are available in three models to meet the specic needs of many types of businesses. advanced virtualizatiOn Every Fujitsu M10 server is based on the 16-core and cOnsOlidatiOn SPARC64 X processor with SPARC V-9 processor SPARC-processor-based servers are among the architecture, built-in security, a maximum of 600 worlds best consolidation and virtualization plat-

MainFraMe-class ras Fujitsu M10 servers use proven, highly reliable technologies in all of their components. Their mainframe-class RAS capabilities ensure high availability for mission-critical applications. In addition, comprehensive and exhaustive data protection and redundancy assures system uptime 24 hours a day, 365 days a year.

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 conguration: 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 conguration 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 protability and remain competitive in todays fast-paced business environment, businesses are focused on speeding up application processing and improving their overall IT efciency, says Bill King, executive vice president of Platform Products Group at Fujitsu America. The Fujitsu M10 servers help our customers realize these objectives 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 businesses 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 meaningful 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 Fujitsus strong collaboration exemplies Oracles commitment to achieve extreme performance by engineering hardware and software together to benet customers.

Fujitsus Diamond-Level and Oracle Specialized Partner Status Yields Big Benets for Customers
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 stackservices, software and hardware. It also recognizes Fujitsus 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 certied implementation specialists on staff for each of six specic 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 signicant milestone in a longstanding relationship with Fujitsu.

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 Oracles expertise and innovative technologies, 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.

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

solution in a box

single

virtualized pla

expandable

32

consolidation platform

standard configuration

expandable

engineered system

de

pa r

tm

en

integrated system

ta l

sy st e

on

e-

bu

tt on
pay as you grow
mi ds ize bu sin es s on ebu tt on pa tc h in g pa ya sy ou

simple to maintain

oracle database appliance

oracle database appliance

system

br

an

ch

de

pl oy m

en

in

st al

gr ow

Grow Up, Branch Out


Oracle Database Appliance provides new ways for organizations to simplify, consolidate, and grow. By David A. Kelly
July/August 2013 Oracle.com/oraclemagazine

pp

or

nd

ed

sy st e

su

-v e

le

ng

si

en

gi

ne

er

33

on

en

pl oy m

pa n

ag e

ch

st or

an

expandable

simple to maintain
de pa r

br

standard configuration

tm

en

ta l

sy st e

m vir tu al

ize

dp

la tf

or

m pa ya sy ou

on

ith the variety of servers, storage, and networking options available, todays IT infrastructures can be very complex and expensive to build and maintain. Thats why Oracle created Oracle Database Appliance. With Oracle Database Appliance, organizations dont need to architect high-availability systems, and they dont need to manage storageits 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 selfcontained IT infrastructure. Oracle Database Appliance is a fully integrated 4U rack-mountable system for midsize businesses, enterprise departments, and remote/distributed deployments.
oracle magazine July/August 2013

e-

bu

gr ow

tt on

ex

de

di

ag n

si

os

is

34

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. Aons 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 Aon: International Growth perform. Customers run reports against 30 or 40 years worth of data When it comes to cloud computing, one size may not fit allat least and expect to have the results very quickly. To make this possible, for companies that want to offer cloud-based solutions internationAon eSolutions has developed a wide range of cloud-based services ally. Take the case of Aon eSolutions. that serve the risk management industry. The companys softwareAon eSolutions is the technology solutions business of Aon, one as-a-service (SaaS) solutions have traditionally been delivered of the worlds largest risk management, insurance, and reinsurance through two data centers in the United States. brokerage providers. Aon eSolutions has more than 1,600 global Yet over the past few years, Aon has encountered a changing regucustomers, including many Fortune 100 companies and more than latory climate. We started seeing new requirements for data security 250,000 distinct users who leverage its systems. 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 perforScott Wilson, Vice President of Hosting and IT Operations, Aon eSolutions 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 foundation 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. Its 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, weve had 100 percent availability since deploying it. The solution worked so well that Aon eSolutions purchased eight Oracle Database Appliances. Its 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 The compelling thing about Oracle Database Appliance is the ability to grow into it over a period of time, so were paying as we go, says Scott Wilson, Aon eSolutions vice president of hosting and IT operations. Appliance on some of its appliances.

A unique feature of Oracle Database Appliance is the solutions 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 systems full capacity as business needs dictatewith no hardware upgrades needed. Its 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.

Were realizing a 55 percent CapEx savings by using Oracle Database Appliance.

July/August 2013 Oracle.com/oraclemagazine

BoB Adler

35

The compelling thing about Oracle Database Appliance is the ability to grow into it over a period of time, says Wilson, so were 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 Appliancebased 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 didnt 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. Were 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 weve 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 todays business cycles, it can be hard to estimate future business and IT needs. Underestimating future growth potential can Virtualization
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 partitionedthe 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 database assets onto a converged appliance 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.

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 dont have to design it yourself. Youre getting the whole thing prearchitected for you.

have dramaticand negativeimpact 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. Thats 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. Its a great model for us. Yodlee is a 13-year-old technology company that serves the financial 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 digitally. Yodlee customers are the worlds largest financial institutions, including 7 of the top 10 US banks, as well as hundreds of startups. Yodlees solutions integrate directly with banks and financial providers to create comprehensive and personalized financial management solutions. Yodlee has to be able to support millions of users, including international customers in 10 different countries. Historically, all Yodlee users have been operating out of the companys US-based data

Peter Stember

oracle magazine July/August 2013

36

centers. Yet, over the past few years, Yodlee MediSwitch: Growth on Demand snapshots has seen growing privacy regulations and When youre processing more than 100 Aon eSolutions, the technology security concerns related to data sovereignty million electronic healthcare transactions solutions business of Aon drive requirements for data to stay within its a year, high availability and performance aon-esolutions.com home country. Since our systems all involve are critical. Thats why MediSwitch, South aon.com Location: London, England data integration with financial institutions, Africas leading electronic healthcare transEmployees: 65,000 these new regulations were starting to action servicing company, chose Oracle Revenue: US$11.5 billion in 2012 become a barrier to business, says Schulte. Database Appliance when it needed to Oracle products: Oracle Database Appliance; We essentially came to the point where we upgrade its key transaction systems. Oracle Database, Enterprise Edition; Oracle decided we needed to establish a physical MediSwitch acts as an intermediary Real Application Clusters; Oracle Active Data Guard; Oracle Advanced Security data center presence internationally. between more than 12,000 hospitals, Yodlee needed a platform and archipharmacies, doctors, dentists, and other Yodlee tecture that it could put into any country medical businesses in South Africa and the yodlee.com and that would handle the intense secumore than 60 medical schemes that pay Location: Redwood City, California rity requirements for financial data. The out claims. Effectively, MediSwitch takes Employees: 700 Oracle products: Oracle Database Appliance; company evaluated more than 15 poselectronic medical claims and validates all Oracle Database, Enterprise Edition 11.2.0.3.4; sible solutions before it decided on Oracle the information before it is submitted to Oracle Real Application Clusters 11.2.0.3.4 Database Appliance. The need to support payment providers. international requirements really drove the Our aim is to provide improved efficienMediSwitch selection of Oracle Database Appliance, cies for both sides of our value chain, says mediswitch.co.za Location: Johannesburg, South Africa says Schulte. Wayne Botha, IT manager at MediSwitch. Employees: 105 Yodlees selection requirements for supWe improve efficiencies for healthcare Oracle products: Oracle Database Appliance; porting international deployments boiled providers by tracking and providing feedback Oracle Database, Enterprise Edition 11.2.0.3.0; down to four considerations: cost, perforon their claims, and we improve efficiencies Oracle GoldenGate 11.2.1.0.1, Oracle Enterprise mance and scalability, ease of management, for medical schemes by allowing them to cut Manager and security. Oracle Database Appliance won down on manual intervention and reduce out across all four categories. paper claims. From a cost standpoint, we really found no other solution out MediSwitch processes more than 100 million transactions per there that could deploy an infrastructure, software, hardware, datayearand it needs to do so with very high levels of availability and base, and storage that was less expensive, says Schulte. It also performance. For example, because of its processing work with scales really well. You can start out with a small implementation, pharmacies, MediSwitch is very limited in the amount of downtime which for us would be 100,000 users or fewer, and can scale all the its allowed to have, with service-level agreements (SLAs) ensuring way to a large implementation, which for us would be 1 million users. uptime as high as 99.95 percent. At the same time, the performance was great. MediSwitch has two active data centers, with claim processing For Yodlee, another big benefit is Oracle Database Appliances split between the two. The companys existing hardware was ease of management and the fact that all the key components are reaching its end of life, so MediSwitch explored upgrade options. preintegrated, including high-availability capabilities. It performs We really needed a solution that would deliver excellent uptime, really well. Its an engineered systemall the pieces are engineered availability, and disaster recovery, says Botha. to perform well with each other, says Schulte. With an engineered After an extensive investigation, MediSwitch determined that system, you dont have to design it yourself. Youre getting the whole Oracle Database Appliance was the right fit for its business. The thing prearchitected for you. company chose Oracle Database Appliance for two main reasons: the Our experience has been that Oracle Database Appliance is a solution was the perfect size for MediSwitch and was the right value really easy system to implement, says Schulte. We havent had to for the money. do anything to tune the system to make it perform well. In fact, weve Oracle Database Appliance cuts down on OpEx because its an never tuned it. What we have deployed right now in our international engineered system, from the applications down to the disk, where data center is Oracle Database Appliance out of the box. Im expecting we have one vendor to speak to instead of three or four, says Botha. that a single Oracle Database Appliance system for us will scale to well From an ongoing maintenance perspective, its certainly a lot easier over 1 million users without us having to add additional hardware. for our infrastructure team to manage an Oracle Database Appliance The savings Yodlee has obtained from using Oracle Database instead of a custom system. Appliance has been impressive. We achieved a 50 percent reducMediSwitch also deployed Oracle Enterprise Manager to monitor tion in CapEx by choosing Oracle Database Appliance, says Schulte. and manage its Oracle Database Appliance systems. Oracle In addition, our out-of-the-box performance was 10 percent faster Enterprise Manager provides us one portal where we can go and than our existing SAN-based infrastructure. manage the complete stack from one place, instead of using the mul-

July/August 2013 Oracle.com/oraclemagazine

37

Were able to run all our databases on the Oracle Database Appliances, so its really a one-stop shop for managing the server.
Wayne Botha, IT Manager, MediSwitch  impressed with the performance of the Oracle Database Appliances. Routine monthly billing processes were reduced from four hours to less than 45 minutes. Its 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 perspective. Instead of running four or five servers for development and testing, MediSwitch has moved development and testing onto its two Oracle Database Appliance systems. Were able to run all our databases on the Oracle Database Appliances, so its really a onestop shop for managing the server. Its a much simpler and cleaner infrastructure, says Botha. Simplified Consolidation and Growth Todays 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 consolidated 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 eliminates the traditional requirement to integrate separate server, storage, and networking components, says Oracles DeMel. Deploying, managing, consolidating, and scaling business-critical systems is now possible 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. Its superfast, he says.

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 business 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 continue to run independently and resync when theyre reconnected. The use of Oracle GoldenGate also simplifies MediSwitchs disaster recovery plan: because it has active hardware at both data centers, it doesnt 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 Appliancebased system, says Botha. We were very, very

David A. Kelly (davidakelly.com) is a business, technology, and travel writer who lives in West Newton, Massachusetts. Next Steps
READ more about Oracle Database Appliance bit.ly/11VCF6Q WATCH the Oracle Database Appliance X3-2 launch Webcast bit.ly/11969N3

Jonathan Torgovnik/Getty Images

oracle magazine July/August 2013

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.

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

Join the Oracle Press Community: www.OraclePressBooks.com


@OraclePress OraclePress

Java Developer

Oracle ADF by Frank Nimphius

39

Build Your Own

oracle application development framework and oracle jdeveloper

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

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 declarative component feature to ensure layout consistency as they reuse components throughout Oracle ADF applications. This article provides an overview of declarative components in Oracle ADF and provides a hands-on guide that walks through the declarative build process. About Oracle ADF Declarative Components Oracle 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 declarative components dont have their own Oracle ADF PageDef files and therefore cannot have their own bindings defined. Oracle ADF provides two types of declarative 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 creation 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 Attributes Declarative components provide two types of attributes that collectively define their public application interface. Developers can create and edit these attributes, using Oracle JDevelopers Property Inspector feature. Value attributes are comparable to JavaBeans properties and can be used to pass data into or read it from a declarative component. In the latter case, developers use expression language (EL) to reference a managed bean or an Oracle ADF binding property. Method attributes are used by the declarative 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 signature that defines the method return type (usually void) and the method parameter type (such as javax.faces.event .ValueChangeEvent)to notify the consuming application about a value change. Declarative Component Facets In JSF, facets are named areas within a component that application developers can use to add JSF child components such as toolbars and context menus. In the same way, declarative components can also include facet definitions to enable application developers to add JSF child components. The facet location within a declarative component is defined by another Oracle ADF Faces component called the facet reference.

JSPX Versus Facelets The 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 applications, 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 its important to know the target VDL for which a component needs to be built. In Oracle JDeveloper 11 g Release 1, the VDL is always JSPX, but in Oracle JDeveloper 11 g Release 2 and later releases, it can be JSPX or Facelets. Geometry Management Geometry management is Oracle ADF functionality 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 components dont. To size declarative components, developers need to expose and implement custom width and height attributes. Using Separate Workspaces Because declarative components are reusable 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 developed in a separate project. This approach simplifies deployment and also helps main-

I-Hua Chen

oracle magazine July/august 2013

40

Oracle ADF

tain reusable code that is independent from application-specific code. Hands-on Overview: A Simple Data Export Application Oracle ADF Faces provides a behavior tag af:exportCollectionActionListenerthat declaratively enables a command button or a command link for exporting data from a collection 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 notyet-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 declarative components. Because the application is partially built, it is especially important to follow the hands-on instructions closely. Getting Ready Before following the steps in this article, download and install the Studio edition of Oracle JDeveloper 11 g 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

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

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 11 g 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 connection 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 youve 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 Project The 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 integrated 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

July/august 2013 Oracle.com/oraclemagazine

41

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 component 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: Definition The 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 application page. 25. Click OK. 26. Leave the Use Custom Component Class checkboxwhich enables you to render a Java class you can use to override JSF implementation details such as component encoding and decodingunchecked.

27. Ensure that the Document Type selection 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:
Name Type Default Value Required
exportTitle java.lang.String Oramag Export

<<Leave as not selected.>>

31. Again, click the green plus icon (+) to create a second attribute, with the following values:
Name Type Default Value Required
exportRows java.lang.Integer -1

<<Leave as not selected.>>

32. Click OK to create the component definition. At this point, your new workspace contains an empty declarative component, configured 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: Implementation The next step is to add the declarative component 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 component 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 handson 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 component 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

oracle magazine July/august 2013

42

Oracle ADF

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:
Bean Name Class Name Package Extends Scope Registration Generate Class If It Does Not Exist
CustomPanelCollectionBean CustomPanelCollectionBean oramag.sample.julaug. thirteen.comp java.lang.Object backingBean Configuration File

<<Select.>>

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 customPanelCollection for Property. 62. Click OK. 63. Save your work, and close the code editor. At this point, you have created a declarative 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 Library To 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 Palette The 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 Component To test the declarative component, switch workspaces in Oracle JDeveloper to the provided 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 displayed in the visual page editor. 80. Expand the Application Navigator

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 doubleclick the CustomPanelCollectionBean .java file. 55. Return to the operating system. Use any file browser to navigate to the directory containing the unpacked sample application, 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

July/august 2013 Oracle.com/oraclemagazine

43

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 component, and open Property Inspector. 83. Optionally, change the ExportTitle attribute 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 rightclicking it in the Application Navigator and choosing Run. 85. In the browser application, click export

to HTML to download an HTML file containing exported table data. Conclusion This 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.

Next Steps
DOWNLOAD Oracle JDeveloper 11g Release 2 bit.ly/KDqHjz the sample application for this article bit.ly/YhDuEV READ more about Oracle ADF bit.ly/105QWMd dynamic declarative components bit.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 blog bit.ly/138PZkQ Oracle Technology Network Oracle JDeveloper forum bit.ly/YjTmEK Oracle ADF Insider bit.ly/10a8n9S

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).

Go to where the conversation lives.


Connect with Oracle Magazine on your favorite social channel and be a part of our growing community.

Join Us.

OracleMagazine

Oracle Magazine

@OracleMagazine

Print. Digital. Mobile

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

oracle magazine July/august 2013

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

Prot
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 afliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its afliates. Other names may be trademarks of their respective owners. 113940

Database Application Developer and DBA

SQL 101 By Melanie Caffrey

45

Pivotal Access to Your Data: Analytic Functions, Concluded


Part 12 in a series on the basics of the relational database and SQL

oracle database

art 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 demonstrated 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 analytic 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 clause To 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 11 g Release 2. If you install the Oracle Database software, choose the installation option that enables you to create and configure a database. 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; its also the schema in which youll 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. Finallywhether you installed the database software from scratch or have access to an existing Oracle Database instancedown-

Code Listing 1: Obtaining a list of employees, sorted by department and employee name
SQL> SQL> SQL> 2 3 set feedback on set lines 32000 select department_id, last_name, first_name from employee order by department_id, last_name, first_name; LAST_NAME Dovichi Eckhardt Friedli James Michaels Newton leblanc peterson Jeffrey Wong Newton FIRST_NAME Lori Emily Roger Betsy Matthew Donald mark michael Thomas Theresa Frances

DEPARTMENT_ID 10 10 10 10 10 10 20 20 30 30

11 rows selected.

load, unzip, and execute the SQL script available at bit.ly/12KRYvv to create the tables for the SQL_101 schema that are required for this articles examples. (View the script in a text editor for execution instructions.) Turning Your Data on Its Side A common business reporting requirement 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 displayed differently. Listing 2 uses the LISTAGG function (introduced in Oracle Database 11 g) 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 singlegroup aggregate function, it operates on all rows that satisfy any WHERE clause condition andlike all other single-group aggregate functionsreturns 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)

I-Hua Chen

oracle magazine July/august 2013

46

SQL 101

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


OVER (PARTITION BY column | expression)

Code Listing 2: Employees, sorted by department and name, displaying one row per department
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 10 20 30 EMPLOYEES Lori Dovichi, Emily Eckhardt, Roger Friedli, Betsy James, Matthew Michaels, Donald Newton mark leblanc, michael peterson Thomas Jeffrey, Theresa Wong Frances Newton

The column or expression to be aggregated, 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 rows listed department is returned in salary order, from highest to lowest, and in lastname/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 crosstabular format. The syntax of the PIVOT clause is
SELECT FROM PIVOT ( aggregatefunction column | expression ) FOR column | expression to be pivoted IN (value1, valueN) ) AS alias

4 rows selected.

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


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 10 SALARY 100000 EARNED_BY Emily Eckhardt EMPLOYEES Emily Eckhardt, Donald Newton, Matthew Michaels, Roger Friedli, Betsy James, Lori Dovichi Emily Eckhardt, Donald Newton, Matthew Michaels, Roger Friedli, Betsy James, Lori Dovichi Emily Eckhardt, Donald Newton, Matthew Michaels, Roger Friedli, Betsy James, Lori Dovichi Emily Eckhardt, Donald Newton, Matthew Michaels, Roger Friedli, Betsy James, Lori Dovichi Emily Eckhardt, Donald Newton, Matthew Michaels, Roger Friedli, Betsy James, Lori Dovichi michael peterson, mark leblanc michael peterson, mark leblanc Thomas Jeffrey, Theresa Wong Thomas Jeffrey, Theresa Wong Frances Newton

10

70000

Matthew Michaels

10

60000

Roger Friedli

10

60000

Betsy James

Compare the result sets in Listings 4 and 5. The query in Listing 4 displays a summary of each departments 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 its 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 particular year. You can also pivot on and display multiple aggregate values, as Listing 7 demonstrates. The query in Listing 7 obtains the sum of all salaries, alongside the latest date of hire for an employee, per department.

10

Lori Dovichi

20 20 30 30

90000 65000 300000 70000 75000

michael peterson mark leblanc Thomas Jeffrey Theresa Wong Frances Newton

11 rows selected.

When you use multiple aggregate functions, its advisable to supply an alias for each of them. The resultant column headings are a concatenation of the pivot values (or pivot aliases), an underscore, and (if youve supplied them) the aliases of the aggregate functions. For example, some of Listing 7s 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

July/august 2013 Oracle.com/oraclemagazine

47

format for the value returned. The HIRE_DATE columns 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 dont 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 doesnt 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 cant 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; dont 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. Youve seen one way to do this with the LISTAGG function. You can also use the UNPIVOT operator for this purpose. Note that the UNPIVOT operator 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 department, 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

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


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 370000 PAYROLL 155000 IT 370000 UNASSIGNED_DEPARTMENT 75000

1 row selected.

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


SQL> select department_id, sum(salary) 2 from employee 3 group by department_id 4 order by department_id nulls last; DEPARTMENT_ID 10 20 30 SUM(SALARY) 370000 155000 370000 75000

4 rows selected.

Code Listing 6: Displaying the sum total salaries of employees per department for a particular year
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 190000 1 row selected. PAYROLL_2008 90000 IT_2010 370000

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 Analytically Other than the final ORDER BY clause, analytic 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 statement. It acts as a TABLE (otherwise known as a FROM) clause. You have already seen

oracle magazine July/august 2013

48

SQL 101

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) 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 8: A column ambiguously defined error occurs


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

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 illustrates, 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 function). 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 completes, 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

Code Listing 9: Creating a table with pivoted data


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 10: Using the UNPIVOT operator to turn rows into columns
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 14-SEP-05 06-MAR-09 27-FEB-10 07-JUL-11 SALARY 75000 155000 370000 370000

Striving to Perform Well Although 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 consistently write good SQL thats easy to maintain and that will perform well over time. Its 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 shouldnt 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. Conclusion This article concludes the discussion of analytic functions introduced in Part 10 and continued in Part 11 of this series. It demonstrates how LISTAGG, PIVOT, and UNPIVOT can be used to manipulate the way your data is displayed. Youve seen how to turn columns into rows and rows into columns and how such views differ from each other.

4 rows selected.

July/august 2013 Oracle.com/oraclemagazine

49

Code Listing 11: Using aliases for value pairs of different datatypes
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 12: Using an inline view to enable use of an analytic function as a predicate
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 10 10 20 20 30 30 LAST_NAME||','||FIRST_NAME Eckhardt, Emily Newton, Donald peterson, michael leblanc, mark Jeffrey, Thomas Wong, Theresa Newton, Frances SALARY 100000 80000 90000 65000 300000 70000 75000 D_RANK 1 2 1 2 1 2 1

Youve learned how to take individual data items and return them as delimited lists for more-readable reports. Youre also now aware of the specific caveats that apply when you use these functionalities. Last but not least, youre aware now that queries that use analytic functions canif youre not carefulconsume 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. Youve learned basic relational database concepts 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 features. 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.

7 rows selected.

Code Listing 13: Query with analytic functions that may cause system performance problems
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 100000 Donald Newton 10 24-SEP-06 140000 85000 Betsy James 10 16-MAY-07 60000 74166.6667 Matthew Michaels 10 16-MAY-07 310000 74166.6667 Roger Friedli 10 16-MAY-07 370000 74166.6667 Lori Dovichi 10 07-JUL-11 240000 97000 michael peterson 20 03-NOV-08 525000 76428.5714 mark leblanc 20 06-MAR-09 435000 75000 Thomas Jeffrey 30 27-FEB-10 895000 100000 Theresa Wong 30 27-FEB-10 595000 97000 Frances Newton 14-SEP-05 970000 87500 11 rows selected.

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). Next Steps
READ SQL 101, Parts 111 bit.ly/omagsql101 READ more about relational database design and concepts Oracle Database Concepts 11g Release 2 (11.2) bit.ly/aonqPP Oracle Database SQL Language Reference 11g Release 2 (11.2) bit.ly/yWtbz1 Oracle Database Data Warehousing Guide 11g Release 2 (11.2) bit.ly/R4cZyq DOWNLOAD the sample script for this article bit.ly/12KRYvv

oracle magazine July/august 2013

Database
or Puzzle Pieces?
BUY
Oracle Database Appliance

Appliance
BUILD
Microsoft Database

+ + + +

or

HP Server NetApp Storage Cisco Networking Consultants

Database Appliance: Simple, Reliable, Affordable

oracle.com/databaseappliance or call 1.800.ORACLE.1

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.

Database Application Developer and DBA

Ask Tom by Tom Kyte

51

On Randomness, Syntax, and Mutation

Oracle Database

Our technologist gets deterministic, delimited, and the opposite of trigger-happy.

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? [Editors note: Listing 1 includes the questioners 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 sameand the PRI value is the samethere is no deterministic way to sort this data. Either of the two rows could be first and the other second. The ROW_NUMBER assignment is not guaranteed 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 10013252 10013252 PRI 13 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 nondeterministic. 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, youll 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 Developer I have to create a comma-delimited file with Oracle SQL Developer. Im using this syntax to generate the output:

select spriden_id||','|| spriden_first_name||','|| spriden_last_name from spriden where spriden_pidm = 1012; The company Im sending the file to wants a header record at the top of the file that has all the field names Im selecting. Whats 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. (Theyre 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;

1 14152967 44026 2 14152966 44026

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 magazine July/August 2013

52

ask tom

informationThatJeffSmithis authored by Jeff Smith, the product manager for Oracle SQL Developer. Mutating Tables I have a trigger somewhat like this: create or replace trigger TR_TABLE_X_AU after update on TABLE_X for 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 dont 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 execution 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

Code Listing 1: The first questions sample table, subquery, UPDATE, and result information
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> 2 3 4 5 22 UPDATE TEST SET HIDDEN = 4 WHERE ID IN ( <<the 17 lines of the above SELECT id query>> );

1 row updated. SQL> select id,hidden from test; ID 14152967 14152966 HIDDEN 0 4

July/August 2013 Oracle.com/oraclemagazine

53

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 workif the trigger were permitted to read TABLE_X while firingit 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). Ill explore why that is in a moment. But first Id like to comment on . . . I am using triggers because it is an enhancement. . . I am not a fan of that reasoning. Software exists to be changedthat is why it is called software and not hardware. 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. Ive 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 stateor even worse, in a different state in two different databases that contained exactly the same data to start with! For example, lets 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 placethink 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 doesnt 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 ........

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) 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 1 2 ID 14152966 14152967 HOSTID 44026 44026 PROD_RID PRI 10013252 13 10013252 13

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


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 1 2 ID 14152966 14152967 HOSTID 44026 44026 PROD_RID PRI 10013252 13 10013252 13

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?

oracle magazine July/August 2013

54

ask tom

....... ......

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

Code Listing 4: Invokers rights and no special privileges


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_data Connected. iris_data> exec clonedev.drop_sequences; drop sequence started. drop sequence SEQ success: drop sequence SEQ drop_sequence: Dropping sequence completed. PL/SQL procedure successfully completed.

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 inconsistencies into your application. Oracle Database will not allow you to query a table in the middle of modifying that table. The bugsthe 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 software (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 11 g 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 Procedure My 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 doesnt find any sequences to process. I coded this procedure in a CLONEDEV schema and granted the privileges 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;

July/August 2013 Oracle.com/oraclemagazine

55

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; Ill refer you to bit.ly/13SzdXR, where you can see that roles are never enabled during the execution of a definers 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, youll 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 dont like your approach, because I dont like these ANY privileges. This is, in fact, a good case for an invokers 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 clonedevs password, enabling you to accomplish your goal with very few privileges needed. Committing During an Import During 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 wont have to worry about undo generation.

Tom Kyte is a database


evangelist in Oracles 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.

Next Steps
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 @OracleAskTom READ more Tom bit.ly/omagasktom Expert Oracle Database Architecture: Oracle Database 9i, 10g, and 11g Programming Techniques and Solutions, Second Edition amzn.to/ckGXaR READ more about deterministic queries bit.ly/Z6nxLL trigger troubles bit.ly/12og7Ip bit.ly/19hg5Dp definers and invokers rights bit.ly/13SzdXR bit.ly/10H3Yjv Oracle Data Pump bit.ly/ZTFxKZ DOWNLOAD Oracle Database 11g bit.ly/epBiUG FOLLOW Oracle Database on Twitter @oracledatabase on Facebook facebook.com/oracledatabase

oracle magazine July/August 2013

56

Time Capsule

Flashbacks: Culture. Industry. Oracle. Oracle Magazine.

BY RICH SCHWERIN

Just a Hobby
Im doing a (free) operating system (just a hobby, wont 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.

1995
2006
OpenJDK
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.

1991

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, its the worlds most popular open source database.

Cathedral 1997 The and the Bazaar


In an essay, open source software 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.

1999

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 organizational, legal, and financial support for more than 140 open source software projects such as Apache Hadoop, OpenOffice, and Struts.

2000
Code Rush
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 impossible deadline to release the open source version of Netscapes internet software. Learn more and watch the film at clickmovement .org/coderush.

FACEBOOK POLL RESULTS


What is your favorite open source software? We asked our Facebook fans, and heres what they said: Mozilla Firefox Linux MySQL OpenJDK 6% 2% 38% 54%

2006
Oracle Unbreakable Linux Support
Eight years after releasing the first commercial RDBMS for Linux, Oracle introduces the same enterprise-class support for Linux that it provides for its database, middleware, and applications products. Penguins join Oracle CEO Larry Ellison on stage at Oracle OpenWorld for the announcement.

Apache Software Foundation

YOUR TURN
Without communities of dedicated developers, open source is a nonstarter; code doesnt write itself. So, developers, its 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
JIM SUGAR/CORBIS IMAGES

JULY/AUGUST 2013 ORACLE.COM/ORACLEMAGAZINE

Performance
IBMs Power7+ AIX
Oracles SPARC T5
Performance:

2.6x Better
10,902
Server Cost: Performance:

27,843
Server Cost:

$805,000

$299,000

Industry Standard Java Middleware SPECjEnterprise2010 Performance Benchmark

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.

You might also like