You are on page 1of 64

Construction project management at the next level

Many have been lost


trying to reach the Cloud.
If only theyd
let us lead the way.

If conquering the cloud was easy, anyone could do it.


Our Sherpas are standing by.
Finding the route to your perfect Cloud can be treacherous. Okay, more like impossible.
Lucky for you weve done the impossible beforeover 987,000 times before.
We know the best routes to get your project management software up, running
securely and in the Cloud fast. And no matter how big or specialized your project, weve
been there, done that, and have the parka to show for it.
Once youre in your perfect Cloud, our proven SpringBoard portal helps you
consolidate applications, data, reports and more, making them accessible to your whole
team worldwide. Youll get total control over project status, software licensing
even user training.
Get all that, plus legendary support that wont leave you up a mountain without a piton.
Call and lets talk.

Copyright 2015. LoadSpring is a trademark of LoadSpring Solutions, Inc. All Rights Reserved. loadspring.com Follow us on:

LS CorpAd_Construction_Oracle.indd 1

2/23/15 4:38 PM

MARCH/APRIL 2015

Microservices and SOA Similarities, differences,


and where to go from here / 16 Building Customer
Loyalty Customer science leader speeds processing
and increases business insights with Oracle engineered
systems / 36 Design Responsively Use the Oracle
Alta UI design system to implement a mobile-first
strategy for web applications / 41 Four Resolutions
for Better Code Its always time to write better
PL/SQL / 45 Recover One Recover one table from a
database backup with Oracle Recovery Manager / 51
On SQL, SQL, and More SQL Our technologist says
yes, yes, yes to interesting SQL solutions / 55

EXTREME ENGINEERING

New Oracle X5 engineered systems power the data center core and the cloud

ORACLE EXCELLENCE AWARDS

CIOs OF THE YEAR


Meet the 2014 winners

MA15_Cover_wallart.indd 1

3/4/15 3:52 PM

Publication: Oracle
Live: 7 inch (H) x 9.875 inch (W)
Trim: 8 inch (H) x 10.875 inch (W)
Bleed: 8.25 inch (H) x 11.125 inch (W)
Fonts: Helvetica Neue LT Std Family
CMYK

VOLUME XXIX - ISSUE 2

CONTENTS

2014 ORACLE
EXCELLENCE AWARDS

CIOs OF THE YEAR


Meet the winners and learn
how their companies have
managed disruption to build
better businesses.
Profiles by David A. Kelly

/ 25

JOURNEY TO THE CORE

BUILDING CUSTOMER LOYALTY

See how customer science leader


dunnhumby increases business insights
with Oracle engineered systems.
Philip J. Gill

Oracle X5 engineered system releases deliver new


data center core computing solutions, a roadmap
to the data center of the future, and connection
to the cloud. Tom Haunert

/ 36

/ 20

Cover: I-Hua Chen

Up Front / 5

Community / 12

Technology / 41

FROM THE EDITOR / 5

PARTNER NEWS / 12
BOOK BEAT / 12
COMMUNITY
BULLETIN / 14

ORACLE ADF / 41

Security Season

Its important to be ready for


the next storm.
Tom Haunert

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

RESOURCES / 8
Your guide to the latest
Oracle videos, webcasts,
white papers, and more

BRIEFS / 10
The latest product news

Happenings in Oracle
Technology Network
Roland Smart

ARCHITECT / 16

Microservices and SOA


Similarities, differences,
and where to go from here
Bob Rhubart

PEER-TO-PEER / 17
How to Learn

Three peers on knowledge


gained by sharing, traveling,
and letting go of linear
thinking Blair Campbell

Design Responsively
Use the Oracle Alta UI
design system to implement
a mobile-first strategy for
web applications.
Frank Nimphius

ASK TOM / 55

On SQL, SQL, and


More SQL
Our technologist says yes,
yes, yes to interesting SQL
solutions. Tom Kyte

PL/SQL / 45

Four Resolutions
for Better Code
Its always time to write
better PL/SQL.
Steven Feuerstein

DBA / 51

Recover One
Recover one table from a
database backup with Oracle
Recovery Manager in Oracle
Database 12c. Arup Nanda

Comment / 60
LAST WORD / 60

Data Center of the Future


Here are notes from January
21 and doodles and sketches
that followed.

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_TOC.indd 3

2/20/15 1:24 PM

EDITORIAL
Editor in ChiefTom Haunerttom.haunert@oracle.com
Managing EditorJan Rogersjan.rogers@oracle.com
Associate Editor Patty Waddington
Contributing Editor and Writer Blair Campbell
Technology Advisor Tom Kyte
Contributor Leslie Steere
DESIGN
Senior Creative Director Francisco G Delgadillo
Design Director Richard Merchn
Contributing Designers Jaime Ferrand, Arianna Pucherelli
Production Designers Sheila Brennan, Kathy Cygnarowicz
PUBLISHING
PublisherJennifer Hamiltonjennifer.hamilton@oracle.com+1.650.506.3794
Associate Publisher and Audience Development DirectorKarin Kinnearkarin.kinnear@oracle.com+1.650.506.1985
Audience Development ManagerJennifer Kurtzjennifer.s.kurtz@oracle.com
ADVERTISING SALES
President, Sprocket MediaKyle Walkenhorstkyle@sprocketmedia.com+1.323.340.8585
Western and Central US, LAD, and Canada, Sprocket MediaTom Cometatom.cometa@oracle.com+1.510.339.2403
Eastern US and EMEA/APAC, Sprocket MediaMark Makinneymark.makinney@sprocketmedia.com+1.805.709.4745
Recruitment Advertising, Sprocket MediaJosie Damianjosie.damian@sprocketmedia.com+1.626.396.9400, x200
Advertising Sales Assistant, Sprocket MediaCindy 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

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

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.
Copyright 2015, 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-3A, 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 Quad Graphics

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_TOC.indd 4

2/20/15 1:25 PM

FROM THE EDITOR

Security Season

Its important to be ready for the next storm.

ata breach stories can be expected and


unexpected at the same time. What
happens after a breach or a break-inwhat
consumers and businesses do nextmust
be effective and continue to evolve.

NEXT STEPS
LEARN more about
Oracle Database Security
oracle.com/us/products/database/security
Oracle Identity Management
oracle.com/us/products/middleware/
identity-management
Security in Person
bit.ly/omagidm
security in silicon
swisdev.oracle.com
critical patch updates
bit.ly/ossacpu
data breaches
Securing Information in the New Digital Economy
bit.ly/vzorclbrch

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.

CONNECT:

bit.ly/orclmagcom

bit.ly/orclmagfb

RECALLING THE PREDICTABLE


Banks and retailers have been frequent
targets of hackers and digital thieves, so
much so that in 2015 a report of customer
credit card information being stolen from a
retailer would not be a surprise. Credit card
information has been stolen before and from
several different retailers, but consumer protections and evolving processes for handling
the breach aftermath have helped to manage
the fallout of these types of security storms.
Based on the communications that have
followed past data breaches, I would expect
that in the event of a new data breach, news
stories would compare the incident to recent
breaches, mention recent security events in
other industries, point to the latest breach
and security statistics, and offer advice on
what consumers should do next. As someone
who gets regular newsletters and updates
on technology industry content, I would also
expect to see an increase in security-related
solutions content after a data breach. And
as a technology content editor, after a data
breach I would also expect to get invitations
from industry security experts to interview
those sources for Oracle Magazine.
After a new breach, the company that
experienced the event might also send its
customers direct communication indicating
that their personal information may have
been breached. (Maybe youve gotten one of
these notices after a past data breachIve
gotten a couple over the years.)
twitter.com/oraclemagazine

TALKING ABOUT THE UNPREDICTABLE


Late 2014 and early 2015 saw a shift in
reported data breach events and the communication that followed. Retailers and
credit card numbers seemed to be less the
focusin the news, at leastas hackers and
thieves went after social media accounts,
media companies, a tax preparation service,
and even a healthcare insurance company.
IT break-ins and data breaches were international news, and at least one breach
affected a movie release. The United States
government took newand publiccybersecurity action in February 2015, focusing
in part on improving communication about
cybersecurity threats.
Multiple hacks and data breaches
across different technologies outside of
the banking and retail industries and for
reasons other than stealing credit card
information serve as a warning that no
technology or industry is safe from hack
and data theft attempts. And as businesses
and consumers increasingly focus on social,
mobile, and Internet of Things technologiestechnologies that present new security challengesso too must they focus on
data and identity security. Now and in the
future, communication about security risks
and how to mitigate them and the integration of security in all types and layers of
technology must be a critical all-season
security priority.
Check out the links in Next Steps for
select communication on Oracle database,
identity, and processor-level security; software patches; and a report on data breaches.
Tom Haunert, Editor in Chief
tom.haunert@oracle.com

linkd.in/orclmag
ORACLE MAGAZINE MARCH/APRIL 2015

MA15_EdNote.indd 5

2/23/15 11:10 AM

EVENTS

Technology Events

Conferences and sessions to help you stay


on the cutting edge

ORACLE USER GROUPS


The Chartered Institute for IT, BCS
Berkshire Branch, Committee Meetings
April 7 and May 5, Reading, England

bit.ly/1Ja0kmc

Greenville Java Users Group Meetings

COLLABORATE 15

April 1216, Las Vegas, Nevada


Produced by the Independent Oracle Users Group,
the Oracle Applications Users Group, and Quest, this
annual forum delivers the latest Oracle best practices
and user-driven education. More than 5,500 attendees
participate in a full week of networking events, special
interest group sessions, and an exhibitor showcase.
Nearly 1,250 presentations in 23 tracks offer firsthand experiences, case studies, and practical how-to
content. Register at collaborate.ioug.org.

April 9 and May 14, Greenville, South Carolina

greenjug.java.net

Twin Cities Java User Group Meetings


April 13 and May 11, Eagan, Minnesota

bit.ly/1r3gQyD

Piedmont Triad Oracle Users


Group Meeting

April 15, Greensboro, North Carolina

bit.ly/1sDVHXo

UKOUG Solaris SIG Meetings

April 15 and May 20, London, England

ukoug.org

Calgary Oracle Users Group Meetings

Dates throughout April and May 2015


in cities worldwide
foracle.com/cloudworld
Reimagine your business in one day with tracks
that focus on cloud readiness for marketing,
human resources, sales, customer service, back
office, development, customer experience, the
public sector, and more.

HIMSS15 Annual Conference


and Exhibition
April 1216, Chicago, Illinois
fhimssconference.org
The largest health IT event in the industry,
this yearly conference brings together more
than 38,000 professionals from around
the world and offers keynotes, thought
leader lectures, roundtable discussions,
and e-sessions.

Xploration 15: The Customer


Communications Conference
April 1416, Orlando, Florida
fbit.ly/1uX3kYN
The annual gathering of the Electronic

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

April 16 and May 21, Calgary, Alberta, Canada

Document Systems Association features two


days of education and networking events. The
program also includes a one-day preconference
seminar on online marketing strategies.

coug.ab.ca

Higher Education Data


Warehousing Forum

Austin Java Users Group Meetings

April 1922, Normal, Illinois


fhedw.org
This four-day conference offers seminars and
training on a variety of topics including building
data warehouses, developing institutional
reporting strategies, and providing decision
support for higher education institutions.

Interop
April 27May 1, Las Vegas, Nevada
finterop.com/lasvegas
This independent IT conference features five
days of educational programs, keynotes, networking events, roundtable discussions, and
an expo with more than 300 vendors. Full- and
half-day workshops offer hands-on training.

Indiana Oracle Users Group Multitract


Technology Day
April 28, Indianapolis, Indiana

inoug.org

April 28 and May 26, Austin, Texas

austinjug.org

Java User Group Frankfurt Meeting


April 29, Frankfurt, Germany

jugf.de

OpenWest Conference
May 69, Orem, Utah

openwest.org

Central States Oracle Application Users


Group Oracle Summit
May 12, Overland Park, Kansas

csoaug.com

UKOUG JD Edwards SIG


May 12, London, England

ukoug.org

Great Lakes Oracle Conference


May 1920, Cleveland, Ohio

neooug.org

Document Strategy Forum

NOCOUG Spring Conference

May 1214, Greenwich, Connecticut


fdocumentstrategyforum.com
This high-level conference focuses on
next-generation content strategies, with
educational tracks covering document
creation, storage and retention, information
management, forms management, and
mobile solutions.

nocoug.org

May 21, Santa Clara, California

Geospatial World Forum

May 2529, Lisbon, Portugal

bit.ly/1K7sVZW

Oracle User Group Serbia Conference


May 2729, Zlatibor, Serbia

sroug.rs

GETTY IMAGES

Oracle CloudWorld

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_Events.indd 6

2/18/15 11:10 AM

Of drivers who own family cars,

86%

would rather be driving one of these.

Move into the Fast Lane with MobileTogether


In a little over two days, with one developer, we created a full-featured survey application
and asked Android, iOS, and Windows mobile users about their dream cars.
86% wanted to go faster.

Ditch the Minivan of Mobile Development


Its no longer practical to wait weeks or months for a cutting-edge mobile business solution.
Your team needs to create, test, and deploy to all devices at the speed of business.
With MobileTogether, weve removed the roadblocks.
Drag and drop UI design process
Powerful visual & functional programming paradigm
Native apps for all major mobile platforms
Connectivity to SQL databases, XML, HTML, and more
Deploy full-featured business app solutions in record time
Pricing so affordable you might just have money left to
start saving for that sports car
www.altova.com/MobileTogether

RESOURCES

Whats New at Oracle

The latest videos, webcasts, white papers, and more

VIDEOS

inates backup overhead and recovers databases


to any point in time.

Next-Generation Oracle
SPARC Microprocessor
fbit.ly/1xs38ox
Oracle executives discuss breakthrough technology and features such as Software in Silicon.

2014 IOUG Enterprise Data Security


Survey Report
fbit.ly/1vOwkFD
Discover the current state of enterprise data
security, including the dramatic increase in
perceived threat levels, the greatest risks to
enterprise data, and how many are monitoring for
privileged user abuse.

Computer Knowledge:
An Agency Data Center Blueprint
fbit.ly/1pVE8WG
Representatives from Computer Knowledge
share details about the savings the company has
achieved using Oracle SuperCluster.
Oracle Partnerships:
Safe Water Kenya and mFrontiers
fbit.ly/1vNjb0E
Discover how using Oracle WebLogic Server
helps ensure data integrity and provides a unique
database integration solution for partners Safe
Water Kenya and mFrontiers.

WEBCASTS
The Top Three Use Cases for an In-Memory
Data Grid
fbit.ly/1FPAnWJ
Discover how companies are using strategic inmemory data grids such as Oracle Coherence to
offload shared services and mainframes, deliver
real-time data to customers, and cache commonly used data to maximize performance.
Cloud Platform Online Forum
fbit.ly/126zVo3
Learn how to rapidly build, deploy, and manage
rich applications using an integrated platform
that lets you access development and test environments faster and consolidate and standardize
on a cloud platform for enterprise workloads.

WHITE PAPERS
Extreme Protection That Eliminates Data
Loss for All of Your Oracle Databases
fbit.ly/12wablN
CIO Strategic Marketing Services explores how
Oracles Zero Data Loss Recovery Appliance elimCONNECT:

Integrated IT Solutions Support


Business Priorities
fbit.ly/1tZxuK4
Based on insights gained from Gatepoint
Researchs most recent survey, Strategies for
Maximizing Application Performance, this white
paper reveals motivating factors to adopt integrated systems.
Oracle Server X5-2 System Architecture
fbit.ly/1yWvyc3
Find out why Oracle Server X5-2, Oracles latest
two-socket server, is optimal for running Oracle
Database in a clustered configuration with Oracle
Real Application Clusters and other clustered
database solutions, as well as enterprise applications in virtualized environments.

PODCASTS
Automated Workload Management for
Replicated Databases
fbit.ly/1npa5W7
Oracle experts offer an overview of Oracle
Database 12cs Global Data Services feature,
a new high-availability technology that helps
Oracle Active Data Guard and Oracle GoldenGate
customers improve availability, performance, and
return on investment.
Encrypting, Redacting, and Masking
at Epsilon
fbit.ly/1zlfoHq
Epsilon uses Oracle Advanced Security and
Oracle Data Masking and Subsetting Pack to
address its customers sensitive application data
requirements in production, development, and
test databases.

ORACLE UNIVERSITY
New: Oracle Learning Streams
fbit.ly/1BZ4fgR
Oracle University now offers a subscriptionbased service called Oracle Learning Streams.
Get a full year of unlimited access to hundreds of
instructional videos delivered by Oracle experts,
plus connect live with Oracle instructors.

WEB LOCATOR

RESOURCE CENTERS
Simplify Cloud and Database Management
with Oracle Enterprise Manager for MySQL
fbit.ly/1yhJj11
Learn how you can manage your entire Oracle onpremises or cloud environment, including MySQL,
from a single dashboard.
Oracle Systems:
Assess Your IT Complexity and More
fbit.ly/1voVM5Y
Discover how to simplify your IT using Oracles
industry-leading systems. Oracle systems are
engineered to deliver record-breaking performance, simplified management, high availability,
and cost-saving efficiencies.

oracle.com/blogs

facebook.com/oracle

twitter.com/oracle

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 Support
oracle.com/support
My Oracle Support
myoraclesupport.com
My Oracle Support Communities
communities.oracle.com

linkedin.com/company/oracle

bit.ly/plusOracle

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_Resources.indd 8

2/19/15 4:41 PM

#C15LV

REGISTER

NOW
April 12-16, 2015
Mandalay Bay

RESORT & CASINO

Las Vegas, NV USA

PRESENTED BY:

Select from nearly 1,250 user-focused sessions and panels.


Network with more than 5,500 Oracle users.
Fast-track your career.
Agile
Demantra
E-Business Suite
Essbase

Engineered Systems
Fusion Middleware
Hyperion
JD Edwards EnterpriseOne

JD Edwards World
Oracle Database (e.g., 12c)
Oracle Fusion/Cloud Applications
Oracle Utilities

www.collaborate15.com

PeopleSoft
Primavera
Siebel
WebCenter

10

Press Headlines
Oracle Announces Oracle Marketing
Clouds New Life Sciences
Consumer and Patient Solution
bit.ly/1IiJa8h

Oracle Utilities Analytics Solution


Helps Utilities Manage Storm Data
in Near Real Time
bit.ly/1v5Dymw

Kansas City Power & Light Deploys


Oracle Utilities Solutions for
Greater Insight into Meter Data and
Accelerated Network Restoration
bit.ly/1vwkljy

Oracle Delivers Intuitive and Mobile


User Experience for Oracles
PeopleSoft Financials and Supply
Chain Management Solutions
bit.ly/1C1zOF6

Central Washington University


Uses PeopleSoft Solution to
Launch New Digital Information
Portal for Streamlined Access to
Financial, Human Resources, and
Student Information
bit.ly/1DExwOG

Forever 21 Matches Styles


to Consumer Demand with
Oracle Retail
bit.ly/1zWWCL0

Oracle and Proteus Integrate


Proteus Digital Health Feedback
System with Oracle Health
Sciences InForm
bit.ly/1xBgY56

Oracle Introduces Its Solution for


Project-Driven Supply Chain to
Help Customers Improve Project
Performance and Profitability
bit.ly/1vwiFGR

Oracle Service Cloud Achieves


Federal Risk and Authorization
Management Program Provisional
Authority to Operate
bit.ly/1IiHuLY

Oracle Delivers Increased Session


Capacity with New Acme Packet
4600 Midrange Session Border
Controller Platform
bit.ly/1KMjWuX

New Oracle ZFS Storage ZS4-4 Offers Extreme Performance and


Innovations for Oracle Database 12c
Oracles latest-generation network-attached
storage (NAS) system, the new Oracle ZFS
Storage ZS4-4, enables customers to accelerate application performance and improve
operational efficiencies. Coengineered with
Oracle Database 12c, Oracle ZFS Storage
ZS4-4 is the industrys only storage system
with analytics for pluggable databases. It
doubles previous-generation performance to
enable faster time to actionable intelligence
and smarter, more competitive business
decisions. Oracle ZFS Storage ZS4-4 also
provides high-level protection against security breaches with its fine-grained, simple,
cost-efficient encryption capabilities.
Oracle ZFS Storage ZS4-4 is built on the
industrys only in-memory, dynamic random
access memory (DRAM)based Hybrid
Storage Pool architecture and superior
multithreaded symmetric multiprocessing
OS, which takes advantage of all 120 cores
in parallel and 3 TB DRAM per cluster. With
up to 90 percent of system I/O delivered
from memory, customers can significantly

accelerate application performance.


Oracle ZFS Storage ZS4-4 reinforces the
fact that Oracle ZFS Storage Appliances are
the only NAS option for Oracle Database 12c
customers who want the speed, efficiency,
and manageability that comes with coengineered hardware and software, says Scott
Tracy, vice president of storage software at
Oracle. With analytics for pluggable databases, self-tuning capabilities, and policybased deep compression to maximize infrastructure investments for Oracle Database
12c, customers can further accelerate their
time-critical business decisions.
bit.ly/15xQ4EB

