You are on page 1of 72

You’re already a big player in a big industry.

So what can a Project


Management software solutions company do to increase your success?
With LOADSPRING, the answer is plenty. We help the big boys in
architecture, engineering and construction rake in a robust ROI and
tackle your most complex projects. Quicker, simpler and smarter.
It all starts with our SpringBoard™ 7.0 cloud portal, which lets you take
charge of Project Management on your terms. It’s a giant advance in
accessing software for scheduling, estimating, BIM and more. With it you
can securely deploy and implement apps in just days—and get tons of
users trained faster at our virtual LOADSPRING Academy.
You can also harness SpringBoard’s control panel for instant project
status, software licensing and support—all while using LoadSpringMobile
SpringBoard™ 7.0 gives your teams worldwide access to Project Management
and MySocial to keep teams on target. and BIM apps, data, reports and more—securely from any device.
What’s in it for you? An enormous boost in productivity and project
control. And in this business, that’s huge.

Intrigued? Contact us today to see results tomorrow.


LoadSpring.com or 978.685.9715.
SEPTEMBER/OCTOBER 2014

Mobile Today. More Mobile Tomorrow There is


more to mobile than what you can hold in your
hand / 20 Big Data Meets Business Intelligence
Explore Oracle Big Data Lite Virtual Machine
examples and tutorials to see how big data gets
reported / 43 It’s All In Leverage the in-memory
column store in Oracle Database In-Memory to
supercharge database performance / 47 On Implicit
Conversions and More Our technologist looks at
implicit conversions, logic bombs, SQL injection, and
reduced access paths / 57 Inside OCP Consolidate
multiple databases with Oracle Database 12c / 63

IN MEMORY,
IN BUSINESS
Keep your information active and deliver
instant business transactions and analytics
with Oracle Database In-Memory

ORACLE OPENWORLD
AND JAVAONE
CONNECTING
CUSTOMERS
Attention technologists!
September 28 through
October 2 is conference
week in San Francisco

ON THE ROAD
Oracle technology delivers
rapid application development
for the mobile enterprise
2 VOLUME XXVIII - ISSUE 5 CONTENTS

CONNECTING CUSTOMERS,
CONTENT, AND CAREERS
Attention technologists! September 28
through October 2 is conference
week in San Francisco. —Tom Caldecott
/ 24

ON THE ROAD
Oracle technology delivers rapid
application development for the mobile
FASTER ANSWERS, enterprise. —David A. Kelly
/ 28
FASTER BUSINESS
It’s here! The Oracle Database In-Memory option STABILITY AND CHANGE
speeds queries 100 times and transactions 2 times, KDDI charts a steady course with Oracle
with no changes to applications. —Curran Mahowald SuperCluster T5-8 and Oracle Exadata
/ 16 Database Machine. —Philip J. Gill
Cover: I-Hua Chen
/ 34

Up Front / 5 Community / 18 PERFORMANCE / 47 ASK TOM / 57


It’s All In On Implicit Conversions
FROM THE EDITOR / 5 PARTNER NEWS / 18 Leverage the in-memory and More
What’s Next? BOOK BEAT / 18 column store in Oracle Our technologist looks at
It’s always a question, and it’s Database In-Memory to implicit conversions, logic
ARCHITECT / 20
always a good one. Mobile Today. More supercharge database bombs, SQL injection, and
—Tom Haunert Mobile Tomorrow. performance–without reduced access paths—in
MASHUP / 6 There is more to mobile than changing application code. one question and answer.
News, views, trends, what you can hold in your —Arup Nanda —Tom Kyte
and tools hand. —Bob Rhubart INSIDE OCP / 63
PEER-TO-PEER / 22 Basics of the Multitenant
Game Changers Container Database
At Oracle / 9 Peers on communities and Consolidate multiple
EVENTS / 9 technologies that are radically databases with Oracle
Find out about upcoming changing the way they work PL/SQL / 52 Database 12c.
technology and industry —Blair Campbell Persistence Doesn’t —Anita Mukundan
Always Pay
events.
Sometimes you don’t want
RESOURCES / 11 Technology / 43 a database table and SQL. Comment / 68
Your guide to Oracle Sometimes you just want to
videos, webcasts, BUSINESS IN THE FIELD / 68
collect your thoughts. Learning Circle, Part 2
white papers, and more ANALYTICS / 43
—Steven Feuerstein OAUG President Alyssa
Big Data Meets
BRIEFS / 12 Johnson talks about women
Business Intelligence
The latest product news in technology and technology
Explore Oracle Big Data Lite
Virtual Machine examples trends. —Carol Hildebrand
and tutorials to see how big
data gets reported.
—Mark Rittman

SEPTEMBER/OCTOBER 2014 ORACLE.COM/ORACLEMAGAZINE


Manage Information Workflows
with Altova® FlowForce® Server

Introducing FlowForce Server, the powerful


new platform for automating today’s multi-step,
enterprise-level data mapping, transformation,
integration, and reporting tasks. This flexible workflow orchestration tool
works with any combination of XML, database, flat file, EDI, Excel, XBRL,
and/or Web service data common to many essential business processes.

FlowForce Server is at the center of


Altova’s new line of cross-platform
server products optimized for today’s
high-performance, parallel computing
environments:
• FlowForce® Server for orchestrating
events, triggers, and the automation
FlowForce Server
of processes
Job triggers
User management • MapForce® Server for automating
Access control
any-to-any data mapping and
aggregation processes
RaptorXML MapForce Server • StyleVision® Server for automating
Server XML, SQL DBs,
XML and XBRL EDI, flat files, business report generation in HTML,
validation/processing XBRL, Web services PDF, and Word
• RaptorXML® Server for hyper-fast
StyleVision Server
validation/processing of XML, XBRL,
HTML, PDF, Word,
OOXML, RTF XSLT, and XQuery

Learn more and download a free trial at www.altova.com/server


4

Editorial
Editor in Chief Tom Haunert tom.haunert@oracle.com
Managing Editor Jan Rogers jan.rogers@oracle.com
Associate Editor Patty Waddington
Contributing Editor and Writer Blair Campbell
Technology Advisor Tom Kyte
Contributors Curran Mahowald, Leslie Steere
DESIGN
Senior Creative Director Francisco G Delgadillo
Senior Design Director Suemi Lam
Design Director Richard Merchán
Contributing Designers Jaime Ferrand, Arianna Pucherelli
Production Designers Sheila Brennan, Kathy Cygnarowicz

Publishing
Publisher Jennifer Hamilton jennifer.hamilton@oracle.com +1.650.506.3794
Associate Publisher and Audience Development Director Karin Kinnear karin.kinnear@oracle.com +1.650.506.1985
Audience Development Manager Jennifer Kurtz jennifer.s.kurtz@oracle.com

Advertising sales
President, Sprocket Media Kyle Walkenhorst kyle@sprocketmedia.com +1.323.340.8585
Western and Central US, LAD, and Canada, Sprocket Media Tom Cometa tom.cometa@oracle.com +1.510.339.2403
Eastern US and EMEA/APAC, Sprocket Media Mark Makinney mark.makinney@sprocketmedia.com +1.805.709.4745
Recruitment Advertising, Sprocket Media Josie Damian josie.damian@sprocketmedia.com +1.626.396.9400, x200
Advertising Sales Assistant, Sprocket Media Cindy Elhaj cindy@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 Resources


Subscriptions are complimentary for qualified individuals who complete the form found at Oracle Products
oracle.com/oraclemagazine. For change of address, mail in label with the new address to: +1.800.367.8674 (US/Canada)
Oracle Magazine, P.O. Box 1263, Skokie, IL 60076-8263. Oracle Services
+1.888.283.0591
Magazine Customer Service Oracle Press Books
oracle@halldata.com Fax +1.847.763.9638 Phone +1.847.763.9635 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 © 2014, Oracle and/or its affiliates. All Rights Reserved. No part of this publication may be reprinted or other­wise reproduced without permission from the editors. ORACLE MAGAZINE IS PROVIDED ON
AN “AS IS” BASIS. ORACLE EXPRESSLY DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ORACLE BE LIABLE FOR ANY DAMAGES OF ANY KIND ARISING FROM YOUR
USE OF OR RELIANCE ON ANY INFORMATION PROVIDED HEREIN. The information is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into
any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality
described for Oracle’s products remains at the sole discretion of Oracle. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Oracle Magazine (ISSN 1065-3171) is published bimonthly with a free subscription price by: Oracle, 500 Oracle Parkway, MS OPL-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 Brown Printing

September/October 2014 Oracle.com/oraclemagazine


From The Editor 5

What’s Next?
It’s always a question, and it’s always a good one.

A t a recent Oracle event, after a presen-


tation on a significant new Oracle tech-
nology, audience members were invited to
and how new phone, tablet, and desktop
application releases will embrace cloud com-
puting, a mobile user experience, and social
ask questions. I watched and listened only media. And in enterprise hardware and soft-
to the first question, which started off with ware speculation, what’s next also addresses
a thank-you for the presentation and ended more. How will the next enterprise tech-
with “What’s next?” Yes, the question— nology enable business to be more competi-
after a major presentation on a new Oracle tive and more successful while also managing
technology—was about the next technology and analyzing more information and doing all
Oracle was going to introduce. of that in a more cost-effective way? A good
At first I felt bad for the Oracle repre- enterprise technology what’s-next question
sentatives, industry experts, and Oracle is—like the enterprise—a complex, intercon-
customers who had delivered information, nected, multipart experience that ends with
validation, and demonstrations during that an answer that confirms the business will be
presentation. In my own admittedly biased better with the technology than without it.
opinion, the technology presentation deliv-
ered—and deserved—more than a little The Next Oracle OpenWorld
shock and awe. At a minimum, I didn’t think There was an answer to the audience mem-
the new technology could possibly have ber’s what’s-next question at the afore-
Next Steps been so thoroughly absorbed, sorted, and mentioned Oracle event: Come to Oracle
analyzed that an audience member would OpenWorld, September 28 to October 2,
LEARN more about what just happened choose to skip over it to ask what’s next. 2014, in San Francisco and see for yourself.
and what’s next But then I remembered a few things, Oracle OpenWorld has been a platform for
OracleVoice
forbes.com/sites/oracle including the fact that technology has always delivering what’s-next service, solution, and
Oracle blogs been about what’s next. I also remembered technology announcements and content
blogs.oracle.com that what’s next has a rich history. from Oracle and Oracle partners and cus-
REGISTER for tomers for years. Past Oracle OpenWorld
Oracle OpenWorld Next History announcements have answered what’s
oracle.com/openworld
I don’t have survey numbers to support it, next for Oracle Cloud, engineered systems,
JavaOne
oracle.com/javaone but I’m willing to leap to the conclusion databases, database options, applications,
that many Oracle Magazine readers have middleware, and partnerships, and I for
Send Mail to the Editors attended business meetings featuring mul- one am selfishly looking forward to many
tiple topics separated by the what’s-next more answers to what’s next at this year’s
Send your opinions about what you read in Oracle question. The question drives—or at least conference. I say “selfishly” because Oracle
Magazine, and suggestions for possible technical prompts—schedules and project plans, from OpenWorld announcements have been
articles, to opubedit_us@oracle.com. You can products and solutions to marketing and framing what’s next for Oracle Magazine
also follow our @oraclemagazine Twitter feed or
join us on Facebook at bit.ly/orclmagfb. content for those products and solutions. content for a very long time.
Letters may be edited for length and clarity and What’s next also drives months of public
may be published in any medium. We consider speculation on what the latest smartphones Tom Haunert, Editor in Chief
any communications we receive publishable.
and tablet computers will look like and do tom.haunert@oracle.com

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

oracle magazine September/October 2014


6
MashUp News. Views. Trends. Tools.

Ideally you wouldn’t drive to work, but you can still save the environment from
APPS: GREEN DRIVING

your car with these apps. DO YOU SPEAK TECH?


Carma Carpooling Waze greenMeter Green Drive QUIZ YOURSELF!
Why commute This real-time road Using the When you enter
alone when you intelligence app accelerometer in your car’s make, 1. An open source software developer
can make a few shows you what’s your device, this model, and engine who is in charge of judging disputes among
bucks and save ahead so you can app evaluates your size into this app, it members of the community is called a
_________.
the environment avoid the traffic driving habits for will generate your
a. Paramount Chief
one mile at a time? jam, thereby environmental optimal speed for
b. Protector Pro Tem
Carma shows you reducing your efficiency in real environmentally
c. Benevolent Dictator for Life
people near you carbon footprint. time. Enter the cost sound driving. It
d. Terminator
who need a ride or Relying on shared of fuel, the weather also analyzes road
can give you a ride. manual and passive conditions, and the conditions and 2. An unexplained computer problem that
The app acts as data from the Wazer weight of your car, finds you the most is smaller than a glitch or a bug is called a
your meter, and the community, the and you can reduce efficient route _________.
rider pays the driver app gives you the your vehicle’s impact from A to B. Free a. Boat anchor
through the app. fastest route to on the environment. (Android, Nokia b. Snivitz
Free (Android, iOS). your destination. US$5.99 (iOS). smartphones). c. Leech
carmacarpool.com Free (Android, iOS, hunter.pairsite bit.ly/1kjWZYY d. Spindling
Windows phone). .com/greenmeter 3. A series of well-defined and individually
waze.com reversible changes to a piece of data
that transforms the original item into an
unrecognizable form is called a _________.

Ocean Spyglasses a. Mung


b. Wug
c. Nonce
Binoculars were invented in the seventeenth century, d. Smaggle
but the BN 7x50 DCM from MINOX is a pair that could is one of the first recursive acronyms.
only have been made in the twenty-first century. If the It then became “Mung Until No Good,” which
34th America’s Cup last summer inspired you to do the acronym, which didn’t stand for anything.
some boating of your own, these marine binocu- 3. (a) “Mash Until No Good” was created after
lars are the gadget for you—to make sure you inexplicably popping up.
don’t miss a thing out on the water. They’re closing unexpectedly or a blue screen
loaded with monitoring features like a digital 2. (b) Examples of snivitzes are a window
compass, an altimeter, and a digital barometer Python programming language.
and thermometer, each with history graphs so title was Guido van Rossum, creator of the
you can feel like an ocean spy with smart glasses. 1. (c) Reportedly, the first person to hold this
Oh, and they’re waterproof. US$700. minox.com Answers

50-YEAR PREDICTIONS
Percentage of US adults who feel that the following will/won’t occur
Just In Case
in the next 50 years. What will be possible in the future? People are more Your smartphone no longer needs to be a delicate,
optimistic about the ability to grow custom organs in a lab than about the fragile object that stays at home while you’re on
ability to control the weather. One thousand US adults were surveyed. an adventure. The Snow Lizard SLXtreme Case
protects your device from the harshest elements.
Won’t happen Will happen Dust, dirt, sand, and debris won’t harm it, and it’s
waterproof down to 6 feet, opening up possibili-
Lab-grown custom organs for transplant 15 81 ties for underwater photography and video. The
best part is that it’s solar powered: the 2,550 mAh
Computers create art as well as humans do 45 51 integrated battery is trickle charged by the solar
panel on the back of the case. With the floater kit and mounting set, your
Scientists will have solved teleportation 56 39 smartphone really can go with you to whatever rugged landscape you
dream of exploring. For iPhone 4/4s, iPhone 5/5s, and iPad. US$129.99
to US$199.99. snowlizardproducts.com
Humans will have long-term space colonies 64 33

TALK IN A WORD What’s the most misleading high-tech jargon


Humans will control the weather 77 19
TO US word and why? Tell us on Twitter, Facebook, or LinkedIn.
Results may be posted in a future issue of Oracle Magazine.
Source: Pew Research Center, bit.ly/1nP0U0c

SEPTEMBER/OCTOBER 2014 ORACLE.COM/ORACLEMAGAZINE


What does 1 hour of downtime
cost your business?
RETAIL HOSPITALITY
> $9,774.80 > $1,544.80
BANKING per hour per hour INSURANCE
> $5,220.80 > $14,836.80
per hour per hour
MEDIA
> $4,789.60
per hour

Scan this code


to learn more!

Wake up your network!


*Reference: Schneider Electric White Paper #52 (assuming 40 employees)
24/7/365 network uptime

Protect switches and routers Today, protecting your business network is more critical than ever.
APC™ by Schneider Electric Smart-UPS™ uninterruptible power
with APC by Schneider Electric supplies eliminate costly downtime by providing reliable, network-grade
power over a wide range of utility conditions. They keep employees
Smart-UPS battery backup. connected to business-critical applications whether they are in
house, at a co-location facility, or in the cloud. The Smart-UPS family
offers tower, rack, and convertible form factors to deliver flexibility for
any environment. And Schneider Electric installation services make
deployment a breeze! Trusted by millions worldwide, Smart-UPS
backup units are the intelligent choice!

Avoid costly power problems by keeping your IT equipment and


data safe and available with network-grade power conditioning.
Reduce operating and maintenance costs with a patented green
operating mode for high efficiency and intelligent battery management
that prolongs life and alerts you well in advance of replacement.
Save time with easy and convenient remote accessibility, safe operating
system shutdown, and innovative energy management.
Achieve smarter productivity by tailoring a variety of settings, including
switched outlet control, to your application needs via the intuitive LCD
interface or software.
Gain the peace of mind that comes with full equipment compatibility
and 25 years of reliability from the industry leader.
Business-wise, Future-driven.™
How Monitoring Systems Reduce

Reduce human-error downtime, too!


Human Error in Distributed Server
Rooms and Remote Wiring Closets
White Paper 103
Revision 0

by Dennis Bouley

> Executive summary


Contents

Get guidance in our FREE white paper and enter to win a


Samsung Galaxy Note™ 3.
Visit www.apc.com/promo Key Code j922u

©2014 Schneider Electric. All Rights Reserved. Schneider Electric, APC, Smart-UPS, and Business-wise, Future-driven are trademarks
owned by Schneider Electric Industries SAS or its affiliated companies. All other trademarks are the property of their respective owners.
www.schneider-electric.com • 998-1209030_GMA-US_Note3
Sept. 28–Oct. 2, 2014
San Francisco

REGISTER NOW
Save $200 by Sept. 26
Education, Conversation, and Inspiration
• Cloud Computing • Engineered Systems • HR & Talent
• Big Data & Analytics • Customer Experience • Marketing

Register at oracle.com/openworld

Copyright © 2014, 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.

Global Sponsor Innovation Sponsor Diamond Sponsor Premier Sponsors Grande Sponsors
Events 9

Technology Events Oracle User Groups

Conferences and sessions to help you stay HrOUG (Croatian User Group)
Conference
on the cutting edge October 14–17, Rovinj, Croatia
hroug.hr

Higher Education User Group


EMEA Conference
Modern Marketing October 15–16, Utrecht, Netherlands

Experience Europe bit.ly/1oO7WiM

October 14–16, London, England OUGN Oracle ACE Director Tour 2014
October 21, Oslo, Norway
Presented by Oracle, Modern Marketing Experience
bit.ly/TFFzcn
Europe helps attendees gain insight from experts in
marketing automation, social marketing, content mar- Dallas Oracle Users Group
keting, and big data. The conference is offered along Oracle Licensing Overview
October 23, Irving, Texas
transformation and execution tracks and is designed doug.org
for modern marketing executives and practitioners.
Attendees will learn the strategy and tactics needed to Morocco Java User Group Conference
November 4–6, Casablanca, Morocco
make modern marketing succeed in their organizations. bit.ly/1pdyBsZ
bit.ly/1liVpnH
J-Fall 2014, Netherlands Java
User Group
Gartner Symposium/ITxpo (HR) practitioners for two days of learning, November 5, Nijkerk, Netherlands
October 5–9, Orlando, Florida networking, and discussing HR solutions. bit.ly/1uN0eJj
fgtnr.it/U3tHld Higher Education User Group Alliance
This five-day conference for chief information Big Data TechCon Down Under
officers and senior IT executives offers more October 27–29, San Francisco, California November 5–7, Gold Coast, Queensland,
Australia
than 500 analyst sessions, workshops, round- fbigdatatechcon.com bit.ly/1pdyFJ2
tables, and mastermind keynotes; 10 role-based This is the how-to big data training conference
tracks; and 11 industry tracks. for professionals implementing and analyzing South African Oracle User Group
Conference
big data, featuring practical Hadoop training; November 9–11, Drakensberg, KwaZulu-Natal,
O’Reilly Strata Conferences classes on MapReduce, R, Hive, and Pig; big South Africa
October 15–17, New York, New York data analytics tutorials; and more. saoug.co.za
November 19–21, Barcelona, Spain
DEVOXX Belgium
fstrataconf.com Healthcare IT Summit November 10–14, Antwerp, Belgium
These conferences help attendees get up to November 2–4, Los Angeles, California devoxx.be
speed on emerging technologies by dissecting fbit.ly/1n2z24p
Oregon and Southern Washington
case studies, developing new skills through in- This conference features education and Oracle Users Group Meeting
depth tutorials, and sharing best practices. The insight for IT executives from healthcare November 11, Bellevue, Washington
New York conference includes Hadoop World. insurer and provider organizations to help oswoug.org
them better understand future market drivers, Sun Coast Oracle Users Group Meeting
HR Tech Europe business trends, economic factors, and tech- November 11, Tampa, Florida
October 23–24, Amsterdam, Netherlands nology opportunities affecting the healthcare soug.org
fbit.ly/1lsXSaX IT market.
UKOUG JD Edwards Conference
HR Tech Europe brings together more than November 12–13, Oxford, England
2,000 decision-makers, influencers, doers, key IT Roadmap Conference and Expo bit.ly/1pdxqtl
industry speakers, and senior human resources November 18, Dallas, Texas
Oracle Benelux User Group JD Edwards
December 3, Washington DC Update Event
Events locator fbit.ly/1kL8I0F November 14, Geertruidenberg, Netherlands
These conferences offer an in-depth look at bit.ly/1pdxzwT
Oracle Events the high-priority issues facing IT professionals DOAG 2014 Conference and Exhibition
oracle.com/events today, including security, analytics, data man- November 18–20, Nuremberg, Germany
Getty Images

Locate User Groups agement, mobile/bring your own device for the doag.org
oracle.com/technetwork/community
enterprise, and more.

oracle magazine September/october 2014


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 Mobile Application


Framework Developer Guide
Luc Bors
Develop enterprise mobile
applications that can be packaged
and deployed on Apple iOS and
Google Android platforms.

Master Competitive Analytics


with Oracle Endeca Information
Discovery
Helen Sun, William Smith
Enable agile enterprise data
discovery and analysis to unlock
insights from any type of data.

OCP Upgrade to Oracle


Database 12c Exam Guide
Sam R. Alapati
This self-study tool offers full coverage
of OCP Exam 1Z0-060. Electronic
content includes 170 practice exam
questions.

OCP Oracle Database 12c


Advanced Administration Exam Guide
Bob Bryla
Get complete details on all objectives
for OCP Exam 1Z0-063. Electronic
practice exam questions are included.

Visit the Oracle Press kiosk in the bookstore at Oracle OpenWorld,


located in Moscone South main lobby.

Available in print and eBook formats


www.OraclePressBooks.com @OraclePress OraclePress
Resources 11

What’s New at Oracle


The latest videos, webcasts, white papers, and more

Videos “Integrated Systems and Your IT Career: instead of the normal 18-to-30-month
Get Smart About SaaS and Cloud IDC Survey Findings” development cycle.
fbit.ly/1h1wCoL fbit.ly/1kyE1vC
Discover three important questions you should Learn the results of a recent International Data Resource Centers
ask your SaaS providers to find out if they’re using Corporation (IDC) survey, including details Oracle Systems and Oracle Applications
the most-modern cloud best practices. about how converged and integrated systems Expert Center
are changing the way IT departments work and fbit.ly/1oPNPnM
Introducing Oracle Enterprise Manager 12c which new skills will be in high demand. Find out how a complete, integrated hardware
Release 4 and software stack that’s engineered and certi-
fbit.ly/S4VY9a E-Books fied to work together can make IT faster, more
Oracle experts introduce key new capabilities Oracle Exadata: Engineered for Your efficient, and less complicated—especially when
for accelerated enterprise-scale cloud adoption, Database you run Oracle Applications on Oracle hardware.
expanded Oracle stack management, and enter- fbit.ly/1pBd5hH
prise data and service governance. Find out how Oracle Exadata can help you speed MySQL Best Practices for Oracle Database
up all database workloads, consolidate databases Administrators
Why Move Business Applications from IBM and simplify administration, and deliver unprec- f bit.ly/1mFAnfk
to Oracle edented performance. Discover MySQL best practices for Oracle
fbit.ly/TCPgZt Database administrators who are also using
Learn how your company can benefit from Oracle VM: Application-Driven Virtualization MySQL. This resource center features presenta-
improved performance, efficiency, and reduced for the Modern Data Center and the Cloud tions, white papers, case studies, and more.
TCO by moving enterprise applications from IBM fbit.ly/1oPMYU0
Power to Oracle’s SPARC servers. The demands of cloud computing and complex, Oracle University
business-critical enterprise applications require New: Get Unlimited Oracle Learning for
Webcasts that virtualization be application-driven, built One Year
“Oracle Database In-Memory” in, and integrated across all layers of the com- fbit.ly/1mlucO9
fbit.ly/1nNODqx puting stack. The latest Oracle VM e-book Access hundreds of video courses and labs and
Find out how Oracle Database In-Memory can explains why. connect live with instructors with Oracle’s new
deliver real-time analytics performance, accel- Unlimited Learning Subscription.
eration for all workloads, and applications that White Papers
work faster. “Oracle Linux: Engineered into a Business-
web locator
Class Solution”
“Zero Downtime Consolidation to Oracle fbit.ly/1p5uxbz
Oracle Consulting
Database 12c with Oracle GoldenGate 12c” In this new Oracle-sponsored white paper, oracle.com/consulting
fbit.ly/1pBbdFG industry analyst IDC describes the changing Oracle Events and Webcasts
Learn how to use Oracle GoldenGate 12c to Linux market, provides a look at Oracle’s Linux oracle.com/events
remove the barriers of risk and business inter- product stack, and offers an in-depth description Oracle Newsletters
ruption and move to an agile and cost-efficient of Progressive Insurance’s switch from Red Hat oracle.com/newsletters
private database cloud. Enterprise Linux to Oracle Linux. Oracle Podcast Center
oracle.com/podcasts
Oracle University
Webcast Series: Countering Adversaries “Converged Applications: It’s About Speed bit.ly/ouoramag
fbit.ly/1l1c7Zg to Deliver Change” Oracle Support
Oracle security experts discuss threat actors fbit.ly/1iiv4Sz oracle.com/support
such as espionage, organized crime, and This Wikibon report illustrates how an Oracle My Oracle Support
“hacktivists.” Learn what proactive steps you SuperCluster running Oracle E-Business myoraclesupport.com
can take to mitigate risks by understanding Suite can deliver change through converged My Oracle Support Communities
communities.oracle.com
each threat and its targets. applications that takes only 2 to 3 months

