Professional Documents
Culture Documents
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
EXTREME ENGINEERING
New Oracle X5 engineered systems power the data center core and the cloud
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
CONTENTS
2014 ORACLE
EXCELLENCE AWARDS
/ 25
/ 36
/ 20
Up Front / 5
Community / 12
Technology / 41
PARTNER NEWS / 12
BOOK BEAT / 12
COMMUNITY
BULLETIN / 14
ORACLE ADF / 41
Security Season
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
PEER-TO-PEER / 17
How to Learn
Design Responsively
Use the Oracle Alta UI
design system to implement
a mobile-first strategy for
web applications.
Frank Nimphius
ASK TOM / 55
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
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.
MA15_TOC.indd 4
2/20/15 1:25 PM
Security Season
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
CONNECT:
bit.ly/orclmagcom
bit.ly/orclmagfb
linkd.in/orclmag
ORACLE MAGAZINE MARCH/APRIL 2015
MA15_EdNote.indd 5
2/23/15 11:10 AM
EVENTS
Technology Events
bit.ly/1Ja0kmc
COLLABORATE 15
greenjug.java.net
bit.ly/1r3gQyD
bit.ly/1sDVHXo
ukoug.org
EVENTS LOCATOR
Oracle Events
oracle.com/events
Locate User Groups
oracle.com/technetwork/community
coug.ab.ca
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.
inoug.org
austinjug.org
jugf.de
OpenWest Conference
May 69, Orem, Utah
openwest.org
csoaug.com
ukoug.org
neooug.org
nocoug.org
bit.ly/1K7sVZW
sroug.rs
GETTY IMAGES
Oracle CloudWorld
MA15_Events.indd 6
2/18/15 11:10 AM
86%
RESOURCES
VIDEOS
Next-Generation Oracle
SPARC Microprocessor
fbit.ly/1xs38ox
Oracle executives discuss breakthrough technology and features such as Software in Silicon.
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:
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
MA15_Resources.indd 8
2/19/15 4:41 PM
#C15LV
REGISTER
NOW
April 12-16, 2015
Mandalay Bay
PRESENTED BY:
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
MA15_Briefs.indd 10
2/19/15 4:49 PM
BRIEFS
I-HUA CHEN
11
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.
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
I-HUA CHEN
12
MA15_Partner.indd 12
2/18/15 11:16 AM
PARTNER NEWS
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
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
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 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.
I-HUA CHEN
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
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
PRODUCTION NOTES
READER
01
LASER%
RELEASED
2/20
2015
16
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
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
MA15_Architect.indd 16
2/18/15 11:35 AM
17
How to Learn
Three peers on the knowledge gained by sharing, traveling, and letting go of linear thinking
BIJU THOMAS
ANAR GODJAEV
MA15_Peer.indd 17
2/18/15 11:41 AM
ADVERTISING SUPPLEMENT
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
OMAGMA15_Intel.indd 22
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
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
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.
MA15_X5.indd 21
2/23/15 11:01 AM
Senior Vice
President of
Oracle Systems
Technologies
Juan Loaiza
discusses Oracle
Exadata hardware
and software.
Oracle Vice
President of
Big Data and
Advanced Analytics
Neil Mendelson
describes the
benefits of Oracle
Big Data Appliance.
MA15_X5.indd 22
2/23/15 11:03 AM
23
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,
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
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
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
NEXT STEPS
LEARN more about the Oracle
Excellence Awards
oracle.com/us/corporate/awards
MA15_CIO_opener.indd 25
2/18/15 1:37 PM
WINNING NOW
AND WINNING NEW
MA15_CIO_AP_SKTelecom.indd 26
2/18/15 1:47 PM
27
of cloud computing solutions that will enable us to differentiate SK Telecoms cloud computing services.
stand our customers needs better and provide moreinnovative solutions for them.
MA15_CIO_AP_SKTelecom.indd 27
2/18/15 1:48 PM
INVESTED IN TECHNOLOGY
CaixaBank is unifying big data and counting on Oracle.
BY DAVID A. KELLY
MA15_CIO_EMEA_CaixaBank.indd 28
2/18/15 2:02 PM
29
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
MA15_CIO_EMEA_CaixaBank.indd 29
2/18/15 2:03 PM
MA15_CIO_Japan_Mazda.indd 30
2/18/15 2:12 PM
31
MA15_CIO_Japan_Mazda.indd 31
2/18/15 2:52 PM
DELIVERING AND
EVOLVING MOBILE BANKING
Banco Davivienda technology goes out to get new customers.
BY DAVID A. KELLY
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.
MA15_CIO_LAD_BancoDivivienda.indd 32
2/18/15 2:32 PM
33
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
MA15_CIO_LAD_BancoDivivienda.indd 33
2/18/15 2:49 PM
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.
MA15_CIO_NA_ADM.indd 34
2/18/15 2:44 PM
35
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
ANDREA MANDEL
MA15_CIO_NA_ADM_R1.indd 35
2/27/15 1:19 PM
36
BUILDING
CUSTOMER
LOYALTY
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.
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
MA15_dunnhumby_R1.indd 36
2/27/15 1:16 PM
MA15_dunnhumby_R1.indd 37
2/27/15 1:17 PM
38
MA15_dunnhumby.indd 38
2/18/15 3:08 PM
JOHN BLYTHE
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
MA15_dunnhumby.indd 39
2/18/15 3:08 PM
@OraclePress
OraclePress
Java Developer
41
Design Responsively
MA15_ADF.indd 41
2/18/15 3:29 PM
42
ORACLE ADF
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.)
<extends>skyros-v1.desktop</extends>
with
<extends>alta-v1.desktop</extends>
MA15_ADF.indd 42
2/18/15 3:31 PM
43
to
<f:facet name="center">
</f:facet>
to
<f:facet name="appNav">
</f:facet>
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
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
MA15_ADF.indd 44
2/18/15 3:32 PM
45
ORACLE DATABASE
l_employee.hire_date <
DECLARE
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;
DECLARE
requested override... */
l_nextkey my_table.my_pky%TYPE;
BEGIN
l_nextkey := my_table_seq.NEXTVAL;
END;
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
MA15_PLSQL.indd 45
2/23/15 10:00 AM
46
PL/SQL
c_override_flag = TRUE
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
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;
/
MA15_PLSQL.indd 46
2/23/15 10:01 AM
47
RETURN 1;
l_total NUMBER;
BEGIN
... some_code ...
IF l_status = 1 THEN
... continue ...
BEGIN
END IF;
l_total :=
total_salary ();
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
MA15_PLSQL.indd 47
2/23/15 10:01 AM
48
PL/SQL
END IF;
END;
BEGIN
ALTER SESSION SET plsql_warnings =
'ENABLE:5005'
LOOP
END;
IF my_collection (indx) =
DBMS_OUTPUT.PUT_LINE (
status_desc ('X'));
l_termination_value
THEN
without value
EXIT;
END IF;
END LOOP;
END;
my_collection (indx) =
l_termination_value
/
FUNCTION status_desc (
cd_in IN VARCHAR2)
RETURN VARCHAR2
IS
BEGIN
RETURN
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
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;
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
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
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.
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
PRODUCTION NOTES
READER
01
LASER%
RELEASED
2/20
2015
DBA
51
Recover One
I-HUA CHEN
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
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';
MA15_DBA.indd 52
2/19/15 10:21 AM
53
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
MA15_DBA.indd 53
2/19/15 10:21 AM
54
RECOVERY
$ impdp acme/acme@pdb11
point-in-time recovery
cluster=no
directory=tmp_dir
dumpfile=tspitr_Bmsq_94367.dmp
$ asmcmd -p
T1
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
NEXT STEPS
LEARN more about Oracle RMAN
bit.ly/tblrecover
DOWNLOAD Oracle Database 12c
bit.ly/1czAk2I
cybernoor.com
925.924.0400
MA15_DBA.indd 54
2/19/15 10:21 AM
55
ORACLE DATABASE
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.
10
11
12
13
14
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
end grp
from jr_tmp
/
from (
GRP
select d, n,
01-DEC-14
02-DEC-14
03-DEC-14
04-DEC-14
05-DEC-14
GRP2
I-HUA CHEN
group by n, grp2
order by 1
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.
MA15_AskTom.indd 55
2/19/15 4:35 PM
56
ASK TOM
SQL> select d, n,
last_value(grp ignore nulls)
);
D_FROM
from (
D_TO
select d, n,
case when (nvl(lag(n)
2014-12-01 2014-12-03
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
8 rows selected.
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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
MA15_AskTom.indd 56
2/19/15 4:36 PM
57
firstname,
select lastname,
firstName varchar2(30));
3
dense_rank() over (
order by lastname) dr
from family )
values ('Afam','Corey');
c1
c2
c3
c4
LASTNAME FIRSTNAME
values ('Bfam','Anna');
india us
Afam
values ('Bfam','Bobo');
Afam
Ben
Afam
Corey
us
values ('Cfam','Ava');
Bfam
Anna
Bfam
Bobo
values ('Dfam','Anny');
Cfam
Ava
Dfam
Anny
values ('Dfam','Bertha');
Dfam
Bertha
8 rows selected.
DR
Alan
(select lastName,firstName,
where slr<=2;
SQL> select *
from (select lastname, firstname,
c2
india us
dense_rank() over (
order by lastname) dr
4
5
6
uk
c3
c4
cnt
something_like_row_number slr
from family)
us
select * from
us
china uk
from family )
where dr <= 2
/
Afam Alan 1
FIRSTNAME
DR
china uk
us
us
us
uk
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
Dfam Anny 4
Bfam
Bobo
Dfam Bertha 4
from (
union all
select r+1 from data where r < 4
8
9
from (
select rowid rid,
10
11
decode(
r,1,c1,2,c2,3,c3,4,c4) c
12
13
MA15_AskTom.indd 57
2/19/15 4:36 PM
58
ASK TOM
14
15
C1
C2
C3
C4
CNT
india
us
china
uk
us
us
us
uk
india
india
china
uk
india
china
china
uk
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
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(*)
/
MA15_AskTom.indd 58
2/19/15 4:36 PM
59
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);
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));
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
MA15_AskTom.indd 59
2/19/15 4:36 PM
60
Last Word
MA15_LastWord.indd 60
2/23/15 2:18 PM
5 of the 5
Top Websites
Are Powered by
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.
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
PRODUCTION NOTES
Black Keyline
Prints!
READER
01
LASER%
RELEASED
12/10
2014