New Version of Oracles Primavera Portfolio Management


Oracles Primavera Portfolio Management 9.1
features expanded workflows and early
alert triggers that deliver new levels of
automation to project portfolio management, enabling organizations to expedite
and improve the precision of strategic
investment decisions, boost resource productivity, and increase transparency. A new
planning and control process enables organizations to clarify key strategic enterprise
investment objectives by presenting them
in measurable ways, propose initiatives
that align with strategies and missions, and
prioritize and select investments that have
strong business cases to justify action.

Oracles Primavera Portfolio Management


9.1 provides organizations with a seamless decision-making process through its
unmatched configurability and flexibility,
enabling organizations in both the private
and public sectors to deliver measurable
results through an easy-to-use solution,
says Mike Sicilia, senior vice president and
general manager of Oracle Primavera. It
helps organizations keep a laser focus on
where they need to invest while remaining
open to alternative opportunities that might
accelerate those initiatives, reduce their cost,
and optimize resource use enterprisewide.
bit.ly/1zEdOUO

Oracle Enterprise Performance Management Enhanced


Oracle Enterprise Performance
Management 11.1.2.4 offers portfoliowide updates and makes the entire Oracle
Hyperion Financial Close Suite available on
Oracle Exalytics In-Memory Machine.
The new release of Oracle Enterprise
Performance Management applications is

a significant step forward in our vision of


helping our customers use best-in-class
capabilities to plan and report with more
certainty and flexibility across a wider base
of users, says Hari Sankar, group vice president of product management at Oracle.
bit.ly/16rjIMb

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_Briefs.indd 10

2/19/15 4:49 PM

BRIEFS

Oracle Sales Clouds New Speech-Enabled Virtual Assistance Gives


Sales Reps a Fast Way to Talk to the Cloud
Oracle Sales Cloud 9 delivers the new Oracle
Fusion Voice Cloud Service for Oracle Sales
Cloud, a speech-enabled virtual assistant
that lets sales representatives speak directly
to Oracle Sales Cloud on their smartphones.
The new functionality provides a fast
way for representatives to view information,
create notes, record activities and contacts,
and easily update opportunities with fresh
information. As usage increases, others in
the organization benefit from current sales

data, improved visibility based on sales


activities, and better sales decisions.
Oracles own sales organization was
involved in developing [Oracle Fusion Voice
Cloud Service for Oracle Sales Cloud.] We
wanted to be sure that the user experience
is seamless, works well on mobile devices,
and is easy for all sales reps to use, says
Kate Fitzgerald, group vice president of
Oracle Sales Automation.
bit.ly/1FyCm10

Oracle Linux Joins MySQL on the Docker Hub Registry


Oracle Linux images are now available
on the Docker Hub Registry, a repository
for Docker-based components, including
applications and operating systems. Oracle
Linux joins the open source relational
database management system MySQL
on the registry.
With Oracle Linux and MySQL images
available on the Docker Hub Registry, users

will be able to quickly create and publish


custom Docker containers that layer applications on top of Oracle Linux and MySQL,
which is a great time-saver for both independent software vendors and IT departments, says Wim Coekaerts, senior vice
president of Linux and virtualization engineering at Oracle.
bit.ly/1mjHSwf

Oracle Unveils Modern, Secure Oracle Financial Services Cloud


Oracle Financial Services Cloud is a modern
cloud offering dedicated to the financial
services industry, including banking,
insurance, investment, and securities
institutions, as well as other regulated
industry enterprises.
Available now for US-based financial services companies, the new solution supports
the specialized requirements these companies have for human capital management,
enterprise resource planning, and customer
experience to help them adopt cloud appli-

cations while adhering to security, privacy,


and compliance needs.
Designed to address the unique
security concerns of the financial services
industry, Oracle Financial Services
Cloud is a dedicated community cloud
with world-class security to empower
financial services companies to adopt
cloud applications, says Thomas Kurian,
president of product development
at Oracle.
cloud.oracle.com/financial-services

I-HUA CHEN

Oracle Communications WebRTC Session Controller Extends


WebRTC Functionality to Mobile Applications
Oracle recently released Oracle
Communications WebRTC Session
Controller 7.1, which brings WebRTC
support to native mobile iOS and Android
applications for a seamless, cross-device
customer experience.
The latest release of Oracle
Communications WebRTC Session
Controller further demonstrates Oracles
dedication to improving the mobile user

experience. We are rapidly innovating


to remove the roadblocks to real-time
communications from anywhere, at any
time, and from any
device, says Bhaskar
Gorti, senior vice
president and general
manager of Oracle
Communications.
bit.ly/1AAM5oX

11

Oracle Buys Datalogix


Oracle recently acquired Datalogix, the
industry-recognized leader at connecting
offline consumer spending to digital marketing to help marketers personalize and
measure every customer interaction to
increase the effectiveness of their digital
marketing and advertising efforts.
The addition of Datalogix technology to
Oracles product portfolio represents an
extension of Oracles strategy to combine
infrastructure as a service, platform as a
service, software as a service, and data as a
service on a common cloud platform. The
combination fundamentally transforms
marketing automation from executing campaigns to being able
to correctly identify
consumers and target
them accurately with
digital campaigns.
It also enables marketers to measure
which campaigns and channels are effective
and optimize how they reach consumers
and spend their campaign resources.
The addition of Datalogix to Oracle
Data Cloud will provide data-driven marketers the most valuable targeting and
measurement solution available, says
Omar Tawakol, group vice president and
general manager, Oracle Data Cloud. Oracle
will now deliver comprehensive consumer
profiles based on connected identities that
will power personalization across digital,
mobile, offline, and TV.
bit.ly/1wBBua4

Oracle Retail 14.1 Released


Oracle Retail 14.1 connects and enhances
consumer experiences with optimized
inventory management, enhanced mobile
capabilities, simplified user interfaces, and
improved automation and forecasting.
Oracle is committed to supporting our
retail customers who need to be operationally fit and efficient to continue to adapt
in a rapidly evolving marketplace, manage
ever-changing customer expectations,
and increase revenue, says Mike Webster,
senior vice president and general manager,
Oracle Retail and Hospitality.
bit.ly/1oVnOmp

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_Briefs.indd 11

2/19/15 4:49 PM

Book Beat
Beginning Oracle Database 12c,
Second Edition
By Ignatius Fernandez
Apress
apress.com
In Beginning Oracle
Database 12c, Second
Edition, veteran Oracle
DBA Iggy Fernandez
introduces key Oracle database administration topics, including planning, installation, cloud and consolidation, monitoring,
troubleshooting, maintenance, and backups,
among others. The book offers necessary
background in relational database theory
and Oracle Database concepts, Oracle
Database implementation, the daily routine
of a DBA, and the art of database performance tuning. Each chapter includes exercises and a list of reference works.

Data Visualization for Oracle


Business Intelligence 11g
By Dan Vlamis and
Tim Vlamis
Oracle Press
oraclepressbooks.com
Data Visualization
for Oracle Business
Intelligence 11g guides
readers to quickly and easily create useful,
expressive, highly visual presentations of
business intelligence data. The book reveals
the best procedures for creating charts,
graphs, tables, maps, and other methodologies for presenting data-driven insights.
This information-rich guide offers clear
instructions and presents multiple realworld examples of impactful and memorable dashboards for specific industries and
corporate segments.

Oracle Solaris 11 Advanced


Administration Cookbook
By Alexandre Borges
Packt Publishing
packtpub.com
Oracle Solaris 11 Advanced
Administration Cookbook
delivers practical recipes
that explain how to
install, configure, update, and manage the
operating system. A working knowledge of
Oracle Solaris administration is assumed.
Readers can master special features of
Oracle Solaris 11 such as ZFS objects, networking framework with reactive network
configuration, and performance monitoring
using sophisticated commands.

Look for other Oracle books at


bit.ly/oraclebookstore.

Adapt IT Achieves Oracle PartnerNetwork Specialized Status for


Oracle Database
Adapt IT, an Oracle Gold Partner, has
achieved Oracle PartnerNetwork Specialized
status for Oracle Database. Specialized
status spotlights the strengths and special
skills of experienced and committed Oracle

partners. Adapt IT delivers a variety of specialized turnkey IT solutions and services


to the manufacturing, education, financial
services, and energy industries.
adaptit.co.za

Three Partners Achieve Oracle PartnerNetwork Validated Integration


for Oracle Taleo Cloud Service
Three partners have achieved Oracle
Validated Integration, demonstrating that
their solutions are designed in a reliable,
standardized way, have been tested as functionally and technically sound, and operate
and perform as documented.
Oracle Gold Partner Accurate Background
has achieved Oracle Validated Integration
with Oracle Taleo Business Edition Cloud
Service. Accurate Background provides
pre-employment and workforce screening
services, including international background screening, drug testing and health
screening, electronic I-9 and E-Verify, and
ATS integration.
Oracle Gold Partner Wonderlic has
achieved Oracle Validated Integration
between its Wonderlic assessments series
and Oracle Taleo Enterprise Cloud Service, a

component of Oracle
Talent Management
Cloud. Wonderlic
provides businesses
and schools with a
library of assessments and surveys
for each phase of the hiring and student
selection process.
Oracle Gold Partner Jobs2Careers has
achieved Oracle Validated Integration
between its Jobs2Careers Performance
Job Postings (pay per click) and Oracle
Taleo Business Edition Cloud Service.
Jobs2Careers is a comprehensive job
search engine.
accuratebackground.com
wonderlic.com
jobs2careers.com

Five Partners Achieve Oracle Gold Partner Status


Five Oracle partners achieved Oracle Gold
Partner status in Oracle PartnerNetwork.
They are eligible to qualify for specializations and to develop and sell across Oracles
entire product portfolio.
Avenue Code, a management consulting
firm specializing in Oracles agile software
development methodologies, is recognized
for its commitment to establish Oraclerelated knowledge in delivering e-commerce
implementations for its clients.
Digi-Me, a recruitment video technology company specializing in cloudbased, job-specific, and employment
branding video solutions, is recognized
for its commitment to establish Oraclerelated knowledge in delivering valueadded Oracle Human Capital Management
Cloud products and services.
KBMax, a leading provider of product
configurator software and services, is rec-

ognized for its commitment to establish


Oracle-related knowledge in delivering
improved engineering and sales processes for manufacturers of configurable
products worldwide.
Scout Exchange, a recruitment marketplace connecting employers with specialized
recruiters, is recognized for its commitment
to establish Oracle-related knowledge about
Oracle Taleo Enterprise Cloud Service.
StoneRiver RegEd, a leading provider
of compliance management solutions to
financial services firms, is recognized for
its commitment to establish Oracle-related
knowledge in delivering compliance solutions to the broker-dealer market.
avenuecode.com
digi-me.com
kbmax.com
goscoutgo.com
reged.com

I-HUA CHEN

12

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_Partner.indd 12

2/18/15 11:16 AM

PARTNER NEWS

Gaea Achieves Validated Integration for Oracle Primavera P6


Enterprise Project Portfolio Management

SAS Institute Achieves Oracle


Exadata Optimized Status

Oracle Platinum Partner Gaea Global


Technologies has achieved Oracle Validated
Integration between
its P360 and
Oracle Primavera
P6 Enterprise
Project Portfolio
Management. Oracle
Validated Integration

SAS Institute, an Oracle Gold Partner,


has achieved Oracle Exadata Optimized
status for SAS/ACCESS Interface to Oracle
Exadata, an out-of-the-box solution that
provides direct connectivity between SAS
and Oracle Exadata Database Machine,
leveraging Oracle Exadata utilities for optimized loads and extracts. SAS Institute
provides advanced analytic solutions that
turn data about
customers, performance, financials, and more
into meaningful
information. The
Oracle Exastack
Optimized
program enables
Oracle partners to
develop, test, and
tune their applications on Oracle
Exadata Database
Machine, Oracle
Exalogic Elastic
Cloud, Oracle Exalytics In-Memory Machine,
Oracle SuperCluster, Oracle Database
Appliance, and Oracle Big Data Appliance
engineered systems.
sas.com

demonstrates that Gaeas P360 is designed


in a reliable, standardized way, has been
tested as functionally and technically sound,
and operates and performs as documented.
Gaeas P360 is a bidirectionally integrated
schedule and cost control solution that
addresses owner and contractor needs for
project lifecycle management.
gaeaglobal.com

Oracle Exastack Ready Program Attracts Partners


Two partners have achieved Oracle
Exastack Ready status for their solutions,
indicating that they support their applications with Oracle Exadata Database
Machine, Oracle Exalogic Elastic Cloud,
Oracle Exalytics In-Memory Machine,
Oracle SuperCluster, Oracle Database
Appliance, Oracle Big Data Appliance,
Oracles Virtual Compute Appliance, or
the latest major releases of their component products.
Nimble Storage, an Oracle Gold Partner
that provides flash storage solutions, has
achieved Oracle Linux Ready and Oracle
VM Ready status for its Adaptive Flash
CS-Series arrays. The Adaptive Flash
platform can help deliver a high level of

performance and capacity for both online


analytical processing and online transaction processing workloads.
Nuage Networks, an Oracle Gold Partner
that provides software-defined networking
solutions, has achieved Oracle Exadata
Ready, Oracle Exalytics Ready, Oracle
Database Appliance Ready, Oracle Big Data
Appliance Ready, Oracle Linux Ready, and
Oracle VM Ready statuses for its Nuage
Networks Virtualized Services Platform
version 3.0. The Nuage Networks Virtualized
Services Platform makes the network
as readily consumable as the computer
resources in a cloud environment.
nimblestorage.com
nuagenetworks.net

Two Partners Announce New Oracle Accelerate for Midsize


Companies Solutions

I-HUA CHEN

13

Two partners have announced new solutions for Oracle Accelerate for Midsize
Companies. Oracle Accelerate for Midsize
Companies solutions deliver simple-todeploy, packaged, enterprise-class software
to midsize organizations.
NTT Data, an Oracle Platinum Partner
and IT services provider, has announced
that its Medical Devices Manufacturing
and Pharmaceutical and Biotech
Manufacturing solutions are now Oracle
Accelerate for Midsize Companies
solutions. The
Medical Devices
Manufacturing and
Pharmaceutical
and Biotech
Manufacturing
solutions minimize

implementation complexity and cost while


addressing the unique manufacturing
business requirements for planning,
product design, manufacturing, quality
and product tracking, trade management,
and financials.
CRMIT Solutions, an Oracle Platinum
Partner that provides software-as-a-servicebased customer experience consulting and
services, announced the availability of its
Knowledge Based Service Enablement, an
Oracle Accelerate for Midsize Companies
solution based on Oracle Sales Cloud for
the travel and transportation industry.
Knowledge Based Service Enablement
enables companies to quickly find information for potential customers.
nttdata.com/americas
crmit.com

Two Partners Achieve Oracle


Platinum Partner Status
Oracle partners can attain Oracle Platinum
Partner status when they have achieved a
minimum of five Oracle product specializations, Oracle Exastack Ready applications,
or Oracle Validated Integrations.
Redstone Content Solutions, an IT
systems integrator and value-added reseller,
is recognized for delivering content, web
experience management, portal, and customized training solutions.
SOAIS, an Ardent ERP Solutions
company, is recognized for delivering implementation, upgrades, application management, testing and advisory services, and
more for Oracles PeopleSoft applications
and Oracle Fusion Applications.
redstonecontentsolutions.com
soais.com

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_Partner.indd 13

2/18/15 11:16 AM

14

Community Bulletin

BY ROLAND
SMART
News, People,
Happenings
in and
Oracle
Happenings
Technology
in the
Network
Oracle Technology
Network

JOIN THE ORACLE CUSTOMER ADVISORY PANEL


As a member of the Oracle Customer Advisory
Panel program, youll get to share your feedback and technical expertise with Oracle
executives and product development leaders
regarding a number of important technologies
and industry standards. Youll receive online
survey invitations (no more than once a month)

tailored to your interestsand you can decide


how often to participate.
In exchange for your feedback, youll receive
invitation-only access to Oracle Customer
Connect, the go-to place for networking with
and learning from other Oracle customers. To
request membership, visit ora.cl/vyv.

Building an E-Commerce
Architecture in the Cloud
eCommerce in the Cloud: Bringing
Elasticity to eCommerce (OReilly
Media, 2014), written by Oracle Cloud
Application Foundation Technologist
Kelly Goetsch, equips solution architects with practical advice on building
enterprise-level e-commerce platforms
in the cloud. Topics include how to
decide between public, hybrid, and
private cloud deployment models; how
to manage active and passive database
tiers across multiple data centers; and
how to ensure cloud security using
a well-defined information security
management system. Read a free PDF
excerpt at bit.ly/ecommerce-cloud.

Oracle Software in Silicon Cloud provides developers a ready-to-run virtual


machine environment to install, test, and iterate upon their code via a secure
cloud platform. It includes the latest release of Oracle Solaris Studio, complete with diagnostic tools that enable developers to quickly improve code
reliability. Oracle Software in Silicon Cloud and its accompanying developer
tools are available at bit.ly/oracle-swisdev.

ORACLE ON GITHUB
GitHub.com/Oracle provides downloads, documentation, original
scripts, and other resources relevant to Oracle developers. Here youll
find the A-Team Mobile Persistence Accelerator, a lightweight persistence
and synchronization framework operating on top of Oracle Mobile Application
Framework; Oracle Cloud code samples; and practical demos of Oracle
Databases JSON capabilities, among other resources.

Calling All (New and


Veteran) Authors and
Technical Reviewers
Oracle Publishers
Program is a key
platform for the
growing community of Oracle
Technology
Network (OTN) authors, who since 2011
have published more than 3,000 books
and technical articles. The program collaborates with independent publishers
to support the distribution of expert
resources and materials on Oracle products and technologies.
Oracle Publishers Program is always
looking for new and promising authors
and technical reviewerswhether you
focus on Java, Oracle Database, serviceoriented architecture, or another area
of expertise. To learn more and get
involved, e-mail pubprog_ww@oracle
.com or visit bit.ly/opub15.

I-HUA CHEN

Oracle Software in Silicon Cloud

Roland Smart is vice president of social and community marketing at Oracle.


MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_Community.indd 14

2/18/15 11:25 AM

9 of the 10
Top Banks Run

Exadata
Fast
Reliable
Secure

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

Copyright 2015, Oracle and/or its affiliates. All rights reserved.


Oracle and Java are registered trademarks of Oracle and/or its affiliates.

VENDOR NOTE: Please use center marks to align page.

Resize

8 x 10.875

Job #:
Ref #:
Headline:
Live:
Trim:
Bleed:

315M_MTL00231_9of10BnksEXD_BNP
M_315M_MTL00223_9of10BnksEXD_BNP
9 of the 10 Top Banks Run Exadata
7 x 9.875
8 x 10.875
8.25 x 11.125

Fonts: Univers LT Std. 75 Black, 65 Bold, 55 Roman, 45 Light,


67 Bold Condensed, 57 Condensed

PRODUCTION NOTES

READER

01

LASER%

RELEASED

2/20
2015

Please examine these publication materials carefully.


Any questions regarding the materials, please
contact Darci Terlizzi (650) 506-9775

16

ARCHITECT BY BOB RHUBART

Microservices and SOA

Similarities, differences, and where we go from here

n IT circles mobile, big data, and the


Internet of Things (IoT) continue to draw
lots of attention. But each of those trends
had a beginninga point at which what was
a flat line on a trend graph began an upward
climb. The topic of microservices began
its ascension late in 2013, and although it
remains a mere undercurrent in the overall
IT conversation, that current appears to be
gaining momentum.
Wikipedia, for one, defines microservices
as a software architecture design pattern in
which complex applications are composed
of small, independent processes communicating with each other using languageagnostic APIs.
Sound vaguely familiar? It should. Heres
Wikipedias definition of service-oriented
architecture (SOA): A design pattern based
on distinct pieces of software providing
application functionality as services to other
applications via a protocol.
Much of the general conversation about
microservices has focused on how the
concept of microservices relates to SOA.
To get a sense of how that conversation is
shaping up within the Oracle Technology
Network (OTN) community, I asked several
OTN members about that relationship,
and about which aspects of microservices
will have the greatest appeal to those now
working with SOA.
Microservices and SOA solve different
problems, says Eberhard Wolff, a freelance consultant and trainer and head of
the technology advisory board for adesso
AG. SOA is a strategic initiative to change
the IT of the whole enterprise, separating it
into different services, thereby allowing the
enterprise to be more flexible. SOA, Wolff
explains, spans different applications and
systems in the enterprise, and involves many
different organizational units. In contrast,
microservices are a way to structure an application, involving only the team responsible
for the application. Microservices must be
CONNECT:

Microservices are
the kind of SOA
we have been
talking about for
the last decade.
Torsten Winterberg, Oracle ACE Director
independently deployable, whereas SOA
services are often implemented in deployment monoliths, says Wolff. So while the
technologies are to some extent similar, SOA
and microservices are really different beasts.
Oracle ACE Director Torsten Winterberg,
head of business development and
innovation at Opitz Consulting, offers a
been-there-done-that interpretation of
the microservices and SOA relationship.
Microservices are the kind of SOA we have
been talking about for the last decade, he
says. Concepts such as service categories
and private services, Winterberg adds, are
part of what he calls classic SOA.
But microservices want to bring
you into tomorrow, says Winterberg.
Microservices add a bit to the category
concept, defining a service over all application layers, including the UI. So people
already doing SOA may gain a kind of new
freedom by adopting microservice ideas.
That freedom includes technology independence and an alternative to aging technologies, because individual services within an
application can be gradually swapped out
for those based on more-modern technologies, without having to replace the entire
application. Classic SOA is more platform
driven, so microservices offer more choices
in all dimensions, says Winterberg.
The picture that emerges is not of
microservices as an alternative to SOA, but
rather as a way to restore flexibility that may
have been lost in SOAs that became too
rigid and monolithic.
blogs.oracle.com/archbeat

facebook.com/brhubart

Winterbergs colleague Sven Bernhardt,


a solution architect at Optiz and an Oracle
ACE, sees potential for microservices as a
way to shift from a top-down to a bottomup approach to SOA. As an example,
Bernhardt points to scenarios where
monolithic legacy applications must be
replaced or reimplemented by a more
modern solution. In such cases, he says,
a microservices architecture can provide a
foundation for a holistic SOA approach.
In the end, it all comes down to business
value. Oracle ACE Director Lonneke Dikmans,
a managing partner at eProseed, observes
that many people build utility services that
create architectural bottlenecks in a SOA.
Think, for example, about a logging service,
a print service, or a case service, she says.
In my opinion, the platform should take care
of utilities. If the platform lacks a feature,
you should create a library, not a runtime
service. We as developers and architects
should be busy building business services
that offer specific value to the organization.
Microservices, she believes, offer the means
to deliver that value.
Will microservices play a role in your
efforts to build such business services? Join
the conversation at bit.ly/1C7RMXC.

Bob Rhubart
(bob.rhubart@oracle.com)
is manager of the
architect community
on Oracle Technology
Network, the host of the
Oracle Technology Network ArchBeat podcast
series, and the author of the ArchBeat blog.

NEXT STEPS
READ more about microservices
bit.ly/1C7RMXC
LISTEN to the Microservices
Roundtable podcast
bit.ly/1z7AZXu

twitter.com/brhubart

linkedin.com/in/bobrhubart

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_Architect.indd 16

2/18/15 11:35 AM

PEER-TO-PEER BY BLAIR CAMPBELL

17

How to Learn

Three peers on the knowledge gained by sharing, traveling, and letting go of linear thinking

BIJU THOMAS

SARAH CRAYNON ZUMBRUM PHOTO BY TOM PIETRASIK/GETTY IMAGES

Company: OneNeck IT Solutions, a provider of


customized solutions for Oracle hosting and
applications management
Job title/description: Principal solutions
architect, responsible for escalated issue resolution, performance tuning, and architecture
configuration
Location: Dallas, Texas
Oracle credentials: Oracle Certified
Professional DBA (Oracle Database 10g through
Oracle Database 12c) and Oracle Database SQL
Certified Expert, with 23 years of experience
using Oracle products
Whats your favorite tool on the job? Oracle
Enterprise Manager Cloud Control is one tool
I always go to when I have to do anything with
the databaseespecially to review performance and historical information. Although
most of the tasks performed can be done
using scripts and other tools, the convenience
of having everything in one place is priceless.
What advice do you have about getting
into database administration? If youre
just getting started or upgrading to a newer
release of Oracle Database, the best resource
is reading the Oracle documentation,
which is free and available online. I would
definitely recommend reading both Oracle
Database Concepts and the Oracle Database
Administrators Guide cover to cover.
How are you using social media in your
work? Im a big fan and user of social media.
I believe the more you share, the more
you learn. I publish daily Oracle tidbits on
Facebook and Twittertoday I tweeted
about the new Transparent Sensitive Data
Protection feature in Oracle Database 12c.

SARAH CRAYNON ZUMBRUM

Company: interRel Consulting, an Oracle


Platinum Partner focused exclusively on Oracle
Business Analytics
Job title/description: Lead consultant, responsible for the technical direction and development
of enterprise performance management applications and projects
Location: Raleigh, North Carolina
Oracle credentials: Oracle Essbase 11 Certified
Implementation Specialist, with 10 years of
experience using Oracle products

Whats your favorite technique on the job?


I love the automation development portion
of a project. I truly love figuring out how
to integrate different, disparate systems
and processes together as if theyre seamless. Oftentimes it means learning a new
programming language in the process, but
thats the fun of itits always a challenge!
Which new features in Oracle applications
are you currently finding most valuable?
Ive started tinkering with running custom
calculation scripts in Oracle Essbase ASO
[aggregate storage option] applications. Im
also really excited about Oracle Hyperion
Planning with an ASO back end.
What technology has most changed your
life? OLAP [online analytical processing]
technology, because it truly makes you think
differently. When working with clients, Ill
often have to think about how to get to or
calculate data and how to best represent the
data intersections in a way thats meaningful
to the user. Instead of thinking more linearly,
I now think about all possible combinations,
exceptions, and uses of a tool.

ANAR GODJAEV

Company: YapiKredi Bank Azerbaijan, one of the


first nationwide private banks in Turkey
Job title/description: Head of the DBA team,
managing Oracle databases, UNIX/Linux servers,
and Oracle Database Vault
Location: Baku, Azerbaijan
Oracle credentials: Oracle Certified
Professional DBA (Oracle Database 10g, Oracle
Database 11g), Oracle Database SQL Certified
Expert, Oracle Database 10g Managing Oracle on
Linux Certified Expert, Oracle PL/SQL Developer
Certified Associate, Oracle Real Application
Clusters 11g Certified Implementation Specialist,
and Oracle Database 11g Security Certified
Implementation Specialist, with 8 years of experience using Oracle products
Youve taken Oracle University [OU] classes
in the past. What led you to do this? Ive
mostly taken OU classes when there have
been changes in my job duties, when there
have been major new releases, and when Ive
wanted to get certified or upgrade my certifications. I really believe in certification, as it
has truly helped me in my career. At this point
Ive received training in several different
countriesthe United States, India, the
United Arab Emirates, Russia, and Turkey.
What would you like to see Oracle, as
a company, do differently? Oracle is a
company that always changes the standards
and achieves the best. It would therefore be
great to see Oracle smartphones.
What green practices do you use in your
DBA work? In my opinion IT consolidation
and monitoring real-time database performance, for ease and less consumption of
resources, should be considered green practicesand I use both.

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


ORACLE MAGAZINE MARCH/APRIL 2015

MA15_Peer.indd 17

2/18/15 11:41 AM

ADVERTISING SUPPLEMENT

Intel Powers Oracle Engineered Systems


With more than 20 years of engineering collaboration, Oracle and Intel
have pushed the boundaries of speed, performance, and efficiency.

he relationship between
Oracle and Intel exemplifies
what two market leaders with
long histories of changing
the enterprise compute landscape
can accomplish when they work
together. The 20-year-plus collaborative engineering relationship between the companies has resulted
in a fine-tuned solution stack and
extreme-performance engineered
systems powered by IntelXeon

processors that can get jobs done


faster, better, and more economically
than ever before.
Intel Xeon Processor E7 Family
Intel has been working to make the
latest IntelXeonprocessor E7
family based platform the platform
of choice for the latest in-memory
computing solutions. Intel and
Oracle teams worked together to
create a true breakthrough in coengineeringan elastic enterprise
workload SKU: the IntelXeon
processor E7-8895 v2.
This customized SKU combines
specialized Oracle software with

OMAGMA15_Intel.indd 22

Oracle Database 11g, enhancements


include threading support for overall
better performance, improved hash
calculation for fewer conflicts, less
time running unnecessary code executions, and faster data encryption
and decryption with IntelAdvanced
Encryption Standard New Instructions
(IntelAES-NI).
The massive influx of data and
the need to respond immediately to
changing business conditions require
IT to take a new approach to their
data infrastructure, says Diane Bryant, senior vice president and general
manager of Intels Data Center Group.
This customized version of the Intel
Xeonprocessor E7 v2, developed
in collaboration with Oracle, helps
maximize the power of the Exadata
Database Machine X4-8 by elastically accelerating peak performance
of database operations, while also
reducing the data footprint.
Oracle Exalytics In-Memory
Machine: Oracle and Intels joint engineering collaboration has resulted
in groundbreaking capabilities in realtime data analytics. Oracle Exalytics
starts with state-of-the-art Oracle
Database Machine X4-8 and Exalytics
software building blocks, deeply
In-Memory Machine X4-4.
optimized for the IntelXeonproExadata Database Machine
cessor E7 v2 family by performance
X4-8: This engineered system proengineers from Oracle and Intel to
vides significant performance and
help take full advantage of all the
memory increases compared to
resources available in the system.
the previous generation of Oracle
Integration, prevalidation, and further
Exadata machines. The hardware
optimization at the engineeredenhancements include 50 percent
system level deliver performance,
more database compute cores,
scalability, and reliability.
using Intel Xeon E7-8895 v2,
The scale-up computing capabiliwhich elastically scales frequency
ties of the IntelXeonprocessor E7
and number of active cores to help
v2 family are an excellent fit for the
deliver peak workload performance.
demands of real-time data analytics.
In addition, Intel engineers helped
optimize the Oracle Database for Intel Compared to its predecessor, the
platform has 1.5x as many cores, for
Xeonprocessors. Compared to
capabilities of the three highest
performing processors in the Intel
Xeonprocessor E7 v2 family into a
single, adaptable processor. It allows
for repurposing the server by varying
core counts and frequencies to meet
the needs of different workloads. It
also simplifies system configuration
process and purchasing while allowing dynamic repurposing of assets.
The IntelXeonE7-8895 v2 processor is featured in Oracles Exadata

2/26/15 11:43 AM