CONNECT: oracle.com/blogs facebook.com/oracle twitter.com/oracle linkedin.com/company/oracle bit.ly/plusOracle

oracle magazine September/october 2014


12 Product Resources

TUTORIALS AND VIDEOS New Oracle Exadata Database Machine Optimized for Large-Scale
Oracle Big Data SQL: Deep Dive In-Memory and Database Cloud Workloads
Oracle big data experts Paul Sonderegger Oracle’s newest addition to the Oracle service and database in-memory. Optimized
and Dan McClary provide a deep dive into
Exadata line of engineered systems, for the recently released Oracle Database
Oracle Big Data SQL, Oracle’s new solution
Exadata Database Machine X4-8, delivers In-Memory option, Exadata Database
for seamlessly integrating Hadoop, NoSQL,
and Oracle Database. extreme compute and data throughput for Machine X4-8 supports in-memory pro-
„bit.ly/1pvXI6u large database workloads using powerful cessing with massive DRAM capacity,
8-socket database servers, intelligent together with transparent data tiering
Oracle Exadata X4 Overview storage, ultrafast PCI flash cards, and to flash and disk for less performance–
Tour an Exadata Database Machine X4
unified InfiniBand connectivity. critical data.
engineered system with Oracle product
Like its predeces- “Since Oracle Exadata Database Machine
manager Mahesh Subramaniam.
sors, the Exadata was introduced in 2008, Oracle has been
„bit.ly/1o0Jw7N
Database Machine delivering industry-leading engineered
Manage Users and Roles for Oracle X4-8 excels at tradi- systems that help our customers attain
Cloud Services tional database work- the most value from their enterprise data,”
Follow step-by-step instructions for adding
loads such as online says Juan Loaiza, senior vice president of
users and assigning user roles for Oracle
transaction pro- systems technology at Oracle. “Exadata
Cloud services in this three-minute tutorial.
cessing (OLTP) and Database Machine X4-8 again raises the bar
„bit.ly/1qwM1lg
data warehousing, and provides an ideal platform for Oracle
How and When to Write SQL in but it is specifically Database In-Memory. Together, the com-
PL/SQL with Steven Feuerstein evolved for a new bination enables customers to evolve into
Oracle Architect Steven Feuerstein steps
generation of work- real-time enterprises.”
viewers through the most important best
loads—database as a bit.ly/1mYU2vu
practices for SQL construction, ranging
from avoiding SQL repetition to full qualifi-
cation of variable and column names.
Oracle VM 3.3 Delivers Enterprise-Scale Performance Enhancements
„bit.ly/1pvY0dG
Oracle VM 3.3, Oracle’s latest server virtu- VM Manager. Users can also install the
DOWNLOADS alization product, delivers enhanced ease OpenStack technology preview with Oracle
Oracle VM Server for x86 and of use for x86 and Oracle’s SPARC archi- VM 3.3 test environments and the latest
Oracle VM Server for SPARC tectures, improved management features, version of Oracle Linux.
Release 3.3 of Oracle VM adds improve- and expanded support for both Oracle and “Oracle VM 3.3 continues to refine ease-
ments to unified virtualization manage- non-Oracle workloads, including support of-use capabilities, provides more flexibility
ment for x86 and SPARC systems running for OpenStack. in network design, and delivers a new,
Oracle VM Server, in a single console. The new release extends support of intuitive VM console,” says Wim Coekaerts,
Oracle VM Server for x86 leverages Oracle’s the Oracle VM Guest Additions feature to senior vice president of Linux and virtual-
Unbreakable Enterprise Kernel Release 3, major guest operating systems, including ization engineering at Oracle. “This new
allowing the same high-performance, high-
Oracle Linux, Oracle Solaris, and Microsoft release will allow customers to more easily
scalability technology powering Oracle Linux
Windows, to provide administrators fine- deploy, manage, and maintain enterprise-
and Oracle engineered systems.
grained control over the configuration and scale applications across both x86 and
„bit.ly/1p2maer
behavior of components running within SPARC environments in a unified way.”
Oracle Linux 7 the virtual machine, directly from Oracle bit.ly/1rEH72W
Oracle Linux 7 features include XFS,
Btrfs, Linux Containers, DTrace, Ksplice,
Xen enhancements, and the Unbreakable Oracle Launches Oracle Business Process Management Suite 12c
Enterprise Kernel Release 3.
The latest release of Oracle Business Process ronment, managers need process man-
„bit.ly/1ryCcTB
Management Suite includes improvements agement tools that enable them to make
Oracle Business Process to the product’s Oracle Business Activity quick, impactful changes,” says Gangadhar
Management Suite 12c Monitoring and Business Architecture Konduri, vice president of product man-
Oracle Business Process Management
Modeling features and enhanced support agement at Oracle. “With Oracle Business
Suite 12c contains new features designed
for Adaptive Case Management and Oracle Process Management Suite 12c, we are
to deliver faster time to value when
implementing new business processes or Process Accelerators. helping organizations plan and manage
enhancing existing ones. “Business processes are integral to an their entire business architecture through a
„bit.ly/1pvYlNw organization’s success or failure, and in flexible and secure solution.”
today’s rapidly changing enterprise envi- bit.ly/1pfPboj

SEPTEMBER/OCTOBER 2014 ORACLE.COM/ORACLEMAGAZINE


BRIEFS 13

Oracle Extends Big Data Portfolio with Oracle Big Data SQL MySQL Fabric Available Now
Oracle has announced Oracle Big Data SQL, limiting the true potential of big data,” says Oracle has announced the general avail-
SQL-based software that seamlessly inte- Andy Mendelsohn, executive vice president ability of MySQL Fabric, an open source
grates data across Apache Hadoop, NoSQL, of database server technologies at Oracle. framework for managing farms of MySQL
and Oracle Database, minimizing data “Oracle Big Data SQL harnesses the popular, servers. Available for download at bit.ly/
movement while increasing performance proven SQL query language to break down mysqlfabric, this integrated and extensible
and helping to eliminate data silos. these silos and finally bring big data into the system makes it easier to scale out and add
Oracle Big Data SQL runs on Oracle Big mainstream of an enterprise. Oracle con- high availability to MySQL applications.
Data Appliance and can work in conjunction tinues its leadership in database innovation “Many of the world’s largest websites and
with Oracle Exadata Database Machine. with this simple yet powerful way for orga- cloud-based applications rely on MySQL
“As organizations increasingly use nizations to access all of their data, leverage replication and sharding to deliver high
diverse datasources beyond relational existing investments and skills, and gain availability and scalability,” says Tomas
databases, such as Hadoop and NoSQL, new value and insights that can transform Ulin, vice president of MySQL engineering
data is becoming more and more siloed— their business.” at Oracle. “MySQL Fabric makes high avail-
hampering data analysis and insights and bit.ly/1sGuV4g ability with automatic failure detection and
failover, as well as automated data sharding,
accessible to all. With this integrated and
New Releases of Oracle Tuxedo 12c and Oracle Tuxedo Application open source framework, Oracle makes it
Runtime 12c easier to safely scale out MySQL applica-
Oracle has introduced the latest releases scalability customers need to develop and tions, either on premises or in the cloud.”
of Oracle Tuxedo 12c and Oracle Tuxedo manage the next-generation applications bit.ly/mysqlfabric
Application Runtime 12c (Oracle Tuxedo ART that move at the pace of business.”
12c). Oracle Tuxedo 12c, the industry’s #1 The new release of Oracle’s mainframe
application server for the deployment of C/ application rehosting platform, Oracle
Oracle Buys MICROS Systems
C++/COBOL/Java enterprise workloads in Tuxedo ART 12c, helps organizations speed Oracle has entered into an agreement to
private and public cloud environments, now up migration projects and accelerate adop- acquire MICROS Systems, a provider of
delivers enhanced reliability, availability, tion of the new environment. integrated software and hardware solu-
performance, and scalability for conven- “Even when customers recognize the tions to the hospitality and retail industries.
tional and enterprise cloud applications. benefits of moving to open, flexible, and Together, Oracle and MICROS will help
“Conventional and cloud-based applica- scalable platforms, the transition to the hotels, food and beverage facilities, and
tion environments are becoming increas- rehosted environment can be challenging,” retailers accelerate innovation and provide
ingly complex, and present IT departments says Xiong. “Oracle Tuxedo ART 12c Release 2 customers with complete, open, and inte-
with the unique challenge of managing products greatly simplify this transition grated solutions.
the applications and services developed in process by providing native mainframe “Oracle has successfully helped cus-
various programming languages and plat- equivalent capabilities, supporting familiar tomers across multiple industries harness
forms,” says Frank Xiong, group vice presi- operation interfaces, and greatly extending the power of cloud, mobile, social, big data,
dent of software development at Oracle. real-time monitoring and supportability of and the Internet of Things to transform their
“The latest release of Oracle Tuxedo 12c the migrated applications.” businesses,” says Oracle President Mark
provides a modern, open, and cloud-ready bit.ly/1nQg2t0 Hurd. “We anticipate delivering compelling
platform that delivers the performance and bit.ly/1mlKjek advantages to companies within the hospi-
tality and retail industries with the acquisi-
tion of MICROS.”
User Experience Enhanced for Oracle Applications Cloud bit.ly/1mSxwoH
Release 8 of Oracle Applications Cloud user interface, further enhancing the user
extends the simplicity, mobility, and exten- experience and mobility of business-crit-
sibility of the user experience for Oracle ical applications.
Oracle Acquires GreenBytes
Sales Cloud and Oracle Human Capital “We understand how people work. We Oracle has agreed to acquire GreenBytes,
Management Cloud. want users to know where to go. We have a provider of ZFS technology with domain
Infographic-inspired, simple screens and analytics, so that you can expertise in the areas of deduplication,
tablet-friendly, and see your status, click to get more informa- replication, and virtualization. GreenBytes
interactive visualiza- tion, and then commit to the task and go,” technology complements Oracle’s storage
tions and embedded says Jeremy Ashley, vice president, Oracle solutions and is expected to enhance Oracle
I-HUA CHEN

analytics appear Applications User Experience. ZFS Storage Appliance products.


throughout the new bit.ly/1qiRQ5E bit.ly/1mYVOwE

ORACLE MAGAZINE SEPTEMBER/OCTOBER 2014


14 BRIEFS

Oracle Enterprise Manager 12c Release 4: Cloud Acceleration Oracle SOA Suite 12c Available
Now available, Oracle Enterprise Manager Manager, we are extending this leadership Oracle SOA Suite 12c, the latest version
12c Release 4 lets organizations rapidly by providing enterprise-scale capabilities for of Oracle’s complete and unified applica-
adopt Oracle-based, enterprise-scale planning, delivering, and managing private tion integration and SOA solution, enables
private clouds. New capabilities provide clouds,” says Prakash Ramamurthy, senior organizations to easily integrate and
advanced technology stack management, vice president of systems and cloud manage- connect applications across their entire IT
secure database administration, and enter- ment at Oracle. “We call this ‘zero-to-cloud– ecosystem on a single, unified platform and
prise service governance, enabling Oracle accelerated.’ These enhancements help our includes new manageability enhancements
customers and partners to maximize data- customers to expe- for private cloud deployments. With the new
base and application performance and drive dite their adoption of release, organizations can achieve faster
innovation using self-service IT platforms. cloud computing and time to market and increased productivity
“Since its inception, Oracle has been prepare them for the with a low total cost of ownership.
leading the way in innovative, scalable, and next generation of “To capitalize on new business oppor-
high-performance solutions for the enter- self-service IT.” tunities, organizations need the flexibility
prise. With this release of Oracle Enterprise bit.ly/1mSvTXQ to use diverse solutions and environments
to best meet their needs, and this can pose
distinct and sizeable application integra-
New, Highly Optimized x86 Servers tion challenges,” says Amit Zavery, group
Oracle has announced the latest in its line of X4-8 further Oracle’s goal of simplifying vice president, Oracle Fusion Middleware.
workload-specific, enterprise-class servers: IT and significantly reducing operating “With Oracle SOA Suite 12c, we are helping
the Sun Server X4-4 and Sun Server X4-8. expenses for our customers by delivering organizations overcome those obstacles
The Sun Server X4-4 is well suited products that are best for the Oracle by delivering an integration platform that
for applications requiring large memory Database In-Memory option and business is specifically designed for organizations’
footprint virtual machines and is ideal analytics,” says Ali Alasti, senior vice presi- diverse application ecosystems. By enabling
for running real-time analytics software. dent of hardware development at Oracle. significantly simplified integration, Oracle
The Sun Server X4-8 is ideal for running “Through close collaboration with Intel, we SOA Suite 12c helps organizations speed
Oracle Database and, when combined are the first to announce servers based on time to market, increase productivity, and
with the Oracle Database In-Memory the new Intel Xeon E7-8895 v2 processors lower costs.”
option, can speed up query processing by and the first with unique capabilities that bit.ly/1ruKhpT
allowing even more of the database to be allow customers to dynamically address dif-
memory-optimized. ferent workloads in real time.”
“The Sun Server X4-4 and Sun Server bit.ly/1jCS04S
Oracle Buys LiveLOOK
Oracle has agreed to acquire LiveLOOK, a
leading provider of real-time, visual collabo-
Oracle ZFS Storage ZS3 Series Appliances Boost Virtualization and ration technology for cobrowsing and screen
Cloud Capabilities sharing. The addition of LiveLOOK will
The latest release of the Oracle ZFS Storage use common methods to deploy public and enable modern customer service organiza-
ZS3 series accelerates virtual machine private clouds and provide IT as a service. tions to directly engage with consumers,
(VM) deployment and monitoring, with the “Today’s heavily virtualized data centers bolstering customer satisfaction, agent effi-
midrange Oracle ZFS Storage ZS3-2 appli- demand efficient, high-performance ciency, and revenue growth across web and
ance supporting more than 16,000 VM storage in order to avoid performance mobile channels.
boots from a single issues and operational disruption caused “Consumers are increasingly conducting
platform in less than by unpredictable virtual machine workloads transactions across multiple digital chan-
seven minutes. Cloud and boot storms,” says Scott Tracy, vice nels such as web and mobile. Meeting
capabilities have been president of storage software at Oracle. consumer demands and exceeding their
extended in Oracle ZFS “The new capabilities delivered by the expectations for web and mobile service
Storage OS 8.2, adding Oracle ZFS Storage ZS3 systems provide and support will improve customer satis-
the OpenStack Cinder valuable architectural benefits and superb faction and enhance revenue,” says David
driver for simplified analytics to support high-density virtualized Vap, group vice president, Oracle Product
cloud provisioning environments. As a result, customers are Development. “With LiveLOOK, Oracle
and orchestration able to keep their operations running at full Service Cloud will enable customer service
as well as integrated speed in order to remain agile and respond and sales agents to deliver exceptional cus-
I-HUA CHEN

RESTful management to valuable business opportunities.” tomer experiences.”


APIs so customers can bit.ly/1kAt5Kl bit.ly/1u93EJm

SEPTEMBER/OCTOBER 2014 ORACLE.COM/ORACLEMAGAZINE


Data Quality Tools
for Developers Address
Verification

A better way to build


in data verification
Phone
Since 1985, Melissa Data has provided Verification
the tools developers need to enhance
databases with clean, correct, and
current contact data. Our powerful, yet
affordable APIs and Cloud services Email
provide maximum flexibility and ease Verification
of integration across multiple
platforms, including .NET, Java, C,
C++, Unix, Windows, Oracle, and SQL
Server. Build in a solid framework for
data quality and protect your Geocoding
investments in data warehousing,
business intelligence, and CRM.

• Verify addresses, phones &


emails for over 240 countries Matching/
Deduplication
• Add phones, emails, geocodes
& demographics

• Find, match, and eliminate


duplicate records Change of
Address
• Move update services keep
your contact data current

• Free trials with 120-day ROI


guarantee

Melissa Data.
Architecting data quality success.

www.MelissaData.com 1-800-MELISSA
16

Faster Answers, Faster Business


Oracle Database In-Memory option speeds queries 100 times
and transactions 2 times, with no changes to applications.

I nformation technology is constantly


evolving. Server CPUs, networks, and
memory get faster while memory prices
continue to drop. As hardware gets more
powerful and memory more cost-effective,
the cloud database is getting even better
for business. In 2013, Oracle Database 12c
introduced a new multitenant architecture,
and on June 10, 2014, Oracle CEO Larry
Ellison introduced the latest innovation for
Oracle Database 12c: the Oracle Database
In-Memory option. “[It’s] the ability to
run all the data you frequently access
in-memory and access that data basically
instantaneously,” explained Ellison at the
launch event.

Mixed Workload
The database row format is ideal for appli-
cation transaction processing, and the
database column format is better for ana-
lytical queries. What if you could perform
both types of operations quickly without
compromise? “The innovation of the Oracle
[Database] In-Memory option is that we “The DBA can now focus not so much on
store the data both ways. We store it both
in row format and in memory, in columnar database performance, per se, but on making
format,” said Ellison. With Oracle Database
12c and Oracle Database In-Memory, the
the database more useful to the business. ”
—Larry Ellison, CEO, Oracle
row and column formats are simultane-
ously active and transactionally consistent.
Companies no longer need to choose can now run at twice the speed, because tions simply need to configure the memory
between optimal transaction performance indexes can be dropped. capacity, configure tables (or partitions)
and high-speed analytics. to be in memory, and delete the old
Oracle Database In-Memory not only Minimum Disruption, indexes that they don’t need anymore. The
increases the speed of queries and ana- Maximum Impact Oracle Database In-Memory option is also
lytics, but it also increases the speed of Ellison emphasized the fact that organiza- deployed completely transparently. “It just
online transaction processing (OLTP). “We tions using Oracle Database In-Memory works,” said Ellison.
have a lot of customers using our database do not need to make any changes to their Although the column format is new in
for transaction processing. We cannot SQL code or their applications. It is not Oracle Database In-Memory, the Oracle
compromise transaction processing,” said necessary to unload or reload any data, Database row format works the same as
Ellison. Using Oracle Database In-Memory, and no functions are restricted. To deploy before. “Just keep doing what you’re doing.
Oracle

OLTP that was slowed by analytic indexes Oracle Database In Memory, organiza- Logging works, backup works, recovery

September/October 2014 Oracle.com/oraclemagazine


News By Curran Mahowald 17

works; everything works unchanged,” Memorable Numbers


Ellison said.
Ellison sees this new technology “The column store is a cache, so it keeps all of your active data in memory,” said Oracle CEO Larry
Ellison at the June 10, 2014, Oracle Database In-Memory event. “So since all your active data’s in
reducing the workload of DBAs and
memory, the database runs at the speed of memory.”
enabling them to perform higher-level What is the speed of memory? Ellison presented several examples of Oracle Database In-Memory
functions. “The DBA can now focus not so real-world testing that demonstrated significant query processing speed and acceleration. Here are
some of those results:
much on database performance, per se, but
on making the database more useful to the
Product Change in Time Acceleration
business,” he added.
JD Edwards EnterpriseOne Sales Order Management From 22.5 minutes to less 1,700x faster
than 1 second
A Solid Base Oracle E-Business Suite’s Oracle Transportation Management From 16 minutes to less 1,030x faster
Oracle Database In-Memory is built on than 1 second

Oracle Database, which means IT profes- Oracle E-Business Suite From 58 hours to 257x faster
13.5 minutes
sionals can expect the same maturity and
Oracle Fusion Financials Cloud Service From 10 minutes to 210x faster
reliability that are part of the proven Oracle 3 seconds
Database. All the advanced technologies
for storage tiering, database scale-up
and scale-out, recovery, and integrated with Oracle Exadata and SPARC M6-32 fault tolerance, the memory duplicated
security that Oracle has spent decades systems. Referring to the SPARC M6-32 big across nodes,” said Loaiza.
developing work transparently with Oracle memory machine, its 32 TB of memory, Organizations will do business
Database In-Memory. and Oracle Database In-Memory, Ellison differently once they have access to
Software engineered with hardware explained what the combination of tech- information at the speed in which Oracle
delivers even better performance, and nologies means for business. “This is the Database In-Memory delivers it. “You’re
Ellison discussed the ways in which the world’s fastest computer for business,” going to ask more-frequent questions,”
new Oracle Database In-Memory software said Ellison of the SPARC M6-32. “You can Ellison said. “You’re going to ask more-
leverages Oracle’s engineered systems. store all your data in memory; get all of complicated questions.”
He described the combination and per- your answers instantaneously.” With its extreme performance, avail-
formance of Oracle Database In-Memory ability, and simplicity, the Oracle Database
In-Memory, In Practice In-Memory option certainly makes a dif-
Oracle Senior Vice President Juan Loaiza ference in the speed of analytic queries
joined Ellison on stage to show an applica- and business answers. It’s the difference
tion running Oracle Database In-Memory. between walking and flying. It’s the differ-
First, Loaiza demonstrated running a query ence between getting answers in hours and
two different ways: by creating indexes getting them in seconds.
and by using Oracle Database In-Memory. “You’re going to change business pro-
Both got virtually instantaneous results, cesses as a result of having this informa-
but with Oracle Database In-Memory it was tion so quickly; being able to recompute
not necessary to figure out what queries this information so quickly,” concluded
would be run or to map the indexes. “One Ellison. “You’re going to become a real-
of the nice things about [Oracle Database] time enterprise.” 
In-Memory is you don’t have to create the
indexes,” explained Loaiza. “You don’t have
to know the queries ahead of time. You just Curran Mahowald is an Oracle Magazine and
place all this data in the [Oracle Database] Java Magazine contributor.
In-Memory columnar store, and then all
the queries run fast, no matter what you Next Steps
query on.”
LEARN more about
Ellison and Loaiza assured the event
Oracle Database In-Memory
crowd that even though the data lives oracle.com/us/products/database/options/
in memory, it is still protected with the database-in-memory
Oracle Senior Vice President Juan Loaiza described strength and reliability of Oracle Database WATCH the Oracle Database In-Memory
Oracle Database In-Memory: “You’ve never seen Webcast
12c. “You’ve never seen anything like this
Oracle

anything like this before; an in-memory database oracle.com/us/corporate/events/dbim


with full fault tolerance.” before; an in-memory database with full

oracle magazine September/October 2014


18 Book Beat

Expert Oracle SQL: Optimization,