[PARTNER STORY
a total of 60 (120 threads) in a
four-socket Oracle Exalytics system. Together with 1.25x as much
cache (up to 37.5 megabytes per
socket), these increased execution resources allow for fast processing of large-scale calculations,
an essential requirement for data
analytics, as well as the ability to
generate advanced visualizations
to make insights more actionable.
In addition to hardware co-engineering, Oracle and Intel collaborated to jointly optimize the Oracle
Exalytics software stack. Using
tools such as the IntelCompiler
and the IntelAdvanced Vector
Extensions (IntelAVX) instruction
set, the team optimized memoryutilization efficiency. Tuning with the
aid of IntelVTune Amplifier, the
team ensured that Oracle Exalytics
maximized the number of concurrent users and throughput.
IntelXeonProcessor E5 Family
The new Intel Xeon processor E5-2600 v3 family helps IT
address the growing demands
placed on infrastructure. This
new generation of processors enables powerful, agile
data centers by supporting a
Software-Defined Infrastructure
(SDI) to address the imminent
need of greater flexibility with
higher levels of automation and
orchestration. In addition, the
Intel Xeon Processor E5-2600
v3 product family delivers significant benefits in performance,
power efficiency, virtualization,
and security. Oracles new X5 engineered systems, the Exadata
Database Machine X5-2 and
Oracle Big Data Appliance, take

advantage of the latest Intel


Xeon E5 product family.
Exadata Database Machine
X5-2: Oracles new Exadata
Database Machine X5-2 includes
the top-of-the-line 18-core Intel
XeonE5 v3 for the database
server. Oracle Exadatas modern
architecture features scale-out
industry standard database servers, which are expandable to up
to 768 gigabytes of memory, and
scale-out intelligent storage servers, which feature 16 Xeon cores
per server. The Exadata Database
Machine X5-2 high capacity storage server takes advantage of
IntelSolid-State Drive Data Center
P3605. The new all-flash storage
server uses the latest Non-Volatile
Memory Express (NVMe) flash storage protocol to achieve extremely
low I/O overhead. Optimized for
low overheard, NVMe is engineered
from the ground up for SSDs and
developed by an industry consortium of 80-plus members.
Oracle Big Data Appliance: For
companies that need one solution
for the acquisition and storage
of big data, the Oracle Big Data
Appliance is the answer. It comes
in a starter rack of six compute/
storage nodes to a full-rack configuration with 18 compute/storage nodes. Every node in the rack
has two of the latest 18-core 2.3
gigahertz IntelXeonE5-2699
v3 processors, 128 gigabytes of
memory expandable to 768 gigabytes per node, and 48 terabytes
of storage.
The Oracle Big Data Appliance
includes Clouderas* comprehensive software suite including
Cloudera distribution of Apache

Hadoop* and Apache Spark*


for running massively parallel
algorithms, and the Oracle NoSQL
Database for fast low-latency access to massive amounts of data.
Clouderas distribution including
Apache Hadoop (CDH), accelerated
by Intel, enables customers to
scale their data management platform with security and accelerate
big data insights for competitive
business advantage.

Intel and Oracles joint strategy


to deliver winning solutions
has resulted in the delivery of
the industrys most powerful,
innovative engineered systems.
The entire appliance comes
preconfigured, pre-optimized,
and ready to go, so you can get
up and running with your big
data projects quickly. With the
Oracle Big Data Appliance, you
can acquire massive amounts
of information and then run your
algorithms to distill that down to
really valuable nuggets of information for further analysis.
A Powerful Relationship
Intel and Oracles joint strategy
to deliver winning solutions has
resulted in the delivery of the industrys most powerful, innovative
engineered systems. The two companies continue to work together
to bring extreme performance, scalability, reliability, and cost efficiency
to todays businesses. n

For more information, visit www.intel.com/xeon


Intels compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These
optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any
optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors.
Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides
for more information regarding the specific instruction sets covered by this notice.
Intel, the Intel logo, Xeon and VTune are trademarks of Intel Corporation in the U.S. and/or other countries.
*Other names and brands may be claimed as the property of others.

OMAGMA15_Intel.indd 23

2/26/15 11:44 AM

20

JOURNEY TO T
Oracle X5 engineered system releases deliver new data center core computing solutions,
BY TOM HAUNERT

n a presentation that documented Oracles history


and leadership in engineered systems development
and started a new chapter in Oracles engineered
systems story, Oracle Executive Chairman and CTO
Larry Ellison unveiled the next generation of Oracle

engineered systems at Oracle headquarters in


Redwood Shores, California, on January 21, 2015.
Ellison pointed to the success of Oracle Exadata and
other Oracle engineered systems designed for extreme
compute performance on extreme workloads. But he

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_X5.indd 20

2/23/15 11:01 AM

ar

From left: Oracle Exadata Database Machine, Oracle Exalogic Elastic Cloud, Oracle Database Appliance,
Oracles Virtual Compute Appliance, Oracle FS1 Series flash storage system, Oracle SuperCluster T5-8, Oracle
SuperCluster M6-32 (with Exadata Storage Expansion Rack), Oracle Big Data Appliance, and Oracles Zero Data
Loss Recovery Appliance.

21

O THE CORE

ons,

a roadmap to the data center of the future, and connection to the cloud.

also described the data center trend that focuses on


investing in two-socket commodity servers with low
purchase prices.
Ellison then explained a new focus for Oracle
engineered systemsthe data center core that has

embraced this two-socket trendand he introduced a


lower-cost and better-performing solution than commodity servers. He offered competitive information
on the better price/performance benefits that can be
delivered by a combination of Oracle engineered

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_X5.indd 21

2/23/15 11:01 AM

Oracle Executive Chairman


and CTO Larry Ellison unveils
the next generation of Oracle
engineered systems.

We cant find anything thats within


a factor of 10 as fast. We are much
faster than anything else out there.
Much faster.

Senior Vice
President of
Oracle Systems
Technologies
Juan Loaiza
discusses Oracle
Exadata hardware
and software.

Larry Ellison, Executive Chairman and CTO, Oracle

Audience at Announcing the


Next Generation of Oracle
Engineered Systems event
on January 21, 2015

Oracle Vice
President of
Big Data and
Advanced Analytics
Neil Mendelson
describes the
benefits of Oracle
Big Data Appliance.

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_X5.indd 22

2/23/15 11:03 AM

23

More Events and More on Oracle X5 Engineered Systems


Several presentations followed the January
21, 2015, presentation by Oracle Executive
Chairman and CTO Larry Ellison:
Senior Vice President of Oracle Systems
Technologies Juan Loaiza presented a deep dive
into the technology and technology updates in
Oracle Exadata hardware and software as well
as updates to Oracle Exadata X4-8 and Oracle
SuperCluster systems. Loaiza provided metrics
for Oracle Exadata X5 performance; shared
details on Oracles new database in-memory
machine, extreme flash OLTP machine, and data
warehousing machine configurations; described
technology and industry firsts in Oracle Exadata
X5; and talked about the biggest competitor to

Oracle Exadata. Loaiza connected the technology facts, figures, and firsts with two Oracle
Exadata X5 themes: spend less by doing more,
and spend less by paying less.
Oracle Vice President of Global Business
Development and Product Marketing Harish
Venkat hosted a panel discussion featuring
Wim Coekaerts, senior vice president, Linux
and virtualization; Ashish Ray, vice president
of product management, Oracle Exadata and
Zero Data Loss Recovery Appliance; Bob Thome,
senior director of product management, Oracle
Database Appliance; and Mike Workman, senior
vice president, flash storage systems, that
covered the technologies, business benefits,

systems over commodity hardware with Oracles Virtual Compute


Appliance X5 and the Oracle FS1 Series flash storage system.
Together, the systems deliver a complete, converged infrastructure system, and Ellison provided metrics that showed the system
combination enables organizations to reduce complexity by up to
70 percent, deploy applications seven times faster, and cut capital
expenditures by as much as 50 percent.
Ellison summed up the price/performance benefit of Oracles
Virtual Compute Appliance X5 and the Oracle FS1 Series flash
storage system: You pay half as much, but have to be willing to go
twice as fast.

ORACLE/RON SELLERS; MATT LEVER

MORE COMPUTING AT A LOWER COST


Better performance at a lower cost was an ongoing theme as Ellison
stepped through each of the engineered systems that was updated
to an X5 release, including the aforementioned Virtual Compute
Appliance, as well as Oracle Big Data Appliance, Oracles Zero Data
Loss Recovery Appliance, Oracle Database Appliance, and the original engineered systemOracle Exadata Database Machine.
The sixth-generation Oracle Exadata X5 is the highestperformance and lowest-cost platform for running Oracle Database.
This latest release also includes three new machine configurations
as well as elastic configuration options.
Elastic configurations mean that the new Oracle Exadata systems
can be configured and expanded one server at a time, and existing
Oracle Exadata systems can be expanded with new X5-2 servers and
run new Oracle Exadata software.
Ellison suggested that there was almost nothing to compare to
the performance of Oracle Exadata Database Machine X5. We cant
find anything thats within a factor of 10 as fast. We are much faster
than anything else out there. Much faster, he said.
MORE X5 SYSTEMS
Ellison also described X5 updates to several other Oracle engineered systems:
Oracle Database Appliance X5 increases compute cores storage
to improve consolidation density by up to four times over the
previous generation, and it saves businesses time and money by

and use cases of Oracles Virtual Compute


Appliance X5, Oracles Zero Data Loss Recovery
Appliance X5, Oracle Database Appliance X5,
and the Oracle FS1 Series flash storage system.
Oracle Vice President of Big Data and
Advanced Analytics Neil Mendelson presented
information on the state of big data and how
businesses are evaluating and choosing big data
solutions. Mendelson described the Oracle Big
Data Appliance X5 CPU and memory improvements over the previous release and how businesses are choosing the lower cost of Oracle Big
Data Appliance over custom-built clusters.
Follow the links in Next Steps to see ondemand video for each launch event.

simplifying deployment, maintenance, and support of database and


application workloads.
Oracle Big Data Appliance X5 includes twice the RAM and 2.25
times the processor cores of the previous system release. Oracle
Big Data SQL extends Oracle SQL to Apache Hadoop and NoSQL,
and the engineered system hardware and software combine to
deliver Hadoop and NoSQL at a 35 percent lower three-year total
cost of ownership and with 30 percent faster deployment time than
a custom-built cluster.
Oracles Zero Data Loss Recovery Appliance X5 updates the
revolutionary backup and recovery solution announced at Oracle
OpenWorld 2014 in San Francisco. The Zero Data Loss Recovery
Appliance X5 eliminates data loss exposure for all Oracle databases without affecting production environments, and it features
newer processors and more flash to enable faster recovery and
higher throughput.
MORE FOR THE DATA CENTER AND THE CLOUD
Ellison concluded his presentation with information on the relationship of the data center and the cloud, and pointed to how data
centers and the cloud interconnect today and how there must be
compatibility between the data center and the cloud in the future.
The things that we sell you to run in your data center gracefully
connect to things that we run in our cloud. So you can move applications and data back and forth and back again on an as-needed
basis, Ellison concluded. And that really is the data center of
the future.

NEXT STEPS
WATCH videos of the X5 launch
Larry Ellison Announces Oracle Oracle X5 Engineered Systems
bit.ly/1yhFOHB
Announcing X5 Generation Database Machines
bit.ly/1ChCe2r
Panel: Oracle X5 Engineered Systems in the Real World
bit.ly/1E9T5GB
The New Economics of Enterprise Big Data
bit.ly/1AmSbb7

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_X5.indd 23

2/23/15 11:03 AM

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

25

2014 ORACLE EXCELLENCE AWARDS

CIOs OF THE YEAR

Meet the winners and learn how their companies


have managed disruption to build better businesses.
The Oracle Excellence Awards program recognizes customers
and partners that have excelled in driving business value together
with Oracle. The Oracle Excellence Awards program featured
nine categories in 2014, including the celebrated CIO of the Year
award, which recognizes outstanding performance in the role of
chief information officer.
The CIO of the Year award is given to leaders who
exemplify leadership, vision, and dedication in working with
and managing Oracle products and services. Winners have also
built a professional relationship with Oracle that fosters the
two-way exchange of ideas, which has provided insightful and
honest feedback to Oracle about Oracle technologies, services,
and procedures.
Congratulations to the winners of the 2014 CIO of the Year
awards. We are honored to feature them in our pages.
The Editors of Oracle Magazine

NEXT STEPS
LEARN more about the Oracle
Excellence Awards
oracle.com/us/corporate/awards

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_CIO_opener.indd 25

2/18/15 1:37 PM

CIO OF THE YEAR | ASIA PACIFIC


2014 ORACLE EXCELLENCE AWARDS

WINNING NOW
AND WINNING NEW

Koreas SK Telecom is leading in market share and technology innovation.


BY DAVID A. KELLY

inning in the mobile


communications field
takes a rock-solid, highly
scalable communications
infrastructure and
leading-edge services and capabilities.
And oh, by the way, you also need to have
outstanding customer service.
Those requirements are a tall order for
just about any company. Thats why the
success of Koreas SK Telecom is all the more
impressive. Established in 1984, SK Telecom
is the largest mobile operator in Korea.
It implemented the worlds first fourthgeneration (4G) network and has been at the
forefront of the continued rapid expansion
of mobile data technology. The company has
more than 27 million subscribers, US$16.6
billion in revenues, and 50 percent market
share as of 2013.
An important part of SK Telecoms success
has been its commitment to enabling continuous innovation within its business and
IT systems and delivering innovative and
differentiated experiences to its customers.
The organization is also constantly investing
in future-oriented converged and integrated

technologies in areas ranging from enterprise


solutions and healthcare to media.
Underneath it all, Oracle technologies and
solutions are an increasingly important part
of SK Telecoms foundation for providing
both highly reliable and innovative services.
We have adopted Oracle solutions for
almost all our mission-critical systems,
including our customer care and billing
systemsnamed U.keyour online and
mobile self-service applications, and more,
says Nam-Seuk Han, senior vice president
and CIO at SK Telecom and winner of the
Oracle Excellence Award for CIO of the
YearAsia Pacific.
Nam-Seuk Han has helped SK Telecom
achieve high subscriber service and customer satisfaction numbers based on excellent management of the companys Oracle
Databasebased business support and
operational support systems. He has also
been leading the design and deployment of
its next-generation IT architecture.
When it comes to delivering marketleading telecommunications services,
reliability and stability are critical. Thats
why SK Telecom turns to Oracle to provide

a foundation for its solutions. Service


stability is very critical to mobile communications business operation, says NamSeuk Han. We have enhanced our service
stability by adopting Oracle solutions. We
trust Oracle on the strength of its accumulated global successes and reliable customer
support. We have no doubt that Oracle solutions stability, availability, and scalability
will ensure seamless expansion and support
our business growth.
To help drive future growth and innovation, SK Telecom has also worked to foster
a close relationship with Oracle, which has
allowed the company to resolve technical
issues when they arise as well as to gain
insight on, and provide feedback to, the
development and enhancement of Oracle
products and services. Over the years,
we have received much technical support
and advice from Oracle, and weve had a
real collaborative relationship on technical
seminars, architectural consulting services,
and building systems based on cutting-edge
technologies, says Nam-Seuk Han. Going
forward, we will continue to invest and
deepen our relationship with Oracle.

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_CIO_AP_SKTelecom.indd 26

2/18/15 1:47 PM

27

Going forward, we will


continue to invest and deepen
our relationship with Oracle.
Nam-Seuk Han, Senior Vice President and CIO, SK Telecom

SK TELECOMS APPROACH TO NEW TECHNOLOGIES

JAE-HYUN KIM/GETTY IMAGES

As you might expect, being a leader in the telecommunications


market requires the ability to foresee technological changes
and to find ways to develop and deliver profitable services. To
help do that, SK Telecom has an internal information and
communications technologies (ICT) research and development (R&D) center thats focused on innovation.
SK Telecoms ICT R&D Center has helped identify the technologies and skills that SK Telecom needs to be a leader in
the information and communications technology field, says
Nam-Seuk Han, senior vice president and CIO at SK Telecom.
As SK Telecom continues to deliver innovative solutions,
Nam-Seuk Han sees significant opportunities across multiple new technology areas, including the following:

SOCIAL MEDIA AND SERVICES. Weve developed an inter-

nal social media tool that is being used by many divisions


in SK Telecom.

INTERNET OF THINGS. Were focusing on both the devel-

opment of lifewarewearable devices that provide a range


of benefits to our customersand IoT security, to enable
the delivery of safe and secure IoT services to the users.

CLOUD COMPUTING. Were working on the development

of cloud computing solutions that will enable us to differentiate SK Telecoms cloud computing services.

BIG DATA. Big data technologies will allow us to under-

stand our customers needs better and provide moreinnovative solutions for them.

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_CIO_AP_SKTelecom.indd 27

2/18/15 1:48 PM

CIO OF THE YEAR | EUROPE, MIDDLE EAST, AND AFRICA


2014 ORACLE EXCELLENCE AWARDS

INVESTED IN TECHNOLOGY
CaixaBank is unifying big data and counting on Oracle.
BY DAVID A. KELLY

o answer business challenges and


customer experience demands,
Spains CaixaBank is investing in
big data and Oracle solutions.
In order to meet todays
business needs and better serve our customers and improve their experience, it is
important to embrace big data to enable
new analytic capabilities and manage
more information, says Jordi Fontanals,
chief operations officer (and former CIO) of
CaixaBank in Barcelona, Spain, and winner
of the Oracle Excellence Award for CIO of the
YearEurope, Middle East, and Africa. The
use of Oracle products has grown within
CaixaBank, Fontanals says, because Oracle
products address our needs, especially in the
database management and big data areas.
CaixaBank is Spains leading banking
and insurance financial services company,
with more than 13 million customers and
5,600 branches. Its the countrys largest
retail bank, delivering innovative services
that make it easy for customers to conduct
financial transactions at any time and
from anywhere.
Over the years, the bank has used Oracle
Database to support core financial systems,
Oracle Fusion Middleware to support internet
banking, Oracle Applications to enable
business processes, and Oracle engineered
systems to provide robust and scalable platforms for its applications and data services.

CaixaBank is converging Oracle technologies and services to quickly deliver


new solutions that manage more data
and provide a better understanding of the
banks customers.
Our latest and biggest project, called the
Data Pool, uses Oracle technologies to help
reduce project development time frames
as well as make it possible to manage data
much faster than we could on our legacy
mainframe, Fontanals says. That will
enable us to efficiently analyze much more
data while keeping it secure at the same
time. The end result is that by using Oracle
technologies well be able to better know
and serve our customers.
CaixaBanks Data Pool, based on Oracle
software and Oracle engineered systems
including Oracle Exadata Database Machines
and Oracle Exalytics In-Memory Machines
creates a unified corporate data model for
the bank and new analytical capabilities that
will reduce costs and improve business agility
and time to market. The banks existing data
marts are also being consolidated into the
Data Pool, which will maximize the business value of all kinds of data and provide a
360-degree view of customer activities. The
solution will instantly integrate data across
different channelsbank branches, ATMs,
the internet, and more.
CaixaBanks new IT architecture is composed of three main components: a data

factory that offloads data processes from


the mainframe using Oracle Data Integrator
and Oracle GoldenGate, a data reservoir
thats a hybrid repository (combining Oracle
Database, NoSQL, and Apache Hadoop) for
data analysis, and an analytics component
that can be leveraged by Oracle and other
analytics tools.
As youd expect from a financially oriented institution, the CaixaBank team keeps
an eye on the payoff that the company is
receiving from its Oracle investments.
We found that Oracle engineered
systems are the key to improved performance, says Fontanals. They deliver scalability while reducing the time it takes to
make new solutions operational, so we can
focus more on providing value to the business. Overall, Oracle plays a role in helping
us improve efficiency and profitability,
increase structural flexibility, manage
talent, and communicate.
CaixaBanks continued adoption of new
Oracle technologies has also changed the
nature of the banks relationship with Oracle.
Oracle is no longer a simple technology
provider, but is a strategic partner with us,
says Fontanals. We have the opportunity to
interact and get advice directly from Oracles
product management team. Maintaining
a close relationship with Oracle helps us
to prevent problems, speed solutions, and
solve issues when they arise.

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_CIO_EMEA_CaixaBank.indd 28

2/18/15 2:02 PM

29

Oracle is no longer a simple


technology provider, but is a
strategic partner with us.
Jordi Fontanals, Chief Operations Officer, CaixaBank

INTO THE FUTURE WITH CAIXABANK


Whether your organization is a bank or a film studio, its critical
to keep evaluating how new technologies might generate new
opportunities. Heres some insight into how Jordi Fontanals,
chief operations officer (and former CIO) of CaixaBank, is
evaluating new solutions and technologies for Spains leading
banking and insurance financial services company:

SIQUI SNCHEZ/GETTY IMAGES

THE ROLE OF MOBILE COMPUTING. Mobile computing

is not only about providing ways for our customers to use


their mobile devices to do financial transactions; its also
about enabling our employees to have full access to our
enterprise resources while theyre mobile, so they can be
closer to our customers.

THE ROLE OF SOCIAL NETWORKING. Social is another

channel to take care of, and it has become part of our business. Internally, weve successfully launched collaborative
projects to boost our employee productivity and enhance
our employees skill. But weve also provided social spaces
to selected customer groups, such as seniors, teenagers,
subject matter experts, private banking, and more.
THE ROLE OF THE INTERNET OF THINGS (IOT). The IoT

is already here, although it will continue to increase in the


future. For us, the IoT is not just about magnetic cards,
but also chips, RFID devices, contactless sensors, smartphones, tablets, and smartwatches. We believe that eventually everything will get connected, and all of it has the
potential for business applications and the opportunity for
new financial services products.

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_CIO_EMEA_CaixaBank.indd 29

2/18/15 2:03 PM

CIO OF THE YEAR | JAPAN


2014 ORACLE EXCELLENCE AWARDS

FROM ZERO TO ZOOM


Mazda invests in IT for the sake of its customers.
BY DAVID A. KELLY

s one of the smaller automobile manufacturers in Japan,


Mazda must consistently
compete with bigger rivals
for customers. In addition,
the 2008 economic recession and the
resulting sale by Ford of its controlling
interest in Mazda introduced new challenges for the carmaker. But Mazda has
taken the unexpected changes as an
opportunity to regroup and invest in a
new approach to building long-lasting
customer experiences.
In early 2012 Mazda announced a
Structural Reform Plan designed to enable
the company to thrive and grow in a dramatically changing automotive business. As
a result, Mazda has successfully expanded
its global business by launching new factories in Mexico and Thailand, and opening
new distribution arms in a number of
emerging countries. In addition, the implementation of the Structural Reform Plan has
helped result in the achievement, in 2014,
of Mazdas highest-ever yearly profit in the
companys 94-year history.
Mazda is now leveraging a new, Oraclebased global IT infrastructure to reshape
how the company interacts with its customers and how its customers interact with
their cars and dealers. In parallel with its
Structural Reform Plan, Mazda realized it
needed to shift from using conventional
separate IT systems and applications
for different business functions to an IT

infrastructure that centralizes common


functions and provides flexibility for
business growth.
Oracle is a common enabler for Mazda,
says Yoshifumi Ozawa, general manager
of the IT Solution Division at Mazda Motor
Corporation and winner of the Oracle
Excellence Award for CIO of the YearJapan.
Its making a very big difference for us.
To meet the companys new business
objectives, Mazda management realized
it needed a new, globally integrated IT
infrastructure. In addition to implementing
a common IT platform to support its
Structural Reform Plan, Mazda had a second
objective: to create a set of stable IT services
as a business foundation.
To support the kind of rapid and big
changes we needed for our business, we
realized we needed to deploy a common,
integrated IT system, says Ozawa. After
a detailed evaluation, Mazda selected the
Oracle stack in 2012 for its common IT
infrastructure, including Oracle E-Business
Suite, Oracles PeopleSoft and Siebel
Customer Relationship Management
applications, Oracle Business Intelligence
Enterprise Edition, Oracle Hyperion and
Oracle WebLogic solutions, Oracle Exadata
Database Machine, Oracle Database,
Oracle SOA Suite, and Oracle Application
Development Framework.
With Oracle, we now have the capability
to deploy the same services and products
all over the world, says Ozawa. Oracle has

proved very, very stable. Oracle was the best


fit for Mazdas needs.
Oracles ability to integrate with other
products has allowed Mazda to deploy the
new Oracle infrastructure in a structured
way while tying in legacy systems as needed.
Mazda is using Oracle Fusion Middleware
solutions to initially connect existing
systems with new solutions and then later
replace the legacy systems one by one.
Oracle is a key enabler for our new global
business strategy because its a very integrated set of products, says Ozawa.
A major goal of Mazdas new Oracle
solutionsbased IT infrastructure is to
bridge the gap between the company and
its customers by consolidating customer
contacts and information into a single,
integrated view of the customer that can
be shared across departments and functions. As a result, IT has become an integral
partner for sales and marketing by providing
new systems that allow Mazda to follow a
customers complete auto-buying lifecycle,
from initial consideration of Mazda through
the sales and ownership process to future
upgrades or additional purchases.
Were supporting the marketing and
sales areas of Mazda very deeply, because
our customers have many possible touchpoints, such as contacts via our call centers,
dealer showrooms, or social media, says
Ozawa. Bridging the distance between our
customers and Mazda using information
technology is the key to our future.

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_CIO_Japan_Mazda.indd 30

2/18/15 2:12 PM

31

Oracle is a common enabler for


Mazda. Its making a very big
difference for us.
Yoshifumi Ozawa, General Manager, IT Solution Division, Mazda Motor Corporation

DRIVING INTO THE FUTURE


WITH ORACLE ONBOARD
For Yoshifumi Ozawa, general manager of
the IT Solution Division at Mazda Motor
Corporation, the success Mazda has
achieved with its new Oracle solutions
based infrastructure comes not only from
investing in technology, but also from
investing in communications and committing the time needed to understand
new solutions. He considers the following to be key lessons learned:
ONGOING COMMUNICATION. We

learned that close communication with


Oracle was a critical part of our success,
so we have developed close technical
and personal relationships with Oracle
product, marketing, and sales teams.
Weve also looked for opportunities
to increase communication between
Oracle and Mazda executives.

PRIORITIZING THE BUSINESS NEEDS.

We need to proactively support


Mazdas business goals, but our
resources are limited, so our IT teams
work very closely with our business
leaders to prioritize solutions for different business areas and introduce
them one by one.

CHRISTOPHER JUE/GETTY IMAGES

COMMUNICATING WITH THE BUSI-

NESS EXECUTIVES. My biggest


accomplishment at Mazda has been to
communicate to our business executives the value to Mazda of creating a
globally integrated IT environment. Its
a very, very new world.

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_CIO_Japan_Mazda.indd 31

2/18/15 2:52 PM

CIO OF THE YEAR | LATIN AMERICA


2014 ORACLE EXCELLENCE AWARDS

DELIVERING AND
EVOLVING MOBILE BANKING
Banco Davivienda technology goes out to get new customers.
BY DAVID A. KELLY

hen your goal is to be the


most innovative bank in
Colombia and Central
America, you dont wait
for customers to come
to you. Instead, you find ways to bring your
services and products to new customers.
And over the last few years, thats exactly
what Banco Davivienda, one of Colombias
largest banks, has done with its DaviPlata
mobile banking service.
DaviPlata was designed to provide
money management tools to people who
dont have other alternatives for their financial services, says Patricio Melo, executive
vice president of IT and operations at Banco
Davivienda in Bogot, Colombia, and winner
of the Oracle Excellence Award for CIO of the
YearLatin America. Now, we have 2 million
customers using their cell phones to make
and receive payments and manage their
financial accounts.
The banks DaviPlata mobile banking
platform is one part of a larger innovation
initiative on which Banco Davivienda has
embarked as it consolidates many of its core
business functions onto an IT architecture
based largely on an Oracle technology stack.
The DaviPlata application can be used for
sending or receiving payments via cell phone,
as well as managing bank accounts and other

financial transactions and interactions. It


provides a cost-effective way for the bank to
serve a large number of customers who have
never held traditional bank accounts.
One of the best ways to gain more customers is by having great customer service,
says Melo. To that end, for the past few years,
Melo has been guiding successful changes at
Banco Davivienda, including the implementation of Oracles Siebel Customer Relationship
Management (Siebel CRM) applications as the
banks core customer relationship solution.
With a total of more than 7 million customers and 700 branches in Colombia and
Central America, Banco Davivienda provides
all types of financial services for its consumer
and business customers, from accounts to
investments. The bank has long been an
Oracle customer, using a wide range of Oracle
solutions for everything from marketing campaigns to managing the banks call center.
Melos IT organization is divided into two
groups, one of which is devoted to managing
traditional IT bank services as well as the
day-to-day operations of the bank. The other
group is dedicated to creating innovative new
solutions that will bring in additional business, attract new customers, and provide
ways to serve existing customers better.
One of our challenges is to be able to
combine old and new technologies in a way

that allows our business units to have a competitive advantage, says Melo. For that,
technologies like Siebel CRM are key. They
give us the capability to provide customers
with the best service possible. The bank uses
technologies such as Siebel CRM and Oracle
RightNow solutions to provide employees
with a 360-degree view of its customers, even
across different channels. By consolidating all
customer interactions into Siebel CRM, the
bank will have a consistent view of its customers, from its call centers to its branches.
But its not just technologies that are
enabling Banco Davivienda to succeed at
managing its day-to-day operations as well
as developing innovative new services and
products. The bank has also worked hard in
two areas: the definition and implementation of robust processes prior to the implementation of technology, and building a
strong relationship with Oracle to get the
most out of its technology investments.
The most important thing in our relationship with Oracle is that we try to do our
projects in a collaborative way to learn the
best way to leverage new platforms and
technologies, says Melo. We make sure to
have periodic meetings with Oracle in order
to share our work, our expectations, and our
business needs. Then we try to work together
to satisfy those needs and expectations.

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_CIO_LAD_BancoDivivienda.indd 32

2/18/15 2:32 PM

33

We make sure to have periodic


meetings with Oracle in order to
share our work, our expectations,
and our business needs.
Patricio Melo, Executive Vice President of IT and Operations,
Banco Davivienda

PATRICIO MELOS
BEST PRACTICES
Here are Banco Davivienda Executive Vice
President of IT and Operations Patricio
Melos tips or best practices for making
large changes in the technology, as well as
the associated business processes:
BUILD A STRONG TEAM. You need a very

strong team that involves both operations


and businesspeople. The team has to be
focused on what the customers want and
how the organizations processes can
support or meet those needs.

PUT TECHNOLOGY SECOND. The cus-

tomers needs come first; the technology


is second.

PRIORITIZE FOR SUCCESS. You cant do

RICARDO PINZON HIDALGO/GETTY IMAGES

everything at once; you have to prioritize.


You need to be very, very focused and
do a few important transformations at
the same time, but not all of them at the
same time.

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_CIO_LAD_BancoDivivienda.indd 33

2/18/15 2:49 PM

CIO OF THE YEAR | NORTH AMERICA


2014 ORACLE EXCELLENCE AWARDS

INVESTED IN GROWTH
ADM counts on IT to deliver business and feed its customers.
BY DAVID A. KELLY

o be competitive, a company
must be efficient, but it must
also invest in the business
and the systems that enable
that business. If youre Archer
Daniels Midland Company (ADM), one of
the largest global agricultural processing
companies in the world, business
investment is about growing food and
growing the business through better and
more-efficient processes.
ADM is a food processing giant, with
more than US$90 billion in annual revenues
and 33,000 employees. For more than 100
years, the company has processed grains
and seeds into a wide range of food, industrial, and animal feed products.
In addition to growing food and its business, over the years ADM had accumulated
thousands of applications deployed on
different technologies and tools. And by
2012, the companys patchwork collection
of IT systems and processes couldnt easily
support future corporate growth.
Thats when ADM brought in Marty
Schoenthaler, vice president and CIO at
ADM and winner of the Oracle Excellence
Award for CIO of the YearNorth America.
Schoenthaler came in with an agenda to
help drive change and to craft an information technology strategy that could support
the companys future growth. With the
support of ADMs executive leadership
team, Schoenthaler and his team kicked off
a transformation project called 1ADM.

1ADM is not an IT project, but a business transformation that is enabled by technology, says Schoenthaler. Its a big effort,
spanning the entire company, but we think it
will generate huge opportunities for us.
1ADM is built with the goal of improving
access to information, improving and standardizing business processes, and driving
out inefficient and low-level work through
automation and the deployment of a
common technology platform.
After joining ADM in 2012, Schoenthaler
led a team that evaluated both Oracle and
SAP as possible platform providers for the
companys 1ADM initiative. In 2013, ADM
announced its decision to go forward with
Oracle as its global IT platform provider.
We decided to invest deeply with
Oracle, not just at the application layer,
but in the full Oracle stack, including
Oracle Database, Oracle Exadata Database
Machine, Oracle Exalogic Elastic Cloud,
Oracle Exalytics In-Memory Machine,
Oracle Fusion Middleware, Oracle Business
Intelligence, and Oracle Managed Cloud
Services, says Schoenthaler. Were
making a big investment in Oracle for two
reasons. First, we really like the features
and capabilities of the individual Oracle
products. But we also like that Oracle provides a common, integrated stack from the
hardware through the database and up to
the applications. We simply felt that the
Oracle platform gives us the best chance to
be successful.

The deployment phase of ADMs transformation project kicked off at the start
of 2014, with the implementation of the
Oracle Exadata, Oracle Exalogic, and Oracle
Exalytics environments and the initial
migration of one of ADMs applications
to the new Oracle platform. ADMs goal is
to have the new Oracle solutionsbased
common foundation built out in 2015,
including deployments of Oracle E-Business
Suite and Oracles JD Edwards applications
after which it can continue to build out its
business intelligence capabilities.
For ADM, building a strong and resilient
relationship with Oracle has been a key part
of the transformation. When we started
having deeper discussions with Oracle back
in 2012, part of what we talked about was
the importance of the relationship. To make
this kind of investment, to make these kinds
of changes, we want to make sure we have
confidence that we have relationships at all
levels, says Schoenthaler.
But after working closely with Oracle
for two years on the 1ADM initiative,
Schoenthaler is a bit surprised by his companys access to Oracle resources. When it
comes to our relationship, I would describe
Oracle as a very large small company, he
says. Its been interesting how weve been
able to gain access to all levels of leaders
within Oracle. I can definitely say that
doesnt happen at all technology companies,
and I give Oracle a lot of credit for providing
customers with that type of access.

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_CIO_NA_ADM.indd 34

2/18/15 2:44 PM

35

When it comes to our relationship,


I would describe Oracle as a very
large small company.
Marty Schoenthaler, Vice President and CIO, Archer Daniels Midland Company

TRANSFORMATIONAL
LEADERSHIP
One key to a successful business
and IT transformation is creating
and maintaining a close relationship
between business and IT executives.
With the amount of change were
undertaking, its critical for our
IT organization to have strong
relationships with ADMs leadership, says Marty Schoenthaler, vice
president and CIO at ADM. I find
myself spending a lot of time with
our business leaders going through
the strategy and the changes that
were driving.
Here are Schoenthalers top three
characteristics of a successful transformation leadership team:
CURIOSITY. Senior leadership

is very curious about technology


and wants to explore and understand the benefits that technology can bring to their businesses
and environment.

CHALLENGE. Senior leaders

challenge IT. They make sure IT is


focused on building solutions that
will help deliver value for them.

ANDREA MANDEL

OPEN DOORS AND ACCESS.

Senior leaders have an open door


for the IT team. Im lucky to be
working with leadership that has
really helped create an environment where our team has the
ability to work closely with our
business leaders.

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_CIO_NA_ADM_R1.indd 35

2/27/15 1:19 PM

36

BUILDING
CUSTOMER
LOYALTY

Customer science leader dunnhumby


speeds processing and increases business
insights with Oracle Exadata Database
Machine and Oracle Big Data Appliance.

BY PHILIP J. GILL

Oracle Exadata
Database Machine
and Oracle Big Data
Appliance deliver the
highest-performing
and most available
platform for running
Oracle Database
and comprehensive
and secure big data
capabilities.

onsumers today have more choices than


ever as to when, where, and how to purchase
everything from groceries, clothing, and music
to major appliances and automobileseasily shifting
their dollars from traditional bricks-and-mortar shops
to online-only retailers, big-box stores, discounters,
and other options. And because many choices for
consumers means companies are competing for those

consumers business, some of the worlds bestknown retailers, consumer packaged goods (CPG)
manufacturers, and consumer products and services
providers turn to dunnhumby for help attracting and
retaining customers. The London, Englandbased
customer science company combines big data,
science, analysis, and its own special algorithms
with extreme processing power to help its clients

JOHN BLYTHE

Machine and
Appliance

What Oracle Big


Data Appliance gave
us over a custom,
hand-built cluster is
a system we can run
and manage with the
same tools we are
using on our Oracle
Exadata Database
Machines, says
Matt Steell, head of
global data solutions
at dunnhumby.

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_dunnhumby_R1.indd 36

2/27/15 1:16 PM

business, says Steell. And building customer loyalty


create and sustain customer loyalty through tailored
is an amalgamation of all those things.
programs, promotions, and discounts.
A few years ago, dunnhumby faced limits with its existing
Matt Steell, dunnhumbys London-based head
information technology (IT) infrastructure; in 2012 the company
of global data solutions, says the company tailors
consolidated data and projects to improve performance with Oracle
its data science services to the specific needs of its
Exadata Database Machine, later adding Oracle Big Data Appliance
clients and their markets. For instance, in the grocery to its engineered systems roster.
Like other IT organizations, we had evolved over time and had
space, we help our clients understand how to stock
many separate data warehouses and data marts, says Enterprise
shelves, price their goods, and pitch offers to build
Architect Chris Wones, who is based in the companys US operaORACLE MAGAZINE MARCH/APRIL 2015

MA15_dunnhumby_R1.indd 37

2/27/15 1:17 PM

38

tional headquarters in Cincinnati, Ohio.


sets. We help companies transition from
SNAPSHOT
We needed to bring everything back into
taking a reactive approach to a customer
dunnhumby
a centralized environment so that we could
behavior that just happened, to a proactive
dunnhumby.com
perform standardization and governance,
approach that helps them infer what will
Location: London, England
and then push out data with confidence.
happen next, Steell says. A lot of compaIndustry: Professional services
Employees: 3,000
Oracle Exadata and Oracle Big Data
nies have not been using technology effecOracle products: Oracle Big Data Appliance,
Appliance enable dunnhumby to do more
tively to be more predictive.
Oracle Exadata Database Machine, Oracle
faster, and to spend more time analyzing the
ZFS Storage Appliance, Oracle Database,
data it collects from clients to glean meanBEST APPROACH
Oracle Advanced Analytics, Oracle Advanced
ingful business insights and spend less
When dunnhumby decided to consoliCompression, Oracle Advanced Security
time managing it. Using Oracle Exadata
date its many data warehouses and data
Database Machine and Oracle Big Data
marts, the company looked at offerings
Appliance allows us to look at more data and to do so more quickly,
from Oracle, IBM, Teradata, EMC Greenplum, and others before
continues Wones. This ultimately allows us to focus deeper on the
choosing Oracle Exadata Database Machine for its exceptional perscience of what we do rather than on data manipulations.
formance. An Oracle engineered system, Oracle Exadata combines
Oracle compute servers, software, storage, and other technology to
BIG AND BIGGER DATA
maximize the performance of dunnhumbys core database: Oracle
dunnhumby was founded 25 years ago by a husband-and-wife team
Database 12c.
of data scientists who pioneered the field of customer science,
The heart and soul of our stack right now is Oracle Exadata
which analyzes various datasources to predict consumer behavior
Database Machine, says Wones. Oracle Exadata serves as our
and earn consumer loyalty. Among its first clients was Tesco, the
enterprise data warehousethis is where we do the bulk of all our
UKs second-largest grocery chain and, since 2006, dunnhumbys
analytical and BI [business intelligence] queries.
corporate parent. dunnhumby maintains more than 100 terabytes
The Oracle Exadata machines allow dunnhumby analysts to do
of online production data at each of its primary US and UK data
more faster, says Wones. With Oracle Exadata, weve been able to
centers, and many additional terabytes of near-line datastored
reduce queries from days to minutes, and those that used to take
on other systems easily accessible to its Oracle Exadata Database
minutes to seconds, he says.
Machinesto analyze the buying habits of more than 700 million
To date, dunnhumby has installed Oracle Exadata machines at
consumers worldwide.
two locations: four full-rack production machines and a half-rack
dunnhumby collects, stores, processes, and analyzes terabytes
system for testing in the US and five full-rack production systems in
of data, both structured and unstructured, including customer
the UK. These Oracle Exadata clusters run in an active-active mode
information, weather, geography, demographics, and social media.
to ensure high availability, while two Oracle ZFS Storage Appliances
The type and amount of data collected and services provided varies
in each of the companys primary data centers provide data staging,
according to client requirements.
data cleansing, and backup and recovery.
Each client has somewhere between 5 terabytesfor small
Oracle ZFS allows us to offload that work from the Oracle
clientsand 75 terabytes for our biggest clients, says Wones. We
Exadata Database Machine so that we can use it primarily for doing
consume about 200 million shopping baskets per week containing
analytics, explains Wones.
an average of 1.4 billion items per week, plus contextual informadunnhumby typically passes data from external sourcesmostly
tion, totaling 2 billion rows.
flat filesfirst through the Oracle ZFS Storage Appliance for data
dunnhumby, adds Steell, does more than just acquire and
cleansing and formatting before uploading to its Oracle Exadata
analyze data for its clientsit helps them change corporate mindDatabase Machines. Conversely, those systems pass outbound
Big Data Clusters: Build or Buy
A business can build its own commodity hardware clusters to run Apache Hadoop, the leading
open source software framework for collecting
and storing unstructured data. While that is
one way to scale up a big data solution, building
custom clusters is not necessarily the cheapest
or most cost-effective option for running and
integrating Hadoop and other technologies to
deliver big data results.
A lot of people out there will say Hadoop is
free, says Matt Steell, head of global data solutions at dunnhumby. Although the software
is free, companies should ask about the cluster

hardware and the staff they need to support it,


because thats where the cost comes in.
dunnhumby recently evaluated its options
to improve processing and analysis of the large
volumes of unstructured data the company
collects for its clients from their website
clickstreams, social networks, and the like.
dunnhumby chose Oracle Big Data Appliance:
a preintegrated Oracle engineered system that
combines hardware and software specifically
designed for handling big data. The software
includes Clouderas Distribution including
Apache Hadoop (CDH), Oracle R Distribution,

Oracle Big Data SQL, and Oracle NoSQL Database.


What Oracle Big Data Appliance gave us over
a custom, hand-built cluster is a system we can
run and manage with the same tools we are using
on our Oracle Exadata Database Machines,
Steell says. We dont have to increase headcount to support an appliance that looks very
similar to Oracle Exadata.
After months of testing, experience has made
the case for Oracle Big Data Appliance. At this
point, weve reached the scale we need to prove
that going with Oracle Big Data Appliance was the
best choice for our business, concludes Steell.

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_dunnhumby.indd 38

2/18/15 3:08 PM

Oracle was very


good at explaining
Oracle Big Data
Appliance and the
leverage we would
get by linking out
to Oracle Exadata
Database Machine,
says Matt Steell,
head of global
data solutions at
dunnhumby.

JOHN BLYTHE

dataincluding all backupsinitially to the Oracle ZFS Storage


Appliance, and from there the data is written out to tape, saving
CPU cycles on dunnhumbys core systems.
Using these procedures and a number of Oracle data compression techniques, including Oracle Advanced Compression and
Oracle Hybrid Columnar Compression, dunnhumby has been able to
achieve remarkable performance gains over previous systems with
its Oracle Exadata Database Machines. Although actual improvement varies depending on the work, Wones says, for the bulk of
what we do, we get 20 to 25 times performance improvement, and
for some jobs, we have seen performance increases of 100 to 200
times or more for many tasks.
Those analyses are also typically deeper and broader. In the
previous environment, there were limitations to what we could do
simply because of the servers memory capacity, Wones says. So
when you did a trending analysis, for example, you had to narrow
the scope so that you could access all the data.
The Oracle Exadata environment is much, much larger, he continues, so it allows us to pull in far more years of data, with much
greater depth, to do the analysis. This makes the trends analysis all
the more valuable.
A COMPLETE PICTURE
While Oracle Exadata dramatically improved performance for structured data analyses at dunnhumby, the company realized it needed
to get similar performance and operational improvements for its
unstructured data sets as well. Unstructured data today comprises
about 10 percent of all our data, notes Wones, but it is growing
faster, at a rate of 10 to 15 percent a year.
For this reason, dunnhumby recently augmented its data science

systems with Oracle Big Data Appliance, another member of the


Oracle family of engineered systems. (See the Big Data Clusters:
Build or Buy sidebar for more information about dunnhumby and
Oracle Big Data Appliance.)
With the combined power of Oracle Exadata and Oracle Big Data
Appliance, dunnhumbys data science will continue to identify and
keep loyal customers for competitive businesses.
We are still very early in our journey with Oracle Big Data
Appliance, says Steell. We knew we needed to change technology
for big data, and Oracle was very good at explaining Oracle Big Data
Appliance and the leverage we would get by linking out to Oracle
Exadata Database Machine.
One of the things we have asked all of our strategic partners like
Oracle, Steell continues, is that they help guide us in things like
trends in the marketplace, how to implement solutions, what were
doing right, and how we can do things better. Oracle has been a
great partner in doing just that.

Philip J. Gill is a San Diego, Californiabased writer and editor who has
been following technology for more than 20 years.

NEXT STEPS
LEARN more about dunnhumby
dunnhumby Accelerates Complex Segmentation Queries from Weeks to
MinutesGains Competitive Advantage
bit.ly/1y7YEkd
dunnhumby Increases Customer Loyalty with Oracle Big Data
bit.ly/1DfaQWJ
LEARN more about Oracle engineered systems
oracle.com/engineered-systems

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_dunnhumby.indd 39

2/18/15 3:08 PM

YOUR DESTINATION FOR ORACLE AND JAVA EXPERTISE FOR 20 YEARS!


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 Database 12c Security


Scott Gaetjen, David Knox, William Maroulis
Renowned experts from Oracles National
Security Group explain how to design and
implement secure Oracle Database systems
in a multitenant architecture.
OCP Oracle Database 12c Advanced
Administration Exam Guide (Exam 1Z0-063)
Bob Bryla
Ideal as both an exam guide and on-the-job
reference, this book covers all objectives for
this challenging exam. Electronic practice
exam questions are included.

Oracle SQL Developer Data Modeler for


Database Design Mastery
Heli Helskyaho
An Oracle ACE Director shows how to design,
deploy, and maintain high-performance
enterprise databases on any platform with this
powerful, free tool.
Data Visualization for
Oracle Business Intelligence 11g
Dan Vlamis, Tim Vlamis
Oracle Business Intelligence 11g experts
provide best practices for creating effective
visual presentations of data-driven insights
with this powerful tool.

Available in print and eBook formats


www.OraclePressBooks.com

@OraclePress

OraclePress

Java Developer

ORACLE ADF BY FRANK NIMPHIUS

41

ORACLE APPLICATION DEVELOPMENT FRAMEWORK

Design Responsively

Use the Oracle Alta UI design system to implement a


mobile-first strategy for web applications.

ser interfaces (UIs) in smartphones and


tablets are constrained by the device
display size, lack of a physical keyboard,
and use of finger gestures instead of mouse
pointers. For these reasons, native mobile
UIs are usually designed more simply
and cleanly, and with more visuals, than
equivalent desktop UIs. Mobile UIs tend to
focus more on the display of information
that is derived from data than on the data
itselfthe opposite of what most desktop
UIs provide.
To reduce the development effort and
shorten the time to market for mobile business applications, development teams
often build web applications that can run
in both desktop and mobile browsers. To
ensure user acceptance of such applications,
developers should consider implementing a
UI design that is optimized for mobilean
approach known as a mobile-first strategy.
Mobile-first does not mean mobile-only.
Mobile-first designs are less cluttered than
traditional desktop interfaces. Page navigation is mobile-friendly and avoids page scroll
bars and horizontal scrolling. And a mobilefirst design uses scripts and Cascading
Style Sheets (CSS) to implement responsive
layoutswhich automatically adapt to the
device on which theyre displayed.
With the release of Oracle JDeveloper
12.1.3, Oracle Alta UI is now available. Oracle
Alta UI is a design system and set of guidelines that promote a mobile-first design for
Oracle Application Development Framework
(Oracle ADF) web applications. Oracle Alta UI
helps you build simpler UIs that enable application users to scan information quickly and
perform work actions more easily.
This column provides an overview of
Oracle Alta UI for the Oracle ADF Faces
feature of Oracle ADF and gives you handson experience with building Oracle Alta
UIdesigned UIs with Oracle ADF.

ABOUT ORACLE ALTA UI DESIGN


Oracle ADF pages and views are rendered by
Oracle ADF Faces, a JavaServer Faces (JSF)
component framework that abstracts details
of the UI rendering from the business application itself. Oracle ADF Faces components
intelligently handle the layout geometry
management and user interactions on
desktop and mobile browsers. With Oracle
Alta UI, Oracle ADF web applications have
a new look and feel (see Figure 1) in addition to a rich set of mobile-optimized and
redesigned Oracle ADF Faces components,
CSS, scripts, and developer best practices for
implementing a mobile-first design strategy.
Oracle Alta UI is not an Oracle product but
an innovative design developed by the Oracle
user experience (UX) team, based on years
of usability testing, insight, and research.

The core design principle of Oracle Alta UI is


to build a simpler, more visual, lighter, and
highly responsive UI that renders quickly on
mobile and desktop browsers. A new color
scheme and a new set of icons make it easier
for users to scan the application UI for important information. Views that are designed
with Oracle Alta UI are less cluttered and
use floating layouts with a fixed widtha UI
concept common on mobile devices. Fonts,
rows, and user-selectable areas are larger,
for a better reading experience and improved
access (see Figure 2).
From an Oracle ADF application development perspective, adopting Oracle Alta UI is
more than changing a skin. It requires developer awareness and action thats unprecedented for Oracle ADF users. The reward is
a first-class mobile-first web design.

Figure 1: Oracle Alta UIdesigned dashboard

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_ADF.indd 41

2/18/15 3:29 PM

42

ORACLE ADF

The following hands-on instructions


step you through building a simplified and
cut-down version of the front page of the
Oracle ADF Faces Work Better Application
demo shown in Figure 1. A part of the demo
content is precreated for you, enabling you to
focus on the design.
To get started, download the sample
application from bit.ly/omagalta and unzip
o25adf-2379332.zip to a local folder. Do
not use spaces in the folder name. Ensure
that youre using the studio edition of Oracle
JDeveloper 12c (12.1.3) or later, available as a
free download on Oracle Technology Network.

Figure 2: Oracle Alta UIdesigned list view with large rows and fonts

GETTING READY
The WorkBetterSample hands-on workspace
contains Model and ViewController projects.
The workspace includes a JavaBeans data
model, so no database connection is needed.
To set up the workspace,
1. In Oracle JDeveloper, select File -> Open
and navigate to the directory containing
the unpacked zip file content.
2. Open the oramag010215/
WorkBetterSample folder, and select the
WorkBetterSample.jws file.
3. Click Open to load the workspace.
Next, start the Oracle WebLogic Server
instance integrated with Oracle JDeveloper.
To start Oracle WebLogic Server, select
Run -> Start Server Instance.
If you are running the integrated Oracle
WebLogic Server for the first time, a Create
Default Domain dialog box will open. Create
a password for the default Oracle WebLogic
Server domain. To ensure that the integrated
Oracle WebLogic Server listens for the localhost and the IP address of your computer, do
not select an address from Listen Address.
Click OK to save the changes and to create
and configure the default domain for Oracle
ADF. Oracle WebLogic Server creates a
default domain and then starts the server.
Wait for the IntegratedWebLogicServer
started message on the Running:
IntegratedWebLogicServer panel before
proceeding to the steps in the next section.
(This can take two to three minutes.)

4. With the WorkBetterSample workspace


open in Oracle JDeveloper, select File ->
New -> From Gallery.
5. In the New Gallery dialog box, select
Web Tier -> JSF/Facelets -> ADF Skin.
6. Click OK.
7. Change the File Name field value to
WorkBetterSample.css.
8. Keep all the default values for the other
fields, and click Next. Note that skyros-v1
.desktop is the default skin that the skin
youre building will extend.
9. Click Finish to open the
WorkBetterSample.css file in the visual
skin editor.
10. Select the Source tab at the bottom of
the visual skin editor, and delete the
existing source code.
11. In the Application Navigator, rightclick the workbettercss.txt file in the
ViewController -> Web Content ->
txtfiles folder and choose Open.
12. Place the cursor into the opened text
file, and press Ctrl-a followed by Ctrl-c to
copy the contents to the clipboard.
13. Click the WorkBetterSample.css tab, and
click in the editor.
14. Press Ctrl-v to paste the contents of the
clipboard into the skin CSS file.
15. Save your work, and close the open tabs.
16. Right-click the trinidad-skins.xml file,
located in the Model -> Web Content ->
WEB-INF folder, and choose Open.
17. Replace

USING THE ORACLE ALTA UI SKIN


Although Oracle Alta UI is more than a skin,
the skin is what you will start with:

<extends>skyros-v1.desktop</extends>

with

<extends>alta-v1.desktop</extends>

Save your work, and close all tabs.


What you just did: You worked through the
ADF Skin dialog box and declaratively created
a custom skin that extends the default Skyros
skin. You then replaced the contents of the
CSS file with predefined content from the
Oracle Alta UI Faces demo. To ensure that
the custom skin extends the Oracle Alta UI
skin instead of the default Skyros skin, you
replaced the skin extends reference with
alta-v1.desktop. Now the application look and
feel is set to Oracle Alta UI.
CREATING AN ORACLE ALTA UI PAGE
In contrast to previous Oracle ADF layout
guidelines, Oracle Alta UI design promotes
flow layouts with a flat hierarchy of nested
layout components. In addition, the layout
components are configured for layouts that
have a defined fixed width but not a fixed
height. At runtime, users scroll the page to
see more information instead of using the
component scroll bars.
18. In Oracle JDeveloper, click the Web
Content folder in the ViewController
project.
19. From the main Oracle JDeveloper menu,
choose File -> New -> From New Gallery.
20. In the New Gallery dialog box, choose
Web Tier -> JSF/Facelets -> Page. Click OK.
21. Change the File Name value to Index.jsf.
22. Select Reference ADF Page Template.
23. In the Templates field, select the Tablet
First Template option and click OK.
24. Wait for the live view of the Index.jsf page
to render in the visual editor tab. Then

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_ADF.indd 42

2/18/15 3:31 PM

43

select the Source tab at the bottom of the


page to switch to the page source editor.
What you just did: The Tablet First template
in Oracle JDeveloper helps you build a new
Oracle ADF Faces page with a simple layout
that follows Oracle Alta UI design principles.
To better analyze the template, you changed
from the visual page view to the source view.
EXPLORING THE TABLET FIRST TEMPLATE
Page templates in Oracle ADF Faces are like
black boxes, in that the template source is
not physically added to the page but only referenced. To unbox the template and gain a
better understanding of what it does, you can
use Oracle JDeveloper to open the template
source. So, for the Tablet First template,
25. Open the Structure panel in Oracle
JDeveloper (if its not open already), by
selecting Window -> Structure from the
top-level menu.
26. Click in the Index.jsf page source.
27. In the Structure panel, expand the
f:view -> af:document -> af:form nodes,
right-click the af:pageTemplate node,
and select Go to Declaration to open the
template source file.
28. To see the template component
sources, select the Source tab at the
bottom of the tabletFirstTemplate
.jspx tab. You can see from various
af:declarativeComponent tags in the
template source that the template is not
a monolithic file but instead a composite
built from page fragments. To see what is
in the declarative component reference,
select the af:declarativeComponent tag
of interest in the template page source.
29. Go to the Structure panel, right-click
the af:declarativeComponent node, and
choose Go to Declaration.
30. Select the Source tab at the bottom of
the opened tab window showing the
declarative component content.
31. Repeat steps 25 through 30 for any file
and declarative component you are
interested in.
What you just did: You unboxed the Tablet
First template to read and understand
the template structure and behavior. You
can see that the Oracle Alta UI layout uses
af:panelGridLayout components with custom
CSS to create a simple flowing layout.

ADDING CONTENT TO THE INDEX.JSF PAGE


Now youll add content from a bounded task
flow as a dynamic region to the Index.jsf
page. Dynamic regions enable users to switch
between bounded task flows at runtime so
they can view different sets of information
without leaving the page. In this exercise, you
create a reference to the dashboard task flow
used in the Oracle Alta UI Faces demo.
32. Switch to the Index.jsf tab, and ensure
that you are viewing the page source.
33. Edit the page source, and change the
template center facet definition from
<f:facet name="center"/>

to
<f:facet name="center">
</f:facet>

Note: Make sure that a blank line is included


between the facet start and end tags.
34. Expand the ViewController -> Web
Content -> WEB-INF -> dashboard
nodes in the Oracle JDeveloper
Application Navigator.
35. Drag the dashboard-btf.xml bounded
task flow file entry onto the blank line
you left between the center facet start
and end tags.
36. Release the mouse button, and choose
Dynamic Region.
37. In the Choose Managed Bean for
Dynamic Region dialog box, click the
green plus (+) icon to create a new bean.
38. Define the Bean Name field value as
IndexPageBean.
39. Define the Class Name field value as
IndexPageBean.
40. Ensure that the Scope field value is set to
view, and click OK three times.
CREATING A COMMAND LINK
Now youll configure the managed bean with
a method for switching dynamically to the
dashboard task flow:
41. Edit the Index.jsf page source and
change the template appNav facet definition from
<f:facet name="appNav"/>

to
<f:facet name="appNav">
</f:facet>

42. Drag the dashboard-btf.xml bounded


task flow file entry onto the blank line
you left between the appNav facet start
and end tags.
43. Release the mouse button, and
choose Dynamic Region Link ->
dynamicRegion1.
What you just did: You created a command
link that, when clicked, sets references to the
dashboard bounded task flows as the current
displayed region context. Whenever this link
is clicked, the region UI refreshes to show the
switched content.
COMPLETING THE SAMPLE APPLICATION
More steps are required to complete the
Index.jsf sample page UIs. To save you from
more typing and to keep the focus on the
aspects of interest, the completed page
source is available for copy and paste:
44. In the Application Navigator, rightclick the indexjsf.txt file in the
ViewController -> Web Content ->
txtfiles folder and choose Open.
45. Click in the opened text file. Press Ctrl-a
and then Ctrl-c to copy the contents to
the clipboard.
46. Select the Index.jsf tab, and click in the
page source.
47. Press Ctrl-a to select all the page content,
and press Delete to remove it.
48. Press Ctrl-v to paste the prepared page
content into the page.
49. Save your work.
What you see: After copy and paste, the page
source now contains the following changes
and additions:
The command link to switch the task flow
content displayed in a region has been
replaced by buttons. (Two of the buttons
illustrate the Oracle Alta UI page look for
navigation bars and are nonfunctional.)
Two Apache MyFaces Trinidad trh:meta
tags have been added, each of which
sets a header parameter to support the
responsiveness of the Oracle ADF Faces
page layout.

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_ADF.indd 43

2/18/15 3:31 PM

44

ORACLE ADF

The apple-mobileweb-app-capable
parameter for running on Apple iOS
devices tells the Safari browser not to
display browser elements that are specific
to web applicationssuch as the browser
URL text field or the browser button bar
at the bottom of the screenso that the
Oracle ADF Faces page looks like a standalone application on iOS.
The viewport header parameter defines
the zoom behavior of the Oracle ADF Faces
view and determines whether users can
enlarge parts of the page on a tablet device.
In the sample, the zoom factor is set to 100
percent and doesnt allow any scaling.
RUNNING THE SAMPLE
With the Index.jsf page completed, you can
run the sample page to see the Oracle Alta
UI design in action:
50. In a desktop browser, right-click the
Index.jsf page in the Oracle JDeveloper
Application Navigator and choose Run.
51. Wait for the browser to render the page.
Then resize the browser window to see
the responsive page design in action. For
example, you can see the four-column
layout of the information boxes changing
to a three-, two-, and single-column
layout as you reduce the browser width.
52. Note that some of the information boxes
are clickable, which you can see by hovering the cursor over them. (In the sample
application, none of the clickable areas
has any functionality applied. A completed implementation of the Oracle Alta
UI Faces demo is available at jdevadf
.oracle.com/workbetter/faces/index.jsf.)
53. Optional: To test the application on a
mobile device, use the mobile browser
of iOS Simulator (see Figure 3) or an
Android emulator and request the same
application URL. Alternatively, run the
application on a tablet.
REBUILD, RETOUCH, OR RENOVATE
Oracle recommends using Oracle Alta UI
design for building new Oracle ADF UIs.
However, existing Oracle ADF applications
can also be modified to implement this new
design. Depending on the complexity of the
existing application, you can
Rebuild. Rebuild the application UI to take

Figure 3: Sample application displayed in a desktop browser and the mobile browser of iOS Simulator

advantage of Oracle Alta UI design and the


new UI components. This approach is recommended for businesses that want to run
Oracle ADF applications in mobile browsers
on tablets and in desktop browsers.
Retouch. Retouch the applicationa
minor effort that changes the look and feel
to Oracle Alta UI and applies corrections
only for layout and rendering issues that
are detected during runtime testing. This
approach does not adopt the responsivedesign improvements that Oracle Alta
UI design provides and so might be best
suited for applications that run solely on
desktop browsers.
Renovate. Renovate the application by
applying the Oracle Alta UI skin, changing
to a floating layout, and replacing existing
UI components with new ones. This
approach is labor-intensive and is suitable
for simpler UIs for which renovation is less
expensive than rebuilding.
SUMMARY
The Oracle Alta UI design system provides
a new user experience with proven skin and
developer guidelines that enable Oracle
ADF developers to build web applications
with a responsive page design for use on
desktop and mobile browsers. You learned
how to configure the Oracle Alta UI skin,
build responsive Oracle ADF Faces pages

with the Tablet First page template, analyze


the template to learn how to build your own,
and add modular page content defined in
bounded task flows as a dynamic region.
A mobile version of Oracle Alta UI
Oracle Alta Mobile UIis built into Oracle
Mobile Application Framework, ensuring
the same look and feel and UX for native
mobile applications as for Oracle ADFbased
desktop and mobile browser applications.

Frank Nimphius is a senior principal product


manager for Oracle JDeveloper, Oracle Mobile
Application Framework, and Oracle ADF. He is
a coauthor of Oracle Fusion Developer Guide:
Building Rich Internet Applications with Oracle
ADF Business Components and Oracle ADF
Faces (McGraw-Hill, 2010).

NEXT STEPS
DOWNLOAD
the sample application
bit.ly/omagalta
Oracle JDeveloper 12c
bit.ly/KDqHjA
READ more about
Oracle Alta UI for ADF Faces
bit.ly/1vH38nC
Oracle Mobile Alta UI
oracle.com/webfolder/ux/mobile/index.html
Creating Oracle ADF dynamic regions
bit.ly/1yhbT8K

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_ADF.indd 44

2/18/15 3:32 PM

Database Application Developer

PL/SQL BY STEVEN FEUERSTEIN

45

ORACLE DATABASE

Four Resolutions for


Better Code
Its always time to write better PL/SQL.

n the one hand, its a little late for New


Years resolutions. On the other hand,
it is never too late to explore ways to improve
the quality of our code. And because I am
writing this article in January, it sure seems
like the right time for me to think about ways
to write better PL/SQL code.
Have you ever noticed that a lot of the
code you write looks a lot like code you wrote
last week or last month? We often follow
patterns in our software: write a cursor FOR
loop like this, construct a function like that.
And because humans are such creatures of
habit, we also tend to follow antipatterns:
suboptimal ways of writing code.
In this article, I offer up several smallscale antipatterns: the kinds of bad habits
that can creep (or carry over from the past)
into our code on a line-by-line basis. But I
dont stop there. I then offer patterns that
you and the people with whom you work
should be happy to follow this year and in
the years to come.
NO MORE DUELS WITH DUAL
Long ago in a database far away, when
PL/SQL was just a young language, it did
not support all the standard SQL functions
such as SYSDATE. So if you needed to get
the current system date, you needed to fall
back on SQL as follows:
DECLARE
now DATE;
BEGIN
SELECT SYSDATE INTO now FROM dual;
END;

The need to use SQL to execute SYSDATE


has long been a thing of the past.
Many developers also think that when they
need to get the next value from a sequence in
PL/SQL, they have to write code like this:

l_employee.hire_date <

DECLARE

ADD_MONTHS (SYSDATE, -60))

l_nextkey my_table.my_pky%TYPE;

OR

BEGIN

override_limit_in = 1

SELECT my_table_seq.NEXTVAL
INTO l_nextkey

THEN

FROM dual;
END;

Not true! As of Oracle Database 11g, you


can now natively call both the NEXTVAL and
CURRVAL directly inside PL/SQL, as in

That complexity then leads us to write


comments to explain the code. A comment
for the above logic might be
/* If employed for more than
five years and not yet
at maximum salary or user

DECLARE

requested override... */

l_nextkey my_table.my_pky%TYPE;
BEGIN
l_nextkey := my_table_seq.NEXTVAL;
END;

The bottom line is that if you are using


Oracle Database 11g or higher, the days of
needing to use SQL to execute functionality
not available in PL/SQL are pretty much gone.
If you see a SELECT FROM dual in your
code, I suggest you ask: Do I really need
that? Cant I just call it directly in PL/SQL?
And, of course, it is easy to discover the
answer to that question: give it a try!

With a BOOLEAN datatype, everything


gets clearer. Heres a rewrite of that complex
condition expression:
IS
... previous declarations ...
c_below_max_salary CONSTANT BOOLEAN :=
l_employee.salary < c_max_salary;
c_employed_at_least_5_years CONSTANT
BOOLEAN :=
l_employee.hire_date <
ADD_MONTHS (SYSDATE, -60));