Deployment, and Statistics Oracle and Verizon Enterprise Solutions
By Tony Hasler Oracle and Oracle Gold Partner Verizon “This partnership is a win-win for our
Apress Enterprise Solutions earlier this year mutual enterprise customers and part-
apress.com
announced their new relationship to ners who are finding incredible value in
Expert Oracle SQL: offer Oracle software on Verizon’s cloud the form of greater IT flexibility, speed
Optimization, Deployment, infrastructure. As part of the agreement, of deployment, and budget optimiza-
and Statistics is about Verizon will offer Oracle Database and tion,” says Siki Giunta, senior vice presi-
optimizing individual SQL
Oracle WebLogic Server on Verizon Cloud. dent, cloud services, Verizon Enterprise
statements, especially on production data-
base systems. This Oracle-specific volume Customers can pay as they go for Oracle Solutions. “As enterprises continue to
begins by assuming that you have already software and choose from either monthly migrate workloads to the cloud, they can
identified a particular SQL statement and or hourly subscription pricing with the leverage current investments in Oracle’s
are considering taking steps to improve its
security and reliability of Verizon’s suite of database
performance. The book describes a system-
atic process by which to diagnose a problem enterprise-class cloud infrastructure. and middleware
statement, identify a fix, and implement As companies migrate from on-premises solutions, but
that fix safely in a production system. solutions to hybrid or cloud-based envi- access them in a
ronments, Oracle Database and Oracle more cost-effective,
Master Competitive Analytics with
Oracle Endeca Information Discovery WebLogic Server on Verizon Cloud provide agile way.”
By Helen Sun and an easy and cost-effective cloud offering. cloud.verizon.com
William Smith
Oracle Press
oraclepressbooks.com
Oracle Exastack Ready Program Attracts Oracle Partners
Eight partners have achieved Oracle inženiring’s Hibis solution achieved Oracle
The highly practical
Master Competitive
Exastack Ready status indicating that they Exadata Ready, Oracle Exalogic Ready,
Analytics with Oracle support their applications with Oracle Oracle Database Ready, Oracle WebLogic
Endeca Information Discovery Oracle Press Exadata Database Machine, Oracle Exalogic Ready, Oracle Linux Ready, and Oracle VM
guide begins by covering Oracle Endeca
Elastic Cloud, Oracle Exalytics In-Memory Ready status.
technology, its architecture, and best prac-
tices for implementation. The second half Machine, or Oracle SuperCluster and their Oracle Gold Partner MicroStrategy
of the book features a comprehensive col- component products including Oracle Linux, Inc.’s MicroStrategy Mobile App Platform 9
lection of real-world business analytics use Oracle Solaris, Oracle VM, Oracle Database, achieved Oracle Exadata Ready, Oracle
cases in key industries including financial
and Oracle WebLogic Server. Exalogic Ready, Oracle SuperCluster Ready,
services, healthcare, research, manufac-
turing, retail, and the public sector. These Oracle Diamond Partner Capgemini N.V.’s Oracle Database Ready, Oracle WebLogic
examples take readers step by step from Capgemini T-Police achieved Oracle Exadata Ready, Oracle Linux Ready, Oracle Solaris
datasources to analytical applications. Ready, Oracle Exalogic Ready, Oracle Ready, and Oracle VM Ready status.
SuperCluster Ready, Oracle Exalytics Ready, Oracle Gold Partner SmartStream
Oracle WebLogic Server 12c:
Distinctive Recipes: Architecture, Oracle Database Ready, Oracle WebLogic Technologies’ Transaction Lifecycle
Development and Administration Ready, Oracle Linux Ready, and Oracle Management solutions achieved Oracle
By Frank Munz Solaris Ready status. Exadata Ready, Oracle Exalogic Ready,
munz & more Oracle Platinum Partner Siemens Oracle SuperCluster Ready, Oracle Database
munzandmore.com Convergence Creators’ walletXpress 2.1 Ready, Oracle WebLogic Ready, Oracle Linux
Oracle WebLogic Server achieved Oracle Database Ready status. Ready, Oracle Solaris Ready, and Oracle VM
12c: Distinctive Recipes: Oracle Platinum Partner Tieto Latvia’s Ready status.
Architecture, Development Tieto Card Suite 4G achieved Oracle Oracle Gold Partner Tektronix
and Administration is
Exadata Ready, Oracle SuperCluster Ready, Communications’ IrisView achieved Oracle
written for software architects, adminis-
trators, and developers. Brimming with Oracle Database Ready, Oracle Linux Exadata Ready, Oracle SuperCluster Ready,
best practices, the significantly expanded Ready, Oracle Solaris Ready, and Oracle VM Oracle Database Ready, Oracle Linux Ready,
second edition is based on Oracle WebLogic Ready status. and Oracle Solaris Ready status.
Server 12.1.2 and contains more than 130
Oracle Gold Partner D-Day Technology’s nl.capgemini.com
additional pages, 6 new webcasts, and
more than 16 new or rewritten recipes. employee management system achieved siemens.at/convergence-creators
Complementary to official courses and Oracle Exadata Ready, Oracle Exalogic tieto.lv
manuals, this book offers recommenda- Ready, Oracle SuperCluster Ready, Oracle d-daysoft.com
tions, discussions, and best practices.
Database Ready, Oracle WebLogic Ready, h-rc.si
Look for other Oracle books at bit.ly/ Oracle Linux Ready, Oracle Solaris Ready, microstrategy.com
I-HUA CHEN

oraclebookstore and Oracle VM Ready status. smartstream-stp.com


Oracle Gold Partner HRC informacijski tekcomms.com

SEPTEMBER/OCTOBER 2014 ORACLE.COM/ORACLEMAGAZINE


PARTNER NEWS 19

Deloitte Launches Center Partners Achieve Oracle Exastack Optimized Status


of Excellence for Oracle Four partners have achieved Oracle Exastack
Engineered Systems Optimized status for their solutions. The
Oracle Diamond Partner Deloitte has Oracle Exastack Optimized program enables
launched a new Oracle Center of Excellence Oracle partners to develop, test, and
at its Deloitte Solution Center in Hermitage, tune their applications on Oracle Exadata
Tennessee. The Deloitte Oracle Center Database Machine, Oracle Exalogic Elastic
of Excellence enables clients to directly Cloud, Oracle core banking system achieved Oracle
compare Oracle’s engineered systems Exalytics In-Memory Exadata Optimized and Oracle Exalogic
performance, manageability, and business Machine, and Oracle Optimized status.
value against traditional multivendor data SuperCluster engi- Oracle Gold Partner BiLog’s HRMb
center architectures. The center houses neered systems. achieved Oracle Exadata Optimized and
Oracle Exadata Database Machine, Oracle Oracle Diamond Oracle Exalogic Optimized status.
Exalogic Elastic Cloud, and Oracle Exalytics Partner Accenture’s Oracle Gold Partner Informatica
In-Memory Machine. A range of Oracle Accenture Corporation’s Informatica MDM
Applications and technologies are available Foundation Platform Multidomain Edition achieved Oracle
on the center’s infrastructure. for Oracle achieved Exadata Optimized and Oracle Exalogic
deloitte.com Oracle Exalogic Optimized status.
Optimized status. accenture.com
Oracle Platinum digitalchina.com
Partners Achieve Oracle Partner Digital China bilog.hr
PartnerNetwork Specialized Financial Software’s informatica.com
Status for Oracle Cloud
Three Oracle partners have earned Oracle
PartnerNetwork Specialized status for their
UST Global Becomes Oracle Platinum Partner
Oracle Cloud solutions. Specialized status UST Global, a provider of IT services and customizations for a wide range of Oracle
spotlights the strengths and special skills of solutions for Global 1000 companies, has products, including Oracle E-Business Suite
experienced and committed Oracle partners. achieved Oracle Platinum Partner status for and Oracle’s PeopleSoft, Siebel, and JD
CRMIT Solutions, an Oracle Platinum its in-depth experience in upgrades, imple- Edwards applications.
Partner, has achieved Specialized status mentation, support and maintenance, and ust-global.com
for Oracle Sales Cloud. CRMIT Solutions
provides a variety of sales force automation
services, including consulting, sales plan-
Partners Earn Oracle Validated Integration with Oracle Taleo Solutions
ning, social sales, customer data enrich- Four partners have achieved Oracle Integration between its eQuest+ back-
ment, training, health checks, and testing. Validated Integration demonstrating that ground screening platform and Oracle
Edgewater Ranzal, an Oracle Platinum their software products complement and Taleo Enterprise Cloud Service. General
Partner, has achieved Specialized status integrate with Oracle Taleo solutions. Information Systems offers a suite of back-
for Oracle Planning and Budgeting Cloud Oracle Gold Partner Chequed.com ground screening solutions for criminal
Service. Edgewater Ranzal delivers busi- achieved Oracle Validated Integration history, verifications, licensing and creden-
ness analytics solutions that include between ChequedReference and Oracle tialing management, references, ID verifica-
Oracle Hyperion enterprise performance Taleo Business Edition Cloud Service, a tions, and credit reports.
management solutions and Oracle component of Oracle Talent Management Oracle Gold Partner Shaker Consulting
Business Intelligence solutions. Cloud. ChequedReference automates pre- Group achieved Oracle Validated Integration
BlueLeap, an Oracle Gold Partner, has employment reference checks. between its Virtual Job Tryout solution and
achieved Specialized status for Oracle Oracle Gold Partner EmployeeScreenIQ Oracle Taleo Business Edition Cloud Service.
Service Cloud. BlueLeap delivers a suite of achieved Oracle Validated Integration Virtual Job Tryout delivers an employment
add-in products and preconfigured func- between its employment background assessment that combines simulated job
tionality that enable screening platform and Oracle Taleo activities and tasks, a career opportunity
businesses to engage Enterprise Cloud Service, a component value proposition, and a realistic job preview
with customers of Oracle Talent Management Cloud. in one candidate experience.
across channels. EmployeeScreenIQ helps organizations chequed.com
crmit.com make informed hiring decisions. employeescreen.com
I-HUA CHEN

ranzal.com Oracle Gold Partner General Information geninfo.com


blueleap.com Services achieved Oracle Validated shakercg.com

ORACLE MAGAZINE SEPTEMBER/OCTOBER 2014


20 Architect By Bob Rhubart

Mobile Today. More Mobile


Tomorrow.
There is more to mobile than what you can hold in your hand.

M
“ obile will be more disruptive than
the web and the PC.” So said a tweet
“Developing a mobile regularly use on their mobile devices. Make
sure your mobile strategy looks for ways to
from Forrester Research this past spring application is not just leverage those capabilities in order to meet
(bit.ly/1pQeSMD). Given the head-spinning
rise in the popularity and use of smartphones
about developing a enterprise objectives.
And bear in mind that the transformation
and tablets in recent years, betting against user interface.” to enterprise mobility has benefits beyond
that prediction is probably not the smartest mobile. For example, Oracle’s Davelaar rec-
—Luc Bors, Oracle ACE
thing you could do with your money. ommends converting from more-complex
The mobile juggernaut, that great un– more than the devices themselves and the and less performant SOAP-based web
tethering that has freed people from their applications developed for them; it must services to more-lightweight and mobile-
desktops and laptops, shows no signs of also focus on creating a mobile-friendly back friendly REST/JSON web services. This
subsiding. A report from industry research end. “You will have to tailor some of the data change will help to streamline and simplify
and advisory firm Gartner confirms the loads, for instance,” says Davelaar. “You the back end in order to better accom-
obvious: sales of smartphones and tablets have to think about different strategies— modate any kind of user interface, not just
skyrocketed between 2012 and 2013 and data synchronization and much more.” those associated with mobile applications.
remain robust in 2014 (gtnr.it/1x5O9jq). And “A mobile application is not a solution That’s good strategy, and good business.
in April the LA Times reported that 2014 sales by itself—it’s part of your enterprise solu- The bottom line is straightforward:
of wearable devices, including smart watches tion,” agrees Oracle ACE Luc Bors, principal Your company has no choice but to adopt a
and web-enabled glasses, will triple sales of consultant at AMIS Services. “Developing a mobile strategy. And your role in defining
similar devices in 2013. mobile application is not just about devel- that strategy will help to determine your
If your organization has not yet come up oping a user interface. User interface devel- own mobility—as it relates to the direction
with a mobile strategy, you might want to opment is only 25 to 50 percent of the whole you travel on the org chart. 
reprioritize your to-do list. But the key word mobile application. The rest of the work is
here is strategy. definitely in back-end services that provide Bob Rhubart
“Mobility is always changing,” says Chris data, and also in security.” (bob.rhubart@oracle.com)
Muir, senior principal mobility and devel- But while a mobile-friendly back end is is manager of the
opment tools product manager at Oracle. essential, the mobile application itself looms architect community
“You may solve the set of problems you large. If you thought you could simply squeeze on Oracle Technology
have today, but because the market moves your company website or critical web appli- Network, the host of the
so quickly, in a week, a month, a year, you’ll cation onto a smartphone screen and call it Oracle Technology Network ArchBeat podcast
have a whole range of things coming on a day, guess again. Today’s mobile devices series, and the author of the ArchBeat blog
board that need to be addressed.” offer a variety of capabilities that define the (blogs.oracle.com/archbeat).
The requirement for long-term thinking modern mobile experience. Don’t make the
should come as no surprise to architects, mistake of overlooking these features. Next Steps
for whom dealing with constant change “Not many enterprises seem to be lever-
is part of the job. But any mobile strategy aging mobility at any level beyond commu- LISTEN
that effectively anticipates the depth and nication and limited access to parts of enter- “Going Mobile: Developing Enterprise
Mobile Apps”
breadth of change must start with an under- prise applications,” says Oracle ACE Director bit.ly/1pQfmCo
standing of what mobility really means. Lucas Jellema, CTO at AMIS Services. That “Java EE 7, HTML5, and Mobile App
According to Steven Davelaar, a con- strategy leaves a lot of money on the table in Development”
sulting solutions architect with the ADF/ the form of location-based services, person- bit.ly/1k6IX6M
Oracle WebCenter A-Team, an effective alized cross-device behavior, offline opera- “Mobile Architectures and Oracle ADF Mobile”
bit.ly/1pQfy4H
mobile strategy must take into account tions, and gamification that consumers

CONNECT: blogs.oracle.com/archbeat facebook.com/brhubart twitter.com/brhubart linkedin.com/in/bobrhubart

September/october 2014 Oracle.com/oraclemagazine


22 Peer-To-Peer by Blair Campbell

Game Changers
Peers on communities and technologies that are radically enhancing the way they work

Danny Bryant Mia Urman James Anthony

Company: City of Atlanta, Georgia Company: AuraPlayer Modernization Solutions, a Company: e-DBA, an Oracle Platinum Partner
Job title/description: Senior IT manager, Oracle technology company providing solutions that enable providing Oracle managed and cloud services,
Applications, responsible for managing a team Oracle customers to modernize their legacy Oracle professional services, and software asset
providing support for Oracle solutions Forms–based systems for new environments management
Location: Atlanta, Georgia Job title: CEO and cofounder Job title/description: Technology director,
Location: Brookline, Massachusetts responsible for overseeing the technologies
Length of time using Oracle products: deployed on client projects
Four years Length of time using Oracle products: 16 years
Location: London, England
Oracle credentials: Oracle Certified Professional
(several releases, including Oracle Database 10g)
Which new features in Oracle Database are How did you get started in IT? As a summer and Oracle Certified Master (Oracle9i Database),
you finding most valuable? I’m exploring the intern at Bell Canada, I was tasked with with 18 years of experience using Oracle products
Oracle Multitenant option of Oracle Database printing the e-mails of a woman who was on
12c as it relates to managing and replicating maternity leave and then cataloging them What’s your favorite tool on the job? I find
my development and test application into binders by project. After about a day, I Oracle Enterprise Manager Cloud Control 12c
instances. The ability to bring up or copy an got bored and decided to build a small macro to be a big help, and I’m a massive fan of
entire database without the need to build in Visual Basic that could automatically filter the Automatic Workload Repository and
another database server is tremendous. her e-mails into different folders on her Automatic Database Diagnostic Monitor
What technology has most changed computer. After she saw that, she quickly features—they really help me and the team
your life? Mobile. With BYOD [bring your moved me to the database department. break through the barrier and spend our time
own device] initiatives, the wide variety How are you using mobile computing at your fixing issues, rather than trying to find them.
of mobile platforms makes supporting company these days? As a mobile enablement How about a favorite technique? Having a
them a challenge. Oracle has been great company, we are working alongside Oracle to background in tech support is a big benefit;
at delivering updates to support these help Oracle Forms customers go mobile with it helps me break problems down quickly
constantly changing environments. their existing systems. Using Oracle’s mobile into smaller pieces and get to the root cause.
You recently became one of the first Oracle framework and development tools, we are I see a lot of people still trying to fix issues
ACE Associates. What was the process for able to build apps based on our web services at the top level, instead of building from
earning that status? Becoming an Oracle and deploy to both iOS and Android devices the ground up and figuring out where in the
ACE Associate is based on your contributions from one code base. It’s a huge timesaver for layers something’s actually broken.
to the Oracle community. Over the last our mobile projects. Which new features in Oracle Database are
year and a half, I really began to share What advice do you have about how to you finding most valuable? We’re doing a lot
my experiences with Oracle technology get into mobile development? I suggest of work with the Oracle Multitenant option,
over social media and to connect with following Oracle ACEs and Oracle product and we were also fortunate to be part of the
leaders in the community. Networking and managers on Twitter to find interesting Oracle Database In-Memory beta. These are
demonstrating knowledge of the technology blog posts and get more involved in the big game changers; they provide so much
is the starting point—and now I hope to add community. Another great information value that I think once people see them
to that body of knowledge by learning and source is YouTube. And definitely utilize the they’re going to want to move to Oracle
sharing, in order to become an Oracle ACE. user groups for free webinars! Database 12c.

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

September/october 2014 Oracle.com/oraclemagazine


Oracle Cloud
Applications
HCM
Human Capital
Recruiting ERP
Talent Financials
Procurement
CRM Projects
Sales
Supply Chain
Service
Marketing

More Enterprise SaaS Applications


Than Any Other Cloud Services Provider

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates.
24

Oracle OpenWorld and JavaOne

Connecting
Customers,
Content, and
Careers
September 28 through October 2 is conference week in San Francisco.

By Tom Caldecott

T
ens of thousands of Oracle technolo-
gists and business users head to Oracle Oracle OpenWorld is Central
OpenWorld and JavaOne San Francisco Oracle OpenWorld San Francisco, the world’s largest conference
every year to hear about the latest Oracle focused on Oracle technology, offers more than 2,500 sessions, labs,
demos, and meetups this year as well as more than 3,000 speakers
and Oracle-related technology, best practices, and
discussing everything from cloud computing to developer tools,
trends from industry experts and peers. applications, solutions, and industries.
This year, each conference will be more than a At the heart of Oracle OpenWorld’s customer-centric storytelling
world-class learning and networking opportunity: programming are nine focus areas that concentrate on the business
The focus is on customer conversations. More and technology topics and industries most significant to Oracle cus-
Oracle customers are scheduled to appear on con- tomers. Attendees will be able to choose from these focus areas, or
“Centrals,” covering customer experience (CX), human capital man-
ference stages than in previous years, and more
orange Photography

agement (HCM), enterprise resource planning (ERP), supply chain


customers are scheduled in conference sessions to management (SCM), big data, engineered systems, MySQL, Oracle
share their experiences and talk about their busi- PartnerNetwork (OPN), and major industries from communications
ness challenges and successes. to utilities.

September/October 2014 Oracle.com/oraclemagazine


Caption Ra explique sunt
poreptatibus seque num quatatq
uatisit amustru ptatius arum
etur, saectistem quis autentia
et aut dolut et audandit quam
hariaecto eum hiciderum eatquid
Click Programs on the Oracle Central @ OpenWorld provides roadmap for Oracle’s ERP prod- making? Get answers in more
OpenWorld website (oracle 85 sessions dedicated to helping ucts, hear how Oracle customers than 100 dedicated sessions at
.com/openworld) to navigate attendees leverage the cloud are taking their ERP to the cloud, Big Data Central @ OpenWorld,
through the various “Centrals” and use social media to drive and learn how to assess when and hear how customers are har-
and get information, including collaboration and develop talent. the time is right for your busi- nessing the power of big data for
the speakers, sessions, demos, Learn how to employ mobile ness to do the same. their business.
exhibits, and agenda for each technology to give employees
focus area. anytime, anywhere access; SCM Central Engineered Systems
use big data to gain workforce @ OpenWorld Central @ OpenWorld
CX Central insight; and efficiently manage Transform your supply chains At Engineered Systems Central
@ OpenWorld a complex global organization from a functional necessity to @ OpenWorld, sessions focus
CX Central @ OpenWorld offers with local compliance. a competitive advantage. At on simplifying and enabling IT
300 sessions covering mar- SCM Central @ OpenWorld, for the cloud, big data, and the
keting, sales, service, commerce, attendees learn how to use the customer-driven world. Discover
and social—all with one focus: to cloud to deliver logistics solu- how to implement the ideal
help attendees make the most of tions that seamlessly combine cloud platform for databases.
their marketing efforts and learn cross-functional processes with Get information and advice to
how to deliver a seamless cus- mobile and traditional tools. Hear effectively manage a platform
tomer experience regardless of customers and industry experts for in-memory databases that
where or how customers connect talk about dramatically reducing provides fast transactions, and
with their companies. Discover response time to demand and select a platform to improve data
how to differentiate your brand supply upsets with advanced and warehousing. Sessions cover the
by creating a unified web, social, ERP Central rapid supply chain planning. latest versions of Oracle Exadata
and contact center experience. @ OpenWorld and Oracle Exalogic.
Oracle; orange Photography

At ERP Central @ OpenWorld, Big Data Central


HCM Central discuss ways to transform @ OpenWorld MySQL Central
@ OpenWorld your back-office systems into How can you gain additional @ OpenWorld
How can you improve your a collaborative, efficient, and benefit from big data in your Millions of organizations
employee experience? HCM intuitive hub. Get a peek at the business and in your decision- depend on MySQL to power

September/October 2014 Oracle.com/oraclemagazine


27

their business-critical web, JavaOne University are on


cloud, and embedded applica- Sunday, September 28.
tions. Want to learn and share
best practices for developing Participate
next-generation applications
with MySQL? At MySQL Central
in the Oracle
@ OpenWorld, find out what’s Users Forum
new in the MySQL world, learn Attend a program of user-
about new features, get insight driven content presented by the
on product roadmaps, boost Oracle, Java, and MySQL user
your skills, and share your group communities. In addi-
success stories with the global tion, many of the user groups
MySQL community. will have presentation kiosks
and representatives onsite to
OPN Central answer questions about the
@ OpenWorld groups and activities during the
Focusing on Oracle conferences. Want to join a user
PartnerNetwork, OPN Central group? The representatives can
@ OpenWorld is designed to help you register. Visit oracle
help partners build their busi- .com/openworld/usergroups
ness with Oracle. Attendees for more information.
have the opportunity to hear When: Oracle Users Forum is on
from Oracle executives the Sunday, September 28.
current corporate direction and
strategy for Oracle products, The One When: Devoxx4Kids is on
solutions, and services. OPN
Place for All September 27; JavaOne runs Have Fun
Central @ OpenWorld provides September 28 through October 2. The Oracle conferences are more
partner-focused discussions Things Java than a conversation about the
about the latest IT trends, This year, the world’s leading Enroll in the latest technology, best practices,
including cloud, social, and Java conference offers more and industry trends. They’re also
mobile, and opportunities than 500 dedicated sessions,
University about having fun and networking.
to network with customers, including keynotes, hands-on Make the most of your confer- For example, on Monday,
prospects, and peers in the labs, tutorials, demos, and ence experience by attending September 29, join the celebra-
OPN Lounge and at the OPN meetups, along with more than Oracle University or JavaOne tion for developers, DBAs, and
AfterDark reception. 500 speakers. JavaOne session University. Both training pro- architects at Oracle Technology
topics include the core Java plat- grams take place on Sunday, Network’s Tech Fest in Oracle
Industry Central form, Java and security, and Java September 28, and offer Plaza (on Howard Street). And
@ OpenWorld and the cloud. Attend talks on deep-dive seminars. Visit mark your calendar for the Oracle
What’s your industry? Education tools and techniques to enhance oracle.com/openworld/oracle- Appreciation Event on Treasure
and research? Financial services the user experience, the Internet university and oracle.com/ Island on Wednesday, October 1.
and insurance? Healthcare? Life of Things to interact with the javaone/java-university for Enjoy food, carnival games, and
sciences? Communications? physical world using Java, and more information. a Ferris wheel, while rocking out
Public sector? Retail? Industry agile development. Learn about When: Oracle University and with legendary bands. 
Central @ OpenWorld offers Java 8, including lambda expres-
tracks with dedicated sessions sions, the new date/time APIs, Tom Caldecott is a writer with Oracle’s Brand Communications group.
and networking opportunities and embedded support.
to keep you up to date and con- Take a break in Duke’s Café, Join the Conversation
nected with industries spanning the JavaOne outdoor lounge on
the alphabet from automotive Taylor Street. And bring your REGISTER for
orange Photography

to utilities. children to Devoxx4Kids on the Oracle OpenWorld


When: Oracle OpenWorld and Saturday before the conference. oracle.com/openworld/register
the @ OpenWorld focus areas run For more about JavaOne, visit JavaOne
oracle.com/javaone/register
September 28 through October 2. oracle.com/javaone.

oracle magazine September/October 2014


28

On the Road
Oracle technology delivers rapid application
development for the mobile enterprise.
Wes Rowell

By David A. Kelly

September/October 2014 Oracle.com/oraclemagazine


29

I n today’s connected world, business happens