A BOOLEAN JUST IS
I like the BOOLEAN datatype. I am glad it is
available in PL/SQL and look forward to the
day when I can create a column in a table of
type BOOLEAN.
I like BOOLEAN because so much code
in programs involves conditional logic, such
as If x is true, then y or While x is true,
execute loop body.
Without a BOOLEAN datatype, each
instance of x must be an expression, and
that expression can be quite complex, as in
IF (l_employee.salary < c_max_salary
AND

c_override_flag CONSTANT BOOLEAN :=


override_limit_in = 1;
BEGIN
IF (c_below_max_salary AND
c_employed_at_least_5_years) OR
c_override_flag = TRUE
THEN

So one antipattern to watch out for is the


complicated expression embedded inside
an IF statement. Instead, use Boolean
variables and constants to hide the details
behind a name.
There is, though, a second Boolean antipattern lurking in that rewritten code:

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_PLSQL.indd 45

2/23/15 10:00 AM

46

PL/SQL

c_override_flag = TRUE

WHILE (l_found_it <> TRUE) LOOP

All too often, I come across code that


looks like

This code is valid, but it is not as intuitive


as it could be and it reflects a misunderstanding of Booleans.
Heres the thing: a Boolean can be only
TRUE or FALSE (or, in the world of Oracle
Database, TRUE, FALSE, or NULL). So theres
no reason to write IF boolean_var = TRUE.
You can just write IF boolean_var. And
then you will quickly discover whether you
named your variable properly.
Consider the IF statement that contained
Boolean constants:

IF (c_below_max_salary AND
c_employed_at_least_5_years) OR

IF l_flag = TRUE

or
CASE
WHEN l_at_min_balance
= FALSE

or

c_override_flag = TRUE
THEN

I argue that the = TRUE is entirely unnecessary. That expression could simply be
IF (c_below_max_salary AND
c_employed_at_least_5_years) OR
c_override_flag
THEN

OK, so theres a little bit less code, and

Take the Challenge


l_status := plch_bad_func;

Each PL/SQL article offers a quiz to test your knowledge of the information provided in it. The quiz appears below and also at PL/SQL Challenge
(plsqlchallenge.com), a website that offers online quizzes on the PL/SQL
language as well as SQL, Oracle Application Express, and database design.
Here is your quiz for this article:
Which of these choices display -6502 after execution?

IF l_status = 0
THEN
/* Continue! */
NULL;
ELSE
DBMS_OUTPUT.put_line (l_status);

a.
CREATE OR REPLACE PROCEDURE plch_bad_proc
IS
l_number
NUMBER;
BEGIN
l_number := 'abc';
END;
/
BEGIN
plch_bad_proc;
/* Rest of program */
NULL;
EXCEPTION
WHEN VALUE_ERROR
THEN
DBMS_OUTPUT.put_line (SQLCODE);
END;
/

b.
CREATE OR REPLACE FUNCTION plch_bad_func
RETURN INTEGER
IS
l_number
NUMBER;
BEGIN
l_number := 'abc';
RETURN 0;
EXCEPTION
WHEN OTHERS
THEN
RETURN SQLCODE;
END;
/
DECLARE
l_status PLS_INTEGER;
BEGIN

/* Rest of program */
NULL;
END IF;
END;
/

c.
CREATE OR REPLACE PACKAGE plch_err_pkg
IS
most_recent_error
PLS_INTEGER := 0;
END;
/
CREATE OR REPLACE PROCEDURE plch_bad_proc
IS
l_number
NUMBER;
BEGIN
l_number := 'abc';
EXCEPTION
WHEN OTHERS
THEN
plch_err_pkg.most_recent_error := SQLCODE;
END;
/
BEGIN
plch_bad_proc;
IF plch_err_pkg.most_recent_error = 0
THEN
/* Continue! */
NULL;
ELSE
DBMS_OUTPUT.put_line (plch_err_pkg.most_recent_error);
plch_err_pkg.most_recent_error := 0;
END IF;
END;
/

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_PLSQL.indd 46

2/23/15 10:01 AM

47

thats almost always a good thing. But now


when I read that expression, it doesnt
sound right: If this employee is below the
maximum salary and started more than
5 years, or override flag.
Huh?
Whenever you declare anything, you want
to make sure the name describes as accurately as possible the value that thing will
hold (if its a variable) or represents (such as
a type). That is especially true for Booleans.
My constant, c_override_flag, is a
flagan indicator of the state of the override request. But the name of the constant
does not reveal that state: was the override
requested or not? A small change in the
name removes that ambiguity, resulting in
more-readable code:
IF (c_below_max_salary AND
c_employed_at_least_5_years) OR
c_override_requested
THEN

So remember: a Boolean can be only TRUE,


FALSE, or NULL. Dont write, IF my_boolean
IS TRUE. Just write, IF my_boolean. And
then make sure you use descriptive names
for your constants and variables so that the
code tells its story smoothly and clearly.
By the way, Boolean is capitalized
because that datatype is named after
George Boole, the father of symbolic logic
(more information on Boole is available at
wikipedia.org/wiki/George_Boole).
LET EXCEPTIONS SPEAK FOR THEMSELVES
If something goes wrong when you execute
your code, the PL/SQL runtime engine will
raise an exception. You can then choose to
handle that exception in your block or let it
propagate out to the enclosing block.
Or if you came to PL/SQL from another
language that did not offer a similar exception model, you might write code like this:

RETURN 1;

total_out OUT NUMBER)


RETURN PLS_INTEGER

WHEN OTHERS THEN


RETURN 0;
END;

You might then call this function:


BEGIN
l_status :=
total_salary (l_total);

l_total NUMBER;
BEGIN
... some_code ...

Then you leave it to the invokers of your


function to decide what to do about exceptions. If they choose to do nothing special
(the equivalent of forgetting to check the
status code after calling the first version of
total_salary), no problem. If an exception
propagates out of total_salary, the invoking
block will be terminated by PL/SQL.
The resulting code is simpler, easier to
maintain, and far easier to support.

IF l_status = 1 THEN
... continue ...

BEGIN

END IF;

l_total :=
total_salary ();

Yes, you can write PL/SQL code this way,


but it is a bad idea, for multiple reasons:
You (and anyone else calling this function) then have to take responsibility for
checking the status code.
Status codes usually end up being hardcoded, reducing readability and increasing
opportunities for bugs.
You end up with functions that have OUT
parameters. This is allowed in PL/SQL but
should be avoided, because it restricts
the ways that function can be used. (Most
importantly, it cannot be called from
within a SQL statement.)
You are working around the native paradigm
of the language, something that should be
done only when absolutely necessary.
And that approach to exception handling
is certainly not necessary in this case.
Use the built-in exception raising and
handling framework of PL/SQL. If you do not
need to trap an exception, let it propagate
out unhandled. If you need to implement
special logic for specific errors, then write a
handler just for that:

... continue ...


EXCEPTION
WHEN OTHERS THEN
log_error;
END;

CONSOLIDATE YOUR ESCAPE PLAN


One of the mantras of structured programming is, One way in, one way out.
For example, there should be just one
way into a loop or a function and just one
way to leave that loop or function.
In PL/SQL there is generally only one
way to go into or start a chunk of code: you
call the function, and in you go. You start
the loop, and in you go. But it is all too easy
to write loops with multiple termination
paths. It is also certainly possible, and all too
common, to write functions with multiple
RETURN statements.
Heres an example:
FUNCTION status_desc (
cd_in IN VARCHAR2)
RETURN VARCHAR2

FUNCTION total_salary RETURN NUMBER


RETURN PLS_INTEGER

IS
BEGIN
IF cd_in = 'C'

l_total NUMBER;
BEGIN
... some_code ...
RETURN l_total;

IS

END;

EXCEPTION

IS
FUNCTION total_salary (

RETURN 0;

l_total := total_out;

EXCEPTION
WHEN ZERO_DIVIDE
THEN

THEN RETURN 'CLOSED';


ELSIF cd_in = 'O'
THEN RETURN 'OPEN';
ELSIF cd_in = 'A'
THEN RETURN 'ACTIVE';
ELSIF cd_in = 'I'
THEN RETURN 'INACTIVE';

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_PLSQL.indd 47

2/23/15 10:01 AM

48

PL/SQL

END IF;
END;

The problem with having multiple ways


out is that it makes the debugging process
much harder. I call my function. It returns the
wrong value. OK, but which RETURN returned
the wrong value? Which logic branch did it
follow? And if I want to trace (write to a log
table) what my function is doing, I have to
insert trace code before each return. Finally,
with multiple RETURNs, it is more likely that
there will be a pathway that does not execute
any RETURN statement. The following demonstrates the result when I call the status_
desc function with an undefined code:
BEGIN

last (and only) statement in the function is


executed, or an exception is raised.
The PL/SQL compile time warnings
feature can help you with this antipattern. There are no warnings for Multiple
RETURNS in your function. But the PL/SQL
compiler can tell you if it has identified at
least one possible logic path in your function that would result in no RETURN being
executed (and the raising of the ORA-06503
error at runtime): the PLW-05005 warning.
Assuming that the first version of status_
desc with multiple returns is still compiled
into the database, I will see the following
when I turn on warnings and recompile:

Answer to Last Issues Challenge


The PL/SQL Challenge quiz in last issues
When Packages Need to Lose Weight
article presented several statements about
PL/SQL in Oracle Database 12c and asked
which statements were true. Answers (a)
and (c) were false; answer (b) was true.
ACCESSIBLE BY in Oracle Database 12c makes
answer (a) false. Answer (b) is true because
there are no new features in Oracle Database
12c that allow you to break through the
package specification to invoke private
subprograms from outside of the package.
Answer (c) is false because ACCESSIBLE BY in
Oracle Database 12c is called once and uses a
comma-delimited list of values.

BEGIN
ALTER SESSION SET plsql_warnings =

FOR indx IN 1 .. my_collection.COUNT

'ENABLE:5005'

LOOP

... some code ...

END;

ALTER FUNCTION status_desc COMPILE

IF my_collection (indx) =

DBMS_OUTPUT.PUT_LINE (
status_desc ('X'));

l_termination_value
THEN

ORA-06503: PL/SQL: Function returned

PLW-05005: subprogram STATUS_DESC

without value

returns without value at line 15

This is an embarrassing error for a user to


have to report. It sends a clear message that I
designed and tested my code very poorly.
Fortunately, it is quite easy to fix this
antipattern: limit yourself to just one
RETURN in the executable section of the
function, and make it the very last statement in that section.
I rewrote the status_desc function to
follow this approach:

But the function is valid, so even if the


compiler produces this warning, the function can still be executed.
If that bothers you, tell the compiler to
treat PLW-05005 as a compile error (because
you really dont want to embarrass yourself in
the eyes of your users on this one):

EXIT;
END IF;
END LOOP;
END;

There are a couple of problems with this


block. First of all, from the standpoint of
code compactness, that IF statement should
be replaced with an EXIT WHEN, as in
EXIT WHEN

ALTER SESSION SET plsql_warnings =


'ERROR:5005'

my_collection (indx) =
l_termination_value

/
FUNCTION status_desc (
cd_in IN VARCHAR2)

ALTER FUNCTION status_desc COMPILE

RETURN VARCHAR2

IS
BEGIN

PLS-05005: subprogram STATUS_DESC

RETURN

returns without value at line 15

CASE cd_in
WHEN 'C' THEN 'CLOSED'
WHEN 'O' THEN 'OPEN'
WHEN 'A' THEN 'ACTIVE'
WHEN 'I' THEN 'INACTIVE'
END;
END;

Now it is literally impossible for this function to cause an ORA-06503 error. Either the

Note that the message now starts with


PLS and not PLW. This indicates that
5005 was treated as an error and not a
warning. The status of this function is
now INVALID.
The situation with loops is similar to that
with functions, but the thing to watch out for
is one or more EXIT statements, rather than
RETURNs. Consider the following block:

But the bigger problem is that the EXIT


WHEN should not be used inside a FOR loop.
A FOR loop says to anyone reading the code:
I am going to execute the body N times. In
other words, the built-in way out of a FOR
loop is to execute the body the Nth time.
If, however, there is an EXIT statement
inside the FOR loop, you have a potential
second exit path. In this case, you should
switch to either a simple loop or a WHILE
loop. Heres the WHILE loop implementation:
DECLARE
c_coll_count PLS_INTEGER :=
my_collection.COUNT;
l_found_terminator BOOLEAN

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_PLSQL.indd 48

2/23/15 10:02 AM

49

:= FALSE;
l_index PLS_INTEGER := 1;
BEGIN
WHILE (NOT l_found_terminator AND
l_index < c_coll_count)
LOOP
... some code ...
l_found_terminator :=
my_collection (indx) =
l_termination_value;
l_index := l_index + 1;
END LOOP;
END;

I am certain that some readers will object.


This rewrite contains a lot more code. Surely
the original version is clear enough, even if
there are multiple exit pathways?
For this simple example, I would agree.
But when you are working on a more complex

piece of code and a loop body that contains


50 or 100 lines of code, the possible pain of
debugging will better justify the rewrite.
So remember:
Include only one RETURN in your functions executable sectionand make it the
very last line of that section.
Use compile time warnings to identify
potential runtime issues in your code.
Avoid EXIT and EXIT WHEN statements in
FOR and WHILE loops.
EVERY LITTLE BIT HELPS
When we build applications, we have to
think of and code everything. As a result,
even the smallest points of confusion or
ambiguity can accumulate into a hard-tomanage application. Every resolution of
an antipattern, either large or small, contributes to a high-quality application that
developers can understand and enhance
more easily.

Steven Feuerstein
(steven.feuerstein@
oracle.com) is an
architect for Oracle,
specializing in PL/SQL.
His books, such as
Oracle PL/SQL Programming, and more
than a thousand PL/SQL quizzes at PL/SQL
Challenge (plsqlchallenge.com) provide in-depth
resources for PL/SQL developers.

NEXT STEPS
DOWNLOAD
Oracle Database 12c
bit.ly/fherki
TEST your PL/SQL knowledge
plsqlchallenge.com
READ more Feuerstein
bit.ly/omagplsql
READ more about PL/SQL
oracle.com/plsql

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_PLSQL.indd 49

2/23/15 10:03 AM

ISV Apps

Run Better
on Exadata
30x Lower CPU Utilization
19x More Registrations
4x Less Storage Used
90% Linear Scalability
15x Faster MDM Throughput
70:1 Compression
30x More Scalable

Over 2500+ ISV Applications Are Certified on Exadata

oracle.com/exadata

Copyright 2015, 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.

VENDOR NOTE: Please use center marks to align page.

Resize

8 x 10.875

Job #:
Ref #:
Headline:
Live:
Trim:
Bleed:

315M_OPN00221_ISVAppsEXD
M_215M_OPN00164_ISVAppsEXD
ISV Apps Run Better on Exadata
7 x 9.875
8 x 10.875
8.25 x 11.125

Fonts: Univers LT Std. 75 Black, 65 Bold, 55 Roman, 45 Light,


67 Bold Condensed, 57 Condensed

PRODUCTION NOTES

READER

01

LASER%

RELEASED

2/20
2015

Please examine these publication materials carefully.


Any questions regarding the materials, please
contact Darci Terlizzi (650) 506-9775

DBA

RECOVERY BY ARUP NANDA

51

ORACLE DATABASE 12c, ORACLE RECOVERY MANAGER

Recover One

Recover one table from a database backup with


Oracle Recovery Manager in Oracle Database 12c.

I-HUA CHEN

veryone understands the occasional


need to recover a database from backup.
Although it may sound complicated, its actually a relatively simple task with the Oracle
Recovery Manager (Oracle RMAN) feature of
Oracle Database. A much bigger challenge is
recovering a specific table (or a partition of a
table) from backup while keeping the rest of
the database intact. You often need this more
granular recovery when a table is dropped
mistakenly or when a copy of the table as of a
previous point in time needs to be reinstated
after a lot of changes. In some cases, you may
be able to recover the table with flashback
technologies, but if you cant, you can follow
this general series of manual steps to recover
a specific dropped table without affecting
the operation of the database:
1. Create a temporary database instance.
2. Restore all the required tablespaces from
the backup to this temporary database.
3. Perform a point-in-time recovery of these
tablespaces to just before the table drop.
4. Export the specific table (or partition).
5. Import the table to the original database.
6. Drop the temporary database.
This whole process is complicated and
error-prone. And as if that were not enough,
often you have no choice but to perform the
recovery on the same server where the source
database is running, therefore increasing the
possibility that your activity will overwrite
the original database files and corrupt the
original databasea significant risk. So the
task of performing a single table recovery
demands thorough planning, likely by a senior
DBA experienced in this specific activity.
Not anymore. With Oracle RMAN in
Oracle Database 12c, you can recover a single
table or a partition of a table with just one
command. Behind the scenes, that Oracle
RMAN command performs all the necessary
complicated and risky taskssparing you the
detailed planning and execution. The process

is simple enough to be carried out by just


about anyone familiar with Oracle RMAN. In
this article, I will describe various scenarios
for recovering a specific table or partition of a
backup while keeping the rest of the database
unaffected and explain how the recovery

works under the covers. I will also reference


the six general manual recovery steps listed
above in the explanations of the Oracle
RMAN actions. Note that the steps in this
article assume that you have a backup of the
database and that backup is available.

Code Listing 1: Part 1 of recover output


Starting recover at 11-DEC-14
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=149 instance=cdborcl1 device type=DISK
RMAN-05026: WARNING: presuming following set of tablespaces applies to
specified Point-in-Time
List of tablespaces expected to have UNDO segments
Tablespace SYSTEM
output truncated
Creating automatic instance, with SID='pDFk'
initialization parameters used for automatic instance:
db_name=CDBORCL
output truncated
starting up automatic instance CDBORCL
Oracle instance started
output truncated
Automatic instance created

Code Listing 2: Part 2 of recover output


contents of Memory Script:
{
set until time "to_date('2014-12-11:20:36:00','yyyy-mm-dd:hh24:mi:ss')";
restore clone controlfile;
sql clone 'alter database mount clone database';
sql 'alter system archive log current';
}
executing Memory Script
... output truncated ...
Finished restore at 11-DEC-14
sql statement: alter database mount clone database
... output truncated ...
contents of Memory Script:
{
set until time "to_date('2014-12-11:20:36:00','yyyy-mm-dd:hh24:mi:ss')";
set newname for clone datafile 1 to new;
... output truncated ...
switch clone tempfile all;
restore clone datafile 1, 4, 8, 9, 10, 3, 11, 12;
switch clone datafile all;
}
executing Memory Script
... output truncated ...

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_DBA.indd 51

2/19/15 10:20 AM

52

RECOVERY

RECOVERY
Your task is to recover a tableT1, accidentally dropped earlier in the ACME schema.
To complete the recovery, you need to know
three things besides the table name:
1. Because this is a point-in-time recovery,
you need to know the ending time of
the recovery. This time should be just
before the drop. In this case, the time is
20:36:00 on December 11.
2. You need to know the tablespace (or
tablespaces, for a partitioned table)
where the table was originally located.
3. You need to know where to create the
temporary database. Because the
recover command needs to create a
temporaryalso known as an auxiliary
database, you will need to designate a
space where this database can be created.
It will be dropped later, so it doesnt have
to be a permanent space, but it has to be
large enough to store all the necessary
tablespaces required for recovery.
Note that the recovery process
will restore the original tablespace(s)
of the table, including the SYSTEM,
SYSAUX, and undo tablespaces.
The process will not overwrite the
existing files in the original database;
it will create a new auxiliary database
and restore the tablespace(s) from
the original database backup to the
temporary space. For this recovery,
the temporary space is the DATA2
disk group. It can be any locationa
directory or a disk groupas long as
it is available to the database server.
With the time, original tablespace location, and temporary space location information, invoke Oracle RMAN and run the following at the prompt to recover the T1 table:
recover table acme.t1

Code Listing 3: Part 3 of recover output


contents of Memory Script:
{
set until time "to_date('2014-12-11:20:36:00','yyyy-mm-dd:hh24:mi:ss')";
sql clone "alter database datafile 1 online";
... output truncated ...
sql clone 'PDB1' "alter database datafile 12 online";
recover clone database tablespace "SYSTEM", "UNDOTBS1", "UNDOTBS2",
"UNDOTBS3", "UNDOTBS4", "SYSAUX", "PDB1":"SYSTEM", "PDB1":"SYSAUX";
sql clone 'alter database open read only';
}
executing Memory Script
... output truncated ...
sql statement: alter database datafile 12 online
Starting recover at 11-DEC-14
... output truncated ...
starting media recovery
... output truncated ...
archived log file name=+DATA2/CDBORCL/ARCHIVELOG/2014_12_11/thread_1_
seq_312.308.866061509 thread=1 sequence=312
... output truncated ...
Finished recover at 11-DEC-14
sql statement: alter database open read only
contents of Memory Script:
{
sql clone 'alter pluggable database PDB1 open read only';
}
executing Memory Script
... output truncated ...
contents of Memory Script:
{
sql clone "create spfile from memory";
shutdown clone immediate;
startup clone nomount;
sql clone "alter system set control_files =
''+DATA2/CDBORCL/CONTROLFILE/current.315.866068089'' comment=''RMAN set''
scope=spfile";
shutdown clone immediate;
startup clone nomount;
sql clone 'alter database mount clone database';
}
executing Memory Script
... output truncated ...
sql statement: alter pluggable database PDB1 open

If you use the Oracle Multitenant option


with multiple pluggable databases (PDBs),
its possible that the schema (ACME in this
example) exists on many PDBs and the
ACME.T1 table is not unique. If thats the
case, provide another clause to specify the
PDB name where this table was located:

until time "to_date('2014-12-11:20:36:00',


'yyyy-mm-dd:hh24:mi:ss')"

recover table acme.t1

auxiliary destination '+DATA2';

of pluggable database pdb1


until time "to_date(2014-12-11:20:36:00',

Note that instead of recovering by specifying a time, you can recover by specifying
a system change number (SCN) in the
UNTIL clause:
until scn 123456

'yyyy-mm-dd:hh24:mi:ss')"
auxiliary destination '+DATA2';

The recover command produces a very


long output. Rather than showing the entire
output as one massive code listing, I have

broken it into smaller chunks in different


listings. I have also truncated most of the
output, leaving only those parts necessary for understanding the table recovery
process. Listing 1 shows the first part of
the recover command output, which
demonstrates typical Oracle RMAN activities such as channel creation. Note the line
in the output in boldface; it shows that
Oracle RMAN creates an automatic database instance with the system identifier
(SID) pDFk. (This process is the equivalent
of manual step 1 at the beginning of this
article). This SID name is a random fourcharacter string unlikely to coincide with
a real database SID on that server. After
several lines, the output reports that an

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_DBA.indd 52

2/19/15 10:21 AM

53

instance was created automatically with the


initialization parameters shown.
After it creates the instance with the
SID pDFk, the recover command creates
a script in memory, as shown in Listing 2.
This script restores the control file from the
backup for this newly created instance and
mounts it. Because the instance is new but
the backups are from an existing database,
the automatic instance is mounted as a
clone database of the original database
(shown in the boldface sql statement
line in the output). Then the Oracle RMAN
recover command restores the datafiles
necessary for this recovery (shown in boldface in the output). Oracle RMAN automatically determines the datafiles neededyou
dont have to provide them. (This process
is the equivalent of manual step 2 at the
beginning of this article.)
After the database restore, the next
recovery step is to bring the files up to a point
in time. Part 3 of the Oracle RMAN recover
command output (shown in Listing 3) shows
the recovery continuing for the clone database until the boldface line that confirms
that the recovery is finished. At this point,
the database is opened, and because this
recovery is for a table in a specific PDB, that
PDBnamed PDB1is recovered, as shown
in the last line of the output in Listing 3. (This
process is the equivalent of manual step 3 at
the beginning of this article.)
At this point, the temporary database is
ready. The next task is to export the T1 table
in that temporary database, which is exactly
what Oracle RMAN does. As shown in the
continued output in Listing 4, the recover
command creates a directory objectcalled
TSPITR_DIROBJ_DPDIRin the auxiliary
space designated earlier. Then the recover
command exports the T1 table, as shown in
the first boldface line in Listing 4, to a dump
file named TSPITR_EXP_pDFk_igrf. (This
process is the equivalent of manual step 4 at
the beginning of this article.)
After the export, the recover command
imports the dump file into the primary
source database, using IMPDP, as shown in
the output in Listing 4. (The Import completed line confirms the action.) At this
stage, the T1 tablefrom backupis now
part of the primary source database. (This

Code Listing 4: Part 4 of recover output


contents of Memory Script:
{
sql clone 'PDB1' "create or replace directory TSPITR_DIROBJ_DPDIR as
''+DATA2''";
}
executing Memory Script
... output truncated ...
Performing export of tables...
EXPDP> Starting "SYS"."TSPITR_EXP_pDFk_igrf":
... output truncated ...
EXPDP> . . exported "ACME"."T1"
8.518 MB
73604 rows
... output truncated ...
Oracle instance shut down
Performing import of tables...
... output truncated ...
IMPDP> . . imported "ACME"."T1"
8.518 MB
73604 rows
... output truncated ...
Import completed
... output truncated ...
Automatic instance removed
... output truncated ...
Finished recover at 11-DEC-14
Recovery Manager complete.

process is the equivalent of manual step 5


at the beginning of this article.) The temporary clone database and instance (with
the pDFk SID) created earlier have served
their purpose and are no longer needed, so
as a final act, the Oracle RMAN recover
command drops them as shown in the last
lines of the output in Listing 4. (This process
is the equivalent of manual step 6 at the
beginning of this article.)
Mission accomplished.
Looking at the complete Oracle RMAN
recover process, the activities conducted
by Oracle RMAN are no different from
what you would have done to recover a
single table from backup, but all the tasks
you would have done manually (shown as
manual steps at the beginning of the article)
were done automatically by Oracle RMAN.
The Oracle RMAN recover process not
only makes the recovery process simple to
the point of being trivial, but it also makes
it significantly less risky, less error-prone,
and less time-consumingmeaning that it
can be done by just about anyone incredibly
quickly, with no lead time.

partition, you can easily create a new table to


hold the contents of that partition. The following recovers partition P1 of the table PT1
but creates it as a new table named PT1_P1:
recover table acme.pt1:p1
of pluggable database pdb1
until scn 123456
auxiliary destination '+DATA2'
remap table ACME.PT1:P1:PT1_P1

Sometimes you may want to send the


export dump file to someone or import it
to another databasenot the database the
backup was from. For example, you may
want to get a copy of a table from production
as of some point in time for development
debugging purposes. In such a case, you
can use the NOTABLEIMPORT clause, which
instructs the Oracle RMAN recover activities
to skip the import portion:
recover table acme.t1
of pluggable database pdb1
until SCN 1234567
auxiliary destination '+DATA2'
notableimport;

ADVANCED USES
If you want to recover a specific partition of
a tablenot the entire tableyou can use
REMAP. Consider a case where a partition
exists in the table. Instead of dropping the

The recover command output in this


case is the same as the original example,
except that the import portion is absent.
The following line appears after the export:

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_DBA.indd 53

2/19/15 10:21 AM

54

RECOVERY

Not performing table import after

$ impdp acme/acme@pdb11

point-in-time recovery

cluster=no

time while the database is unaffected. This is


useful for debugging scenarios in which you
may want to compare the contents of a table
across different time periods.

directory=tmp_dir

The output does, however, show the


name of the export dump file that was
created by the recover command. For
this example, the dump file is +DATA2/
tspitr_Bmsq_94367.dmp. To import it
into a database on a file system, you can
copy the file to the file system with the
ASMCMD utility:

dumpfile=tspitr_Bmsq_94367.dmp

To confirm that the table exists, connect


to the database as ACME, and execute
the following:
SQL> select tname from tab;
TNAME

$ asmcmd -p

ASMCMD [+] > cd DATA2

T1

ASMCMD [+DATA2] > cp tspitr_Bmsq_94367.dmp


/tmp/tspitr_Bmsq_94367.dmp
copying +DATA2/tspitr_Bmsq_94367.dmp ->
/tmp/tspitr_Bmsq_94367.dmp

The tspitr_Bmsq_94367.dmp file is


copied to /tmp. To import it, execute
the following:

CONCLUSION
In this article, you learned how to recover
a single table or partition from backup by
using just one Oracle RMAN command
recover. You can also use this recovery
process to create a copy of the table (or partition) from a backup as of a previous point in

Arup Nanda (arup@


proligence.com) has
been an Oracle DBA
since 1993, handling
all aspects of database
administration, from
performance tuning to security and disaster
recovery. He was Oracle Magazines DBA of the
Year in 2003 and received an Oracle Excellence
Award for Technologist of the Year in 2012.