everywhere. That’s why more and more organi-
zations are realizing that their applications have
ADF) has provided a blueprint for the model-
view-controller architecture of Oracle ADF
Mobile, enabling organizations to create native
to go with the business: from smartphones to mobile applications for a range of platforms
tablets, enterprise applications are going mobile. leveraging existing expertise in Java and Oracle
This is where Oracle application development development frameworks. While Oracle ADF is
frameworks can help, by putting enterprise appli- a high-productivity, end-to-end development
cations in the hands of mobile application users. framework built on Java Platform, Enterprise
In addition to being the framework behind Edition for enterprise applications, Oracle ADF
Oracle’s own packaged mobile applications Mobile has been an enterprise Java and HTML5–
and a powerful modernization solution, Oracle based framework for developing iOS and Android
Application Development Framework (Oracle mobile applications from a single codebase.

oracle magazine September/October 2014


30

“We just put the applications manager at Oracle. “With Oracle ADF Mobile and Oracle Mobile
Application Framework, organizations have used—and will continue
in our app store and our users to use—their expertise in Java, JavaScript, or Oracle ADF to build

with mobile devices consume mobile enterprise and industry applications.”

them. . . . The time to market Opening the Spigots with SOA

is a lot more rapid.”


Businesses in many industries are improving their operations
by quickly developing and deploying mobile applications. One
—Mark Watson, Lead Architect, Northumbrian Water company doing rapid application development for mobile devices
is Northumbrian Water, a water and sewage utility with 2.7 million
customers in the northeast of England and 1.8 million customers in
Oracle ADF Mobile was released in October 2012, and many the southeast of England.
organizations have used it to rapidly build and deploy mobile In 2012 Northumbrian Water determined that it needed to
applications. In June 2014, Oracle announced Oracle Mobile improve and organize its applications for better manageability and
Application Framework, which fully supports applications devel- improved support. The organization uses more than 100 applica-
oped under Oracle ADF Mobile. (See the “Oracle Mobile Application tions, from Oracle Applications such as Oracle E-Business Suite
Framework” sidebar for more information on this announcement.) to many in-house applications developed with Oracle Forms and
“Oracle continues to recognize the critical need for mobile Oracle Database technologies. In addition, since approximately
enterprise applications,” says Joe Huang, senior principal product one-third of Northumbrian Water’s employees are mobile, pro-
viding them with mobile applications and access to corporate data
was critically important.
After discussions with Oracle, Northumbrian Water chose Oracle
SOA Suite to help it rationalize its application portfolio as well as
resolve some of the integration problems the company faced. “We
are able to get cranky legacy applications to talk to each other in a
very efficient way by using Oracle SOA Suite,” says Northumbrian
Water Solutions Architect Ana Nicholson.
The company soon rolled out an iOS application built with Oracle
ADF Mobile and using web services orchestrated with Oracle SOA
Suite that allows Northumbrian Water managers to approve Oracle
iProcurement requisitions from their mobile devices. Northumbrian
Water’s Oracle ADF Mobile application development strategy has
produced benefits across the organization.
“What we’ve done with Oracle ADF Mobile has been wonderful,
not just from a business point of view but also from an informa-
tion technology point of view,” says Mark Watson, lead architect at
Northumbrian Water. “It’s helping get our personnel up to speed
and familiar with new mobile technologies, composite web services,
and more-modern application development frameworks.”
As a modern development framework and the core of Oracle
ADF Mobile, Oracle ADF delivers modern application interfaces and
modern development conveniences. “Oracle ADF gives a modern
look and feel to our applications,” says Nicholson. “It offers rapid
development with its framework, which has ready-made features
that you just need to plug your business logic into.”
Managers at Northumbrian Water are now able to use the new
mobile application to approve Oracle iProcurement requisitions
from anywhere, at any time, as long as they have an iOS device.
Managers can review and examine outstanding requisitions as
well as approve new ones as they come in. In addition to putting
its mobile Oracle iProcurement application into production,
John Blythe

Ana Nicholson, solutions architect, and Mark Watson, lead architect, both of
Northumbrian Water has also used Oracle ADF Mobile to create a
Northumbrian Water, believe that their Oracle ADF Mobile application strategy
has produced benefits across the organization. mobile timekeeping application and rolled it out to 450 employees.

September/October 2014 Oracle.com/oraclemagazine


31

“With Oracle ADF Mobile, even


with a limited IT staff, we’ve
been able to create good mobile
applications—for different types
of mobile platforms—which is
huge for us.”
—Terry Marshall, CIO, Texas Industries

and running in no time. The time to market is a lot more rapid than
it is for traditional enterprise applications.”

Delivering on Time with Oracle ADF Mobile


Sometimes the greatest opportunity for creative uses of tech-
nology is in industries not traditionally associated with high tech.
Take the case of building materials supplier Texas Industries (TXI),
the largest supplier of cement in Texas, with more than 2,000
employees and annual revenues of close to US$900 million.
“There’s a tremendous opportunity for automation to better
serve our customers,” says Terry Marshall, CIO at Texas Industries.
“The market for building materials is often commodity-based,
so you really want to look at ways that you can differentiate your
company from competitors, and we think mobile technology is one
way we can do that.”
For example, you might not think of concrete as a perishable
item, but it is. Timing is especially critical in the concrete business;
a typical truckload of concrete has about a 90-minute shelf life—the
concrete has to be delivered within this timeframe or it won’t be
Bala Venkataraman (left), chief architect, and Terry Marshall, CIO, both of Texas
useable. On top of that, most construction involves the carefully
Industries, used Oracle ADF to build an online customer portal, and then moved
on to use Oracle ADF Mobile to rapidly create enterprise mobile applications. coordinated delivery of many truckloads (sometimes more than
100) of concrete, as well as the coordination of the workforce at the
“The Oracle ADF Mobile applications we’ve deployed have been a job site to work with the concrete after it’s delivered.
great success,” says Watson. That’s why the timing of the truckloads matters a great deal to
For Northumbrian Water, another business benefit of devel- TXI and its customers. It’s also why the organization developed a
oping mobile applications such as its mobile Oracle iProcurement mobile application using Oracle ADF Mobile called ReadyTrac to
approval app and its mobile timekeeping app comes from the help sequence concrete deliveries. Customers can use the app to do
ease of deployment. “We just put the applications in our app store a variety of things, including get alerts when cement trucks leave the
and our users with mobile devices consume them,” says Watson. plant or when they arrive at the job site, monitor how much concrete
“Upgrades and updates are fairly seamless, and you know they’re up has been poured and how much is on the way, search order history,

Oracle Mobilizes Apps

Like most organizations, Oracle has made its deploy a rich set of back-end functionality to Huang, senior principal product manager at
applications mobile—from Oracle E-Business a range of mobile devices. Oracle has released Oracle. “We’ve definitely seen a huge adoption
Suite to Oracle Cloud applications. And like more than 40 Oracle ADF Mobile–created of mobility, and we’ve leveraged Oracle ADF
many of its customers, Oracle has used Oracle applications in the Apple App Store alone Mobile to very quickly build mobile applica-
ADF Mobile to do it. for solutions such as Oracle Cloud, Oracle tions for our solutions. With the availability of
Oracle’s application development teams E-Business Suite, and Oracle’s PeopleSoft and Oracle Mobile Application Framework, Oracle
have built new mobile applications using JD Edwards applications. Applications teams will be able to release
Paul S. Howell

Oracle ADF Mobile for the same reason that “Oracle ADF Mobile technology has allowed even more compelling applications that lever-
Oracle customers have used it—because it us to very quickly build mobile applications age the ever-increasing set of specialized
provided a quick and easy way to natively for core Oracle enterprise solutions,” says Joe device capabilities.”

oracle magazine September/October 2014


32

and track truck locations. for the target platform. “To build mobile
snapshots
“Our first Oracle ADF Mobile application applications using Oracle ADF Mobile, you
took 10 weeks from beginning to end, and
Northumbrian Water don’t need an army of developers, but you
nwl.co.uk
now we can roll out updates as well as a new Headquarters: Durham, England do need a good design sense, a good archi-
application in 4 weeks. One week to build Industry: Water tecture, and a good understanding of your
the application, 2 weeks for testing and user Oracle products: Oracle Application data,” says Venkataraman. “With Oracle ADF
feedback, 1 week to release to the Apple App Development Framework, Oracle ADF Mobile, Mobile you don’t have to know Apple Xcode
Oracle JDeveloper, Oracle SOA Suite, Oracle
Store. True rapid application development or the Android SDK; you actually write it in
E-Business Suite 12, Oracle E-Business
with releases on a monthly basis!” says Bala Suite Adapter, Oracle Database 10g, Oracle Java, and Oracle ADF Mobile writes the Apple
Venkataraman, chief architect at TXI. Database 11g, Oracle WebLogic Server, Oracle or Android code for you. We can use one
TXI initially used Oracle ADF to build an Utilities Mobile Workforce Management platform and one codebase and deploy it to
online customer portal, and then it moved the web, to an iPhone, to an Android phone,
on to use Oracle ADF Mobile to create enter-
Texas Industries or to a tablet.”
txi.com
prise mobile applications. TXI uses Oracle Headquarters: Dallas, Texas
JDeveloper as the integrated development Industry: Construction materials Powering Up with Mobile Apps
environment for its development, since Oracle products: Oracle Application Managing electrical power requires man-
Oracle JDeveloper supports both web and Development Framework, Oracle ADF Mobile, aging information about locations on the
Oracle JDeveloper, Oracle WebLogic Server,
mobile app development. “The develop- power grid, and mobile apps can help power
Oracle Database, Oracle E-Business Suite,
ment process starts with identifying a Oracle Business Intelligence solutions companies do that more effectively and
datasource and creating services,” says efficiently. PowerSouth Energy Cooperative,
Venkataraman. “After you build out your PowerSouth Energy Cooperative based in Andalusia, Alabama, is improving
services, Oracle ADF Mobile becomes a plat- powersouth.com its business by managing location informa-
Headquarters: Andalusia, Alabama
form for rapid application development.” tion with Oracle ADF Mobile.
Industry: Utilities
By using Oracle ADF Mobile, TXI was Oracle products: Oracle Application PowerSouth is an electricity generation
able to create native apps for both Apple Development Framework, Oracle ADF Mobile, and transmission cooperative serving more
and Android devices. The initial ReadyTrac Oracle JDeveloper, Oracle WebLogic Server, than 900,000 customers throughout central
application has worked so well that TXI has Oracle Database and south Alabama and the northwest
developed three other mobile applications. Florida panhandle. Like many organizations,
“With Oracle ADF Mobile, even with a PowerSouth currently runs a number of
limited IT staff, we’ve been able to create good mobile applica- Oracle Applications, including Oracle E-Business Suite, and custom
tions—for different types of mobile platforms—which is huge for applications developed using Oracle Forms, Oracle Reports, PL/SQL,
us,” says Marshall. “Oracle ADF Mobile gives us flexibility to deploy Oracle Application Express, and more.
our custom apps to multiple platforms.” In 2013, PowerSouth partnered with PITTS America, a Troy,
In addition, building mobile apps using Oracle ADF Mobile Michigan–based company, to create its first two mobile
doesn’t require extensive expertise with native coding capabilities applications—one for managing and maintaining information
related to each substation, and the other to provide operational
Oracle Mobile Application Framework information to top managers, directors, and vice presidents.
PowerSouth decided to use Oracle ADF Mobile for the apps because
In June 2014, Oracle unveiled application development be the company wanted to be able to quickly, easily, and securely deploy
Oracle Mobile Application done with the new Oracle Mobile
enterprise applications to mobile devices such as Apple iPads.
Framework. Application Framework.
Oracle Mobile Application “The new Oracle Mobile “We needed to create mobile applications that would be easy
Framework simplifies the Application Framework offers an to use and let us capitalize on our existing infrastructure,” says
development of multiplatform easy transition for Java developers
Kenneth Jones, business systems supervisor at PowerSouth. “For
on-device mobile applications. to bring their development skills
Features include support for to the mobile world, leveraging us, Oracle ADF Mobile was the way to go. I really like what it can do
multiple integrated development their Java and JavaScript skills on a mobile device.”
environments, including Oracle with the tools they already use,”
For the mobile app related to substation information mainte-
JDeveloper and Eclipse (through says Chris Tonas, vice president
Oracle Enterprise Pack for Eclipse); of mobility and development nance, the goal was to give field inspectors powerful and real-time
support for multiple develop- tools at Oracle. “By integrating tools for inspecting and maintaining the cooperative’s substations.
ment languages, including Java, the mobile application developer
In addition to capturing data about each substation, PowerSouth’s
JavaScript, and HTML; support experience on both the front and
for Apache Cordova plug-ins; and back end, we are helping develop- field inspectors can also take photographs and collect GPS informa-
support for applications developed ers deliver mobile applications tion to document situations and equipment. The end result is that
under Oracle ADF Mobile. Oracle to their organization faster and
field inspectors can get their jobs done faster, with a higher level of
recommends that new mobile more efficiently.”
detail, while collecting more-precise maintenance information.

September/October 2014 Oracle.com/oraclemagazine


33

“More people are demanding the ability to capture and view data out
in the field than ever before. . . . Oracle ADF Mobile is helping us
overcome those challenges and get data to and from the field.”
—Kenneth Jones, Business Systems Supervisor, PowerSouth

PowerSouth chose Oracle ADF Mobile because the company wanted to quickly, easily, and securely deploy enterprise applications to mobile devices. “We needed to create
mobile applications that would be easy to use and let us capitalize on our existing infrastructure,” says Kenneth Jones (right), business systems supervisor at PowerSouth.

The new substation information application runs on an iPad and be able to get it out there somehow,” says Jones. “Oracle ADF Mobile
communicates wirelessly using a secure VPN connection back to is helping us overcome those challenges and get data to and from the
the organization’s Oracle WebLogic Server. It can also be used in an field, extending our enterprise applications to our mobile workers. For
offline mode when no wireless signal is available. No user training is PowerSouth, using Oracle ADF Mobile has worked out really well.” 
required for the apps, and they tie into PowerSouth’s existing infra-
structure, so the company didn’t have to purchase any additional
servers or other back-end hardware. David A. Kelly (davidakelly.com) is a business, technology, and travel
“We’ve been able to give our employees in the field a lot of informa- writer who lives in West Newton, Massachusetts.
tion about each substation that they never had before, such as the
Next Steps
previous month’s inspection,” says Jones. “It not only makes it easier
to record the information, but it allows us to be more proactive on our
LEARN more about
Marc Bondarenko/Getty Images

maintenance of the substations as well as analyze trends over time.” Oracle ADF
From Jones’ perspective, the need for mobile applications is only oracle.com/technetwork/developer-tools/adf
going to increase. “More people are demanding the ability to capture Oracle ADF Mobile
and view data out in the field than ever before. I believe there’s going oracle.com/technetwork/developer-tools/adf-mobile
to be a constant push over the next few years to make more data Oracle Mobile Application Framework
oracle.com/technetwork/developer-tools/maf
readily available in the field, and as an IT organization, we’ve got to

oracle magazine September/October 2014


KDDI executives were
concerned about whether
Oracle engineered
systems would meet its
system performance
requirements. “Through
careful preparation, we
confirmed that the Oracle
SuperCluster T5-8 and
Oracle Exadata Database
Keith Tsuji/Getty Images

Machine engineered
systems had more than
enough performance for our
needs,” says Kato Toshio,
general manager of the
EPC Network Technology
Division at KDDI.
35

STABILITY
AND CHANGE
In Japan’s dynamic mobile telecom market, KDDI
charts a steady course with Oracle SuperCluster
T5-8 and Oracle Exadata Database Machine.
By Philip J. Gill

T oday’s dynamic global telecommunications


market is a business in which new competitors
arrive, new technologies displace existing ones,
and new devices—from laptops to smartphones and
tablets—sign onto networks seemingly every day. It is
KDDI was put to the test when it introduced its newest
high-speed mobile service, called au 4G LTE. Like other such
next-generation mobile services, it is built on the international GSM
(Global System for Mobile Communications) and UMTS (Universal
Mobile Telecommunications System) standards. In addition to
delivering speeds up to four times faster than its previous 3G ser-
vices, KDDI anticipated a major uptick in subscribers and data
also one in which customers expect from their carriers volumes on its network. By the end of 2013, KDDI had garnered 29
just the opposite—stability. percent of the Japanese mobile telecom market, thanks in part to its
4G offering.
“Technology innovation, globalization, and the The move to 4G LTE and the accompanying increased subscriber
entrance of new players are causing rapid changes to base and data volumes required as many changes behind the scenes
as they did to the company’s networks. This was especially true for
Japan’s mobile telecommunications market,” explains
its mission-critical User Authentication System, its subscribers’
Kato Toshio, general manager of the EPC Network most frequent interface to the company and its services. That
Technology Division at KDDI, one of system, Toshio explains, “is used for the
three As—authentication, authorization,
Japan’s leading mobile and fixed- snapshot and accounting. Maintaining the stability
line telecom providers. KDDI of our User Authentication System is
“Technology and markets might be kddi.com absolutely essential.”
in constant flux, but for mobile phone Location: Tokyo, Japan
Industry: Communications
users, service must be stable,” Toshio Behind the Scenes
Employees: 27,073
continues. “So our mission is to provide a Revenue: 4,333,628 million yen (for fiscal With that goal in mind, KDDI looked for the
greater range of services and connectivity year ending March 31, 2014) least disruptive way to expand the authen-
options—supporting multiple uses, mul- Oracle products: Oracle SuperCluster T5-8, tication system’s capacity and capabilities
tiple networks, and multiple devices—while Oracle Exadata Database Machine, Oracle to meet growing demand. At first, the EPC
Exalogic Elastic Cloud, Oracle Solaris,
providing stable mobile services that meet Network Technology Division—a longtime
Oracle TimesTen In-Memory Database,
the increased number of subscribers and Oracle Database Oracle SPARC and Oracle Solaris IT shop—
data transactions.” expanded its server farm to 40 SPARC

oracle magazine september/october 2014


36

Enterprise M3000 servers from Oracle loaded into a user data cache that runs
to handle the increased number of sub- BACK-END BOOST in Oracle TimesTen In-Memory Database
scribers and the growing data volume. While the Oracle SuperCluster T5-8 server has on the Oracle SuperCluster T5-8 server,”
Although that expansion provided dramatically improved KDDI’s User Authentication Toshio explains.
System performance, what’s at the back end of
the performance KDDI needed, at least “The core Oracle Exadata database
that system is equally important. For KDDI, that
temporarily, it eventually also brought back end is an Oracle Exadata Database Machine. updates the Oracle TimesTen In-Memory
management complexity. “When we “The User Authentication System needs to Database automatically, which enables
access the users’ history of the services, which
scaled up our server farm to 40 units, the quicker authentication between mobile
are stored on the back-end database server at all
management workload and costs got out times,” says Kato Toshio, general manager of the devices and Oracle SuperCluster,” he
of hand,” says Toshio. “Updating server EPC Network Technology Division at KDDI. continues. “The access log is also stored
When initially installed at KDDI, the Oracle
software, for example, would take many and passed along to the billing system,
Exadata Database Machine consolidated 2 TB of
hours to complete because there were so data previously on two SPARC Enterprise M3000 which runs on another system.”
many physical servers.” servers from Oracle onto a single system and pro- For added safety, KDDI has installed
vided four times greater transaction performance.
To reduce complexity and costs, not one but three Oracle SuperCluster
“By replacing those servers with a single Oracle
KDDI decided to consolidate its 40 Exadata Database Machine, we also reduced floor T5-8 servers, explains Toshio. All three
servers onto three Oracle SuperCluster space by 25 percent and power consumption by are production machines, and any one
15 percent,” Toshio adds.
T5-8 engineered systems, built spe- machine working alone can maintain
“Of course, what matters most is database
cifically for high-throughput, high- performance,” Toshio concludes. “Thanks to continuous, uninterrupted service.
performance applications. The decision Oracle Exadata, the SQL processing speed of our Besides the extra level of availability,
Oracle database is approximately 20 times faster.”
to go with Oracle SuperCluster was Toshio says the new Oracle SuperCluster
designed to minimize disruption and T5-8–based User Authentication System
maintain stable, transparent services provides 12 times faster performance
to subscribers. than the previous system, while reducing
“Staying with Oracle Solaris and floor space by 50 percent and electricity
SPARC was our first choice because consumption by 15 percent.
the system is mission-critical and it “We were very concerned about
would require little or no changes to our whether we would get the system per-
existing software,” says Toshio. Besides, formance we needed to stably handle
he adds, “Oracle Solaris also has better the transition from 40 servers, while
troubleshooting tools, such as DTrace, maintaining sufficient disk I/O,” says
and SPARC systems are more reliable Toshio. “But through careful prepara-
than commodity Intel servers.” tion, we confirmed that the Oracle
Toshio admits that KDDI took on SuperCluster T5-8 and Oracle Exadata
additional schedule and deployment Database Machine engineered systems
challenges when choosing Oracle had more than enough performance for
SuperCluster T5-8. “Planning and imple- our needs.”
mentation required very close coordina- For KDDI, Oracle engineered systems
tion between all parties, particularly provide benefits beyond reliability,
because when KDDI selected Oracle SuperCluster T5-8, the product transaction performance, and high availability. “Oracle engineered
had not yet begun shipping, so pretesting on the actual equipment systems are pretested, preconfigured, and proven by Oracle,” Toshio
was not possible,” he says. says. “For a rapidly changing environment and industry such as
“To overcome this challenge,” he continues, “Oracle assembled ours, it is a huge benefit to build and run the system quickly without
servers, storage, InfiniBand switches, and other required compo- having to take the extra time for tuning, configuring, and testing.” t
nents to create a simulated Oracle SuperCluster. Testing proceeded
successfully with the simulation, and when the just-released Oracle
Philip J. Gill is a San Diego, California–based writer and editor.
SuperCluster T5-8 engineered system was deployed, it became the
first one in use as a production solution.” NEXT STEPS

THE PAYOFF LEARN more about


Today the expanded authentication system sits between the mobile Oracle SuperCluster
devices and the subscriber database, says Toshio. “Actual subscriber oracle.com/supercluster
data is stored on our core back-end Oracle Database on Oracle Oracle Exadata
oracle.com/exadata
Exadata Database Machine, while the same subscriber data is also

SEPTEMBER/OCTOBER 2014 ORACLE.COM/ORACLEMAGAZINE


ADVERTISING SUPPLEMENT

Are Your Critical


Applications Delivering
Extreme Performance?
More than 1,500 Oracle partner applications are supported with
Oracle engineered systems, providing superior value to customers.

W ith data growing at an incredibly rapid pace,


customers are demanding more and more from
their applications. Oracle engineered systems are
optimized to achieve enterprise performance levels that are
unmatched in the industry.
For Oracle customers, extreme performance is about taking
advantage of new opportunities, discovering new areas of
effciency, and enabling innovation to deliver the kind of results
and business performance that—until now—simply weren’t
possible. Oracle’s engineered systems combine best-of-breed
If your organization is not leveraging Oracle engineered hardware and software components with game-changing technical
systems, it’s time to ask your software vendor how these innovations. Designed, engineered, and tested to work best
preintegrated hardware and software systems can help you together, Oracle’s engineered systems can power the cloud or
optimize the productivity and performance of your applications, streamline data center operations to make traditional deployments
while at the same time reducing the cost and complexity of your even more effcient, without the need for application code
IT infrastructure. changes. Each layer of the stack—and all the products within
Oracle engineered systems should be considered the layers—have been designed and engineered to work together
whenever an application is deployed—whether for a new according to open standards. This provides organizations with
implementation, a hardware refresh, or an upgrade. Oracle a complete, integrated, and high-performance infrastructure for
engineered systems are designed and optimized to provide their on-premises, cloud-based, and hybrid environments.
Oracle’s research and development investments of more
than US$5 billion annually have resulted in systems that provide
“Since deploying our hotel search engine
simple solutions that start delivering results from day one. It’s no
on the Oracle Exadata platform, we have surprise that Oracle engineered systems are the most successful
been able to simplify our architecture, and products in Oracle’s history, delivering:
• Simplifed deployment with pretested, preconfgured
we are able to service more results to our solutions that accelerate implementation of all of your
customers—ultimately providing them a applications
• Massive performance gains with hardware and software
better experience.”
engineered to work together—this means that your current
–Winthrop Short, VP of Technology, Orbitz Worldwide applications could run several times faster than they do today
• Enhanced business agility with the fexibility to respond
extreme performance, simplifed management, and low total quickly to changing conditions
cost of ownership (TCO) across a wide range of different
business needs. Combined, these benefts provide outstanding Business impact: What if you could…
return on investment and make Oracle engineered systems The marriage between your business-critical applications and
the best platform on which to deploy any application running the high performance of Oracle engineered systems means that
on the Oracle Database, Oracle Fusion Middleware, or Oracle your organization can derive signifcant business benefts. For
Business Intelligence. example:
• What if you could guarantee higher uptimes in your
warehouses when receiving products?
• What if your IT infrastructure could handle 525 times
more allocations, and warehouse picks were done 18 times
faster than they are done today?
• What if your fnancial transactions messaging hub
ran three to seven times faster than it does today?
• What if your core banking infrastructure could handle
fve times more volume than your top hardware does today
and with three times better response time? that their software vendor’s application is supported and
• What if you could close your trading day 11 times ready to run with an Oracle engineered system, and that an
faster for around-the-world coverage? Oracle Exastack Optimized application has been tested
• What if you could provide risk analysis multiple times and tuned with the goal of optimum speed,
during the day for a lower risk profle in your transactions? reliability, and scalability.
• What if you could quickly perform daily operations on “Today, customers simply won’t wait
50 million smart meters? for an application to ‘think’ and respond.
• What if you could create joint venture reports in minutes Software vendors have to deliver the extreme
versus weeks? performance and high availability their
• What if you could lower your daily sales outstanding (DSO) customers demand, and they rely on Oracle
by enabling signifcantly faster processes? engineered systems to do it,” said David Hicks,
…And what would it mean to your business if you could do vice president, Worldwide ISV, OEM, and Java
this for a low TCO? Business Development, Oracle. “Certifying
their applications through the Oracle Exastack
Why select an Oracle Exastack Ready or program helps our valued growing partner
Oracle Exastack Optimized application? community continue to innovate and deliver the
The Oracle Exastack program enables software partners customer experience their users demand.”
and other members of Oracle PartnerNetwork (OPN) to
leverage a highly scalable, integrated infrastructure to deliver Superior value for customers
their applications tuned, tested, and optimized for high As a customer, when you see an Oracle Exastack
performance—without any code changes! Ready or Oracle Exastack Optimized logo, you can be
Since the launch of the Oracle Exastack program in June confdent that the independent software vendor (ISV) has built
2011, more than 1,500 OPN partner applications have stated a sound application that is current with Oracle technology
support for Oracle engineered systems, and the community and is supported with an Oracle engineered system. If you
continues to grow daily. The Oracle Exastack program enables are using these applications, but not running them on Oracle
Oracle partners to leverage Oracle engineered systems to engineered systems, it’s time to talk with Oracle and see
rapidly build and deliver faster, more reliable applications. how to jumpstart your application performance and deliver
This leads to higher satisfaction and improved business superior value to your business.
results among the valuable customers who utilize their If you’re looking for superior performance along with reduced
applications on engineered systems. cost and IT complexity, call your partner or ISV today and ask
Oracle engineered systems are being adopted worldwide them if their applications support Oracle engineered systems
at a very rapid pace. The benefts to both Oracle customers and are Oracle Exastack Ready or Oracle Exastack Optimized.
and software vendors are signifcant. Through the Oracle
Exastack program, customers can be confdent when selecting Find an Oracle Exastack Partner application:
a partner’s Oracle Exastack Ready application, knowing www.oracle.com/partners/goto/exastack
ADVERTISING SUPPLEMENT

Mednet International WANdisco


MEDNEXT+ Non-Stop Hadoop for Oracle Big Data Appliance V 1.9
Oracle Exalogic Optimized Oracle Big Data Appliance Optimized
Oracle Exadata Optimized WANdisco’s Non-Stop Hadoop for Oracle Big Data
MedNet International is a unique information Appliance delivers 100% uptime over a wide area
technology company. Our software, MedNeXt+, refects network for mission-critical applications that process
an in-depth understanding of the health insurance large volumes of unstructured data.
business and continuous evolution over almost two As an Oracle Big Data Appliance Optimized application,
decades. It enables organizations to meet today’s Non-Stop Hadoop’s continuous availability layer can be
challenges and tomorrow’s emerging business needs designed into Big Data infrastructure from the outset, to
with a comprehensive, fexible and integrated platform meet the requirements of the world’s most demanding
combining sophisticated functionality with impressive customers.
performance and reliability.
WANdisco is an Oracle Gold Partner. WANdisco’s
Over the last 20 years, Oracle provided technology products are diferentiated by its patented, active-data
continuity and innovation supporting MedNeXt+ ’s replication technology, providing 100% hardware
evolution strategy. Recently, achieving Oracle Exadata utilization and serving crucial high availability (HA)
Optimized and Oracle Exalogic Optimized status has requirements for Hadoop Big Data.
expanded MedNeXt+ ’s capabilities to address large and
demanding Health Insurance organizations.

For more information visit For more information visit:


www.mni.gr and www.wandisco.com/hadoop/
www.mednext.com non-stop-hadoop-oracle

Griaule Biometrics Volante Technologies, Inc.


GBS Suite 3.0 Volante Designer version 5.0.x
Oracle Exalogic Optimized, Oracle Exadata Optimized Oracle Exalogic Optimized, Oracle Exadata Ready, Oracle
Within the frst 4 years, Griaule began ofering SuperCluster Ready
its products worldwide. Today, with over 12 years Founded in 2001, Volante Technologies is a global leader
of biometric expertise and over a million daily in the provision of innovative fnancial data integration.
authentication operations, our technology is clearly a Volante is dedicated to enabling clients to navigate and
quality reference to the market. manage the diverse, complex and constantly growing range
Griaule employs the biggest and most specialized of message formats, standards and protocol challenges
biometric R&D team in the southern hemisphere, encountered throughout the lifecycle of any fnancial
working closely with researchers from leading Brazilian transaction. By helping companies comply with industry
universities. Tis guarantees the most accurate fngerprint standards through a model-driven approach, integrated
verifcation algorithm in the world, as evidenced by the with a wide range of Oracle infrastructure products and
award won in the FVC—an independent evaluation applications, Volante and Oracle provide a cost-efective,
organized by four universities around the globe. scalable and market-leading platform.

We provide applications to fnancial institutions, Volante Designer 5.0 has been tested and optimized
nationwide public identifcation, law enforcement on Oracle Exalogic Elastic Cloud to execute in excess of
agencies, healthcare and to whoever needs the one million operations per second. Volante is an Oracle
convenience and security of biometric authentication. Gold Partner.

For more information visit


For more information visit www.volantetech.com.
www.griaulebiometrics.com Email: info@volantetech.com
Step Ahead Solutions, Inc. NEOS
CAPS - Clouds Application Provisioning NEOS Profitability Insight; NEOS ADF KickStart; NEOS BI Framework
System Ver 2.0 Oracle Exadata Ready, Oracle Exalogic Ready,
Oracle Exadata Ready, Oracle Exalogic Ready, Oracle Exalytics Ready
Oracle SuperCluster Ready NEOS information system design and development is an
Step Ahead has developed a patent pending cloud Oracle Platinum Partner with broad international experience
application provisioning system named CAPS™ https://www. with medium-sized and large customers. We excel in areas of
youtube.com/watch?v=weptOGyjLiE. We help organizations DW/BI & EPM Solutions and Custom Development
reduce their barrier of entry into cloud computing and Solutions based on Oracle Application Development
accelerate implementations. It may take three weeks to build Framework, Java and related technologies. Our products are
an environment for an BI proof of concept; compared to a packaging technical excellence with best practices and years
half day provision in the cloud with CAPS™. Typical project of experience. All our products are Oracle Exastack Ready:
cost can be reduced by 50% to 70% by using Step Ahead’s • NEOS KickStart for Oracle Application Development
Computing Platform. Step Ahead Solutions is a technology Framework helps in rapid development of enterprise
company located in California’s Silicon Valley and a Gold applications or conversion of legacy systems.
level member of the Oracle PartnerNetwork. • NEOS Proftability Insight is providing extensive analytical

We are experts in Oracle Data Warehouse and Oracle and reporting capabilities in corporate proftability.
Business Intelligence technology; Oracle Application • NEOS BI Framework is leveraging pre-built modules and
Analytics; Oracle E-Business Suite; and Oracle’s PeopleSoft, best practices in all project phases.
Siebel and JD Edwards applications. We deliver location NEOS is helping its clients reach new levels in business
transparent services for on premise as well. excellence. Be one of them.
For more information visit
www.stepaheadsolution.com For more information visit
and www.youtube.com/ www.neos.hr
watch?v=weptOGyjLiE

DSCON Team Quality


iGov PAD version 1.2 Infinitus
Oracle Exadata Ready, Oracle Exalogic Ready, Oracle Exadata Ready
Oracle SuperCluster Ready
Team Quality, an Oracle PartnerNetwork member
Since 2005, DSCON develops projects based on for over 5 years, is an industry leading Independent
middleware solutions and has consolidated itself as a Software Vendor (ISV) providing business solutions and
channel specialized in Oracle Fusion Middleware solutions professional services for the payment and credit market.
to clients in the public and private sectors in Latin
America. Continuous eforts in training its employees, Our software solutions are optimized to deliver extreme
support for Oracle’s engineered systems, and excellence in performance while achieving accurate results in a
its operations has helped DSCON achieve Platinum level highly competitive and critical market; covering the
Oracle PartnerNetwork membership. whole lifecycle of fnancial requirements, including:
Credit Scoring, International / Private / Retail Credit
One of our biggest projects is the “Digital Process” solution Card Management, Transaction Switching and Mobile
adopted by the government as a standard for the entire state Features with EMV ready solutions.
of Rio de Janeiro aiming to transform all administrative
processes into digital ones. Trough this experience we Team Quality combines more than 23 years of market
developed an innovative product called iGov PAD - Digital experience with successful installations in several
Administrative Processes—to create, manage, submit and countries in Latin America, including Visa and
control administrative documents and processes through a MasterCard PCI Compliant success cases.
single data repository using digital certifcation.
Team Quality, the Innovative Payment Solutions
Company.
For more information visit
www.dscon.com.br/en Visit tqcorp.com
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.
Middleware Developer BUSINESS ANALYTICS BY MARK RITTMAN 43

Oracle Business Intelligence Enterprise Edition 11g

Big Data Meets


Business Intelligence
Explore Oracle Big Data Lite Virtual Machine examples
and tutorials to see how big data gets reported.

I f you’re new to big data and interested in


learning more about technologies such
as Apache Hadoop, Hadoop Distributed File
log file containing details of customer movie
recommendations. Then, because this Hive
table contains only basic user interaction
need to configure Oracle VM VirtualBox to
work with bridged networking, so that it
picks up an IP address from your organiza-
System (HDFS), MapReduce, and NoSQL, details, I’ll “blend” this Hadoop-sourced tion’s DHCP server. See “Oracle Big Data Lite
the recently released Oracle Big Data Lite data with useful reference data from Oracle 3.0 Quick Deployment,” at bit.ly/1j7uI13,
Virtual Machine (available for download Database 12c, also located in Oracle Big Data for details on installing Oracle Big Data Lite
from Oracle Technology Network at bit.ly/ Lite Virtual Machine. Virtual Machine and choosing between the
1iofYOV) is a great place to get started. To follow along with this example, you different networking options.
Designed for testing and educational will need the following software and VMs: In addition, your installation of Oracle
purposes and based on the software used • The Oracle Big Data Lite Virtual Machine, Business Intelligence Enterprise Edition 11g
in Oracle Big Data Appliance, this virtual along with Oracle VM VirtualBox if you do (11.1.1.7) must resolve the DNS name
machine (VM) comes with examples and not already have it installed bigdatalite.localdomain to the IP address
tutorials to get you started with key Oracle • An installation of Oracle Business that Oracle Big Data Lite Virtual Machine is
big data technologies. Intelligence Enterprise Edition 11g using. In order to configure this, follow
Recent releases of Oracle Business (11.1.1.7); for this example, I use a Microsoft these steps:
Intelligence Enterprise Edition 11g have Windows–based installation 1. With Oracle Big Data Lite Virtual
introduced new options for connecting to • Hive Open Database Connectivity (ODBC) Machine open and the desktop visible,
big data sources, including the ability for drivers available for download at bit.ly/ right-click in the desktop, and select
Oracle Business Intelligence Enterprise 1j0mtXX (Note that the Hive ODBC drivers Open in Terminal from the menu.
Edition 11g to connect to Apache Hive, a that ship with Oracle Business Intelligence 2. At the command prompt, enter the
subproject within Hadoop that provides a Enterprise Edition 11g [11.1.1.7] are for command ifconfig. Then, for the first
SQL-like interface for Hadoop and NoSQL the older HiveServer1 protocol whereas adapter (typically labeled eth2 or eth4)
data. Using this new Apache Hive connec- Oracle Big Data Lite Virtual Machine in the list of network adapters displayed,
tivity, you can include data from Oracle Big comes with the Cloudera distribution that locate the IP address next to inet addr.
Data Appliance and other Hadoop clusters includes Hadoop 4.6, which uses the newer In my case, the IP address listed is
in your reports and dashboards, combining HiveServer2 protocol.) 172.16.107.221, but yours will be dif-
it with other datasources—such as Oracle Your installations of Oracle Big Data ferent. Note this IP address for later,
Database and Oracle Essbase—to provide a Lite Virtual Machine and Oracle Business and select File -> Close to close the
complete enterprisewide view of your data. Intelligence Enterprise Edition 11g (11.1.1.7) Terminal window.
must be visible to each other on the same 3. In Oracle Business Intelligence
Connecting to Oracle Big Data Lite network. If you want to run the example in Enterprise Edition 11g (11.1.1.7), assuming
Virtual Machine this article on your own laptop or desktop that you are using Microsoft Windows
To show how Oracle Business Intelligence computer, the machine will need as much as 2008 R2 as your OS environment,
Enterprise Edition 11g works with big 12 GB of RAM total for both Oracle Big Data click the Start button and right-click
data sources, I will use Oracle Business Lite Virtual Machine and your installation the notepad icon when it’s displayed,
Intelligence Enterprise Edition 11g to of Oracle Business Intelligence Enterprise selecting Run as Administrator from the
connect to the Hadoop installation on Edition 11g (11.1.1.7), and you will need to use menu. Then, using the File dialog box,
Oracle Big Data Lite Virtual Machine, using the “host-only networking” option in Oracle navigate to Windows -> System32 ->
Hive connectivity. VM VirtualBox. drivers -> and so on and open the file
I’ll connect to a Hive database called If your installation of Oracle Business called hosts. With this file open, create
I-Hua Chen

moviedemo, which contains a single Hive Intelligence Enterprise Edition 11g (11.1.1.7) an entry that resolves Oracle Big Data
table, which, in turn, maps to a web server is on your organization’s network, you will Lite Virtual Machine to its correct IP

oracle magazine September/october 2014


44 BUSINESS ANALYTICS

address, as shown below (note that your


IP address will be different):

# localhost name resolution is


# handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost

172.16.107.221 bigdatalite.localdomain
bigdatalite

Then, select File -> Close to close the


Notepad window.
4. Next, still within the Oracle Business
Intelligence Enterprise Edition 11g envi-
ronment, install the Hive ODBC drivers,
using the Windows program installer you
downloaded earlier. Then create a new
ODBC datasource using those drivers and
pointing to Oracle Big Data Lite Virtual Figure 1: Importing the Hive table metadata into the BI repository
Machine by selecting Start -> Control
Panel -> Administrative Tools -> Data Oracle Business Intelligence -> BI moviedemo database, select the
Sources (ODBC), and then create a new Administration from the Windows movieapp_log_stage Hive table, and
system datasource name (DSN), using desktop. When the Oracle BI then click Import Selected to move it to
the following options: Administration tool starts, select File -> the Repository View panel.
Open -> Online and enter the details for 4. With the BI Administration tool still
Driver: Cloudera ODBC Driver
for Apache Hive your Oracle Business Intelligence server open, locate the hive_bigdatalite data-
Data Source Name: hive_bigdatalite and repository. For example, base within the Physical layer panel and
10000 double-click it to open it for editing.
Port: Repository Password: Admin123
With the General tab selected, change
Database: moviedemo
User: weblogic
Database Type to Apache Hadoop and
Hive Server Type: Hive Server 2
Password: welcome1 click OK. Click No when asked if you
Mechanism: user name
want to edit the connection pool that
User Name: oracle 2. To import the table metadata for the log accompanies the physical database.
file table, select File -> Import Metadata Then click the Save button on the appli-
Click Test to check that the datasource from the BI Administration toolbar cation toolbar, and select No when asked
connects successfully, click OK, and then and then select and enter the following whether you want to check the reposi-
click OK again to close the dialog box. values to connect to the Hive server on tory for consistency. (You will perform a
Oracle Big Data Lite Virtual Machine: consistency check of the repository after
Connect to Hive and Hadoop Sources all edits are complete.)
Connection Type: ODBC 3.5
At this point, all the connections are in place 5. Now you can test the connection to
DSN: hive_bigdatalite
to start connecting your Oracle Business the Hive table on Hadoop. Right-click
Intelligence Server repository to the Hive Username: oracle the movieapp_log_stage physical table
server on Oracle Big Data Lite Virtual Password: welcome1 within the Moviedemo physical data-
Machine. In the following example, I’ll edit base, and select View Data. After a short
the Oracle Business Intelligence Server Click Next, and then click Next again. while, you should see a table of data
repository online to bring in the Hive table 3. You will be presented with a list of the displayed from the Hive server; the delay
(but you could also create a new offline databases that are available from the in returning data is because Hive, in turn,
repository and upload that to your Oracle Hive server. Figure 1 shows an example runs a MapReduce job to return data from
Business Intelligence Server, using Oracle of this list, including any other Hive the HDFS log file, an approach designed
Fusion Middleware Control). databases you may have created on more for batch processing but capable of
1. With your Oracle Business Intelligence Oracle Big Data Lite Virtual Machine handling very large sets of data. Figure 2
Server started, select Start -> prior to this example. Navigate to the shows data returned from the Hive table.

September/october 2014 Oracle.com/oraclemagazine


45

Using Oracle Business Intelligence


Enterprise Edition 11 g to Blend
Hadoop and Relational Data
You now have a successful connection to
the Hive table that displays data from the
log file in the Hadoop file system, but on its
own, this file isn’t very useful. It includes
customer IDs, for example, rather than the
descriptive name of the customer or where
that person is located.
There are various ways you could supple-
ment this log data with customer and Figure 2: Returning log data from the Hive table
product reference data. You could upload
customer and product files into HDFS and
join that data with the log file data, using
a HiveQL join, similar to a join in regular
SQL. Alternatively, and as I’ll do now, you
could use the data federation capabilities
of Oracle Business Intelligence Enterprise
Edition 11g (11.1.1.7) to retrieve this data
directly from Oracle Database and then have
Oracle Business Intelligence Server join it to
the Hive table dynamically when users query
it. To set up this link to Oracle Database on
Oracle Big Data Lite Virtual Machine and
import customer and movie reference tables
into the Oracle Business Intelligence Server
repository, follow these steps:
1. With the BI Administration tool still
open and with your repository open
online for editing, select File -> Import
Metadata from the application menu. Figure 3: The final Oracle Business Intelligence Server repository
Then select and enter the following
values to connect to Oracle Database in Click Finish to close the dialog box, and CUSTOMER table at CUST_ID = custid.
Oracle Big Data Lite Virtual Machine: then click Save in the application toolbar When you’re done, close the Physical
to save your repository, clicking No when Diagram window and return to the
Connection OCI 10g/11g
asked if you want to check the repository main BI Administration window.
Type:
for consistency. 4. Now you will create a business model
Data Source (DESCRIPTION=(ADDRESS_
Name: LIST=(ADDRESS=(PROTOCOL = 3. To create a physical join between the that brings in data from both Hive
TCP)(HOST = bigdatalite
Hive log table and the two Oracle refer- and Oracle Database. To do so, right-
.localdomain)(PORT =
1521)))(CONNECT_DATA = ence tables: within the Physical layer, click anywhere in the Business Model
(SERVICE_NAME = orcl)))
use Ctrl-click to select the three tables, and Mapping pane and select New
User Name: moviedemo right-click, and then select Physical Business Model from the menu. When
Password: welcome1 Diagram -> Selected Objects Only. prompted, name the model Movie
Then, when the three tables appear Recommendation Analysis, and click
Click Next, and then click Next again. in the Physical Diagram window, click OK to close the dialog box.
2. From the Data source view in the left- the movieapp_log_stage table and 5. Use Ctrl-click to select the three tables
hand panel of the dialog box, locate then New Join. Using the displayed in the Physical layer, and drag and drop
the MOVIEDEMO schema and then the arrow, click the MOVIE table first and them on top of the new business model
CUSTOMER and MOVIE tables within it. join it to the movieapp_log_stage in the Business Model and Mapping layer.
Use Ctrl-click to select both tables, click table at MOVIE_ID = movieid. Then When you do so, an error message reports
Import Selected, and then click OK to create another join, this time joining that the ADDRESS_POINT column in the
move the tables into the Repository view. the movieapp_log_stage table to the CUSTOMER table has no datatype. You

oracle magazine September/october 2014


46 BUSINESS ANALYTICS

the query. The average ratings and total


sales for the countries in the filter condi-
tion will be displayed, with measures
from a log file on HDFS accessed through
Hive, combined with reference data from
Oracle Database. Figure 4 shows the
query results.

Final Report
Oracle Business Intelligence Enterprise
Edition 11g (11.1.1.7) can report against a
wide range of enterprise datasources and
can bring those datasources together into
a single analysis, with the underlying data
extraction complexity hidden from the
user. Recent releases of Oracle Business
Figure 4: The final analysis, combining Hive and Oracle Database data Intelligence Enterprise Edition 11g intro-
duced the ability to connect to Hadoop as
won’t need this for the example, so return Server. Your repository should then, in a datasource, and using Oracle Big Data
to the CUSTOMER table in the Physical its final state, look like the one shown Lite Virtual Machine is a great way to get
layer, double-click it to edit it, select the in Figure 3. familiar with big data technologies such as
Columns tab, and click Delete to delete Hadoop, HDFS, Hive, and MapReduce. 
the ADDRESS_POINT column from that Easy Reporting Against
physical table. Then repeat the process Blended Datasources
of using Ctrl-click and dragging the three You can now open up the Oracle Business
tables into the new business model, Intelligence website and create your first Mark Rittman is an
which should now work for you (without report using data from Hive and Oracle Oracle ACE Director and
returning an error). Database. To do this, navigate to the Oracle cofounder of Rittman
6. Now, within the new business model, Business Intelligence website (for example, Mead, an Oracle Gold
you need to set default aggregation http://localhost:7001/analytics if you Partner based in the UK,
types for the measure columns in the are working with a local VM) and enter with offices in the US,
movieapp_log_stage logical table. To your login credentials, such as weblogic/ India, and Australia. Rittman has worked with
do so, locate the table within the busi- welcome1. Then, from the website menu, do Oracle’s business intelligence, data integration,
ness model, click the + button next to the following to create a sample analysis: and data warehousing products for more than
the table name, and then double-click 1. Select New -> Analysis, and then select 15 years, and he writes for the Rittman Mead
the rating column within it. In the your subject area from the list of subject blog at rittmanmead.com/blog.
Logical Column dialog box, select the areas, which—if you have followed the
Aggregation tab and then choose Avg for previous steps—will be called Movie Next Steps
Default Aggregation Rule. Repeat this Recommendation Analysis.
step once again for the sales column, but 2. With the Criteria tab selected, select the LEARN more about big data
oracle.com/us/technologies/big-data
set its Default Aggregation Rule to Sum, following three subject area columns as
READ more Rittman
and then click OK. the analysis criteria:
Rittman Mead blog
7. Finally, to create a Presentation layer • movieapp_log_stage.rating rittmanmead.com/blog
subject area for this business model, • movieapp_log_stage.sales Oracle Magazine business
click and drag the business model • CUSTOMER.COUNTRY intelligence columns
bit.ly/omagbi
within the Business Model and Mapping and use the Filter menu item for the
layer, drop it into the Presentation layer, CUSTOMER.COUNTRY column to create DOWNLOAD
Oracle Big Data Lite Virtual Machine
and then click Save. Click Yes when the following filter condition: bit.ly/1iofYOV
asked if you want to check the reposi- Oracle Business Intelligence Enterprise
tory for consistency, and then click Yes COUNTRY is equal to / is in Canada; Edition 11g (11.1.1.7)
and OK in the various dialog boxes as Netherlands; United Kingdom bit.ly/1kQW3Ey
the repository is checked in and saved Hive ODBC drivers
bit.ly/1j0mtXX
back to Oracle Business Intelligence 3. Click the Results tab to see the results of

September/october 2014 Oracle.com/oraclemagazine


DBA PERFORMANCE BY ARUP NANDA 47

ORACLE DATABASE IN-MEMORY

It’s All In
Leverage the in-memory column store in Oracle Database
In-Memory to supercharge database performance—
without changing application code.

M aria, the lead DBA at Acme Inc., has


some concerned visitors today. Heli—
the primary user of a major application—is
other attributes and operations in the data-
base, and these require space. Expanding the
buffer cache, Maria continues, also increases
populated, the next row starts in that data-
base block—again, with the same sequence
of columns, Maria explains, pointing to
upset with that application’s performance the overhead of managing the cache. In some Figure 1. If a query selects all the columns of
when running large analytic queries. John— cases, the added overhead negates any ben- a table every time, this arrangement of data
the DBA of that application’s database— efits of a larger cache or the overhead may inside the database block will perform well.
wants the developers to alter the application erode the gains of the larger buffer cache However, the analytic queries issued by Heli
code to make it more efficient, but Sophie— so much as to make any performance gains typically select only a handful of columns
the lead developer—says it can’t be done insignificant. Expanding the buffer cache is from all the rows. The database fetches the
because it’s a packaged application and they not the real solution to the current problem. entire database block into the buffer cache,
can’t change it. John has also tried increasing In addition, Maria continues, the data locates the first row, identifies the start
the size of the buffer cache, but that has access pattern plays a significant role in position of the column, extracts the value,
delivered little or no benefit. Heli has offered performance. Traditionally, Oracle Database locates the starting point of the next row,
to create additional indexes to improve has stored data in multicolumn records— locates the relative position of the same
query performance, but Sophie notes that also known as rows—one column after columns in that row, extracts the value,
the application includes online transaction another. When all the columns of a row are and so on. The process repeats until the
processing (OLTP) functionality: it issues
DML statements, and those processes will
be slowed by a proliferation of indexes.
Data Block 1 Data Block 2
Stalemate. Maria’s visitors look to her for COL1 COL2 COL3 COL4 COL1 COL2 COL3 COL4

a solution to their problems. COL1 COL2 COL3 COL4 CO COL1 COL2 COL3 CO CO
L4 L4 L1
There is a solution, Maria assures them, COL CO
COL1 COL2 COL4 COL1 COL2 COL3 COL4
one that requires neither application code 4 L3

changes nor creation of any new indexes.


ROW 1 ROW 2 ROW 3 ROW 4 ROW 5 ROW 6
The solution is the in-memory column store,
part of the Oracle Database In-Memory Figure 1: Traditional data block storage

option, available for use with Oracle


Database 12c Release 2 (12.1.0.2).
ROW 1 COL1 COL2 COL3 COL4

COLUMN STORE ROW 2 COL1 COL2 COL3 COL4


Before Maria can present the solution, John CO
ROW 3 COL1 COL2 L3 COL4
wants to know why a larger buffer cache did ROW
SET
not improve performance as expected. ROW 4 COL1 COL2 COL3 COL4
It’s true, Maria explains, that a bigger CO
ROW 5 COL1 COL2 COL3 L4
buffer cache does enable more data to exist
in memory for longer periods, and therefore ROW 6 COL1 COL2 COL3 COL4

the bigger cache reduces the need to fetch


from disk and consequently reduces I/O.
Column Unit
However, she clarifies, the buffer cache does
much more than act as an interim place-
holder between the disk and the users. The Data Block 1 Data Block 2
I-HUA CHEN

buffer cache is also the primary staging area


for read consistency, multiversioning, and Figure 2: Organization of data in column storage

ORACLE MAGAZINE SEPTEMBER/OCTOBER 2014


48 Performance

values of these selected columns have been Code Listing 1: Altering the COSTS table to put partitions in memory
extracted from all the rows.
Heli sees the problem immediately. If the alter table costs modify partition COSTS_Q4_2003 inmemory no memcompress
database were able to read the column values priority high;
… script truncated for brevity …
from all the rows immediately instead of
alter table costs modify partition COSTS_1996 inmemory memcompress for
performing the additional tasks of locating capacity high priority none;
the starting points of the rows and then alter table costs modify partition COSTS_1995 inmemory memcompress for
capacity high priority none;
the relative positions of the columns inside
them, the performance would be fantastic.
Precisely, Maria confirms, and that calls for Code Listing 2: Displaying in-memory attributes of the COSTS table
a new design called a column store database,
in which the columns—not the rows—are select partition_name, inmemory_priority,
stored together, as shown in Figure 2. inmemory_distribute, inmemory_compression
from user_tab_partitions
Columns from the rows are stored together
where table_name = 'COSTS'
in a new structure called a column unit (CU). order by partition_position;
The CU is not the same as a data block, she
PARTITION_NAME INMEMORY INMEMORY_DISTRI INMEMORY_COMPRESS
clarifies. The CU can be much bigger than the
———————————————————— ——————————— —————————————————————— ————————————————————————
typical 8 K data block. This special arrange- COSTS_1995 NONE AUTO DISTRIBUTE FOR CAPACITY HIGH
ment of columns enables the query to grab COSTS_1996 NONE AUTO DISTRIBUTE FOR CAPACITY HIGH
COSTS_H1_1997 NONE AUTO DISTRIBUTE FOR CAPACITY HIGH
the values of the selected column from all the
COSTS_H2_1997
rows immediately—without going through COSTS_Q1_1998 NONE AUTO DISTRIBUTE FOR CAPACITY HIGH
the time-consuming task of identifying rows COSTS_Q2_1998 NONE AUTO DISTRIBUTE FOR CAPACITY HIGH
COSTS_Q3_1998 NONE AUTO DISTRIBUTE FOR CAPACITY HIGH
and the columns inside.
COSTS_Q4_1998 NONE AUTO DISTRIBUTE FOR CAPACITY HIGH
John is skeptical. This column-store- COSTS_Q1_1999 NONE AUTO DISTRIBUTE FOR CAPACITY HIGH
database concept is not new. Database COSTS_Q2_1999 NONE AUTO DISTRIBUTE FOR CAPACITY HIGH
COSTS_Q3_1999 NONE AUTO DISTRIBUTE FOR CAPACITY HIGH
vendors have been providing this technology
COSTS_Q4_1999 NONE AUTO DISTRIBUTE FOR CAPACITY HIGH
for years. But we can’t use it, John says, for COSTS_Q1_2000 MEDIUM AUTO DISTRIBUTE FOR CAPACITY HIGH
other types of operations, particularly OLTP. COSTS_Q2_2000 MEDIUM AUTO DISTRIBUTE FOR CAPACITY HIGH
COSTS_Q3_2000 MEDIUM AUTO DISTRIBUTE FOR CAPACITY HIGH
The traditional Oracle Database storage
COSTS_Q4_2000 MEDIUM AUTO DISTRIBUTE FOR CAPACITY HIGH
format, the row store, processes data change COSTS_Q1_2001 HIGH AUTO DISTRIBUTE FOR CAPACITY HIGH
operations most efficiently. So, John con- COSTS_Q2_2001 HIGH AUTO DISTRIBUTE FOR CAPACITY HIGH
COSTS_Q3_2001 HIGH AUTO DISTRIBUTE FOR CAPACITY HIGH
tinues, queries may be faster with a column
COSTS_Q4_2001 HIGH AUTO DISTRIBUTE FOR CAPACITY HIGH
store database, but a row store database is COSTS_Q1_2002 HIGH AUTO DISTRIBUTE FOR CAPACITY LOW
the right choice for OLTP. COSTS_Q2_2002 HIGH AUTO DISTRIBUTE FOR CAPACITY LOW
COSTS_Q3_2002 HIGH AUTO DISTRIBUTE FOR CAPACITY LOW
Why not have it both ways? asks Maria.
COSTS_Q4_2002 HIGH AUTO DISTRIBUTE FOR CAPACITY LOW
The good news is that these two choices COSTS_Q1_2003 CRITICAL AUTO DISTRIBUTE FOR QUERY
need not be mutually exclusive. In Oracle COSTS_Q2_2003 CRITICAL AUTO DISTRIBUTE BASIC
COSTS_Q3_2003 CRITICAL AUTO DISTRIBUTE BASIC
Database 12c Release 2 (12.1.0.2), we have
COSTS_Q4_2003 CRITICAL AUTO DISTRIBUTE BASIC
the option of using both types of stores in
the same database. And, she continues, the
column store exists entirely in memory. The issues this statement to create the in- the overall database size. With Oracle
combination of the column store structure memory column store: Database In-Memory, however, the DBA
and memory residency makes the perfor- can choose specific data to populate the in-
mance of analytical queries soar. alter system set inmemory_size=48g memory column store. Even better, the DBA
scope=spfile; can choose individual partitions of tables
Configuration rather than entire tables. Maria explains
Maria gathers her visitors around her desk This is the only configuration step the basic syntax for putting tables in the in-
to demonstrate how Oracle Database required to enable the column store. This memory column store:
In-Memory works. is not a dynamic operation; the database
The in-memory column store is a new instance needs to be recycled to enable the alter table TableName inmemory;
pool in the system global area (SGA), she new column store.
explains. The DBA decides how much Because the size of this sample column Maria pauses and directs her audience’s
memory to allocate to this new pool and store is only 48 GB, it may be smaller than attention to a very important character-

September/october 2014 Oracle.com/oraclemagazine


49

istic of this process of populating tables Code Listing 3: Checking for segments in the in-memory column store
from disk to the in-memory column store.
The version of the table in the in-memory select partition_name, populate_status, bytes_not_populated “Not_Pop”,
column store is in the new column store bytes, inmemory_size, bytes/inmemory_size comp_ratio
FROM v$im_segments;
format for better performance. On disk,
however, the table continues to be stored in PARTITION_NAME POPULATE_S Not_Pop BYTES INMEMORY_SIZE COMP_RATIO
the traditional row store format. When users ———————————————————— —————————————— —————————— —————————— ——————————————————— ———————————————
COSTS_Q3_2000 COMPLETED 0 8388608 1179648 7.11111111
modify the data in that table, the version of
COSTS_Q4_2001 COMPLETED 0 8388608 1179648 7.11111111
the table in the buffer cache is updated and COSTS_Q1_2001 COMPLETED 0 8388608 1179648 7.11111111
written back to the disk. When the data is COSTS_Q2_2000 COMPLETED 0 8388608 1179648 7.11111111
COSTS_Q3_2001 COMPLETED 0 8388608 1179648 7.11111111
queried, however, the in-memory column
COSTS_Q4_2000 COMPLETED 0 8388608 1179648 7.11111111
store version of the table is used. COSTS_Q1_2000 COMPLETED 0 8388608 1179648 7.11111111
When the INMEMORY attribute is set COSTS_Q2_2001 COMPLETED 0 8388608 1179648 7.11111111
for a segment—a table or a partition—that
segment is automatically loaded into the Code Listing 4: Query for evaluation
in-memory column store. A new background
process, Maria explains—IMCO—coordi-
select /*+ gather_plan_statistics */ PROD_NAME, TIME_ID,
nates the populating of the data. The actual avg(UNIT_PRICE) avg_cost
data populating is done by two new back- from costs c, products p
where p.prod_id = c.prod_id
ground processes—SMCO and Wnnn.
group by PROD_NAME, TIME_ID
John, seeing a potential issue, points out having avg(unit_price) > 1000
that when the table data gets updated, the order by PROD_NAME, TIME_ID;
buffer cache is where the update occurs, so
select * from
the in-memory column store version is no table(dbms_xplan.display_cursor(format=>'TYPICAL'));
longer the most current version of the table.
Doesn’t that make the data access of the
updated table from that column store incor- the MEMCOMPRESS subclause of the help performance but rather takes up valu-
rect? John asks. Not at all, assures Maria. INMEMORY attribute. She reminds everyone able space. Good point, concedes Maria, and
Oracle Database automatically keeps the that this compression is inside the in- continues that the DBA can define a table
in-memory column store transactionally memory column store only; the segment to be in the in-memory column store but
consistent with the row store format in the on the disk is not affected. There are five can also exclude some columns. Different
buffer cache, similar to how an index is kept options for the MEMCOMPRESS subclause— compression levels can also be defined for
transactionally consistent with a table. FOR DML, FOR QUERY LOW (the default), different columns in the column store. Maria
FOR QUERY HIGH, FOR CAPACITY LOW, demonstrates with a table named T1. It is in
In-Memory Options and FOR CAPACITY HIGH—from lowest the in-memory column store, but its columns
Heli raises a good question: what if the to highest compression. The higher the c4 and c5 should not be in the in-memory
total size of all the segments placed in the compression, the less space occupied in the column store. In addition, columns c3 and c2
in-memory column store is more than in-memory column store but the more CPU should be compressed with the CAPACITY
48 GB? “No worries,” Maria responds. Oracle consumed by data accesses. If compres- LOW option whereas the other columns
Database will determine which segments sion is not needed, the DBA can use the NO should be compressed with QUERY LOW
are loaded in what sequence and how long MEMCOMPRESS option. (the default). Maria issues the following SQL
they stay there, based on a priority that can John asks how the in-memory column statement to accomplish all that:
be defined in the ALTER statement with store works with the multiple nodes in an
the PRIORITY subclause of the INMEMORY Oracle Real Application Clusters (Oracle alter table t1 inmemory
attribute. The PRIORITY subclause takes four RAC) database. By default, Maria responds, memcompress for
options—CRITICAL, HIGH, MEDIUM, and the column store is distributed among the capacity low (c2,c3)
NONE. The last option, Maria explains, does caches of all nodes. It also can be duplicated no inmemory (c4,c5);
not populate the segment into the column on all Oracle RAC nodes by use of another
store automatically. That populating occurs clause: DUPLICATE. Case Study
only when someone selects from the table. Heli is impressed, but she has a concern. Every one of Maria’s guests wants to see
In addition, Maria continues, to save Her queries do not select many of the how Oracle Database In-Memory works in
space, a DBA can compress the data columns of a table, so having those columns an actual use case. Maria demonstrates
in the in-memory column store, using in the in-memory column store does not with the SH schema that comes with Oracle

oracle magazine September/october 2014


50 Performance

Database. The COSTS table is partitioned Code Listing 5: Execution plan with the in-memory column store
by range—one partition per quarter or, in
the case of very old data, one partition per ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
half year or per year. Sophie knows that |Id| Operation |Name |Rows |Bytes |Cost(%CPU)|Time |
————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
Acme uses something similar to this table
| 0|SELECT STATEMENT | | | | 7 (100)| |
in its major application and that that table |*1| FILTER | | | | | |
is accessed frequently and thus should be a | 2| SORT GROUP BY | | 1799| 84553| 7 (58)|00:00:01|
|*3| HASH JOIN | |82112| 3768K| 4 (25)|00:00:01|
good candidate for the in-memory column
| 4| TABLE ACCESS FULL |PRODUCTS| 72| 2160 | 3 (0)|00:00:01|
store, with some compression to save space. | 5| PARTITION RANGE ALL | |82112| 1363K| 1 (100)|00:00:01|
Sophie also explains that more-recent parti- | 6| TABLE ACCESS INMEMORY FULL |COSTS |82112| 1363K| 1 (100)|00:00:01|
————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
tions are queried much more frequently than
older ones. Because the level of compression
affects CPU consumption, Maria makes a Code Listing 6: Execution plan without the in-memory column store
rule: apply lesser levels of compression or
no compression at all for segments that are —————————————————————————————————————————————————————————————————————————————————————————————————————————————————
accessed more frequently—that is, more- |Id|Operation |Name |Rows |Bytes |Cost (%CPU)|Time |
—————————————————————————————————————————————————————————————————————————————————————————————————————————————————
recent partitions. Older partitions, which
| 0|SELECT STATEMENT | | | | 140 (100)| |
are accessed less frequently, can be more |*1| FILTER | | | | | |
aggressively compressed to save space. She | 2| SORT GROUP BY | | 3665| 168K| 140 (3)|00:00:01|
|*3| HASH JOIN | |82112| 3768K| 137 (1)|00:00:01|
also makes a rule that higher priority (the
| 4| TABLE ACCESS FULL |PRODUCTS| 72| 2160 | 3 (0)|00:00:01|
PRIORITY clause) for populating the in- | 5| PARTITION RANGE ALL | |82112| 1363K| 134 (1)|00:00:01|
memory column store should be assigned | 6| TABLE ACCESS FULL |COSTS |82112| 1363K| 134 (1)|00:00:01|
—————————————————————————————————————————————————————————————————————————————————————————————————————————————————
to more-recent partitions, because she
wants them to be loaded sooner and stay
in memory longer. With this set of require- shows the segment amount remaining Next, Maria takes a typical query from
ments in place, Maria alters the COSTS table while the cache is being populated. Acme’s major application, joining the COSTS
by using the SQL shown in Listing 1. • INMEMORY_SIZE: This column shows the table with the PRODUCTS table, which is not
The USER_TABLES view—or the USER_ size of that segment in the in-memory defined to be in memory. Listing 4 shows
TAB_PARTITIONS view for partitioned column store. the query as well as a query on execution
tables—provides in-memory column store • INMEMORY_PRIORITY, INMEMORY_ statistics to demonstrate how well the query
information on the selected table. Three DISTRIBUTE, INMEMORY_ performed. (She uses the SET TIMING ON
new columns in these views— INMEMORY_ COMPRESSION: These columns are the command before running the query to get
PRIORITY, INMEMORY_DISTRIBUTE, priority, Oracle RAC distribution, and the response time.) The query in Listing 4
INMEMORY_COMPRESSION—display the compression attributes of that segment, took 3.64 seconds to execute. Listing 5
priority, the distribution in an Oracle RAC respectively, and they provide the same shows the execution plan. Maria then dis-
database, and the compression type, respec- information as the identically named ables the use of the in-memory column
tively. Maria uses the SQL shown in Listing 2 columns in the USER_TABLES and USER_ store by executing the following SQL:
to get these details for each partition. TAB_PARTITIONS views.
To find out what segments are in the Maria executes the SQL shown in alter session
in-memory column store, Maria queries a Listing 3 to check for the segments in the in- set inmemory_query = disable;
new dynamic performance view—V$IM_ memory column store and how much they
SEGMENTS. She explains some important have been compressed. Heli notes a very Then she executes the Listing 4 query
columns of the view: important fact: not all the partitions are again. This time the query does not use the
• OWNER, SEGMENT_NAME, PARTITION_ visible in the in-memory column store. The in-memory column store and the elapsed
NAME: The column names describe the reason, Maria explains, is simple: the seg- time jumps to 6.99 seconds—a 92 percent
information included there. ments where she has defined the priority to increase! Everyone in Maria’s office wants
• BYTES: This column shows the size of the be NONE are not populated automatically in to know what happened. To answer that
segment on disk. the column store. For example, the priority question, Maria draws their attention to the
• POPULATE_STATUS: This column shows of the COSTS_1995 partition is set to NONE, execution plan of the second query execu-
when the cache is populated from this as shown in Listing 2, so that partition is tion, shown in Listing 6. The two plans are
segment on disk. After populating is com- not yet in the column store. When someone almost identical, except for step 6, “TABLE
plete, this column shows COMPLETE. selects from that partition, the in-memory ACCESS INMEMORY FULL.” The CPU cost is 1
• BYTES_NOT_POPULATED: This column column store will be populated. for the first execution (with the in-memory

September/october 2014 Oracle.com/oraclemagazine


51

column store), Maria observes, but 134 for in-memory column store and then kept impressed, leave the meeting happy and
the second (without the in-memory column there or moved out after the overall per- with a clear action plan. t
store). The CPU had to do extra work to get formance has been checked. For guidance
the data from the buffer cache when the in- on compression, Maria suggests using the
Arup Nanda (arup@
memory column store was not used, hence DBMS_COMPRESSION package to estimate
proligence.com) has
the 92 percent performance penalty. Maria the space savings a segment could have in
been an Oracle DBA
reminds everyone that the performance the in-memory column store.
since 1993, handling
boost demonstrated in Listing 4 came
all aspects of database
purely from the in-memory column store CONCLUSION
administration, from
without code changes or additional indexes. Maria’s visitors want a quick solution to a
performance tuning to security and disaster
Her visitors wonder how to decide which common performance problem but without
recovery. He was Oracle Magazine’s DBA of the
segments are good candidates for the changing code or adding indexes. In this
Year in 2003 and received an Oracle Excellence
in-memory column store. Maria suggests article, Maria solves the problem by marking
Award for Technologist of the Year in 2012.
simple rules: Tables whose entire set of relevant tables to be populated into the in-
rows, even for a few columns, are selected memory column store in Oracle Database
NEXT STEPS
by queries are great candidates for the In-Memory. Oracle Database transparently
new in-memory column store. Tables or gets the data from disk to this store, and
LEARN more about
partitions that participate in OLTP transac- Maria does not need to choose between the Oracle Database In-Memory
tions more than in queries will not benefit two different store technologies—column bit.ly/inmemfeature
bit.ly/inmemdoc
as much, so she advises that they not be and row. She can choose both in the same
put into the in-memory column store. Oracle database and put segments in either DOWNLOAD Oracle Database 12c
bit.ly/databasedownloads
When in doubt, tables can be tested in the store as appropriate. Her visitors, quite

Integrate. Support. Optimize.


Partner with AbeTech for your Oracle Mobile Supply Chain Applications and Hardware Management.

Let Your Oracle See Further


Partner with AbeTech today to discover how much of the
future you may be missing. Our staff of engineers, technicians
and programmers have years of experience in helping companies
just like yours make the most of their Oracle Mobile Supply Chain
Applications by improving operational productivity and reducing
costs through process automation. Ensure that information is
accurate and up-to-the-moment throughout your entire logistics
division with the latest in RFID and Bar Code Scanning technologies,
as well as finding you the right mobile computers for your workers
regardless of whether they are in the office, the warehouse or
visiting job locations across the country.
• Mobile Computing • RFID
• Wireless • Bar Code Scanning/Data Entry
• Thermal Printing/Labeling • Custom Applications

Whatever your needs, AbeTech will help you find the solutions you
need to optimize every aspect of your business. Call us now to see
how our best-in-class service can help your company make the
most of the Oracle experience!
800.478.8644 | www.abetech.com

ORACLE MAGAZINE SEPTEMBER/OCTOBER 2014


52 Database Application Developer

Oracle Database

Persistence Doesn’t
Always Pay
Sometimes you don’t want a database table and SQL.
Sometimes you just need to collect your thoughts.

I n my last article, “The Joy of Low-Hanging


Fruit” (bit.ly/PL_SQL), you met a team of
developers at extremememe.info (all names
Code Listing 1: The original (Joe’s) meme_tracker package specification

PACKAGE meme_tracker
changed to protect the innocent), an up-and- IS
PROCEDURE reset_memes;
coming Web 3.0 paradigm shifter that ana-
lyzes internet memes, tracks them to their FUNCTION already_saw_meme (
sources, and best of all predicts new memes. meme_target_in VARCHAR2, meme_in IN VARCHAR2)
RETURN BOOLEAN;
The developers at extremememe.info are
very knowledgeable about Oracle Database PROCEDURE add_meme (
and PL/SQL, but as is the case with many meme_target_in VARCHAR2, meme_in IN VARCHAR2);
END;
developers, they have little time to explore
new technology. They mostly struggle to keep
up with the demands of their users. And even CREATE TABLE temp_processed_memes Joe looked rather confused, so I took a
when they discover a great new feature, it (meme VARCHAR2(1000) UNIQUE) step back (conceptually) and explained the
can be a challenge to convince management / situation as follows:
to commit the resources to apply the new Without doubt, the general strategy that
feature to stable production code. Then he put together the simple and intui- Oracle Database developers should follow is
As demonstrated in my last article, I tive package specification shown in Listing 1. to do everything they can in SQL. What they
helped the developers at extremememe “Congratulations, Joe,” I told him. “Your cannot do in SQL, they should do in PL/SQL.
.info improve the performance of a critical specification doesn’t have a single comment, And what they cannot do in PL/SQL, they
batch job by applying bulk processing (BULK and it doesn’t need one. You came up with should do in whatever language they are
COLLECT and FORALL). clear, understandable names so that the using to build their user interfaces. (This is a
A week later, I visited extremememe.info code tells its own story. Show me more.” “mantra” created by Tom Kyte and to which I
to see how they were doing. Joe, one of their So Joe showed me the package body (in wholeheartedly subscribe.)
newer developers, pulled me aside to show Listing 2), and then he opened up the script There is, however, a hidden assumption
me a program he’d been working on. he was using (in Listing 3) to test the package in this set of language priorities: the task at
“It’s another batch job,” he explained. “I and demonstrate its intended usage. hand should be well suited to and require
need to keep track of memes that were refer- I asked Joe three questions: SQL. To offer an obvious example, if you
enced in the job, and then avoid processing 1. “Do you always reset the processed need to create a radio group to display on a
those memes again within the job. We’ve also memes table—temp_processed_ web page, you don’t want to use SQL for that.
expanded the memes that we are tracking; memes—before starting the job?” His In the case of the meme_tracker package,
instead of just memes for humans we are also answer: Yes. however, it is code running in the database,
working with memes for dogs, so we have to 2. “Do you ever access the processed implemented in PL/SQL. So why wouldn’t it
keep those two lists separate. I remember memes table after ending the job?” His make sense to use SQL? The prefix “temp” on
you saying that I should do everything I pos- answer: No. the table name pretty well gives it away: Joe
sibly can in SQL, and that I should build APIs 3. “What do you want first—the good decided to use a persistent relational table
with packages, so that’s what I did.” news or the bad news?” Joe asked for the as the container for his processed memes.
And then he showed me. I was most good news. But, in his mind, it was just a temporary table.
impressed with the clarity and readability of “OK, the good news is that you took an Insert the data from the current job, use it
his code, and horrified by his approach. important piece of advice, and you applied it: during the job, and empty the table.
First, he created a table to hold the you used lots of SQL. The bad news, unfortu- No doubt about it, Joe was using the
memes that had already been processed: nately, is also that you used lots of SQL.” table as a container for temporary, session-

September/October 2014 Oracle.com/oraclemagazine


PL/SQL By Steven Feuerstein 53

specific data. That’s why Joe called it a tem- Code Listing 2: The meme_tracker package body
porary table. Unfortunately, calling it tem-
porary doesn’t make it temporary. When you PACKAGE BODY meme_tracker
execute a CREATE TABLE statement, that IS
PROCEDURE reset_memes
table is permanent (until you drop it), even if
IS
you take all the steps needed to ensure that BEGIN
there is nothing in the table. DELETE FROM temp_processed_memes;
COMMIT;
So what’s wrong with that? If the data
END;
is really only needed within your session,
then you are paying a substantial penalty FUNCTION already_saw_meme (
meme_target_in VARCHAR2, meme_in IN VARCHAR2)
in performance to read and write tables.
RETURN BOOLEAN
Plus, you have created a database object IS
that is not needed: unnecessary “noise” in BEGIN
SELECT 'x' INTO l_dummy
your schema. Finally, this could create sub-
FROM temp_processed_memes
stantial confusion in the future when other WHERE meme = meme_target_in || '-' || meme_in;
developers need to work with this package RETURN TRUE;
EXCEPTION WHEN NO_DATA_FOUND THEN RETURN FALSE;
and try to figure out where and how this
END;
table is used besides this one process.
PROCEDURE add_meme (meme_target_in VARCHAR2, meme_in IN VARCHAR2)
IS
Use a Different Kind of Table
BEGIN
“If I don’t use SQL and don’t use a database INSERT INTO temp_processed_memes (meme) VALUES (
table, how am I supposed to keep track of meme_target_in || '-' || meme_in);
COMMIT;
my memes?” asked Joe.
EXCEPTION WHEN DUP_VAL_ON_INDEX THEN NULL;
“Simple,” I replied. “Use a different kind END;
of table.” END;
I imagine some readers are now thinking:
well, of course. Use a global temporary Code Listing 3: Test/demonstration script for meme_tracker package
table. That way the data in the table will
not persist past the session. It’s true that a
BEGIN
global temporary table would address a part meme_tracker.reset_memes;
of the problem with Joe’s approach. But it meme_tracker.add_meme ('DOG', 'CAT');
meme_tracker.add_meme ('HUMAN', 'CAT VIDEO');
still relies on SQL when it is not needed, and
meme_tracker.add_meme ('HUMAN', 'HONEY BOO BOO');
it still will not offer the best performance for
in-session data. IF meme_tracker.already_saw_meme ('DOG', 'CAT')
THEN
No, for this kind of situation, Joe should
DBMS_OUTPUT.PUT_LINE ('DOG-CAT-FOUND');
take a look at PL/SQL-specific tables, other- END IF;
wise known as collections. PL/SQL developers
IF NOT meme_tracker.already_saw_meme ('DOG', 'CAT VIDEO')
can declare, populate, and work with data in
THEN
a collection entirely within PL/SQL. That data DBMS_OUTPUT.PUT_LINE ('DOG-CAT VIDEO-NOT FOUND');
exists only for the duration of the session, END IF;
END;
and it is much faster to read/write collections
than it is to read/write relational tables.
I pointed to one more concern I had about For a relational table, this means having to change the package specification and
Joe’s meme_tracker package approach. His two columns (and in many cases, two tables). body. If other developers have already been
package subprograms accept a meme target In the case of collections, you can instead making calls to subprograms in a package,
and a meme, but his table includes just a take advantage of a very nifty feature: nested you have a responsibility to those devel-
single meme column. Joe concatenates the collections, or collections within collections. opers to make sure that all existing invoca-
two values with a dash as a separator. But tions remain valid.
what if a meme or meme target contains a Backward-Compatibility Concerns In the case of the meme_tracker package,
dash? Joe could add rules and code to ensure Before reimplementing an existing piece I will be changing the way Joe implemented
that this doesn’t happen, but it would make of code, you should always check to see the data structures used to support the
much more sense to build these two distinct where and how it is being used. If it is not package API. Because Joe had already
pieces of data into the design. yet in use, then you have complete freedom broken out the meme target from the meme

oracle magazine September/October 2014


54 PL/SQL

in his parameter lists, it shouldn’t be neces- Code Listing 4: meme_tracker package body reimplemented
sary to make any changes to the specifica-
tion. All existing invocations, therefore, will PACKAGE BODY meme_tracker
not be affected. IS
SUBTYPE meme_target_t IS VARCHAR2(100);
SUBTYPE meme_t IS VARCHAR2(1000);
Collections in the Package Body c_was_processed CONSTANT BOOLEAN := TRUE;
When I am done with the meme_tracker
TYPE memes_for_target_t IS TABLE OF BOOLEAN
package rewrite, I will no longer need the
INDEX BY meme_t;
temp_processed_memes table. But I don’t TYPE processed_memes_t IS TABLE OF memes_for_target_t
want to drop it until the rewrite is complete, INDEX BY meme_target_t;
g_processed_memes processed_memes_t;
because it would disrupt existing users.
So let’s begin the rewrite by removing all PROCEDURE reset_memes
references to that table! IS
BEGIN
Listing 4 contains the reimplementation
g_processed_memes.DELETE;
of the meme_tracker package body. END;
Defining the collections. Collections are
FUNCTION already_saw_meme (
data structures, just like relational tables. I
meme_target_in VARCHAR2, meme_in IN VARCHAR2)
have learned over the years, mostly through RETURN BOOLEAN
painful lessons (that is, mistakes), that if IS
BEGIN
I don’t get the design of my tables right,
RETURN g_processed_memes
the resulting coding exercise is much more (meme_target_in)
difficult. Conversely, if I do take the time (meme_in) = c_was_processed;
EXCEPTION
to think through my table design, I end up
/* PL/SQL raises NDF if you try to "read" a collection
writing a much smaller amount of much element that does not exist */
more intuitive code. The same holds true WHEN NO_DATA_FOUND THEN RETURN FALSE;
END;
with collections.
And when you are working with nested PROCEDURE add_meme (
collections, sorting out the structures can be meme_target_in VARCHAR2, meme_in IN VARCHAR2)
IS
tricky. In this regard, I have two suggestions:
BEGIN
1. Use subtypes to give names to all g_processed_memes (meme_target_in)(meme_in)
application-specific data with which you := c_was_processed;
END;
will be working.
END;
2. Employ the same data design tech-
niques with collections as you would
with tables. 1 SUBTYPE meme_target_t IS I need to indicate that a meme has been
Here is the code I wrote in the new VARCHAR2(100); processed, so I create a constant to hold
meme_tracker package body (in Listing 4) to that indicator value. As you will see in a
define my collections: I declare my first subtype, which is later section, neither the value nor its type
nothing more than an alias for an existing or matters; I could have declared this constant
1 SUBTYPE meme_target_t IS base type. In this case, I am simply “hiding” (and the following collection type) to be
VARCHAR2(100); the fact that a meme target is a string with a DATE or NUMBER.
2 SUBTYPE meme_t IS VARCHAR2(1000); maximum size of 100 characters. You might
3 c_was_processed ask: Why bother? And the answer lies in lines 4 TYPE memes_for_target_t IS
CONSTANT BOOLEAN := TRUE; 4 through 7. TABLE OF BOOLEAN
4 TYPE memes_for_target_t IS 5 INDEX BY meme_t;
TABLE OF BOOLEAN 2 SUBTYPE meme_t IS VARCHAR2(1000);
5 INDEX BY meme_t; My first collection type declaration! It’s
6 TYPE processed_memes_t IS I declare another subtype, this time a list of TRUE-FALSE values: has a meme
TABLE OF memes_for_target_t “hiding” the fact that a meme is a string been processed or not? But which meme?
7 INDEX BY meme_target_t; with a maximum size of 1,000 characters. The INDEX BY clause of the type declaration
8 g_processed_memes processed_memes_t; gives me the answer: elements in collec-
3 c_was_processed tions of this type are indexed by the name
Let’s take the code one line at a time. CONSTANT BOOLEAN := TRUE; of the meme.

September/October 2014 Oracle.com/oraclemagazine


55

When I showed Joe these declarations, collection is a collection of type memes_for_ g_processed_memes
he was surprised by that INDEX BY clause. target_t. Not only that, this new collection (meme_target_in)(meme_in)
“I thought you could only index by PLS_ type is indexed by the meme target, as you := c_was_processed;
INTEGER with collections,” he said. “It looks can see by my use of the appropriate subtype END;
you are indexing by string—indirectly.” (meme_target_t ) in the INDEX BY clause.
Joe is right: my INDEX BY clause uses a If you are new to nested collections, the
SUBTYPE that’s based on a VARCHAR2 dec- 8 g_processed_memes processed_memes_t; syntax in this procedure may look quite odd.
laration. And that’s not only perfectly valid So let’s parse the add_meme procedure,
but highly efficient, at least for relatively And, finally, I declare the actual collec- step-by-step:
small strings (less than 100 characters or so). tion variable that will hold all my lists of 1. g_processed_memes is the identifier
I took this approach for two reasons: processed memes. I define it at the package that “points” to the collection.
1. A collection declared using this type is level, rather than inside any particular 2. (meme_target_in) is the index value of
indexed by a string, not an integer (the packaged subprogram, which means that a single element in g_processed_names.
usual way that collections in PL/SQL the state of that collection will persist in But, remember, each element is actually
and arrays are indexed). This means that my session in between calls to the subpro- a collection in its own right: a list of pro-
once I have the meme, I can very quickly grams. It is, in essence, a global variable that cessed memes for a given target.
and easily find out if it is in the collection can be referenced only inside the package 3. (meme_in) is the index value of a single
and therefore has been processed. body, and so I use the “g_” prefix. element in g_processed_names (meme_
2. I use the subtype to make my code self- My collection design is complete. Now target_in). Each element in this collec-
documenting. Without the subtype, I it's time to implement the subprograms and tion is the name of a meme.
would have needed to add a comment if I test the results. 4. c_was_processed is the value assigned
had any hope of a person understanding Resetting the processed memes. In the to the list of processed memes. At first
the significance of the INDEX BY clause: original SQL-based implementation of the glance, this might seem a little odd.
meme_tracker package, Joe dropped all the I always assign the same value to the
/* Indexing by the meme */ rows in the table and then committed that collection? Then how do I know which
TYPE memes_for_target_t IS transaction. (And, by the way, the commit meme has been processed? By looking
TABLE OF BOOLEAN and rollback in that original implementation at the index value, which is the name of
INDEX BY VARCHAR2(1000); were completely unnecessary, because the the meme.
rows were being used only in that session.) That’s why it doesn’t matter what value
Comments have their place in code, and With the reset_memes procedure in my I use to add each new collection element—I
they should certainly be used to explain collection implementation, I simply use the need and care only about the index value.
complex algorithms. I always prefer, DELETE method: a procedure that is defined Checking for a processed meme. It doesn’t
however, to let the code speak for itself—tell for all collections and is invoked by attaching take much code to determine if a meme has
its own story—and the subtype can play an it to the collection name with dot notation. already been processed, when using a nested
oversize role (compared to the simplicity of collection. For reference, here is the header
the feature itself) in this storytelling. PROCEDURE reset_memes of the already_saw_meme function from the
So I have a collection (or list) of memes. IS meme_tracker procedure specification:
Am I ready to write my subprograms now? No. BEGIN
My memes are categorized by their “target” g_processed_memes.DELETE; FUNCTION already_saw_meme (
(HUMAN or DOG). I don’t see any evidence of END; meme_target_in VARCHAR2,
a target in that collection declaration. meme_in IN VARCHAR2)
Does this mean I am going to concatenate Adding a processed meme. To indicate that RETURN BOOLEAN
the target to the meme, separating them with a meme has been processed, I need to add it
a colon? I suppose I could, but that would to the list of memes for the specified target. Before I show you the new implementa-
be ugly and error prone. Instead, I place this Again, because of my careful collection tion, let’s review the three scenarios I need
meme collection inside another collection. design, I get the job done with a minimum to handle in the function:
of code in the meme_tracker package body: 1. The combination of meme target and
6 TYPE processed_memes_t IS meme passed to the function is defined
TABLE OF memes_for_target_t PROCEDURE add_meme ( in the collection.
7 INDEX BY meme_target_t; meme_target_in VARCHAR2, 2. No meme with the specified target
meme_in IN VARCHAR2) (meme_target_in) has yet been processed.
My second collection type declaration is IS 3. At least one meme with the specified
the “outer” collection. Each element in this BEGIN meme target has been processed, but

oracle magazine September/October 2014


56 PL/SQL

not the meme passed to already_saw_ results in a NO_DATA_FOUND exception is to stop relying on relational tables and
meme in the current call to the function being raised. SQL, and instead write programs that
(meme_in). If scenario 3 is true, g_processed_ use collections.”
For scenario 1, the function will find a memes(meme_target_in) identifies an A part of me wanted to howl in frustra-
defined element and can return TRUE. element in the outer collection, but g_ tion. But I stayed calm and reminded myself
For scenario 2, there will not be an processed_memes(meme_target_in) that any lack of comprehension by Joe is my
element in g_processed_memes for that (meme_in) remains undefined and so fault, not his.
meme target, and therefore certainly no PL/SQL raises the NO_DATA_FOUND excep- “May I suggest a slight modification to
element in g_processed_memes (meme_ tion. In both cases, this meme has not yet that lesson?” Joe nodded. I summed it up
target_in) for the meme_in value. been processed, so FALSE is returned. as follows:
For scenario 3, there will be an element in And that’s the reimplemented meme_ “Use the right tool for the right job. We
g_processed_memes for that meme target, tracker package. programmers are paid to solve problems,
but no index value in g_processed_memes After I finished showing it to Joe, I could not to come up with the most elegant SQL
(meme_target_in) for the meme_in value. see him wrestling with the fact that such a statement or the coolest PL/SQL algorithm.”
Now I am ready for the function body: small amount of relatively trivial code could SQL is an incredibly powerful and effi-
do so much. The elegance of the code is, cient data manipulation language, and it is
BEGIN however, a direct consequence of my up- also optimized to move data in and out of
RETURN g_processed_memes front analysis and the resulting decision to relational tables, providing full ACID (atom-
(meme_target_in) use nested collections and string indexing. icity, consistency, isolation, durability)
(meme_in) = support. You should take full advantage of
c_was_processed; But Is It Faster? SQL, but also recognize that there is a price
EXCEPTION Both implementations of the meme_tracker to be paid for all that functionality.
WHEN NO_DATA_FOUND package (SQL-based and collection-based) If you have a requirement that does not
THEN RETURN FALSE; require a small amount of code. Furthermore, need the full power of SQL, such as manipu-
END; the collection implementation is likely to be lation of data that is created and discarded
a bit more difficult for someone unfamiliar entirely within your session, PL/SQL offers
The RETURN statement takes care of sce- with collections to understand, compared to alternatives that are faster. 
nario 1: the left side of the Boolean equality the SQL solution. So why use collections for
expression repeats the same construct used this requirement? Steven Feuerstein
to record the meme as processed: You do not need SQL, because the data (steven.feuerstein@
does not need to persist beyond the duration oracle.com) is an
g_processed_memes of the job. Yet you pay a price in performance architect for Oracle,
(meme_target_in) for using SQL. That may come as a surprise, specializing in PL/SQL.
(meme_in) because Oracle Database so thoroughly opti- His books, including
mizes the performance of SQL statements. Oracle PL/SQL Programming, and more
The right side references the same value No matter how much SQL performance than a thousand PL/SQL quizzes at PL/SQL
I used to define that element in the nested is optimized, however, there are a certain Challenge (plsqlchallenge.com) provide in-depth
collection: c_was_processed. number of CPU cycles that must be consumed resources for PL/SQL developers.
The EXCEPTION section handles both to use SQL from PL/SQL.
scenarios 2 and 3. It might seem odd to see I put together a script to compare the Next Steps
a handler for NO_DATA_FOUND when there performance of the original SQL and collec-
is no SELECT-INTO in the body of the func- tion implementations of the meme_tracker READ Oracle-hosted online article content
tion. It makes perfect sense, however, when package (meme_tracker.sql, available at bit.ly/plsqlnest
you know that the PL/SQL runtime engine bit.ly/1mLLesO); the results are shown READ more Feuerstein
bit.ly/omagplsql
raises this same exception when you try to in Table 1, available in the Oracle-hosted
READ more about PL/SQL
“read” an element in a collection that has version of this article at bit.ly/plsqlnest,
oracle.com/plsql
not been defined. along with information on why the col-
DOWNLOAD
So if scenario 2 is true, there is no lection implementation is faster and this Oracle Database 12c
element defined in g_processed_memes for issue's PL/SQL Challenge. bit.ly/databasedownloads
index value meme_target_in, and this code meme_tracker.sql
Use SQL Before PL/SQL—But . . . bit.ly/1mLLesO
g_processed_memes “So,” said Joe, after all was said and done, TEST your PL/SQL knowledge
plsqlchallenge.com
(meme_target_in) “the lesson I have learned from this rewrite

September/October 2014 Oracle.com/oraclemagazine


Database Application Developer and DBA Ask Tom by Tom Kyte 57

Oracle Database

On Implicit Conversions
and More
Our technologist looks at implicit conversions, logic
bombs, SQL injection, and reduced access paths—in one
question and answer.

I have a table with the following


definition:
I tried to improve performance by
rebuilding the primary key index, and the size
of the index went from 88 MB to 10 MB. This
• The resulting code may end up per-
forming numerous unnecessary repeated
conversions (negatively affecting per-
SQL> desc OAUTH2_REFRESH_TOKEN did decrease the number of consistent gets formance and consuming many more
ID RAW(16) from 10,592 to 1,228, but you would expect a resources than necessary).
TOKEN_ID VARCHAR2(255 CHAR) delete by a primary key value to do very few • The implicit conversion may be precluding
TOKEN BLOB consistent gets, wouldn’t you? certain access paths from being available
AUTHENTICATION BLOB I don’t want to be rebuilding this index to the optimizer, resulting in suboptimal
all the time, so I am wondering if there is a query plans. (In fact, this is exactly what is
ID is a primary key. There are many deletes better way to set it up. happening to you!)
on this table using ID, and I’ve noticed that The good news for you is that you will • Implicit conversions may prevent parti-
they are doing a lot of consistent gets. For never really have to rebuild this primary key tion elimination.
example, here is a runtime profile of a delete: index again—because it is not the problem. Now let’s take a look at each of these in
The problem is in your code. Your developers turn. I’ll start with a very simple stored
SQL> DELETE have programmed a very nasty bug, and the procedure—INJ—that utilizes dynamic SQL
2 FROM OAUTH2_REFRESH_TOKEN bug is called “implicit conversions.” to produce a result set:
3 WHERE "ID"= SQL and PL/SQL are very “datatype
'8A81B295444C2881014452803709648E' friendly.” They attempt—whenever pos- SQL> create or replace
4 / sible—to do what you ask them to do. procedure inj( p_date in date )
1 row deleted. Compare a number with a string, and SQL 2 as
and PL/SQL will do that by converting 3 l_rec all_users%rowtype;
——————————————————————————————————————————————————————————— the string to a number implicitly—behind 4 c sys_refcursor;
|Id|Operation |Name | the scenes—and then comparing them. 5 l_query long;
——————————————————————————————————————————————————————————— Compare a date with a string, and SQL 6 begin
| 0|DELETE STATEMENT | | and PL/SQL will do that by converting the 7 l_query := '
| 1|DELETE |OAUTH2_REFRESH_...| string to a date implicitly. I consider all 8 select *
|*2| INDEX FULL SCAN|SYS_C00203982 | these implicit conversions to be bugs in the 9 from all_users
——————————————————————————————————————————————————————————— developed code, for the following reasons: 10 where created =
• The resulting code typically has logic ''' ||p_date ||'''';
Predicate Information bombs in it. The code appears to work in 11
(identified by operation id): certain circumstances but will not work 12 dbms_output.put_line( l_query );
—————————————————————————————————————————————————— in others. 13 open c for l_query;
2 - filter(RAWTOHEX("ID")= • The resulting code relies on default set- 14
'8A81B295444C2881014452803709648E') tings. If someone changes the default 15 for i in 1 .. 5
Statistics settings, the way the code works will be 16 loop
—————————————————————————————————————————————————— subject to change. (A DBA changing a 17 fetch c into l_rec;
10 db block gets setting can make your code work entirely 18 exit when c%notfound;
10592 consistent gets differently from the way it does today.) 19 dbms_output.put_line
… • The resulting code can very well be subject 20 ( l_rec.username || '.....' );
1 rows processed to SQL injection bugs. 21 end loop;

oracle magazine September/october 2014


58 Ask Tom

22 end; RR format, you present the century and the behavior of your code. I have seen this
23 / the year in a date converted into a string happen hundreds, if not thousands, of times
with just the year component. So 1812 in my career.
Procedure created. will become simply 12. Later, when you So, what potential “fix” could you put
convert it back to a date with DD-MON-RR, in place? One quick one would be to use
Line 10 of this code is the culprit here. It you’ll take that two-character year and explicit conversions and explicit date masks.
has not one but two implicit conversions. look at what the current year is. Using the If the developer’s goal was to have the date
The code in line 10 is equivalent to rules documented in Oracle Database SQL be the full YYYY (enabling you to search for
Language Reference (at bit.ly/1mbT8N9), 1812, 1912, 2012, and so on whenever you
10 where created = the string “12” will be converted to the want to), then explicitly code it:
TO_DATE(''' || century and year 2012, because this article
TO_CHAR(p_date) ||''')'; was written in 2014. (If I’d written this 10 where created = TO_DATE(''' ||
article in 1949, it would have returned 1912. TO_CHAR(trunc( p_date, 'd'),
When I concatenate the P_DATE variable If I were to write this article in the future, 'dd-mm-yyyy' ) ) ||''',
with a VARCHAR2 variable, it must be con- in 2050, it would return 2112). The very ''dd-mm-yyyy'' )';
verted from a DATE datatype to a VARCHAR2 passage of time affects, by default, what
datatype, and that is done by implicitly data your application returns! This is a By using the TRUNC( p_date, ‘d’ ) func-
applying TO_CHAR —using the default NLS_ logic bomb just waiting to happen. tion, you explicitly remove the time com-
DATE_FORMAT for the current session—to The other part of the logic bomb is that, ponent. By explicitly using the DD-MM-
the P_DATE variable. by default, the time component is stripped YYYY format in the TO_CHAR call, you
Later, when the query is executed, it off. I specified “13:00:00” in my date save just the day, the month, and the full
compares the CREATED database column, input to the procedure. With the default year (including the century). Later, in the
which is a DATE column, with the string pro- NLS_DATE_FORMAT, that time component TO_DATE call, you use the same format to
duced by the TO_CHAR implicit conversion. is stripped away. reconstitute your date. Now it no longer
To make that possible, the string returned I have encountered developers who say matters what NLS_DATE_FORMAT might be
by the TO_CHAR function must be converted “we want the date to be a sliding date based set in your database—your code will execute
back into a date with the default NLS_DATE_ on the current year, and we want the time in a known manner, regardless. You are no
FORMAT setting once again. component stripped off.” To them I say longer subject to external changes. Your
“great, perfect; then write that code—be code is stable, predictable, and free of the
Logic Bombs and Default Settings explicit.” The reason? A simple change by a logic bomb.
Think about the logic bombs inherent DBA at some point in the future will change But is this the right way? Is it the correct
in such an approach. By default, the the default behavior the developers are approach? Probably not, because there is
NLS_DATE_FORMAT in a database is implicitly relying on. That is, the code works a way to completely avoid the conversions
DD-MON-RR. If I were to pass a date such today—by accident—but breaks tomorrow altogether. You have a date input, you have
as TO_DATE( ’18-JUN-1812 13:00:00’, because a default has changed. For example, a date column, and there should be no need
‘DD-MON-YYYY HH24:MI:SS’ ), what date the application might have been developed to convert the date to a string and back into
would I be searching for in the above query? in Europe, where displaying the date as day- a date. You can—and should—achieve this
Would it be the 18th of June, 1812, at 1 p.m.? month-year is the standard. Now the same easily by using bind variables:
Almost certainly not, but it could be! That is application is to be deployed in the US,
the disturbing part: You cannot answer the where the standard date display is month- 7 l_query := '
question I just posed. No matter what you day-year. So, to accommodate that change, 8 select *
answer, I’ll say you are wrong and prove it. the DBA changes the NLS_DATE_FORMAT to 9 from all_users
By default, in a “normal” Oracle data- MM/DD/YYYY. Now that you are no longer 10 where created = :x';
base with default settings, searching with using the RR format, the full year is pre- 11
the date TO_DATE( ’18-JUN-1812 13:00:00’, served and the behavior of the application 12 dbms_output.put_line( l_query );
‘DD-MON-YYYY HH24:MI:SS’ ) will search changes over time. Or perhaps the default 13 open c for l_query
for the 18th of June, 2012. And it will con- NLS_DATE_FORMAT is changed to MM/DD/ using trunc(p_date,'d');
tinue to do that for a few more years, at YYYY HH24. Now, all of a sudden, a portion
which point the code will start searching of the time is preserved and the outcome of If you bind in the date, you will be com-
for the 18th of June, 2112 (all by itself, your application changes. paring a date with a date. There are no
without a change in a line of code!). That is This is the nightmare that is reliance on conversions, and there is no chance of a loss
because the default NLS_DATE_FORMAT default implicit conversions. An external of information (as there can be with the RR
currently is DD-MON-RR. By using the change can and will affect you; it will change date format). Less work is performed by the

September/october 2014 Oracle.com/oraclemagazine


59

code overall (so this is more performant). In OPS$TKYTE is the owner of the INJ SQL> exec ops$tkyte.inj(sysdate)
my experience, this is the correct solution: stored procedure. By default, if someone
avoid the logic bomb, avoid doing as much else ran the INJ procedure in a “normal” select *
work, and avoid some other nasty surprises Oracle database with all default settings, from all_users
I’ll talk about in a moment. that user—user A in this example—would where created = '06-jun-2014' or 1=1--’
expect to see FB_DEMO.....
SQL Injection Issues BIG_TABLE.....
Many years ago, in the January/February SQL> create user a identified by a; SCOTT.....
2005 issue of Oracle Magazine (bit.ly/ User created. B.....
tkinject), I wrote about the issue of SQL CLONEDEV.....
injection in code. The problem of SQL injec- SQL> grant create session to a;
tion is just as rampant today in 2014 as it Grant succeeded. PL/SQL procedure successfully completed.
was almost a decade ago—if anything, it is
worse today than a decade ago, with many SQL> grant execute on inj to a; Notice how different the resultant SQL text
major attacks against websites and data- Grant succeeded. is. It now shows all the rows in that table—not
bases involving SQL injection. Therefore, it just the rows matching some date input. You
is paramount to protect yourself from SQL SQL> connect a/a might say, “That is OK; the user is allowed to
injection vulnerabilities wherever possible. Connected. see that table,” but what about this:
If you consider the original INJ procedure
code, the one with the double implicit con- SQL> exec ops$tkyte.inj(sysdate) SQL> alter session set
version, you’ll find a major SQL injection flaw 2 nls_date_format = '''"union all
in it. Study that code, and see if you can find select * select ename,0,null from emp_t"--';
it before reading further. There is a very high from all_users Session altered.
probability that the vast majority of readers where created = '06-JUN-14'
will not be able to express how the code PL/SQL procedure successfully completed. SQL> select sysdate from dual;
is “SQL-injectable.” Therein lies a serious
problem. If you can look at a piece of code That is a well-formed query. SYSDATE SYSDATE
you know is SQL-injectable (I’ve told you it is) has been converted into a sensible string ———————————————————————————————————————————————————————————————

and you cannot tell why it is SQL-injectable, and can be converted back into a date to 'union all select ename,0,null
how can you write code that is free from be compared with the CREATED column. from emp_t-—’
SQL injection? I’ll give you a method for But what if user A changes the NLS_DATE_
writing code that cannot be SQL-injected in FORMAT? (Note: You need no privileges to That looks interesting. If OPS$TKYTE,
a moment, but let’s look at the INJ stored change the NLS_DATE_FORMAT. Every user the owner of the INJ stored procedure, has
procedure first and discover how to exploit it. who can connect to the database can do a table called EMP_T, the following should
If there is a user who has CREATE this). Perhaps the user can also change the query it and I might be able to see the data:
SESSION privileges in your database and meaning of the SQL statement. For example,
EXECUTE privileges on the INJ stored SQL> select * from ops$tkyte.emp_t;
procedure, that user will have read access SQL> alter session set select * from ops$tkyte.emp_t
to virtually every object the owner of that 2 nls_date_format = *
procedure has read access to. That is 'dd-mon-yyyy"'' or 1=1 --'; ERROR at line 1:
right—a user with just CREATE SESSION Session altered. ORA-00942: table or view does not exist
privileges and the ability to execute that
procedure can read any table the owner of SQL> select sysdate from dual; SQL> exec ops$tkyte.inj(sysdate)
that procedure can read. That is a pretty
big security hole (and it gets worse: if the SYSDATE select *
user also has CREATE PROCEDURE privi- —————————————————————————————— from all_users
leges in that database, the user can use 06-jun-2014' or 1=1 – where created = ''union all
that procedure to do anything the owner of select ename,0,null from emp_t--'
that procedure can do!). All of a sudden, the default conversion SCOTT.....
So how does someone exploit this of SYSDATE no longer results in anything ALLEN.....
SQL injection flaw? Easy. It’s just a resembling a date. It now looks a bit like JONES.....
matter of playing around with the default SQL! I (user A) run the buggy INJ stored pro- BLAKE.....
NLS_DATE_FORMAT. cedure again: CLARK.....