NEXT STEPS
LEARN more about Oracle RMAN
bit.ly/tblrecover
DOWNLOAD Oracle Database 12c
bit.ly/1czAk2I

Peak Performance for your Oracle Applications

World-Class Managed Services


Today's systems are extremely complex, consisting of many layers of
technology components and business integration services. Cybernoors
technical expertise and holistic methodology ensure your Oracle systems are
managed optimally and proactively in order to ensure maximum performance
and availability. Our proactive monitoring services guarantee potential issues
are quickly identified and resolved before they impact business operations.
Contact Cybernoor to learn more about our managed services.

cybernoor.com

925.924.0400

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_DBA.indd 54

2/19/15 10:21 AM

Database Application Developer and DBA

ASK TOM BY TOM KYTE

55

ORACLE DATABASE

On SQL, SQL, and More SQL


Our technologist says yes, yes, yes to interesting
SQL solutions.

was looking at my recent Ask Tom questions, figuring out what I was going to
write about in this issue of Oracle Magazine,
and I noticed a theme: short questions with
interesting SQL solutions. SQL solutions
that go a little bit outside the box.
Also, Ive been on a Yes SQL kick recently,
pointing out that SQL is an extremely powerful language and that with mastery of just
a few features, you can do things in a highly
scalable fashion with very little code.
So this column will be all about SQL,
showcasing what I think are interesting
applications of SQL functionality that you
may either not be aware of or never thought
of using in quite the way I do. In this limited
space, I cannot explain every nuance of how
the SQL works; rather, Im hoping to whet
your appetite and point you to where you
can get more information.

values (date '2014-12-06', 1);

10

insert into jr_tmp (d, n)

11

values (date '2014-12-07', 1);

12

insert into jr_tmp (d, n)

13

values (date '2014-12-08', 1);

14

<My query here>

MIN(D)

MAX(D)

01-DEC-14 03-DEC-14

04-DEC-14 05-DEC-14

01-DEC-14 03-DEC-14 1

06-DEC-14 08-DEC-14

D_FROM

D_TO

04-DEC-14 05-DEC-14 2
06-DEC-14 08-DEC-14 1

FINDING MIN/MAX VALUES


How can I create a query in Oracle Database 11g
Release 2 to return the results shown? I need to
find the date values at the beginning and end
of the range for any sequence of consecutive
rowsordered by datethat have the same
value for N. I have a feeling it involves analytic
functions, but they hadnt been invented when
I took my only SQL course, in 1987!

The year 1987 is when I took my first SQL


course. But I keep taking them, and they
help me do some pretty amazing things.
(Andjust a thoughtit might be time for
a refresher!) For those who wonder what
courses I take, they are all self-taught these
days, and Ask Tom is my classroom. Youll
see an example of that education in this very
Q&A, originally posted at bit.ly/atminmax.
There are various approaches I could take
to answer this question, and the one Ive
chosen is a technique Ive been using since
analytic functions first became available,
in Oracle8i Database Release 2 (a long, long
time ago!). I call it my carry down technique. Here is the solution:

drop table jr_tmp;

SQL> select min(d), max(d), n, grp2

create table jr_tmp (d date, n number);

insert into jr_tmp (d, n)

To fully demonstrate it, I will run it piece


by piece to show what is happening, starting
with the innermost inline view. I start by
marking the beginning of each group; I
do this by using the LAG analytic function
to look back one row in the result set to see
if the prior rows N value was different from
the current rows N value.
If the N value is different, I output a unique
marker that denotes the beginning of a new
group of records to find the min/max value:
SQL> select d, n,
2

case when (nvl(lag(n)


over (order by d),n-1) <> n) then

row_number() over (order by d)

end grp

from jr_tmp
/

from (

GRP

select d, n,

values (date '2014-12-01', 1);

last_value(grp ignore nulls)

01-DEC-14

insert into jr_tmp (d, n)

over (order by d) grp2

02-DEC-14

03-DEC-14

04-DEC-14

case when (nvl(lag(n)

05-DEC-14

over (order by d),n-1) <> n) then

values (date '2014-12-02', 1);

insert into jr_tmp (d, n)

values (date '2014-12-03', 1);

insert into jr_tmp (d, n)


values (date '2014-12-04', 2);

GRP2

I-HUA CHEN

group by n, grp2
order by 1

insert into jr_tmp (d, n)


values (date '2014-12-05', 2);

insert into jr_tmp (d, n)

from (
select d, n,

06-DEC-14

row_number()

07-DEC-14

over (order by d)

08-DEC-14

4
6

end grp
from jr_tmp

8 rows selected.

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_AskTom.indd 55

2/19/15 4:35 PM

56

ASK TOM

Next, I carry down the GRP column I


just created, so that all the records in the
group have the same value. I use the LAST_
VALUE analytic function with the IGNORE
NULLS option to accomplish this:

select * from jr_tmp


match_recognize(
order by d
measures first(d) d_from,
last(d) d_to, n n
pattern (a b*)
define b as n = prev(n)

SQL> select d, n,
last_value(grp ignore nulls)

);

over (order by d) grp2


2
3

D_FROM

from (

D_TO

select d, n,
case when (nvl(lag(n)

2014-12-01 2014-12-03

over (order by d),n-1) <> n) then

2014-12-04 2014-12-05

2014-12-06 2014-12-08

4
5

row_number()

over (order by d)
6

end grp

from jr_tmp

8
9

)
/

GRP2


01-DEC-14

02-DEC-14

03-DEC-14

04-DEC-14

05-DEC-14

06-DEC-14

07-DEC-14

08-DEC-14

I knew about the MATCH_RECOGNIZE


clauseI recently wrote about it in Oracle
Magazine (bit.ly/at12cpt2). If you read that
article, youll get some insight into how this
approach works. For this current question, if
the person who originally posed it had been
using Oracle Database 12c, he would likely
have found using MATCH_RECOGNIZE to be
a better-performing approach than using
the multiple layers of analytics. My analytic
approach required multiple passes through
and sorts of the data, and as the result set
grows, the TEMP resources required by the

analytics could grow immensely, due to all


the intermediate result sets. The row pattern
matching MATCH_RECOGNIZE approach, in
contrast, would require only one pass.
But because Stew threw out the challenge, I decided to think about this problem
again to see if there might be an alternative
approach in Oracle Database 11g Release 2
that wasnt available when I first developed
this technique. Upon thinking about it,
I found a feature that was introduced in
Oracle Database 10gthe MODEL clause
and I used it to provide still another answer
to this question, as shown in Listing 1.
I got interested in the MODEL clause when
someone followed up a complex answer I
presented in response to a question with an
elegant (and much more scalable) approach
that uses pure SQL with the MODEL clause.
You can read about that at bit.ly/atmodel.
LIMITING THE RECORDS
Is it possible to limit the number of records
retrieved in a query by using an analytic
function? For example, I have
create table family (lastName
varchar2(30),

Code Listing 1: The MODEL clause solution to Finding MIN/MAX Values

8 rows selected.

Once I have that result set, finding the


min/max values for like values of N after
sorting by the date column is rather easy.
Now here is where the SQL learning comes
in. Over time, as SQL evolves and grows, new
approaches become available. Sometimes
these new approaches are better-performing
and more scalable, sometimes they are more
flexible, and sometimes they are just easier
to code. A new approach does not rule out the
old one; it just gives you more tools to consider when attacking a problem.
In this case, shortly after I posted this
Q&A, a frequent Ask Tom reader and
contributor, Stew Ashton, posted an alternative approach that uses a new Oracle
Database 12c capability. He wrote, If your
refresher course includes [Oracle Database]
12c, you should learn about the MATCH_
RECOGNIZE clause!

SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

select min(d), max(d), n, grp


from
(
select *
from
( select d, n, grp, rn
from jr_tmp
model dimension by(row_number() over(order by d) rn)
measures(d, n, 1 grp)
rules(grp[rn=1] = 1,
grp[rn > 1] =
case when (n[cv() - 1] <> n[cv()])
then grp[cv()-1]+1
else grp[cv()-1]
end
)
)
)
group by n, grp
order by 1
/

MIN(D)

01-DEC-14
04-DEC-14
06-DEC-14

MAX(D)
N
GRP

03-DEC-14
1
1
05-DEC-14
2
2
08-DEC-14
1
3

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_AskTom.indd 56

2/19/15 4:36 PM

57

firstname,

insert into family (lastName, firstName)


values ('Afam','Alan');

DISTINCT COUNT OF A VALUE ACROSS


COLUMNS IN A TABLE
I have this table:

select lastname,

firstName varchar2(30));
3

dense_rank() over (
order by lastname) dr

insert into family (lastName, firstName)


values ('Afam','Ben');

insert into family (lastName, firstName)

from family )

select * from country_test;

values ('Afam','Corey');

c1

c2

c3

c4

insert into family (lastName, firstName)

LASTNAME FIRSTNAME

values ('Bfam','Anna');

india us

insert into family (lastName, firstName)

Afam

india india china uk

values ('Bfam','Bobo');

Afam

Ben

india china china uk

insert into family (lastName, firstName)

Afam

Corey

us

values ('Cfam','Ava');

Bfam

Anna

insert into family (lastName, firstName)

Bfam

Bobo

values ('Dfam','Anny');

Cfam

Ava

insert into family (lastName, firstName)

Dfam

Anny

values ('Dfam','Bertha');

Dfam

Bertha

And I need to be able to query the table and


retrieve all the rows where lastName is in the
first N occurrences. My idea was to produce a
something_like_row_number() function so I
can query as follows:

8 rows selected.

DR

Alan

(select lastName,firstName,

where slr<=2;

SQL> select *
from (select lastname, firstname,

This something_like_row_number function


should start from 1 and increase for every
new family:

c2

india us

This demonstrates the effect of the


DENSE_RANK ranking function. It, in effect,
assigns a score to each set of last names,
and once they are assigned, the result
becomes rather easy to filter, resulting in
only the two groups required:

dense_rank() over (
order by lastname) dr

4
5
6

uk

c3

c4

cnt

something_like_row_number slr
from family)

us

I need the distinct count of countries across


the c1,c2,c3,c4 columns of the table, so the
output has to be
c1

select * from

us

china uk

from family )
where dr <= 2
/

Afam Alan 1
FIRSTNAME

DR

china uk

india india china uk

india china china uk

us

us

us

uk

I found this Q&A on Ask Tom to be really


funfun to write the initial answer and then
even more fun to watch all the alternative
approaches. You can see the entire progression at bit.ly/atdistc; Ill showcase a few
approaches here.
My initial answer was to use a Cartesian
join to turn each of the four columns into
four rowsthat is, turn each individual row
into four separate rows while giving each of
these four new rows something unique
so I could do a COUNT(DISTINCT) on that
group. Here was my approach:

Afam Ben 1

LASTNAME

Afam Corey 1

Bfam Anna 1

Afam

Alan

Bfam Bobo 2

Afam

Ben

Afam

Corey

as

Cfam Ava 3

Bfam

Anna

(select 1 r from dual

Dfam Anny 4

Bfam

Bobo

Dfam Bertha 4

Since I really dont need the rest of my data, is


there a way to stop my search right after slr>2?
The person who posed this question is
looking for ranking functions. Ive covered
these in the past (bit.ly/attop-n) and
decided to use them for this solution:
SQL> select *
2

from (

SQL> with data(r)

Ive often said that analytics were the best


thing to happen to SQL since the keyword
SELECT. If you have never used them, you are
missing out on one of the most powerful constructs available in SQL today. Analytic functions are part of the SQL standard; they are
not a proprietary, nonportable solution. You
can get a nice SQL 101 introduction to them
in the series of articles at bit.ly/sql101p10,
bit.ly/sql101p11, and bit.ly/sql101p12.

union all
select r+1 from data where r < 4

select c1, c2, c3, c4,


count(distinct c) cnt

8
9

from (
select rowid rid,

10

c1, c2, c3, c4,

11

decode(
r,1,c1,2,c2,3,c3,4,c4) c

12
13

from data, country_test


)

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_AskTom.indd 57

2/19/15 4:36 PM

58

ASK TOM

14
15

group by rid, c1, c2, c3, c4


/

C1

C2

C3

C4

CNT


india

us

china

uk

us

us

us

uk

india

india

china

uk

india

china

china

uk

This query works by first generating a


set of four rows by using a recursive WITH
subquery. After that I perform a Cartesian
join of those four rows to the original table,
turning each single row into four almost
duplicate rows. ROWID would be duplicated, but the new column C could differ
in these four rows. Next, using DECODE, I
populate a single column in each of those
rowsone of the four original columns. I
keep the primary key (ROWID in this case) so
I can safely group by (in case two rows have
the same c1..c4 values). Last, all I have to do
is group by the duplicate values to get the
four rows back into their original one row
while performing the COUNT(DISTINCT) on
the C column. (If you have never seen the
recursive WITH subquery before, you might
want to check out the Recursive Subquery
Factoring section at bit.ly/atnewed.)
Shortly after I posted this answer, in came
a flood of alternatives. This is the part I really
like, and this is where I myself learn new
techniques. None of these were truly new to
meIve used them all before; I just didnt
think to use them in this case. Sometimes I
can get stuck in a rut, doing something the
way I first discovered 25 years ago.
Stew Ashton rang in with a nice technique:
select c1, c2, c3, c4, column_value cnt
from country_test,
table(cast(multiset(
select count(distinct c1) from (
select c1 from dual union all
select c2 from dual union all
select c3 from dual union all
select c4 from dual
)
) as sys.odcinumberlist));

That solution uses a technique available


since Oracle8 Database: table unnesting.

With the TABLE clause, each row in the


original source table is joined to the
nested table. In this case, each row in the
COUNTRY_TEST table is joined to the singlerow result set from the COUNT(DISTINCT) of
the four columns. This is potentially a better
approach for applications that want to get the
first row as quickly as possible (optimizing for

initial response time), because the database


would not have to perform the Cartesian join
and then aggregate results before returning a
row. Rather, with table unnesting, you would
be able to get a row returned immediately.
My Cartesian join approach would likely
be good for applications that want to get the
last row as quickly as possible (optimizing

Code Listing 2: Generated result set in DATA table


SQL> variable txt varchar2(20)
SQL> exec :txt := 1,2,3
PL/SQL procedure successfully completed.
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

with data
as
(
select
trim( substr (txt,
instr (txt, ',', 1, level ) + 1,
instr (txt, ',', 1, level+1)
- instr (txt, ',', 1, level) -1 ) )
as token
from (select ','||:txt||',' txt
from dual)
connect by level <=
length(:txt)-length(replace(:txt,',',''))+1
)
select *
from data;

TOKEN

1
2
3

Code Listing 3: Finished solution for Looking for Sets in Sets


SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

with data
as
(
select
trim( substr (txt,
instr (txt, ',', 1, level ) + 1,
instr (txt, ',', 1, level+1)
- instr (txt, ',', 1, level) -1 ) )
as token
from (select ','||:txt||',' txt
from dual)
connect by level <=
length(:txt)-length(replace(:txt,',',''))+1
)
select id
from test, data
where id in (select id from test where x in (select * from data) )
and test.x = data.token(+)
group by id
having count(distinct data.token ) = (select count(*) from data)
and count(data.token) = count(*)
/

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_AskTom.indd 58

2/19/15 4:36 PM

59

for total throughput), because it would tend


to utilize far less total CPU. You can prove
this hypothesis by creating a large test table,
running both queries to completion, and then
using PL/SQL to define a cursor that fetches
just the first row from each query. You would
observe in a TKPROF report that the Cartesian
join, in fact, gets to the last row much more
quickly than table unnesting and uses significantly less CPU, whereas the table unnesting
approach gets the first row instantly; the
Cartesian join takes almost as long to return
the first row as it does the last row.
Stew later followed up with Forgot the
UNPIVOT!
select * from country_test,
lateral(
select count(distinct val) cnt from (
select c1,c2,c3,c4 from dual
) unpivot(val for col in (c1,c2,c3,c4))
);

This approach utilized one new Oracle


Database 12c featurethe LATERAL clause
and one new Oracle Database 11g feature
UNPIVOTto turn columns into rows.
LOOKING FOR SETS IN SETS
I have this table:
create table test
(
id

int ,

int

);
insert into test values (1,1);
insert into test values (1,2);
insert into test values (1,3);
insert into test values (1,4);
insert into test values (2,1);
insert into test values (2,2);
insert into test values (2,3);
insert into test values (3,1);
insert into test values (3,2);

I want to get IDs that have exactly x in (1,2).


Currently, the query should return ID = 3
only. Heres a query that returns the current
result requirement:

select distinct id
from test
where id in (select id from
test where x = 1)
and id in (select id from test
where x = 2)
and id not in (select id from test
where x not in (1,2));

But I also want to write a generic query in


case the requirement changes.
I can achieve this in a single query that
utilizes bind variablesso it doesnt have to
hard-parse each unique combinationby
using a simple outer join and some aggregation. First, I want to be able to generate
the target data set as a true result setnot
a comma-delimited list,but rather a set of
rows. I can do that with a small subquery,
as shown in Listing 2. By simply changing
the bind variable value to another delimited
string, I would generate an entirely different
set, using exactly the same SQL queryand
doing no hard parsing. (For more information
on how this magic worksand other uses of
this techniquesee bit.ly/atbvary.)
Once I have that small set of data in the
DATA table, I am ready to go. All I need to do
is find all the IDs in TEST that have at least
one X value in this set (those are the candidate IDs), and for all of those IDs, I make
an outer join to the DATA table. By using
an outer join, I make sure I get all the rows
from the TEST table. Once Ive done that,
it is just a matter of counting to make sure
that (1) all of the rows in TEST for a given
ID are matched up with a DATA row (if not,
there are rows in TEST that are not in DATA)
and that (2) Ive received as many rows from
TEST for a given ID as there are in DATA. The
finished query is in Listing 3.
On line 17 in Listing 3, I retrieve all the rows
from TEST such that the ID was in the set of
IDs that had an X value in DATA. Once I have
those, I make an outer join to DATA on line 18.
Again, that ensures that every row I retrieved
from TEST would be returned from the join,
regardless of whether I had a match in DATA.
On line 19 in Listing 3, I group by the ID
column so I can do some counting and verify
that, for a given ID, every row has a match in
DATA and that for every row in DATA, I have
a match in TEST. Those are exactly the IDs I

want. On line 20, I verify that the number of


rows that have a non-null DATA.TOKEN value
equals the number of rows in DATA (every
row in DATA has a match in TEST for that
ID). On line 21 in Listing 3, I verify that every
row for that ID in TEST has a match in DATA
by counting just the non-null occurrences
of DATA.TOKEN and comparing that result
with the COUNT of rows for that ID in TEST.
Thinking about this problem in sets is the
key to solving it effectively in SQL.
I dont have room to mention all the cool
things you can do in SQL that Ive addressed
on Ask Tom recently, but I can point you to
a few more:
Matrix multiplication (bit.ly/atmatrixm)
Turning a range of strings into a set of
strings (bit.ly/atran2str)
Getting the min/max values for a pair of
columns without considering the order of
the columns (bit.ly/atgetminmax)
Converting numbers into complex strings
(bit.ly/atconvertnum)
For more information on SQL, I
encourage you to go to oracle.com/sql and
check out the ever-evolving content there.

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
DOWNLOAD Oracle Database 12c
bit.ly/epBiUG
LEARN more about Oracle Database 12c
oracle.com/database
FOLLOW Oracle Database on Twitter
@oracledatabase

ORACLE MAGAZINE MARCH/APRIL 2015

MA15_AskTom.indd 59

2/19/15 4:36 PM

60

Last Word

Data Center of the Future


Origins: The cover story for this issue, Journey to the Core, started as notes
from the presentation by Oracle Executive Chairman and CTO Larry Ellison at
the Announcing the Next Generation of Oracle Engineered Systems event
on January 21, 2015. Notes were followed by story ideas and doodles. Ideas
and doodles were followed by the finished article, cover, and article design.
This page includes actual notes from January 21 and doodles and sketches
that followed. The Editors of Oracle Magazine

MARCH/APRIL 2015 ORACLE.COM/ORACLEMAGAZINE

MA15_LastWord.indd 60

2/23/15 2:18 PM

5 of the 5
Top Websites
Are Powered by

The #1 Open Source Database

oracle.com/mysql
or call 1.800.633.0738
Copyright 2014, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates.

PUB NOTE: Please use center marks to align page.

Resize

8 x 10.875

Job #:
Ref #:
Headline:
Live:
Trim:
Bleed:

315M_DB00175_Top5Websites_MySQL
M_215M_DB00163_Top5Websites_MySQL
5/5 Top Websites Are Powered by MySQL
7 x 9.875
8 x 10.875
8.25 x 11.125

Fonts: Univers LT Std. 75 Black, 65 Bold, 55 Roman, 45 Light,


67 Bold Condensed, 57 Condensed

PRODUCTION NOTES

Black Keyline
Prints!

READER

01

LASER%

RELEASED

12/10
2014

Please examine these publication materials carefully.


Any questions regarding the materials, please
contact Darci Terlizzi (650) 506-9775

You might also like