oracle magazine September/october 2014


60 Ask Tom

PL/SQL procedure successfully completed. Code Listing 1: Procedure P, with implicit conversion and compilation warnings

The first query shows that I (user A) do SQL> alter session set plsql_warnings='enable:all';
not have access to OPS$TKYTE.EMP_T, so
SQL> create or replace procedure p authid definer
I cannot select from it. However, I can trick
2 as
the stored procedure owned by OPS$TKYTE, 3 l_rec t%rowtype;
who does have access, to show it to me. 4 l_key number := 5;
5 begin
Using UNION, I can see anything I want that
6 select * into l_rec from t where x = l_key;
OPS$TKYTE can see. If I don’t know what 7 for x in (select plan_table_output
else OPS$TKYTE can see, I can add UNION 8 from TABLE( dbms_xplan.display_cursor()))
9 loop
to a query against the dictionary views to
10 dbms_output.put_line( x.plan_table_output );
see what is available: 11 end loop;
12 end;
13 /
SQL> alter session set
SP2-0804: Procedure created with compilation warnings
2 nls_date_format = '''"union all
select tname,0,null from tab"--';
Session altered. Code Listing 2: Execution of P, with full table scan

SQL> exec ops$tkyte.inj(sysdate) SQL> exec p


SQL_ID 18796jgha0hwz, child number 0
————————————————————————————————————————————————————————
select * SELECT * FROM T WHERE X = :B1
from all_users
Plan hash value: 1601196873
where created = ''union all
select tname,0,null from tab--' ——————————————————————————————————————————————————————————————————————————————————————————————————————————————
ALL_OBJECTS_UNLOAD..... | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
——————————————————————————————————————————————————————————————————————————————————————————————————————————————
ALREADY_EXISTING_TABLE.....
| 0 | SELECT STATEMENT | | | | 3 (100)| |
AUDIT_TRAIL..... |* 1 | TABLE ACCESS FULL| T | 1 | 29 | 3 (0)| 00:00:01 |
BIG_TABLE..... ——————————————————————————————————————————————————————————————————————————————————————————————————————————————
Predicate Information (identified by operation id):
T.....
————————————————————————————————————————————————————————————————————————————
PL/SQL procedure successfully completed. 1 - filter(TO_NUMBER("X")=:B1)

Now I know all the tables owned by


OPS$TKYTE, so I can start querying away. bind variables (demonstrated above), it types!) and you can avoid SQL injection
A default implicit conversion has opened will be impossible for the code to be SQL- attacks. It’s sort of a two-for-one reason
this code to a SQL injection attack, one that injected. Let me repeat this: to use bind variables. If you would like to
is hard to see just by looking at the code If you use bind variables, your code read more about SQL injection and implicit
(unless you know what to look for). If I’m the cannot be SQL-injected. If you do not concat- conversions and see how you could use a
code owner, how can I protect myself? The enate inputs sent to you from outside your procedure like the original INJ procedure to
answer is rather simple. I want to (a) avoid code (an end-user submission from a form not only read any object the owner can read
the use of defaults at all times and (b) avoid on a screen, inputs from another developer, but also do anything the owner can do, go to
implicit conversions. If I used whatever) and if you use bind variables to bit.ly/tkbinject.
send those values to SQL, your code cannot
10 where created = TO_DATE(''' || be SQL-injected—it is not possible. On the Reduced Access Paths
TO_CHAR(trunc( p_date, 'd'), other hand, if you use string concatenation As if the preceding issues were not enough,
'dd-mm-yyyy' ) ) ||''', and concatenate into your SQL inputs from there are yet more reasons to avoid implicit
''dd-mm-yyyy'' )'; some external source (any parameter to conversions at all costs. Implicit conver-
your subroutine example), your code will be sions can easily remove many access
my INJ procedure code would not be subject subject to SQL injection issues. You might paths from consideration and prevent par-
to SQL injection. No matter what the not be able to see the SQL injection risks, tition elimination.
attacker set the NLS_DATE_FORMAT to, it but they likely exist! Take, for example, a rather simple table T:
would not affect me. However, there is an So, by using bind variables of the correct
infinitely better way, and that is to once datatype, you can avoid implicit conver- SQL> create table t
again use bind variables. If the code uses sion issues (you never have to convert the 2 ( x varchar2(20)

September/october 2014 Oracle.com/oraclemagazine


61

constraint t_pk primary key, Code Listing 3: Revised procedure P, with no compilation warnings
3 y varchar2(30)
4 ); SQL> create or replace procedure p authid definer
Table created. 2 as
3 l_rec t%rowtype;
4 l_key varchar2(5) := '5';
SQL> insert into t 5 begin
2 select user_id, username 6 select * into l_rec from t where x = l_key;
7 for x in (select plan_table_output
3 from all_users;
8 from TABLE( dbms_xplan.display_cursor()))
47 rows created. 9 loop
10 dbms_output.put_line( x.plan_table_output );
11 end loop;
SQL> commit;
12 end;
Commit complete. 13 /
Procedure created.
Table T has a primary key; column X is
SQL> show errors
that primary key, and it is a VARCHAR2. No errors.
However, the application that places data
into table T puts only numbers in there.
Code Listing 4: Execution of revised P, with index unique scan
So, even though T.X is a VARCHAR2, the
only thing end users and developers see is
SQL> exec p
numbers. As far as they are concerned, T.X
is a number. So, when they query it, they SQL_ID 18796jgha0hwz, child number 1
tend to use a number as an input. This will, ———————————————————————————————————————————————————————
SELECT * FROM T WHERE X = :B1
of course, cause an implicit conversion, and
you can easily see this in action. Let’s use Plan hash value: 1303508680
a small stored procedure P, which queries —————————————————————————————————————————————————————————————————————————————
| Id | Operation | Name | Rows |
table T, as shown in Listing 1.
—————————————————————————————————————————————————————————————————————————————
This simple procedure queries table T, | 0 | SELECT STATEMENT | | |
but it uses NUMBER (L_KEY) to compare | 1 | TABLE ACCESS BY INDEX ROWID| T | 1 |
|* 2 | INDEX UNIQUE SCAN | T_PK | 1 |
the VARCHAR2 column T.X values. This will
—————————————————————————————————————————————————————————————————————————————
cause an implicit conversion, but it is not
readily apparent in the code. That is why I Predicate Information (identified by operation id):
—————————————————————————————————————————————————————————————————————————————
enabled PL/SQL warnings (a feature of
2 - access("X"=:B1)
PL/SQL since Oracle Database 10g), and
the PL/SQL warning facility will actually
alert me to these evil implicit conversions: my predicate is “WHERE X = :B1” and X is P and the expected plan is used, with the
the primary key. I would typically expect to expected index unique scan.
SQL> show errors see an index unique scan to retrieve this
Errors for PROCEDURE P: data, but the predicate information section Back to the Beginning
of the plan report shows what the issue is. And that is a very long answer to the original
LINE/COL ERROR The true predicate is “TO_NUMBER(“X”) = question. Here is the original query plan:
—————————— ————————————————————————————————————————— :B1”—not just “X = :B1”. The implicit con-
6/42 PLW-07204: conversion away version leaps into view. That implicit con- SQL> DELETE
from column type may result version negates the use of the index on T.X 2 FROM OAUTH2_REFRESH_TOKEN
in sub-optimal query plan to access the data. The index is on T.X, not 3 WHERE "ID"=
on TO_NUMBER(T.X). '8A81B295444C2881014452803709648E'
PL/SQL is warning me that on line 6 If I modify the procedure to compare 4 /
(“WHERE x = l_key”), I have an implicit con- strings with strings (as I should!), I will see 1 row deleted.
version issue. That this fact can easily something completely different, as shown —————————————————————————————————————————————————————————————
be pointed out is a great bonus of using in Listing 3. |Id| Operation | Name |
PL/SQL. Before I look at solutions, let’s run The first thing to notice in Listing 3 is —————————————————————————————————————————————————————————————
the procedure as is, as shown in Listing 2. that there are no warnings at all—the code | 0| DELETE STATEMENT| |
Notice that I am performing a full scan compiles cleanly. But even better, the code | 1| DELETE | OAUTH2_REFRESH..|
of table T, which is unexpected, because in Listing 4 executes the updated procedure |*2| INDEX FULL SCAN| SYS_C00203982 |

oracle magazine September/october 2014


62 Ask Tom

Predicate Information sion being applied to the ID column, and Next Steps
(identified by operation id): they can do that by
——————————————————————————————————————————————————— 1. Using WHERE “ID” = hextoraw(‘8A81B29 ASK Tom
2 - filter(RAWTOHEX("ID")= 5444C2881014452803709648E’ ) or Tom Kyte answers your most difficult technology
questions. Highlights from that forum appear in
'8A81B295444C2881014452803709648E') 2. Binding a RAW(16) instead of binding this column.
a VARCHAR2(32), which is the correct asktom.oracle.com
Recall that ID is a primary key and a approach (use bind variables!) or FOLLOW Tom on Twitter
RAW(16). I would expect “WHERE ID = 3. Binding a VARCHAR2(32) but wrapping @OracleAskTom
:x” to use an index unique scan—not an the bind in a HEXTORAW call, such as READ more Tom
bit.ly/omagasktom
index full scan—but it doesn’t. And the WHERE ID = hextoraw(:x) 
READ more about
reason it doesn’t use an index unique scan SQL injection
stands out in the predicate information bit.ly/tkinject
section. An implicit conversion is being bit.ly/tkbinject
applied to the ID column, because ID is a Tom Kyte is a database EXPLORE
Oracle Learning Library
RAW(16) and you are comparing it with a evangelist in Oracle’s oracle.com/goto/oll
VARCHAR2(32). You are forced to implicitly Server Technologies DOWNLOAD Oracle Database 12c
convert the RAW(16) to a VARCHAR2(32). division and has worked bit.ly/databasedownloads
That implicit conversion negates the use for Oracle since 1993. He LEARN more about
of the index! is the author of Expert Oracle Database 12c
oracle.com/database
The solution for the performance issue Oracle Database Architecture (Apress, 2005,
FOLLOW Oracle Database on Twitter
lies in the application. The application 2010) and Effective Oracle by Design (Oracle @oracledatabase
developers should avoid the implicit conver- Press, 2003), among other books.

Peak Performance for your Oracle Applications

Meeting the Demands of Tomorrow


and Delivering High-Performance Now
As a leader in Applications Performance Optimization, Cybernoor can optimize your
Oracle environment to ensure your system performs well and scales. As the data
footprint continues to increase along with the complexity of business requirements,
delivering a high performance system is crucial to the success of the business.
Contact Cybernoor to learn about our proven performance tuning solutions, and
ensure your system is prepared for tomorrow’s challenges.

To learn more, visit our booth at OpenWorld in Moscone South.

cybernoor.com 925.924.0400

September/october 2014 Oracle.com/oraclemagazine


DBA INSIDE OCP By Anita Mukundan 63

Oracle Database 12c

Basics of the Multitenant


Container Database
Consolidate multiple databases with Oracle Database 12c.

R unning multiple databases on modern


enterprise servers can be an inefficient
Enterprise database Multitenant option uses the managing-
many-as-one concept for activities such as
use of both hardware and human resources. consolidation leads backup and patching.
The multitenant container database feature
in Oracle Database 12c Release 1 consoli-
to greater scalability Answer A is incorrect because although
a CDB shares resources such as background
dates data and code from multiple data- and improved processes, SGA, and Oracle metadata,
bases—without changing existing schemas each PDB maintains granular control over
or applications—to improve resource utili- resource utilization. its data and applies its own security poli-
zation, manageability, and data security. cies to data visibility. Answer B is incorrect
This column focuses on container data- • Management of many as one. With Oracle because the Oracle Multitenant option
bases and presents sample questions similar Enterprise Manager, a CDB with many allows any existing non-CDB to be converted
to those that you might encounter in the PDBs can be managed as a single database. to a PDB with no changes to the database or
Upgrade to Oracle Database 12c and Oracle • Agility. PDBs can be plugged or the applications that access it. Answer C is
Database 12c: Advanced Administration unplugged easily for patching, upgrade, incorrect because PDBs can be cloned within
exams. You can earn the Oracle Database 12c or migration purposes. the same CDB or from one CDB to another.
Administrator Certified Professional certifi- • Shared resource management. The Oracle Which statements are true about the Oracle
cate by successfully completing either exam. Database Resource Manager feature Multitenant option?
supports the multitenant architecture, A. A PDB can be cloned across CDBs.
The Oracle Multitenant Option enabling a CDB-level plan to manage B. After a patch is applied at CDB level, the
Over time, variations in hardware, operating resources among PDBs. patch should then be applied to each
systems, and Oracle Database versions can • Enhanced security. Data security is main- PDB in the CDB.
lead to increasing database maintenance tained at a granular level even in high- C. The Oracle Database Resource Manager
costs. DBAs must schedule individual density consolidation cloud environments. feature plans defined at the CDB level
backups, patch individual databases, and An existing database can be adopted, can assign different priorities to the
implement different security strategies. with no changes, as a PDB. The Oracle applications supported by various PDBs
The Oracle Multitenant option intro- Multitenant option can be used with the within the same CDB.
duced in Oracle Database 12c helps you Oracle Real Application Clusters and Oracle D. PDBs in a CDB share background pro-
consolidate databases into a standard- Active Data Guard options. cesses and shared memory but no
ized database version that is deployed on Which statement is true about a PDB that is Oracle metadata.
a shared cloud infrastructure. The option created from a non-CDB? E. The Oracle Multitenant option can
is supported by an architecture in which a A. The data stored in all schemas of the be used with Oracle Real Application
host database called the container database PDB is visible by default to all other PDBs Clusters but not Oracle Active Data Guard.
(CDB) can hold multiple pluggable databases connected to the same CDB. Only options A and C are correct, because
(PDBs). This option facilitates B. Applications that use the PDB require PDBs can be cloned within the same CDB,
• Better resource utilization. Available code modification to enable them to or from one CDB to another. The Oracle
resources—such as background processes, access the PDB. Database Resource Manager feature has
system global area (SGA), and Oracle C. A PDB can be cloned only within the CDB been enhanced to allow a CDB-level plan
metadata—can be shared. to which it is connected. to manage the distribution of resources
• Rapid cloning. Multiple clones of a plug- D. The data in a PDB is backed up auto- between the PDBs plugged into that CDB.
gable database can be quickly created. matically in accordance with the backup Answer B is incorrect because the
• Rapid provisioning. On file systems that policies and schedule defined at the managing-many-as-one concept allows
support the copy-on-write feature, provi- CDB level. patching to be done at the CDB level, which
sioning can be done quickly. The correct answer is D. The Oracle automatically patches all the PDBs plugged

oracle magazine September/October 2014


64 INSIDE OCP

into it. Answer D is incorrect because all B. A CDB can contain multiple seed PDBs. defined current container that it can access.
PDBs plugged into a CDB share the Oracle C. A CDB can share a database instance Which statement explains how the root
metadata that is stored in the CDB. Answer E with a non-CDB. container, CDB$ROOT, differs from a PDB?
is incorrect because the Oracle Multitenant D. A CDB cannot exist without a root A. CDB$ROOT contains only the Oracle
option is compatible with and complements container. system metadata, whereas a PDB con-
both Oracle Real Application Clusters and E. A CDB can have PDBs that have a user tains metadata from the CDB into which
Oracle Active Data Guard. with the same username across the PDBs. it is plugged and application metadata.
The correct answers are D and E. The B. CDB$ROOT contains both Oracle system
Multitenant Architecture minimal contents of a CDB are the root con- metadata and application metadata,
In the multitenant architecture, a container is tainer CDB$ROOT and PDB$SEED. Because whereas a PDB contains only user-
a collection of schemas, objects, and related PDBs exist in isolation from one another, defined data.
structures. A container appears to be a logi- users and objects with the same names can C. CDB$ROOT contains all the Oracle
cally separate, independent database. Each be stored within each PDB. system metadata and a part of the
container in a CDB has a unique ID and name. Answer A is incorrect because a CDB can application metadata, whereas a PDB
A container is classified either as a PDB contain zero PDBs. Answer B is incorrect contains all application metadata
or root container (also called the root). The because a CDB can have only a single seed along with the user-defined data for
root is a collection of schemas, schema PDB, which cannot be modified and exists that application.
objects, and nonschema objects to which as a template for the creation of new PDBs. D. CDB$ROOT contains only the Oracle
all PDBs belong. The root does not store Answer C is incorrect because although system metadata, whereas a PDB con-
any user data. both a CDB and a non-CDB can exist on the tains all application metadata and the
A CDB has a single set of background same server, they function as independent user-defined data for that application.
processes and SGA that is used by all PDBs entities because of their architectural dif- The correct answer is D. The root contains
plugged into that CDB. A database instance ferences. A CDB shares a set of background metadata only for the Oracle system and is
is associated with a single CDB. A data- processes and SGA with its PDBs, but a a metadatabase with no user-defined data.
base instance cannot be shared between a non-CDB requires a nonsharable set of A PDB is typically created for an application
non-CDB and CDB. background processes and SGA. and therefore contains that application’s
Every CDB has the following containers: metadata and user-defined data. PDBs
• One root container, called CDB$ROOT, Horizontal Partitioning of the access required Oracle system metadata
that stores Oracle-supplied metadata and Oracle Data Dictionary from the CDB that they are plugged into.
common users (database users known in Horizontal partitioning of the Oracle data
every container belonging to that CDB). dictionary is at the heart of the multitenant Conclusion
• One seed PDB, called PDB$SEED—a architecture. This is a conceptual parti- Enterprise database consolidation leads to
system-supplied template that the CDB tioning, not a physical table partitioning. greater scalability and improved resource
can use to create new PDBs. The seed PDB The CDB$ROOT root container contains utilization, which reduce server and storage
cannot be modified. a set of tablespaces and their data files, hardware costs while increasing application
• Zero or more PDBs. which implement the data dictionary tables availability. The Oracle Database 12c multi–
A PDB is a user-created entity containing to hold the metadata only for the Oracle tenant architecture retains the separation
a collection of schemas and schema objects system. The root’s metadata describes each of individual databases and requires no
that store the data and code required for an PDB that is plugged into it. This metadata changes to applications, and it simplifies
application. No PDBs exist when a CDB is for a PDB is deleted from the root when that DBA tasks such as provisioning, patching,
first created. A PDB can be plugged into only PDB is unplugged. The root, therefore, can and upgrading. 
one CDB at a time. be considered a metadatabase only.
A CDB can have multiple PDBs plugged Each PDB has its own set of tablespaces
Anita Mukundan is a principal certification
in at any given time, and each PDB exists and corresponding data files that implement
exam developer at Oracle. She has been with
in complete isolation from the other PDBs the data dictionary tables to hold an applica-
the company since 2007.
plugged into the same CDB. Each PDB retains tion’s metadata, and a set of tablespaces that
granular control over its schemas and objects. hold the application’s user-defined data. Next Steps
From the perspective of a user or applica- The root differs significantly from a PDB
tion, the PDB appears as if it is a traditional in that it never holds any user-defined data. LEARN more about the Oracle
non-CDB database. From the operating Both the root and the PDBs have distinct Certification Program
system perspective, the CDB is the database. data dictionaries and can be the “focus” of a education.oracle.com
Which statements are true about a CDB? foreground process. Therefore a session, at READ Inside OCP columns
bit.ly/insideocp
A. A CDB cannot exist without a PDB. every moment of its lifetime, has a uniquely

September/October 2014 Oracle.com/oraclemagazine


CAREER OPPORTUNITIES
CAREER OPPORTUNITIES

yo u h av e

Copyright© LoadSpring Solutions Inc., 2014. All Rights Reserved.


Do
w ha t it ta ke s
to be a ro ck sta r?
talk.
Then we need to s, a market leader in enterprise-level
Solution
We’re LOADSPRING agement—and
m pu tin g so lut ions for project man
cloud co kplaces.
az ine ’s 20 11 To p Small Company Wor
one of Inc. Mag
d neither are you.
We’re not typical. An
rocks, we need a
y to wo rk somewhere that
If yo u ar e re ad s Administrator,
co un ts Di re ct or , Software System
Strategic Ac tor. Please
er an d Or ac le Da tabase Administra
Software Engine y requirements
ur re su m e an d co ver letter, with salar
submit yo
m.
to HR@loadspring.co

+1.978.685.9715 Find us on LinkedIn and Facebook

2014 LS HRad_Final.indd 1 7/22/14 10:47 AM

We are leaders in Oracle solutions.


Find your place with us.
KPMG is rapidly growing it’s Oracle solutions team. Our Consultants
focus on creating new strategies, expanding into new markets, and
rethinking business models for a competitive advantage. There’s a
place for your skills, ideas and interests here, along with opportunity
to set the pace for years to come. We’re looking for experienced
professionals in Enterprise Performance Management (EPM), Business
Analytics, Oracle Business Intelligence Enterprise Edition (OBIEE),
HCM and Financial solutions in Fusion and PeopleSoft, Oracle EBS,
Transportation Management and Solutions Sales.
To learn more about these career opportunities, visit
us-jobs.kpmg.com and type “Enterprise Solutions”
into Job Search keyword or join us at:

Oracle Open World 2014


September 28 – October 2, 2014 • Booth 1721

One firm. One team. Countless opportunities.


© 2014 KPMG LLP, a Delaware limited liability partnership and the U.S. member
KPMG LLP is an affirmative action, equal opportunity employer. firm of the KPMG network of independent member firms affiliated with KPMG
Minority/Female/Disability/Veteran. International Cooperative (“KPMG International”), a Swiss entity. All rights reserved.
CAREER OPPORTUNITIES

Altova® is a software company specializing in tools that assist developers with


data management, software and application development, mobile development,
and data integration. We foster an open, creative, collaborative environment with
an emphasis on excellence and team work.

Join our team to extend the capabilities


of our products and create new, Senior Software Developer C++
innovative software development tools.
Requirements
The result of your efforts will be used  Expert level C++ knowledge

by thousands of developers worldwide.


5+ years professional development experience

Developing highly complex algorithms  Good skills in Microsoft VC++, MFC, and STL

and designing and implementing  Good English language skills


cutting-edge graphical user interfaces  Experience with XML, COM, and databases

is part of your challenge.

Altova offers a competitive salary and benefits package.


For more information and to apply, visit www.altova.com/careers

JOIN THE TEAM THAT’S ALREADY ON TOP


Rolta is an Oracle Platinum Partner and
global leader in IT consulting and solutions,
operating from 40 locations worldwide,
we have executed projects in more than
45 countries. Specializing in serving the IT
needs of enterprises in the Financial Services,
Manufacturing, Oil & Gas, Retail, Healthcare
and Utilities industries, Rolta delivers best
practices and innovative solutions to
dramatically improve our clients’ efficiencies
and effectiveness.

If you know Oracle, you should know Rolta.


Consultants and sales associates are high
on our list of people we truly
care about. Join us. See a
list of current openings at
www.rolta.com and on Rolta
Americas LinkedIn page.
68 In the Field by carol hildebrand

Learning Circle, Part 2


OAUG President Alyssa Johnson talks about women in
technology and technology trends.

O racle Magazine sat down with Alyssa


Johnson, the newly elected president of
Oracle Applications Users Group (OAUG), to
nology itself, how does OAUG address hot
technology topics?
Johnson: One thing that we do very well with
talk about her history with Oracle technology, OAUG is to stay tuned to industry trends and
the mission of OAUG, and collaboration. In find information to reflect what our mem-
Part 2 of the interview, Johnson delves into bership cares about. Technology is such
the importance of attracting women to tech- a fast-changing field that it’s important
nology careers, as well as how OAUG helps its to touch base with our membership fre-
members take the lead on technology trends. quently—that’s why we’re active throughout
Oracle Magazine: You mentioned earlier (see the year, providing both content and net-
“Learning Circle, Part 1” in Oracle Magazine, working opportunities.
July/August 2014) that OAUG will have a For example, we ran an excellent article
woman in the presidency for three years in a in Insight magazine about where cloud is
row. What is your perspective on women in heading, penned by one of our members.
technology today? A strength of OAUG is that we can look to
Johnson: Well, I am pleased with the focus industry experts who are also members
OAUG has on women in technology, which for perspective.
is directly supported by OAUG members Alyssa Johnson, president of OAUG, talks about Oracle Magazine: Are you using social media
COLLABORATE 14, social media, and more.
electing women to serve on the OAUG board in conversations about technology trends?
of directors. Members are really looking at can’t do math or science. In fact, my ninth Johnson: Absolutely. I’ve recently gotten
the capabilities that the elected women grade science fair project was on computer more involved in Twitter, which has given me
bring to the board. [The OAUG board of programming, and that was many years ago. valuable perspective on social media usage.
directors elects the OAUG president.] When you have that kind of mind-set and I’m a little bit behind—my daughters are
I think the participation of women in support when you’re growing up, it helps much more Twitter-savvy than I am.
technology is also reflected in our events. I overcome barriers that you see in the work- I’ve found that it’s an efficient way to find
ran across an interesting number for early force because it just doesn’t come into your what the technology trends are. And at the
registration for COLLABORATE 14: almost mind that women can’t do this kind of job. end of the day, that’s what we are here for—
half of those registrants were women. I think I think it’s important to make sure that to provide opportunities for our members to
that is very exciting. younger people, especially women, are talk with others, especially about trending
One of the highlights of COLLABORATE 14 aware of both educational and career oppor- technologies. That way, you get to hear from
was the Women in Technology panel, and we tunities in the technology field. somebody who is actually using those tech-
had some excellent panelists this year. They Oracle Magazine: Do you have suggestions nologies, which ultimately helps you make a
sparked a lively and thought-provoking dis- for women looking at—or already in—tech- better decision for your whole organization. 
cussion, which carried over to the Women nology careers?
in Technology luncheon where we had the Johnson: Finding a mentor is very impor- Carol Hildebrand writes about business,
opportunity to listen to Jhone Ebert, chief tant. When I first started my career, there sports, and technology from Wellesley,
innovation and productivity officer at Clark was a woman that I worked with who was Massachusetts.
County, Nevada. very active and really helped me. When I
Oracle Magazine: How do young women get saw other women’s achievements, it helped Next Steps
interested in technology? give me the confidence to continue to move
Johnson: For me, it certainly helped that my forward. It’s equally important to give back by READ “Learning Circle, Part 1”
bit.ly/oaugpart1
Paul S. Howell

family was very scientifically focused. My dad looking for opportunities to mentor others.
was a calibrations engineer, and there was As women, we need to provide that guidance. JOIN OAUG
oaug.org
never a thought in our household that girls Oracle Magazine: Moving on to the tech-

September/october 2014 Oracle.com/oraclemagazine


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 700 ISV Applications Are Certified on Exadata

oracle.com/partners/goto/exastack

Copyright © 2014, 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.

You might also like