Oracle magazine Mayo-Junio 2014

68
IT’S YOUR PROJECT. Run it any way you want to.

description

 

Transcript of Oracle magazine Mayo-Junio 2014

Page 2: Oracle magazine Mayo-Junio 2014

GROUND CONTROLOracle Cloud Application Foundation solutions launch your cloud applications

MAY/JUNE 2014

Innovate with Java 8 Latest platform release enhances developer productivity and supports applications from the Internet of Things to the cloud / 17 Go with the Flow Oracle Data Integrator 12c supports new fl ow-based mappings and deployment specifi cations / 35 Nonstop Partition Operations Oracle Partitioning delivers online partition moves, selective indexes on partitions, and asynchronously maintained global indexes to Oracle Database 12c / 43 On Oracle Database 12c, Part 5 Our technologist explores the invisible, improves introspection, and expands SQL / 55

MJ14_Cover_R1.indd 1 4/8/14 10:51 AM

Page 3: Oracle magazine Mayo-Junio 2014

omg0514pCov2_p001.indd 2 4/4/14 10:30 AM

Page 5: Oracle magazine Mayo-Junio 2014

2

MAY/JUNE 2014 ORACLE.COM/ORACLEMAGAZINE

VOLUME XXVIII - ISSUE 3 CONTENTS

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

RESOURCES / 12Your guide to Oracle videos, webcasts, white papers, and more

BRIEFS / 14The latest product news

INTERVIEW / 17Innovate with Java 8Latest platform release enhances developer productivity and supports applications from the Internet of Things to the cloud. —Caroline Kvitka

PARTNER NEWS / 19BOOK BEAT / 19COMMUNITY BULLETIN / 21Happenings in Oracle Technology Network —Roland Smart

ARCHITECT / 22Why Would Anyone Want to Be an Architect?Architects weigh in on what makes their jobs cool. —Bob Rhubart

PEER-TO-PEER / 23Taking the LeadPeers on proactive support tools, new cloud solutions, and understanding Oracle inside out —Blair Campbell

IN THE FIELD / 61DBA to Big Data DBATurn your DBA skills into big data skills. —Michelle Malcher

ANALYST’S CORNER / 63Doing Better with LessNew systems and more applications help drive many of today’s data center consolidation projects. —Philip J. Gill

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

BUSINESS ANALYTICS / 35Go with the FlowOracle Data Integrator 12c delivers new flow-based mappings and deployment specifications. —Mark Rittman

At Oracle / 11

Community / 19

Technology / 35

Comment / 61

FROM THE EDITOR / 7A Foundation for Business—Tom Haunert

MASHUP / 8News, views, trends, and tools

Up Front / 7 SQL DEVELOPER / 39Document EntitiesGenerate logical models and entity relationship diagrams easily from an existing database with Oracle SQL Developer Data Modeler. —Jeff Smith

DBA / 43Nonstop Partition OperationsOracle Partitioning delivers online partition moves, selective indexes on partitions, and asynchronously maintained global indexes to Oracle Database 12c. —Arup Nanda

PL/SQL / 49Writing SQL in Oracle Application ExpressMinimize the code you write, be careful where you put it, and relocate it to packages as much as possible. —Steven Feuerstein

Organizations looking for standard methods for developing, integrating, deploying, and scaling their cloud applications are choosing Oracle Cloud Application Foundation, part of Oracle Fusion Middleware. See how three organizations are using Oracle Cloud Application Foundation solutions, including Oracle Exalogic, Oracle WebLogic Server, and Oracle Coherence, to launch their cloud applications. —David Baum

/ 28

GROUND CONTROL

ASK TOM / 55On Oracle Database 12c, Part 5Our technologist explores the invisible, improves introspection, and expands SQL. —Tom Kyte

Cover: I-Hua Chen

MJ14_TOC_R1.indd 2 4/8/14 10:53 AM

Page 6: Oracle magazine Mayo-Junio 2014

PL/SQL shouldn't be

BRAIN SURGERY

Oracle development made easy!

We think Oracle development should be like taking a walk in the park.

Easy development is the key to saving time and money. That’s why

we created the PL/SQL Developer tool. As simple as 1, 2, 3!

www.allroundautomations.com/plsqldev

SCAN THIS PAGE

WITH LAYAR APP FOR

ADDED EXPERIENCE

GO OUT OF yOUR MIND...

Page 7: Oracle magazine Mayo-Junio 2014

4

May/June 2014 Oracle.cOm/Oraclemagazine

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

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

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

copyright © 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

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

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

Senior editor Caroline Kvitka [email protected] editor Patty Waddington

contributing editor and Writer Blair Campbelltechnology advisor Tom Kyte

contributors Fred Sandsmark, Rich Schwerin, Leslie Steere

deSignSenior creative director Francisco G Delgadillo

Senior design director Suemi Lamdesign director Richard Merchán

contributing designers Jaime Ferrand, Arianna Pucherelliproduction designers Sheila Brennan, Kathy Cygnarowicz

publiShingpublisher Jennifer Hamilton [email protected] +1.650.506.3794

associate publisher and audience development director Karin Kinnear [email protected] +1.650.506.1985

advertiSing SaleSpresident, Sprocket media Kyle Walkenhorst [email protected] +1.323.340.8585

Western and central uS, lad, and canada, Sprocket media Tom Cometa [email protected] +1.510.339.2403eastern uS and emea/apac, Sprocket media Mark Makinney [email protected] +1.805.709.4745

advertising Sales assistant, Sprocket media Cindy Elhaj [email protected] +1.626.396.9400, x201mailing-list rentals Contact your sales representative.

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

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

MJ14_TOC.indd 4 3/28/14 2:48 PM

Page 8: Oracle magazine Mayo-Junio 2014

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

Manage Information Workf ows

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 f exible workf ow orchestration tool

works with any combination of XML, database, f at f le, EDI, Excel, XBRL,

and/or Web service data common to many essential business processes.

• FlowForce® Server for orchestrating

events, triggers, and the automation

of processes

• MapForce® Server for automating

any-to-any data mapping and

aggregation processes

• StyleVision® Server for automating

business report generation in HTML,

PDF, and Word

• RaptorXML® Server for hyper-fast

validation/processing of XML, XBRL,

XSLT, and XQuery

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:

StyleVision Server

HTML, PDF, Word,

OOXML, RTF

MapForce Server

XML, SQL DBs,

EDI, flat files,

XBRL, Web services

RaptorXML Server XML and XBRL

validation/processing

FlowForce Server

Job triggers

User management

Access control

Page 9: Oracle magazine Mayo-Junio 2014

#networkfacts

© 2014 Brocade Communications Systems, Inc. All Rights Reserved. 3 alerts/mo. Text STOP to end. Text HELP for help. Message and data rates may apply.

THE NETWORK MUST TRANSFORM.

By implementing Brocade Gen 5 Fibre Channel SAN fabrics into your flash storage environment,

you can reduce application latency for your entire organization by 50%. This boosts your overall

network performance and helps meet the stringent application workload requirements placed

on the network by critical data center applications.

Get the facts: text ORACLE to 99158

brocade.com/oraclepartner

HELLOLOWLATENCY.

Page 10: Oracle magazine Mayo-Junio 2014

7From The ediTor

oracle magazine May/June 2014

A Foundation for BusinessOracle Cloud Application Foundation technologies underpin business in the cloud.

A building’s foundation doesn’t often get much attention, except during initial

construction, during remodeling, or when something goes wrong. Likewise, founda-tion technologies under business applica-tions may not be the focus of attention after applications are deployed, but an applica-tion foundation is at least as critical to its applications as a building foundation is to the building it supports.

Building FoundAtionsIn 2012 and 2013 I watched (and listened to) demolition of a city-block-long building and construction of a new one—containing several dozen apartments and a grocery store—a block from my home. There were many obvious events and milestones during construction as new floors were built up and enclosed, windows and doors were added, exterior siding and trim were added, and so on. But to me and to the neighbors I spoke with, the biggest events and milestones occurred early in the construction process, when the foundation and multiple under-ground levels of the building were laid out and concrete was poured. On those days, dozens of cement trucks circled the blocks around the building site. Each would quickly unload and just as quickly be replaced by the next cement truck in line. I tip my hat to all the people who organized, managed, and executed the work, for the finished result and also because street traffic was still moving pretty well while these massive operations were under way.

Business FoundAtionsThis issue’s cover feature, “Ground Control” (page 28), explores how three organizations used Oracle Cloud Application Foundation

technologies to build, rebuild, repair, and shore up their own business application foundations. The article describes the need for organizations to realize the benefits and efficiencies of cloud computing, such as the “on-demand access to a shared pool of con-figurable computing resources,” while at the same time deploying modern applications on a flexible, integrated, and standards-based transactional foundation.

Flexible foundation may sound like an oxy-moron, but flexibility is a core tenet of cloud computing, and the ability to support inte-grated public and private cloud applications and handle increased transaction workloads resulting from server and software consoli-dation most certainly requires a solid tech-nology foundation. “Ground Control” focuses on how organizations are using core Oracle Cloud Application Foundation technologies, including Oracle WebLogic Server and Oracle Coherence, as well as Oracle Exalogic, the integrated hardware and software platform for the Oracle Cloud Application Foundation family, to create truly flexible foundations to support their current and future cloud appli-cation needs.

open, sAys orAcleRegistration for Oracle OpenWorld 2014 in San Francisco, California, is now open! Register at oracle.com/openworld. (Coincidently, a major expansion of Moscone Center, the Oracle OpenWorld San Francisco host venue, is also planned to begin in 2014. Current remodeling plans call for the square footage to be increased by about 20 percent.)

tom Haunert, editor in [email protected]

LEARN more about Oracle Cloud Application Foundationoracle.com/us/products/middleware/ cloud-app-foundation

WATCH Getting Started with the Oracle Java Cloud Servicebit.ly/1dk38k3REGISTER for Oracle OpenWorldoracle.com/openworld

NExT STEpS

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

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

SENd MAIL TO THE EdITORS

did You Know?Record FoundationIn 2014, a crew in Los Angeles, California, set a new world record for the largest continuous concrete pour as part of the process of laying the foundation for the new Wilshire Grand Center. bit.ly/1lhMXGB

MJ14_Ednote.indd 7 3/28/14 2:55 PM

Page 11: Oracle magazine Mayo-Junio 2014

8

MAY/JUNE 2014 ORACLE.COM/ORACLEMAGAZINE

MashUp News. Views. Trends. Tools.

Nearly 75 percent of executives say they lose interest within one minute if a presenta-tion doesn’t have a clear point, and some 43 percent abandon complicated or lengthy

e-mails within 30 seconds. One thousand execs participated in the online survey. Source: BRIEF Lab, thebrieflab.com

EXTR

AOR

DIN

ARY

CO

MM

UN

ICAT

ION

S Your smartphone’s built-in communications apps may not be the best. These alternatives offer additional features and capabilities.

Tired of bringing—and hauling—many pounds of backup batteries for your off-the-grid adventures? The hydrogen-powered Upp fuel cell delivers off-the-grid USB

charging power for smartphones, tablets, cameras, and other elec-tronics. Measuring just 5 inches (124.5 mm) long and weighing less than 1.5 pounds (including the exchangeable hydrogen car-tridge), Upp is rated at 5 watts (one fuel cartridge provides 25 watt-hours of charging capacity) and the companion app monitors fuel level and usage. US$199. beupp.com

Fuel Cell for Your Pocket

Source: Omnico Group, omnicogroup.com

TelegramThis secure, speedy messaging app offers group chats with up to 100 people, photo and video sharing, and unlimited cloud storage of messages. Free (Android, iOS). telegram.org

UrgentCallEven if your phone’s in silent, do-not-disturb mode, this app can get an emergency message to you—but only from callers you’ve preselected, who must prove a situation is truly important. US$24 per year plus airtime (Android). urgentcalltech.com

ViberMake HD voice calls and video calls and send texts between smartphones, computers (Windows, Mac, or Linux), and landlines. Transfer and sync calls and messages. Free (Android, iOS, Windows Phone, BlackBerry). viber.com

VoxerInstantly communicate with this push-to-talk walkie-talkie app—one-on-one or with groups. (If a contact isn’t online, your message will play back later.) Free; pro version for US$2.99/month (Android, iOS, Windows Phone). voxer.com

Low-Key Home SecurityYes, video cameras are great monitoring tools for home security, but how do you know when to look at the camera feeds? The Canary is an unobtrusive wireless home secu-rity device that bundles a camera, a microphone, a motion detector, and a variety of sensors in a package about the size and shape of a large soup can. Connect Canary to your home WiFi, and it sends alerts to your smartphone when something’s amiss—strange sounds, unexpected motion (it learns over time when you’re home and not), temperature or humidity spikes, and so on. From the companion app you can listen (or talk) to a room, check the camera, set off Canary’s built-in siren, and more. US$199. canary.is

US Consumer In-Store Smartphone Usage

Use smartphone when shopping

Compare prices

Browse rival sites while in store

Read reviews

Buy on other retailer sites

18-24 age group

25-34 age group

General US population

The ways US consumers use smartphones when shopping in stores varies by age. The 25–34 age group was most aggressive in comparing prices and buying elsewhere. One thousand US residents were surveyed online.

When We Talk, When We TextOne thousand smartphone users between 18 and 65 in the continental US were asked in what situations they prefer to talk (and receive or leave voicemail) versus text.

TALKPersonal, emotional, connected

Sharing bad news80% are more likely to use voice rather than text-based messaging when sharing bad news

Communicating with a customer74% prefer to receive news from businesses via voicemail rather than by text-based messages

An emergency57% say it’s per-fectly acceptable to leave a voicemail when making an emergency call

TEXTImmediate, concise, convenient

Sharing good news 66% prefer to receive news from a close friend via text-based message rather than by voicemail

Getting in touch with a significant other 62% of males prefer to receive text-based news from their significant others rather than through voicemail

Convenience 85% find text-based messages more convenient than voicemails

Source: Nuance Communications, nuance.com

WHAT’S YOUR POINT?

73%69%

49%

61%53%

40%

57%50%

36%

51%48%

32%

26%22%

14%

MJ14_MashUp.indd 8 3/27/14 2:47 PM

Page 12: Oracle magazine Mayo-Junio 2014

How Monitoring Systems Reduce

Human Error in Distributed Server

Rooms and Remote Wiring Closets

White Paper 103Revision 0

by Dennis Bouley

Contents

> Executive summary

Reduce human-error downtime, too!Get guidance in our FREE white paper and

enter to win a Samsung Galaxy Note™ 3!

Visit: www.apc.com/promo Key Code: h408u

The foundation of business network uptime.

APC by Schneider Electric Smart-UPS units

protect 24/7/365 network availability.

Intelligent battery backup

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

Safeguarding critical networking switches and routers

Your business depends on your business network. Protecting that network,

therefore, is more critical than ever. Known for their reliability for over 25 years,

APC™ by Schneider Electric Smart-UPS™ uninterruptible power supplies

eliminate costly downtime by providing reliable, network-grade power over a

wide range of utility conditions. They keep employees connected to business-

critical applications whether they are in house, at a co-location facility, or in

the cloud.

A Smart-UPS model for every need

Whatever your IT needs and configuration, we have the right Smart-UPS

model. The family offers multiple form factors (tower, rack optimized, and

rack/tower convertible) to deliver flexibility for any environment. And you

can scale runtime to business requirements. In addition, you can proactively

manage the network closet remotely and optimize energy use through a

patented “green mode” on many models. Deployment is easy with optional

Schneider Electric installation services. Smart-UPS backup units: the

intelligent choice for your business network!

Business-wise, Future-driven.™

©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-1209036_US_Note3

Page 14: Oracle magazine Mayo-Junio 2014

11EvEnts

oraclE magazinE May/June 2014

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

Cloud ExpoJune 10–12, New York, New Yorkfcloudcomputingexpo.comLeading cloud and big data experts and solution providers offer technical and strategic breakout sessions, industry keynotes, panel sessions, and an expo floor with two demonstration theaters.

Interact 2014June 22–25, Orlando, Florida fbit.ly/1jquUwXThis conference for Healthcare Industry User Group members features more than 70 sessions on using Oracle Applications in healthcare environments. More than 525 professionals representing 90 organizations will attend.

ODTUG KscopeJune 22–26, Seattle, Washingtonfkscope14.comODTUG’s annual gathering includes content for developers, administrators, and business users on developer toolkit essentials, Oracle Essbase, Oracle Application Express, Oracle Business Intelligence, Oracle Application Development

Framework and Oracle Fusion Applications development, Oracle Database, and more.

SAM SummitJune 23–25, Chicago, Illinoisfsamsummit.comSoftware asset management (SAM) profes-sionals gather for 60 sessions devoted to SAM best practices. Education sessions on Oracle software license management are offered.

ÜberConfJune 24–27, Denver, Coloradofuberconf.comThe evolving Java ecosystem is the subject for 160 technically focused sessions, including more than 25 hands-on workshops.

NACUBO Annual MeetingJuly 19–22, Seattle, Washingtonfbit.ly/1ghm94M The National Association of College and University Business Officers (NACUBO) convenes for educational sessions, regional breakout meetings, and training opportunities.

OAUG Connection Point—AppsTechJuly 22–23, Pittsburgh, Pennsylvaniafconnectionpoint.oaug.orgSponsored by the Oracle Applications Users Group, this low-cost, high-impact seminar is designed for technologists who support Oracle E-Business Suite.

OrAClE USEr GrOUPS

DOAG (German Oracle User Group) MeetingJune 3–4, Düsseldorf, Germanybit.ly/1eO23il

UKOUG Public Sector Applications SIG MeetingJune 5, Solihull, Englandukoug.org

Oracle User Group Finland Summer ConferenceJune 5–6, Espoo, Finlandougf.fi

New England Oracle Applications User Group ConferenceJune 9, Worcester, Massachusettsneoaug.org

OUG ScotlandJune 11–12, Linlithgow, Scotlandukoug.org

UKOUG Hyperion SIGJune 12, London, Englandukoug.org

Georgia Oracle Users Group MeetingsJune 12 and July 10, Atlanta, Georgiagouser.org

Bulgarian Oracle User Group Spring ConferenceJune 13–15, Sandanski, Bulgariabgoug.org

Austrian Oracle User Group ConferenceJune 17, Vienna, Austriaaoug.at

Central States Oracle Application Users Group WorkshopJune 17, Kansas City, Missouricsoaug.com

DOAG (German Oracle User Group) SAP SIG MeetingJune 30, St. Leon-Rot, Germanyxing.com/net/doag

UKOUG Partner ForumJuly 10, London, Englandukoug.org

Java Forum StuttgartJuly 17, Stuttgart, Germanyjugs.org

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

Southwest regional Oracle Applications User Group MeetingJuly 25, Irvine, Californiasroaug.com

GETT

y IM

AGES

Oracle Eventsoracle.com/eventsOracle User Group Eventsoracle.com/us/corporate/customers/user-groups

EvENTS lOCATOr

Oracle HCM Users Group (OHUG) Global ConferenceJune 9–13, las vegas, NevadaMore than 1,600 Oracle Human Capital Management (Oracle HCM) users learn more about the products they use and meet Oracle development experts. Speakers, training, special interest groups, partner and expert sessions, and networking opportunities are planned. ohug.org/global-conference-2014

MJ14_Events.indd 11 3/27/14 2:55 PM

Page 15: Oracle magazine Mayo-Junio 2014

12

May/june 2014 Oracle.cOm/Oraclemagazine

resOurces

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

What’s New at OracleThe latest videos, webcasts, white papers, and more

VideOsMySQL Workbench and MySQL Enterprise Online Backup Tutorialfbit.ly/NaOu30MySQL experts walk through the MySQL Workbench online backup interface.

Revolutionizing Server Economicsfbit.ly/1dmNuxFFind out how the near-linear pricing of Oracle’s new SPARC M6 and SPARC T5 systems revolu-tionizes system economics.

Access Oracle Database 12c Innovation with Premier Supportfbit.ly/1eC4ue7Tom Kyte highlights the latest features of and enhancements to Oracle Database 12c that are available to Oracle Premier Support customers.

WebCasts“ simplify enterprise Mobility”fbit.ly/1nJf9l4Oracle experts discuss the current state of enter-prise mobility and how Oracle’s mobile solutions help enterprises embrace mobile technologies. “ simplify integration with Oracle Cloud

adapter for salesforce.com”fbit.ly/1fpLtUbLearn how Oracle Cloud Adapter for Salesforce .com alleviates the complexity and risks of running a mix of on-premises and cloud applications.

“ Pella Revolutionizes the digital experience for Customers, Partners, and employees”fbit.ly/1fYmCsnFind out how technology enables continuous improvement throughout the manufacturing and sales cycles at Pella.

CaLCULatORsOracle VM Cost Calculatorfbit.ly/MtrgyjSee how you can drive cost savings with the com-bined Oracle VM and Oracle Linux products.

e-bOOksConsolidate Your Applications on Oracle WebLogic Serverfbit.ly/LJcGZbLearn from Oracle WebLogic customers how consolidating on the latest release gave them better runtime capabilities and increased efficiency, for both traditional data center and cloud operations.

Meeting the Challenge of Big Data: Part Twofbit.ly/1d5RfZeDiscover how Oracle’s engineered systems and big data analytics can help your business derive new value from big data.

Why Oracle Database Runs Best on Oracle Servers and Storagefbit.ly/1fCs9FoLearn how running Oracle Database with Oracle’s latest hardware and storage can improve perfor-mance, reduce costs, and enhance reliability.

White PaPeRs“ top 10 data Warehousing trends and

Opportunities for 2014”fbit.ly/MqqsXjRead highlights of the major trends, problems, and breakthroughs in data warehouse technology.

“ data security: Leaders vs. Laggards”fbit.ly/1bWbb0bLearn about the top security risks organizations face, what characterizes a security leader, and the risks associated with falling behind.

“ top 10 Reasons to Choose MysQL for Online Retail”fbit.ly/1bO9hbeLearn why MySQL is a top choice to power online retail applications.

ResOURCe CeNteRs “ Oracle VM Private Cloud Resource kit”fbit.ly/1cOkROxDownload white papers, podcasts, and analyst

reports to learn how integration between Oracle VM and Oracle Enterprise Manager enables faster and easier migration to private cloud.

“ Oracle data integrator 12c Resource kit”fbit.ly/1fCxaevAccess the latest technical information and product roadmaps, as well as white papers and customer and partner success stories.

POdCasts“ Orient Overseas Container Line touts the

benefits of Oracle WebLogic 12.1.2”fbit.ly/1alChJ7Hear about topics such as hot caching; Maven support for developer productivity; and unified installation, configuration, and patching.

ORaCLe UNiVeRsitYtraining for Cloud Computingfbit.ly/1etCZgeGet the skills to build, manage, use, and evolve your Oracle cloud solution.

solaris 11 system administration trainingfbit.ly/1bkPkzzLearn to install, administer, maintain, and trouble-shoot the Oracle Solaris 11 operating system.

Oracle Consultingoracle.com/consultingOracle events and Webcastsoracle.com/eventsOracle Newslettersoracle.com/newslettersOracle Podcast Centeroracle.com/podcastsOracle Universitybit.ly/ouoramagOracle supportoracle.com/supportMy Oracle supportmyoraclesupport.comMy Oracle support Communities communities.oracle.com

Web LOCatOR

MJ14_Resources.indd 12 3/27/14 3:10 PM

Page 16: Oracle magazine Mayo-Junio 2014

Since 1985, Melissa Data has provided

the tools developers need to enhance

databases with clean, correct, and

current contact data. Our powerful, yet

affordable APIs and Cloud services

provide maximum flexibility and ease

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

investments in data warehousing,

business intelligence, and CRM.

A better way to build

in data verification

• Verify addresses, phones &

emails for over 240 countries

• Add phones, emails, geocodes

& demographics

• Find, match, and eliminate

duplicate records

• Move update services keep

your contact data current

• Free trials with 120-day ROI

guarantee

Melissa Data.

Architecting data quality success.

Data Quality Tools for Developers

www.MelissaData.com 1-800-MELISSA

Address Verification

Email Verification

Matching/Deduplication

Geocoding

Phone Verification

Change of Address

C

M

Y

CM

MY

CY

CMY

K

oracle-tooltime-mar12-fullpage.pdf 1 3/12/2014 4:03:59 PM

Page 17: Oracle magazine Mayo-Junio 2014

14 Product Resources

MAY/JUNE 2014 ORACLE.COM/ORACLEMAGAZINE

TUTORIALS AND VIDEOSOracle Database 12c: Advanced Security Video SeriesWatch this three-part video series to learn about Oracle Advanced Security in Oracle Database 12c, including data redaction and transparent data encryption.�bit.ly/1gfepRE

Oracle Database QuickstartTake this Oracle by Example tutorial to get up and running with Oracle Database 12c.�bit.ly/1nC6v6Q

Building a Change Request Workflow ModelThis tutorial demonstrates how to configure metadata and security for governance workflows in Oracle Data Relationship Management.�bit.ly/1cKhdal

Using Virtual Private Database with Oracle Database 12cWatch this five-minute video to learn how to implement a security policy using the application context functionality of Oracle Database 12c. �bit.ly/1crl23Z

Integrating Apache Hadoop with Oracle NoSQL DatabaseWith this tutorial, learn about the benefits of integrating Apache Hadoop with Oracle NoSQL Database, including the role of the Hadoop framework in big data, the NoSQL APIs used to load data into Hadoop, and the steps for connecting Oracle NoSQL Database with Hadoop.�bit.ly/OeG7DB

DOWNLOADSOracle SQL Developer 4.0.1Release 4.01 of Oracle’s free integrated development environment includes a full interface for Oracle Database, Enterprise Edition’s diagnostics pack; support for Oracle Database 12c features such as Oracle Advanced Security data redaction policy management; and more.�bit.ly/1oGaiPo

Oracle SQL Developer Data Modeler 4.0.1New features in Oracle SQL Developer Data Modeler 4.0.1 include Oracle Database 12c support for IDENTITY columns and trans-parent sensitive data protection policies for sensitive types.�bit.ly/1glxoX0

Oracle Mobile Security Suite: Unified BYOD Security Oracle Mobile Security Suite, announced in February 2014, extends Oracle’s identity and access management solutions to deliver an integrated platform from which organi-zations can manage access to all applica-tions from all devices, both corporate and personal—including laptops, desktops, and mobile devices.

Available as a standalone product or integrated out of the box with Oracle Mobile Suite, Oracle Mobile Security Suite takes an application- and user-centric approach that enables IT to efficiently and securely administer and manage access, providing a secure workspace that makes it possible for companies to separate and protect enter-prise applications and data and enforce policy while preserving the privacy of users’

personal applications and content on the same device.

“Oracle Mobile Security Suite brings the strength of Oracle’s identity management platform to mobile devices, and as a result helps organizations address the BYOD [bring your own device] challenge with a logical approach,” says Amit Jasuja, senior vice president of identity management and secu-rity at Oracle. “By extending security and access capabilities to mobile devices, orga-

nizations can protect corporate resources on employee devices without compro-mising the user experience.”

bit.ly/1eamDX7

Enterprise Performance Management for CloudOracle has announced the general availability of its first enterprise performance manage-ment (EPM) solution offered in the cloud,Oracle Planning and Budgeting Cloud Service.

Oracle Planning and Budgeting Cloud Service opens up opportunities for organi-zations of all sizes to quickly adopt a world-class planning and budgeting solution with no CapEx infrastructure investments.The EPM cloud service builds on the robust functionality of Oracle Hyperion Planning, which includes agile forecasting and rich sce-nario analysis, incorporating cloud-specific

enhancements that accelerate deployments, speed adoption, and simplify administration.

“We’ve seen a tremendous interest in adopting cloud-based solutions to stream-line budgeting and improve forecasting,” says Hari Sankar, vice president of product management at Oracle. Oracle Planning and Budgeting Cloud Service “reflects our commitment to helping organizations of all sizes harness world-class enterprise perfor-mance management in the delivery model of their choice,” says Sankar.

bit.ly/O2P0js

Enhanced Apps for Oracle Utilities Oracle has announced new releases for two Oracle Utilities applications.

Oracle Utilities Analytics 2.5 introduces new prebuilt analytical and operational dashboards to enable utilities to more effec-tively respond to storms, improve smart grid device management, and provide more-efficient customer operations.

Oracle Utilities Network Management System 1.12 adds new functionality to help utilities reduce operational costs, gain process efficiencies, and improve customer satisfaction. Additions include a network management training simulator, conserva-tion voltage reduction functionality, and enhanced damage assessment functionality.

“Oracle Utilities Analytics 2.5 provides utilities with prebuilt analytics that enable them to gain immediate insights into the vast amount of data they bring in from smart meters and smart grid deploy-ments—to completely transform the cus-tomer experience, now and into the future,” says Rodger Smith, senior vice president and general manager for Oracle Utilities. And, he says, new functionality in Oracle Utilities Network Management System 1.12 “enable[s] utilities to accelerate service issue resolution and provide the visibility to optimize infrastructure, customer support, and field response teams.”

bit.ly/MUCrWp I-HU

A CH

EN

MJ14_Briefs.indd 14 3/27/14 3:26 PM

Page 18: Oracle magazine Mayo-Junio 2014

15BRIEFS

ORACLE MAGAZINE MAY/JUNE 2014

I-HU

A CH

EN

Oracle Cloud Adapters Simplify Integration Between Cloud and On-Premises ApplicationsOracle’s recently announced Oracle Cloud Adapters help organizations easily integrate applications regardless of deployment location—in the cloud or on premises. Oracle Cloud Adapters cut devel-opment time by reducing the number of manual and customized steps and are sup-ported by Oracle SOA Suite, the industry’s most complete and unified application integration solution.

This unified integration approach between on-premises and cloud applica-tions reduces the time, cost, and complexity of appli-cation integration projects and helps customers lower total cost of ownership

by simplifying integration, consolidating toolkits, and reducing maintenance costs. The new Oracle Cloud Adapter for Salesforce.com, for example, can reduce integration development time by half when compared to traditional methods by dra-matically reducing the number of manual and customized steps.

“Until now, organizations have relied on a mix of integration tools, each focusing on either cloud or on-premises applica-tions,” says Demed L’Her, vice presi-dent of product management at Oracle. “With Oracle Cloud Adapters, Oracle has extended our commitment to simplifying and securing key applications by unifying the integration experience between cloud and on-premises applications.”

bit.ly/1fQcUEZ

Oracle HCM Cloud UpdatesOracle has unveiled significant updates to its cloud-based solutions for managing and optimizing the end-to-end employee lifecycle. The latest version of Oracle Human Capital Management Cloud (Oracle HCM Cloud) offers more than 200 innovations, including comprehensive modeling func-tionality for testing large-scale changes and

new social sourcing features for tapping the power of social networks.

“To be nimble and competitive in a global and connected world, organizations

constantly need new and smarter ways to harness the best talent,” says Gretchen Alarcon, group vice president for product strategy at Oracle. “The latest updates to Oracle HCM Cloud promote a more collab-orative, mobile, and engaging experience for global HR management, leading organiza-tions to take a more strategic approach to HR and better capitalize on their talent.”

bit.ly/1gfjUMh

Oracle Marketing Cloud Adds Capabilities, Industry SolutionsOracle has announced several new features and enhancements as well as two industry solutions for Oracle Marketing Cloud’s Oracle Eloqua Marketing Cloud Service product line.

The new release of Oracle Eloqua Marketing Cloud Service extends support for modern marketing with new content mar-keting applications that enhance collabora-tion, delivery, and measurement of content marketing programs; enhanced Oracle Eloqua AppCloud development capabili-ties; and expanded integrations with Oracle Sales Cloud and Oracle Social Cloud.

“With the latest release of Oracle Eloqua, Oracle is extending the industry’s most comprehensive marketing cloud and giving marketers an unparalleled ability to deliver a customer experience that drives revenue,” says John Stetic, vice president of product management for Oracle Marketing Cloud.

“The features and enhancements will better enable modern marketers to quickly iden-tify potential customers and optimize their digital interactions across the customer lifecycle, from initial acquisition to cus-tomer advocacy.”

In addition, Oracle has added to the growing list of industry-specific solutions for Oracle Eloqua Marketing Cloud Service with solutions for wealth management and life sciences—flexible, cloud-based Oracle Marketing Cloud solutions designed to address the unique marketing challenges faced by those specific industries. Additional industry-specific solutions include Oracle Eloqua Marketing for Entertainment Cloud Service, Oracle Eloqua Marketing for Insurance Cloud Service, and Oracle Eloqua Marketing for Nonprofit Cloud Service.

bit.ly/NGD4UL

Oracle Social Cloud Launches Open API Strategy for Paid MediaOracle has launched an open API-based paid media solution for Oracle Social Cloud to deliver customers more choice and ongoing expertise for paid social media capabilities.

“We believe this is the best solution to meet our customers’ needs to leverage performance-based, data-driven, tar-

geted advertising at scale,” says Meg Bear, group vice president, Oracle Social Cloud. “Through our open API strategy, we can work with leaders in the business and provide our customers a choice in their social advertising technology options.”

bit.ly/1hu95Ic

Oracle Buys BlueKaiOracle has signed an agreement to acquire BlueKai, the industry’s leading cloud-based big data platform. Oracle plans to integrate BlueKai technology with Oracle Customer Experience Cloud marketing and social solutions for B2C and B2B marketing automation to deliver orchestrated and per-sonalized customer interactions across all marketing activities and channels.

“Modern marketers require new ways of acquiring, centralizing, interpreting, and activating customer data across marketing channels so that they can enhance the customer experience and maximize the return on their marketing spend,” says Steve Miranda, executive vice president for applications development at Oracle. “The addition of BlueKai to Oracle Marketing Cloud enables marketers to act on data across both known customers and new audiences and precisely target cus-tomers with a personalized message across all channels.”

bit.ly/1dzQ0oN

MJ14_Briefs.indd 15 3/27/14 3:26 PM

Page 19: Oracle magazine Mayo-Junio 2014

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.

oracle.com/partners/goto/exastack

ISV AppsRun Betteron Exadata

Over 700 ISV Applications Are Certified on Exadata

30x Lower CPU Utilization

6x Less Storage Used

90% Linear Scalability

70:1 Compression

30x More Scalable

Page 20: Oracle magazine Mayo-Junio 2014

17IntervIew by Caroline KvitKa

oracle magazIne May/June 2014

The latest release of the Java platform, Java 8, is a significant upgrade,

undertaking a coordinated coevolution of the virtual machine (VM), core language, and libraries. Caroline Kvitka sat down with Nandini Ramani, vice president, Java Platform and Internet of Things, at Oracle, to find out what’s new in Java 8, which encompasses Java Platform, Standard Edition 8 (Java SE 8) and Java Platform, Micro Edition 8 (Java ME 8). The following is an excerpt from that interview; listen to the full interview at oracle.com/magcasts.Oracle Magazine: In a recent Java Magazine article, Chief Java Architect Mark Reinhold called Java 8 “revolutionary.” What are the top features that make it such a game changer for Java developers?Ramani: Java SE 8 is a big step forward in modernizing the Java language as well as modernizing the Java libraries. It’s the biggest upgrade ever to the Java program-ming model, and it includes several new features, including lambda expressions and default methods; a new date and time API; Nashorn, the JavaScript engine; and compact profiles.Oracle Magazine: What are lambda expres-sions, also known as closures, and why have they gotten so much attention?Ramani: Good programming is about finding the right abstractions, and Java has always been very good at helping us abstract over data. But one area where we saw we could improve was in abstracting over behavior, such as allowing developers to effectively say “do this for every matching element of this collection, and then do that when you’re done.” Lambdas are that missing tool for describing these snippets of behavior, and being able not just to pass around data from one method to another, but also to pass around behavior. This was

possible to some degree with anonymous interclasses, but it was just too unwieldy and required too much boilerplate code. While lambdas enable developers to sim-plify the code they write every day, the key benefit comes in when they are combined with new aggregate operations on collec-tion APIs that have also been introduced in Java SE 8. This is really important—it’s the combination of language and libraries that makes lambdas such a huge step forward.

Let’s take an example. The new stream libraries in java.util illustrate how it is now possible to take a more functional approach to code in Java, which can make code more compact and less error-prone, by allowing the programmer to focus on the “what” of the problem being solved without getting bogged down in the details of “how.” One way this approach pays off is that we can now write code that need not be inher-ently serial or parallel, but can switch from sequential to parallel execution without having to rewrite the whole thing. If the user asks for a parallel execution, the library takes care of partitioning, task decom-position, and thread scheduling, leaving the user free to focus on the “what” of the problem they are solving. And this is just one of the many benefits enabled by this style of programming.Oracle Magazine: Do users have to switch to new libraries in order to benefit from these abilities?Ramani: No, because this illustrates the benefit of the other key new language feature of Java SE 8, called default methods, which is a mechanism that allows existing libraries to evolve to gain new functionality over time, without breaking backward com-patibility. We added these features to the collection libraries Java developers already use every day.Oracle Magazine: So do lambdas change the way developers do their day-to-day jobs? Ramani: Absolutely, and hopefully at multiple levels. At the simplest level, their code can be more compact, but when combined with the libraries like the stream library I described above, developers will be able to write code that is simpler and more maintainable—as well as gaining the benefit of easier parallelism. I wish I had this back when I used to program!

Nandini Ramani, Vice President, Java Platform and Internet of Things, OracleBo

B Ad

ler/

Gett

y Im

AGes

“We’re unifying the language, the platform, and APIs as well as modernizing the Java language and libraries.”

Innovate with Java 8latest platform release enhances developer productivity and supports applications from the Internet of things to the cloud.

MJ14_Interview_R1.indd 17 4/8/14 11:12 AM

Page 21: Oracle magazine Mayo-Junio 2014

18 IntervIew

May/June 2014 Oracle.cOm/OraclemagazIne

Oracle Magazine: What is significant about the new date and time API?Ramani: The new date and time API reduces the complexity for developers when han-dling date and time, especially when having to cope with internationalization and local-ization for different markets. While Java has always had an API for dates and times, the existing library is more than 15 years old; it was time to re-engineer it from the ground up using modern design practices.Oracle Magazine: What about Nashorn? Ramani: Project Nashorn is a rewrite from scratch of the JavaScript engine included with the Java platform. When developers want to use both Java and JavaScript, Nashorn can deliver significant perfor-mance improvements and interoperability between Java and JavaScript code.Oracle Magazine: Java SE and Java ME are heading toward a convergence. Can you give us a little background on that and tell us what steps Java 8 takes toward it?Ramani: Java ME is the Java platform stan-dard for resource-constrained and con-nected devices where the full Java SE may not be a good fit. It allows Java to address a wide range of smaller embedded devices and use cases.

We’re converging the language, the tooling, the libraries, and the APIs. The alignment between Java ME and Java SE creates a unified Java development model and allows code, skills, and tools to be portable across the Java platform all the way from small to very large systems. The large Java ecosystem of more than 9 million developers and partners can now easily scale any of their innovations.

Java ME 8 is a significant update of the Java ME standard and is a major step toward alignment of Java SE and Java ME. Java ME now supports most of the modern Java SE 8 language features such as generics, annota-tions, assertions, enumerations, and multi-catch. Java ME 8 also supports recent Java SE VM features and class file versions, allowing the use of common tooling.

Finally, Java ME 8 adds key Java SE APIs and libraries such as collections, events, StringBuilder, logging, and other APIs and interfaces as well as subsets of NIO [New I/O].

Oracle Magazine: How do the compact pro-files, which you mentioned earlier, fit into the convergence?Ramani: Compact profiles are a way for developers to use a well-defined subset of the Java class libraries for applications where that is all that is required. So, if you’re just writing a small application, you don’t need to include the entire JRE [Java runtime environment]. For situations where the size of the JRE is an issue, this will address those specific needs. Oracle Magazine: Speaking of writing small applications, let’s talk about the Internet of Things [IoT]. What does Java ME offer for developers who want to build IoT devices?Ramani: The Internet of Things brings huge opportunities, but along with it, significant challenges for software development and specifically deployment. How do you develop code efficiently for a wide and fragmented set of embedded platforms? How do you ensure robust and secure software execution under particularly challenging conditions in most cases?

Typically, embedded software devel-opment involves specialized skills and platform-specific tools as well as, in most cases, low-level native programming. Because the native programming approach to embedded software development is often very fragmented, Java ME 8 is a purpose-built embedded software standard that provides a consistent and reliable application platform that shields developers from the complexity of the underlying devices. Complexities of oper-ating systems, device drivers, and so on are abstracted away, making software development for embedded systems much easier. The Java ME 8 runtime is efficient and highly scalable and allows developers to move and reuse their applications and business logic across a wide range of

embedded solutions without having to recompile or port their applications. So in the real world this means you can start with small microcontroller-type devices and go all the way to more-powerful systems like gateways and concentrators.

Java ME 8 includes rich and standardized functionality that is becoming increasingly required in advanced embedded deploy-ments such as preintegrated software pro-visioning and management, a flexible and robust security model, and standard com-munication protocols.Oracle Magazine: What are you most excited about in terms of Java 8? Ramani: We’re unifying the language, the platform, and APIs as well as modernizing the Java language and libraries, so it’s a big upgrade for the Java programming model itself. Additionally, we are keen to make it simple for developers to write and deploy applications all the way from small devices to the data center. Java SE 8 and Java ME 8 are huge milestone releases toward that goal.

DOWNLOAD Java SE 8bit.ly/OdfU8DJava ME 8bit.ly/1lDO7Jw

WATCH the Java 8 launch webcastbit.ly/1d2IyPLREAD the Java 8 issue of Java Magazinebit.ly/1krG1E3

NExT STEpS

Caroline Kvitka is editor in chief of Java Magazine and a long-time contributor to Oracle Magazine.

“While lambdas enable developers to simplify the code they write every day, the key benefit comes in when they are combined with new aggregate operations on collection ApIs that have also been introduced in Java SE 8.”

MJ14_Interview.indd 18 3/27/14 3:51 PM

Page 22: Oracle magazine Mayo-Junio 2014

19

ORACLE MAGAZINE MAY/JUNE 2014

PARTNER NEWSBook BeatI-

HUA

CHEN

Partners Earn Oracle PartnerNetwork Specialized StatusFour Oracle partners have earned Oracle PartnerNetwork Specialized status for their solutions. Specialized status is a level of rec-ognition that spotlights the strengths and special skills of experienced and committed Oracle partners.

Branchbird, a big data analytics company and an Oracle Gold Partner, has achieved Specialized status for Oracle Endeca Information Discovery. Branchbird has experience in practice management, product management, solution architec-ture, and product development, and has successfully delivered customized Oracle Endeca Information Discovery implementa-tions incorporating big data.

Mitchell & Associates, an Oracle Platinum Partner, has achieved Specialized status for Oracle’s JD Edwards EnterpriseOne 9.0 financial management applications. Mitchell & Associates has

been recognized by Oracle for its expertise in delivering services related to JD Edwards EnterpriseOne 9.0 solutions.

NuWave Solutions, an Oracle Gold Partner, has achieved Specialized status for Oracle Endeca Information Discovery. The company turns data into usable infor-mation by combining the capabilities of data warehousing, business intelligence, and analytics.

Redstone Content Solutions, a provider of content solutions and an Oracle Gold Partner, has achieved Specialized status for Oracle WebCenter Sites. Redstone, founded in 2009, also holds Specialized status for Oracle Application Development Framework and Oracle WebCenter Content.

branchbird.commaa-imcs.comnuwavesolutions.comredstonecontentsolutions.com

Aurionpro Becomes Oracle Platinum PartnerAurionpro, a provider of consulting services and software for financial services and supply chain management, has achieved Oracle Platinum Partner status for its expertise in delivering Oracle Identity Management, Oracle Applications, and

Oracle WebCenter. With the status, Aurionpro receives priority placement in the Oracle PartnerNetwork solutions catalog, one free application integration validated by Oracle, discounted training, and more.

aurionpro.com

Partners Create Oracle Accelerate for Midsize Companies SolutionsTwo Oracle partners have created Oracle Accelerate for Midsize Companies solu-tions—simple-to-deploy packaged solutions based on Oracle Business Accelerators.

DAZ Systems, an Oracle Platinum Partner, has delivered a solution for Oracle Financials Cloud. The new solution is based on DAZ Systems’ FastTrack accelerated

implementation methodology. CapricornVentis, an Oracle Gold Partner,

has created a solution for Oracle Service Cloud. Oracle Service Cloud enables retailers to provide a seamless customer experience across multiple touchpoints.

www.dazsi.comcapventis.com

Silanis e-SignLive Now Included in Oracle DocumakerSilanis Technology, an Oracle Gold Partner, has announced that e-SignLive, its elec-tronic signature solution, is now included in Oracle Documaker. Silanis e-SignLive within Oracle Documaker creates a completely

paperless digital transaction, from genera-tion to signing to indexing to storage of electronically signed documents. Electronic signatures help ensure that documents are reviewed in the correct order and that necessary data and signatures are captured, which can eliminate errors and improve customer service.

silanis.com

OCP: Oracle Database 12c Administrator Certified Professional Study Guide: Exam 1Z0-063

By Robert G. Freeman and Charles A. PackWileywiley.com

Prepare for three levels of certification with OCP: Oracle Database 12c

Administrator Certified Professional Study Guide: Exam 1Z0-063. This guide has been updated for the Oracle Database 12c product release. It touches on database architecture, configuration, and backup and recovery and includes tips for diagnosing problems, managing memory, managing resources, and automating tasks. A work-book exercise appendix, chapter review questions, electronic flashcards, search-able PDF glossary, and two bonus practice exams enhance your preparation.

Oracle WebLogic Server 12c Administration Handbook

By Sam AlapatiOracle Pressoraclepressbooks.com

Designed as a combina-tion reference and tuto-rial, Oracle WebLogic Server 12c Administration

Handbook covers how to install, configure, manage, and tune Oracle WebLogic Server 12c. Filled with expert management techniques, detailed examples, and best practices, it also discusses managing Oracle WebLogic Server security, understanding Oracle WebLogic Server application deploy-ment, working with Oracle WebLogic Server clusters, and many other topics.

OCA Oracle Database 12c Installation and Administration Exam Guide (Exam 1Z0-062)

By John WatsonOracle Pressoraclepressbooks.com

OCA Oracle Database 12c Installation and Administration Exam Guide (Exam 1Z0-062) is

a mixed-media handbook for preparing for the Oracle Database 12c Administration I exam, a required first step toward Oracle Certified Associate and Oracle Certified Professional certification. This book and its related electronic content cover instal-lation, configuration, application tuning, database management, backup and recovery, security, and more.

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

MJ14_Partner.indd 19 3/27/14 4:02 PM

Page 23: Oracle magazine Mayo-Junio 2014

20

MAY/JUNE 2014 ORACLE.COM/ORACLEMAGAZINE

PARTNER NEWS

Partners Earn Oracle Validated IntegrationFour Oracle partners have earned Oracle Validated Integration, demonstrating that their solutions have been certified by Oracle as functionally and technically sound and integrated with Oracle Applications in a reliable, standardized way, and that they operate and perform as documented.

CARCO Group, an Oracle Gold Partner, has achieved Oracle Validated Integration for its I-9 and E-Verify Solution with Oracle Taleo Enterprise Cloud Service, part of Oracle Talent Management Cloud. CARCO’s electronic I-9 and E-Verify Solution helps employers main-tain a compliant and legal workforce while eliminating paper-based processes.

Loftware, a provider of enterprise labeling solutions and an Oracle Gold Partner, has achieved Oracle Validated Integration of Loftware Spectrum with Oracle E-Business Suite 12.2. Spectrum features include label design, enterprise integration, a business rules engine,

device management, and on-demand native printing.

Scout Exchange, an Oracle Gold Partner, has achieved Oracle Validated Integration of Scout with Oracle Talent Management Cloud. Scout uses performance-based matching to connect employers with the most-appropriate recruiters for a specific job. The solution also lets employers view and accept qualified candidates based on placement fees.

Talent Q, an Oracle Gold Partner, has achieved Oracle Validated Integration of Talent Q Assessment Systems (Version 2.5.1.3) with Oracle Talent Management Cloud. Talent Q Assessment Systems is a multiphased assessment service that can be embedded into recruitment workflows.

carcogroup.comloftware.comgoscoutgo.comtalentqgroup.com I-

HUA

CHEN

Peloton Announces CloudAccelerator Program for Oracle Planning and Budgeting Cloud Service

Peloton, an Oracle Platinum Partner specializing in enterprise perfor-mance manage-ment and busi-ness analytics, has announced the availability of its CloudAccelerator program for Oracle Planning and Budgeting Cloud Service. Peloton, which has achieved Specialized status for Oracle Hyperion Planning, designed the CloudAccelerator program to help its clients achieve faster, driver-based planning system implementations that take advantage of the flexibility of Oracle’s cloud-based solution.

pelotongroup.com

MJ14_Partner_R1.indd 20 4/8/14 11:19 AM

Page 24: Oracle magazine Mayo-Junio 2014

21

ORACLE MAGAZINE MAY/JUNE 2014

Community Bulletin Happenings in Oracle Technology Network BY ROLAND SMART

HANDS-ON LAB: Deploying an Oracle RAC 12c Cluster

“How to Deploy a Four-Node Oracle RAC 12c Cluster in Minutes Using Oracle VM Templates” is a step-by-step tutorial (see bit.ly/1ind7TV) by Olivier Canonge. With full support for Oracle

Real Application Clusters (Oracle RAC) database deployments—and additional support for the Flex Cluster and Oracle Flex Automatic Storage Management features of Oracle Database 12c—these Oracle VM tem-plates allow the beginner and savvy alike to deploy and virtualize robust applications in a matter of minutes.

JOIN THE DISCUSSION AT IOT COMMUNITYOracle Technology Network (OTN) community members are driving the rapid adoption and proliferation of embed-ded, intelligent devices. Some are calling this a new age of machine-to-machine technology, while others prefer the term Internet of Things (IoT).

At IoT Community (iotcommunity.net), OTN developers are engaging in lively discussions about the possibilities of IoT, and sharing examples of how they’re already building on top of existing technology. Here you’ll find expert con-versations and blog posts about how mobile devices can become high-powered microscope kits; smarter precipita-tion sensors can improve agricultural yields; digital screen personalization can improve the retail experience; and more. Join the conversation at iotcommunity.net.

Oracle ADF Development: Web, Mobile, and Beyond

A new OTN video series shows you how to simplify your applica-tion development with Oracle Application Development Framework (Oracle ADF), an end-to-end Java Platform, Enterprise Edition framework. Explore an introductory primer on Oracle ADF’s out-of-the-box infrastructure services, browse advanced Oracle ADF topics, compare dif-ferent techniques for creating and extending enterprise apps for iOS and Android, or listen in on Oracle ACE Director Sten Vesterli (among other Oracle ACE pre-senters) as he shares the “Top 10 Secrets of Successful Oracle ADF Projects.” Or, do it all: you’ll find more than 10 how-to video guides and presentations at bit.ly/1j94xeR.

Featured Download: Oracle SQL Developer 4.0

Oracle SQL Developer is a free inte-grated development environment that streamlines the development and management of Oracle Database. Oracle SQL Developer offers complete end-to-end development of your

PL/SQL applications, a worksheet for running queries and scripts, a DBA console for managing the database, a reports interface, a complete data modeling solution, and a migration platform for moving your third-party databases to Oracle Database. Download Oracle SQL Developer 4.0 at bit.ly/1nRwGaX.

Kscope14ODTUG’s Kscope

is one of the most dynamic and well-attended confer-ences for Oracle developers, administrators, architects, and business users. This year’s conference, Kscope14, takes place June 22–26 in Seattle, Washington, and it includes more than 250 technical ses-sions, more than 20 hands-on training sessions, and plenty of networking opportunities. In addition, Oracle ACE Directors will be at the ready to answer your questions: this year they’ll be leading a number of Kscope14 lunch-and-learn sessions. Learn more and regis-ter at kscope14.com.

I-HUA

CHE

N; C

OURT

ESY

OF D

HERR

ERA_

96 O

N FL

ICKR

MJ14_Community.indd 21 3/27/14 4:44 PM

Page 25: Oracle magazine Mayo-Junio 2014

22

May/june 2014 Oracle.cOm/Oraclemagazine

architect By BoB RhuBaRt

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

I n past issues of Oracle Magazine, this column has devoted a lot of attention to

how to become an architect and has shared the insight and expertise of working archi-tects as they discuss how they have devel-oped and sharpened the various skills nec-essary to thrive in that role. But this column has never addressed one simple, straight-forward question: Why would anyone want to be an architect?

The architects I contacted for responses to that question—my informal team of expert advisors—were attracted to the role because it requires a very specific combina-tion of highly developed technical skills, equally well-developed people skills, and a keen ability to see and grasp the big picture, all wrapped up in a desire to be an instru-ment of change.

Oracle ACE Director Lucas Jellema, solution architect and CTO of AMIS Technologies, describes the big-picture focus as both the primary challenge and the greatest attraction for the role. “The mix of competencies that is required; the potential impact you have as an architect; and the constant intellectual challenge of abstract, high-level, long-term strategic thinking one moment and very operational, concrete, and detailed thinking the next is what makes it fun. You are in touch with so many people and so many aspects of the project and the technology that it is hugely challenging and rewarding. Never a dull moment!”

The architect’s job is “problem-solving on a large scale, a struggle to align people and technology to accomplish a mixture of goals,” says Randy Stafford, architect-at-large for the Oracle Coherence product development team at Oracle. “It’s gratifying work for someone with an analytical, engi-neering mindset. Challenging, but stimu-lating and rewarding.”

Ronald van Luttikhuizen, managing partner at Vennster and an Oracle ACE Director, also enjoys the problem-solving aspect of the role. “As an IT architect you are in the unique position to have a real impact on the quality and usefulness of solutions for the business,” he says. “It’s like solving puzzles, but you still have the opportunity to get your hands dirty by helping in software realization.”

The ability to balance that kind of day-to-day technical practicality with a vision for the future sets architects apart.

“To be an architect is to think differently from those around you, and to be able to have a profound influence on the future state of things,” says Clifford Musante, lead architect with the Oracle Fusion Middleware Architects team. “Architects are required to simultaneously address the multiple concerns of the business, the users, the evolving state of technology, and the con-tinuous need for innovation and lower costs, all while providing more-robust and more-reliable solutions. For those who can think coherently, completely, and across multiple concerns simultaneously, what’s not to love about a job like that?”

Oracle ACE Luis Weir, Oracle solutions director at HCL AXON, describes the archi-tect’s role as fundamental to an IT revolution that is only just getting started. “Information

technology is to the twenty-first century what the Industrial Revolution was to the eighteenth, nineteenth, and twentieth cen-turies, “ says Weir. “You become an architect because you are passionate and you want your solutions to have a positive impact on your business or society.”

As the last, lingering vestiges of the twentieth century fall away, it becomes ever more obvious that the familiar mantra “every business is an IT business” is expanding in scope with each passing second—as every home becomes an IT home; every automobile becomes a rolling data center; and human beings, by virtue of evolving mobile devices, wearable com-puters, and whatever comes next in that astonishing progression, become ever more connected to each other and to the world around them. How we make that journey, and where that unpredictable path takes us, is the business of IT architects. Who wouldn’t want to be a part of that?

LISTEN to “Are You Future-Proof?”

bit.ly/1ovkYSx“DevOps, Cloud, and Role Creep”

bit.ly/1gAJrziREAD

“Architects: Sell Yourselves, Save the World”bit.ly/1eSMZ0c

NExT STEPS

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

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

Why Would Anyone Want to Be an Architect?Architects weigh in on what makes their jobs cool.

“You want your solutions to have a positive impact on your business or society.”—Luis Weir, Lead Architect, Oracle Solutions Director, HCL AXON

MJ14_Architect.indd 22 3/27/14 4:57 PM

Page 26: Oracle magazine Mayo-Junio 2014

23PEER-TO-PEER BY BLAIR CAMPBELL

ORACLE MAGAZINE MAY/JUNE 2014

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

Taking the LeadPeers on proactive support tools, new cloud solutions, and understanding Oracle inside out

How are you using social media in your work? Quite frequently you’ll find me on Twitter, LinkedIn, and Facebook, and I also run an Oracle tech community called ORAERP.com—The Knowledge Center for Oracle ERP Professionals. What’s your favorite mobile application?Nowadays I’m getting all the latest information on my iPhone’s Oracle app. I’m using it for My Oracle Support follow-ups on service requests and also to get the latest blog posts and information on events. What’s been your favorite Oracle technology conference experience? I’m an executive board member of the Middle East Oracle User Group, and this position earned me speaking slots at Oracle OpenWorld San Francisco in 2012 and 2013. Both were great experiences. At the 2013 conference, I received an Oracle Excellence Award in the category of Proactive Support: Individual Champion. It’s hard to express what a tremendous honor this was.

How are you using cloud computing in your work these days? We run a hybrid cloud with Oracle Fusion Customer Relationship Management in the Oracle Cloud, and we run Oracle Fusion Applications in an on-premises private cloud model on the Oracle Virtual Compute Appliance that we’ve built up with InfiniBand and gigabit Ethernet switching between two data centers. What are you using for mobile computing? We have Oracle Tap for Oracle Applications Cloud Service and the Oracle Fusion Applications Release 7 simplified UI on the iPad for all employees. That’s cool stuff. The simplified UI is very nice for self-service. We’re eager to start using Oracle Fusion Expenses and the new Oracle Fusion Time and Labor tooling. What’s your favorite thing to do that doesn’t involve work? Well, my wife calls this work, but I do not: If I am “not working,” I explore new technologies and techniques that have a direct relation to my work. I believe this broadens my vision and allows great ideas to emerge.

How did you get started in IT? I specialized in databases as part of my master’s degree. My first position was as a lead database engineer with a successful startup. From the beginning I made a conscious effort to really understand the internals of Oracle technologies and everything that DBAs do, and since then I’ve straddled both the developer and DBA worlds.What are your favorite tools on the job? I like TRCA, SQLT, LTOM, and DTrace. They give me the ability to do a systematic analysis of performance issues and quickly address the ones that matter most.Which new Oracle technologies are you currently finding most valuable? Oracle NoSQL Database is a great new technology for specialized use cases where a relational database is not the best fit. I work extensively with low-latency distributed systems that handle both structured and binary data. Using Oracle NoSQL Database in conjunction with the relational database allows me to develop systems that achieve the best of both worlds. t

Company: Morpho, a company specializing in fingerprint, iris, and facial recognition systems, as well as rapid DNA identificationJob title/description: Chief engineer, responsible for exploring, recommending, and implementing all database-centric technologies in use at the companyLocation: Los Angeles, CaliforniaOracle credentials: Oracle Certified Professional (Oracle Database 11g), with more than 15 years of experience using Oracle products

ARIS PRASSINOS

Company: Profource, a provider of specialized support to companies using Oracle technologiesJob title/description: Senior consultant, responsible for architecture, application development, and integrations using Oracle technologies Location: Dordrecht, the NetherlandsOracle credentials: PeopleSoft Certified Application Developer, with 15 years of experience using Oracle products

HAKAN BIROGLU

Company: Raqmiyat, a systems integrator and the primary IT division of the Al Ghurair business groupJob title/description: Oracle practice manager, responsible for consulting, implementation, project management, and delivering cost-effective solutionsLocation: Dubai, United Arab EmiratesOracle credentials: Oracle Certified Professional (Oracle9i Database, Oracle Database 10g), Exadata Database Machine Models X2-2 and X2-8 PreSales Specialist, with four additional Oracle certifications and 10 years of experience using Oracle products

KASHIF MANZOOR

MJ14_Peer.indd 23 3/28/14 9:56 AM

Page 27: Oracle magazine Mayo-Junio 2014

These trends are putting a strain on traditional IT infrastructures, as companies look for better ways to provide enterprise applications and analytics to the business and pursue initiatives such as big data and data center consolidation. It is becoming clear that incremental modifications are not enough to keep up. IT groups need innovative approaches that will enable them to reshape the infrastructure to provide the performance and scalability needed to keep up with the ever-evolving demands of the business.

A Leap Forward in ServersThe Fujitsu M10 server line is designed to be at the heart of that type of infrastructure. Drawing on Fujitsu’s heritage of supercomputing—and its deep partnership with Oracle® that is focused on SPARC® and mission-critical business computing—this server line offers the

biggest technology advancement for SPARC servers in more than a decade.

The Fujitsu M10 servers are built on the advanced SPARC64® X processor and now the new SPARC64 X+ processor. These processors include “Software-on-Chip” technology created through the close collaboration of Fujitsu and Oracle. Software-on-Chip moves some routines from software programs to the circuitry of the chip, increasing the speed of those routines. The current Fujitsu M10 hardware and Oracle Solaris 11 software work together with this feature, and with Oracle Database 12c plus patch, companies may see an increase in performance of up to 25%, due to Software-on-Chip.

The Fujitsu M10 also uses an in-memory pro-cessing concept, which means that data is accessed within memory in just nano-seconds, rather than the

Today, companies need to manage huge amounts of data to develop insights and actionable, valuable information—and to enable business decision makers to operate with solid information and better foresight. At the same time, they need to process this growing volume of data faster than ever in order to stay ahead of the competition and a constantly changing business environment. In an increasingly real-time business world, the speed and quality of information are both key.

Delivering at the Speedof Business

ADVERTISING SUPPLEMENT

Delivering at the Speedof Business

Page 28: Oracle magazine Mayo-Junio 2014

milliseconds needed for traditional access to storage and disks. Here again, hardware and software can work closely together for a signifi-cant increase in performance.

The Fujitsu M10 includes other innovative technologies that help drive high performance. For exam-ple, Fujitsu’s advanced High Speed Interconnect transmission technology is used to connect CPUs, resulting in a very fast 14.5 Gbps transmission rate. In addition, a unique Liquid Loop Cooling mechanism can cool hot spots effectively, allowing compo-nents such as the CPU and memory to be located more closely to one another. This close placement and resulting compute density has helped the Fujitsu M10 achieve one-fifth lower memory latency, compared to previous servers.

The Payoff in PerformanceTogether, these various Fujitsu technologies add up to dramatic increases in performance. In the first six months following its release, the Fujitsu M10 set 14 world records in industry standard benchmark tests, including CPU-specific tests, such as SPEC® CPU, and application-level tests, such as Java™ and SAP®.

A look at a few of these benchmarks illustrates the level of performance improvement offered by these servers: For example, in the SPECint®_rate2006 benchmark, which looks at CPU performance and throughput, the Fujitsu M10 server provided twice the performance of the previous record-holding server. And in the STREAM Triad benchmark, which looks at memory access and throughput, it was five times faster than the previous record holder.

“The SPECjbb®2013 bench-mark is designed to measure Java

application performance including response performance, which is essential for real-time processing. Fujitsu M10 with a 16-CPU configu-ration achieved the world’s highest performance on both critical-jOP-S(Java Operations Per Second) and max-jOPS.”

The server’s ability to deliver high performance has been demonstrated outside the lab in real world usage, as well. For example, a telecom company that used the Fujitsu M10 in a server consolidation effort achieved a 3X improvement in performance. And a printing company that migrated from a UNIX® platform to the Fujitsu server saw a 2X improvement in response time and a 3X improvement in batch processing time. [See sidebar, “Power for Global Expansion.”]

Providing an Agile IT FoundationBusiness does not hold still, and that means that IT needs to constantly adjust and adapt to requirements that can change quickly—and often, unpredictably. Typically, this means expanding the infrastructure in step with business growth, and doing so cost-effectively.

The Fujitsu M10 addresses this need with its innovative core

Since its release, the Fujitsu M10 has set 14 world records in industry standard

benchmark tests.

Page 29: Oracle magazine Mayo-Junio 2014

activation feature. The SPARC64 X and the SPARC64 X+ CPU have 16 cores. When a company purchases a lower-end Fujitsu M10-1 with one CPU, all 16 physical CPU cores are already included in the box. They can be activated and paid for on an as-needed basis, making it easy to quickly scale from 2 to 16 cores in increments of two, without having to add any hardware. This core activation concept applies across the Fujitsu M10 product line, up to the largest 64-CPU modular models. In short, core activation may allow companies to license only what they need at the core level, and keep computing power in step with changing demands—an approach that is highly cost-effective.

Working hand-in-hand with core activation, the Fujitsu M10 provides building block capabilities that enable simple, modular scalability. For example, if a company reaches the capacity limits with all 64 CPU cores of a Fujitsu M10-4S activated, it can quickly

add a second 2- or 4-socket box to the first without interrupting the system, and then grow that new box through the core activation process, as needed. This can be continued up to a maximum configuration of 16 boxes with 1,024 active cores and 32 terabytes of memory.

With these features, the Fujitsu M10 servers provide tremendous flexibility and expandability. This enables the IT organization to not only optimize its investment when it first implements the system, but to keep optimizing it over time. It essentially provides a “pay as you go” model—and helps avoid the all-too-common problem of having to “overbuy” and ending up with

equipment that is using power but not contributing to the bottom line.

In addition to high performance and flexibility, the Fujitsu M10 server design builds on Fujitsu’s history of providing mainframe-class reliability, availability and serviceability technology. Its architecture includes many features that help ensure that business operations are not interrupted and unscheduled downtime is not required to deal with failing hardware or software components. For example, redundant interconnect paths help minimize the risk of errors and data corruption. Predictive self-healing capabilities enable the operating system to work with the server hardware to predict component failures and minimize the impact of issues before they affect the system’s operation.

Fujitsu will keep delivering more with its Fujitsu M10 server line. This means continuing to expand Software-on-Chip capabilities and providing features that further increase reliability, availability and serviceability. It also means working with Oracle on innovative approaches to big data and other enterprise computing needs— and giving customers the technologies they need to be agile and responsive to successfully pursue today’s fast- moving business opportunities.

For More InformationTo find out more about the Fujitsu M10 server, please see these related documents:• Accelerate and Consolidate the Data Center• Consolidate with Fujitsu M10 Servers • Accelerate Database Performance with

Fujitsu M10 Servers

Please visit our web site to view the full DNP case study.

Additional information about the Fujitsu M10 server line can be found at www.fujitsu.com/sparc.

The Fujitsu M10 allows companies

to keep computing power in step with

changing demands.

ADVERTISING SUPPLEMENT

SPEC (The Standard Performance Evaluation Corporation), SPECint and SPECjbb are registered trademarks of Standard Performance Evaluation Corpora-tion(SPEC) in the US and other countries.Details and the latest information of this benchmark can be found at www.spec.org. Published as “SPARC M10.” Fujitsu M10 is sold as SPARC M10 by Fujitsu in Japan. Fujitsu M10 and SPARC M10 are identical products.

World-record SPECint_rate2006 result: Comparison based upon SPECint_rate2006 result except Supercomputers: 23,800 on a SPARC M10-4S server with 64 SPARC64 X (3.0 GHz) processors, Oracle Solaris 11.1, Oracle Solaris Studio 12.3, 1/13 Platform Specific Enhancement. Details and the latest information on this benchmark can be found at www.spec.org.

World-record STREAM result: Comparison based upon STREAM Triad result except Supercomputers: 4,002 GB/s on a SPARC M10-4S server with 64 SPARC64 X (3.0 GHz) processors. Details and the latest information on this benchmark can be found at www.cs.virginia.edu/stream/.

World-record SPECjbb2013 results: 16 CPU configuration: 308,936 max-jOPS and 168,127 critical-jOPS on a SPARC M10-4S server with 16 SPARC64 X (3.0 GHz) processors, Oracle Solaris 11.1 SRU 6.4, Java HotSpot 64-Bit Server VM, version 1.7.0_17. 4 CPU configuration: 83,909 max-jOPS and 50,562 critical-jOPS on a SPARC M10-4S server with 4 SPARC64 X (3.0 GHz) processors, Oracle Solaris 11.1 SRU 6.4, Java HotSpot 64-Bit Server VM, version 1.7.0_17. Details and the latest information on this benchmark can be found at www.spec.org.

Page 30: Oracle magazine Mayo-Junio 2014

Power for Global Expansion

Dai Nippon Printing Co., Ltd. (DNP) is one of the world’s largest printing companies, but its business extends over a wide variety of fields, including

Information Communication (e.g. publication printings and digital signage), Lifestyle and Industrial Supplies (e.g. packaging and lifestyle materials) and Electronics (e.g. display components and electronic devices). DNP has been actively expanding globally and now has 26 sales locations and 13 manufacturing plants around the world. The processing for DNP exports is done primarily through its central overseas business system. The previous system had been constructed based on HP-UX, but it had

limitations in terms of expandability. For this reason, DNP elected to replace the system using Fujitsu M10 servers.

DNP needed a high performance system that could handle increases in the amount of overseas business job data and additional users, and evaluated multiple vendors. “We had been paying close attention to information about new, high-performance servers and [Fujitsu M10’s] high-performance, based on supercomputer technology, was a step above conventional servers,” says Tomoyasu Nagata, Section Head of the Overseas System Section at DNP. “We confirmed the figures backing Fujitsu M10 and it quickly became a very suitable candidate.”

The final selection was done by DNP Information Systems Co., Ltd., which manages information systems for the DNP Group. Mr. Kazuo Kurosawa, Department Head at DNP Information Systems, stated, “Our role is to provide a

stable service for information systems, from planning and design to construction, operation, and maintenance. When we investigated Fujitsu M10, the key points considered were not just its high performance, but its operational stability inherited from mainframe reliability, the fact that it embraces the future potential and long-term support of Oracle Solaris, and its compatibility with Oracle Database. Specifically when combined with Oracle Database 11g, Fujitsu

M10-1 is able to deliver one-stop-shop support for our business and significantly reduce maintenance costs.”

For the new system configuration, Fujitsu M10-1 was used as the core database server. “Fujitsu M10 and Fujitsu made sure system construction could be completed in a short amount of time,” says Mr. Shohei Yamashita, Third Work System Dept., Work System Headquarters, DNP Information

Systems. The database server works in conjunction with the application server and the backup server. Furthermore, Fujitsu’s one-stop-shop support delivers a quicker resolution in the event of any issues.

After installation, the database’s response performance doubled. Batch processing performance has tripled, thus greatly reducing overall processing time. Total opera-tional costs have been cut by nearly 35%, with software maintenance costs kept down, and operational efficiency increased by installing a backup server.

Regarding future prospects, Mr. Nagata says, “We’re planning to add more functionality leveraging CPU Core Activation, which will allow us to flexibly expand the system as needed. With this function, we can scale up when our business is ready while keeping initial costs down. We look forward to working with Fujitsu as they continue to support us through leading-edge solutions like Fujitsu M10 technology for big data processing.”

Tomoyasu Nagata Kazuo Kurosawa Shohei Yamashita

Page 31: Oracle magazine Mayo-Junio 2014

2828

MJ14_CAF_R1.indd 28 4/8/14 11:25 AM

Page 32: Oracle magazine Mayo-Junio 2014

BY DAVID BAUM

A s cloud computing moves out of the early-adopter phase, organizations are carefully evaluating how to get to the cloud. They are examining standard methods for developing, integrating, deploying, and scaling their cloud applications, and after weighing

their choices, they are choosing to develop and deploy cloud applications based on Oracle Cloud Application Foundation, part of Oracle Fusion Middleware.

Oracle WebLogic Server is the flagship software product of Oracle Cloud Application Foundation. Oracle WebLogic Server is optimized to run on Oracle Exalogic Elastic Cloud, the integrated hardware and software platform for the Oracle Cloud Application Foundation family.

Many companies, including Reliance Commercial Finance, are adopting this middleware infrastructure to enable private cloud computing and its convenient, on-demand access to a shared pool of configurable computing resources.

GROUNDCONTROL

Oracle Cloud Application Foundation solutions launch

your cloud applications.

ORACLE MAGAZINE MAY/JUNE 2014

29

I-HU

A CH

EN

MJ14_CAF_R1.indd 29 4/8/14 11:27 AM

Page 33: Oracle magazine Mayo-Junio 2014

May/June 2014 Oracle.cOm/Oraclemagazine

30

“Cloud computing has become an extremely critical design factor for us,” says Shashi Kumar Ravulapaty, senior vice president and chief technology officer at Reliance Commercial Finance. “It’s one of our main focus areas. Oracle Exalogic, especially in combina-tion with Oracle WebLogic, is a perfect fit for rapidly provisioning capacity in a private cloud infrastructure.”

Reliance Commercial Finance provides loans to tens of thousands of customers throughout India. With more than 1,500 employees accessing the company’s core business applications every day, the company was having trouble processing more than 6,000 daily transactions with its legacy infrastructure, especially at the end of each month when hundreds of concurrent users need to access the company’s loan processing and approval applications.

To address these issues, Ravulapaty looked to Oracle and its Oracle Cloud Application Foundation technologies. By consolidating nine servers onto a single Oracle Exalogic platform, Reliance optimized transaction throughput for its core applications and accelerated the overall speed of processing loan transactions by up to 30 percent.

“Previously, after 300 or 400 users were logged in, getting the next session was a challenge,” recalls Ravulapaty. “Oracle Exalogic is built for these kinds of challenges, especially when used in combi-

nation with Oracle WebLogic Server. Now we can support 500 con-current sessions with no trouble—and have tested the system for as many as 5,000 users.”

In addition, Oracle Cloud Application Foundation technolo-gies enable Reliance to save significant time on provisioning and deploying new servers.

“Business users formerly had to wait at least six weeks to receive a new server and then another two weeks to have it installed,” says Ravulapaty. Now, using cloud functionality from Oracle, they can provision applications in just a few clicks and deploy them in less than a day.

Oracle Cloud Application Foundation enables Reliance to utilize public and private cloud services, anchored by a common middle-ware infrastructure. “Because Oracle uses open, standards-based middleware technologies, once you standardize on that foundation within your own data center, with your own private cloud, it is easy to integrate public cloud services,” Ravulapaty explains.

For example, Reliance utilizes Oracle CRM On Demand, a public cloud service that is integrated with the company’s core on-premises lending systems and contact center applications. “We have two public cloud services and one on-premises private cloud that work together Na

mas

Bho

jaNi

Oracle Cloud Application Foundation enables public and private cloud services, anchored by a common middleware infrastructure. “Because Oracle uses open, standards-based middleware technologies, once you standardize on that foundation within your own data center, with your own private cloud, it is easy to integrate public cloud services,” says Shashi Kumar Ravulapaty, senior vice president and chief technology officer at Reliance.

MJ14_CAF.indd 30 3/28/14 3:52 PM

Page 34: Oracle magazine Mayo-Junio 2014

oracle magazine May/June 2014

31

in an integrated fashion,” Ravulapaty con-tinues. “Having everything based on Oracle Cloud Application Foundation gives us the flexibility to integrate public and private cloud services.”

Ravulapaty touts the inherent efficiency of Reliance’s new IT infrastructure: only two people manage the core information systems that support 2,000 people in 45 locations. What’s the reason for such an efficient operation? According to Ravulapaty, Oracle Exadata, Oracle Exalogic, Oracle WebLogic, and many other parts of the infrastructure can be managed through a common Oracle Enterprise Manager console.

This consolidated perspective has also enabled Reliance to resolve bottlenecks in its business processes, such as critical batch processes that previously took nearly 11 hours to complete. “One key batch process for loan approvals took 652 minutes to run,” Ravulapaty adds. “After we ported our information systems to Oracle engineered systems, it only took 61 minutes.”

Public FoundationAccording to Mike Lehmann, vice president of product management at Oracle, while the Oracle Cloud Application Foundation name is relatively new to the Oracle Fusion Middleware family, its fundamental application server, in-memory data grid, and web server technologies have been tested and proven for many years. “Clustering, virtualization, and administrative automation allow organizations to scale their Oracle Cloud Application Foundation–supported applications incrementally and adjust resources to meet business priorities, bolstered by advanced methods for cloud deployment, manage-ment, and security,” Lehmann notes.

These cloud capabilities are especially popular among public sector organizations such as VRSG, a nonprofit organization that provides private cloud services to 260 municipal agencies in the German region of eastern Switzerland. Known to Swiss citi-zens as Verwaltungsrechenzentrum AG St. Gallen, VRSG has developed e-government applications to support taxation, residency management, land use, facilities manage-ment, accounting, and other administrative functions for these Swiss municipalities.

Application development, integra-tion, and hosting is VRSG’s main business. Looking to the future, Christian Manser, head of operations and architecture at VRSG, and his colleagues anticipated the need for greater application hosting capacity, particularly for their resident management software application, which includes infor-mation about Swiss citizens.

To support these requirements, VRSG decided to modernize its technology stack using Oracle Cloud Application Foundation. First it developed Java Platform, Enterprise Edition (Java EE) applications and migrated them to Oracle WebLogic Server in an Oracle Exalogic application server

environment. Then it upgraded its database assets to Oracle Database 11g and installed them on an Oracle Exadata platform.

“We needed a high-performance, multitenant environment that could support numerous agencies and customers,” says Neil Swart, database administrator at VRSG. “We compared Oracle’s hardware and software systems against IBM mainframe and com-modity Intel x86 systems. Our tests confirmed that our applica-tions ran best on Oracle Exalogic and Oracle Exadata over an InfiniBand network.”

Many organizations look to cloud-based devel-opment platforms to build and deploy new applications quickly. Using these platforms may save an IT department weeks or even months of development and deploy ment time. But what if application usage escalates beyond the constraints of the chosen infrastructure? How do you integrate public cloud applications with on-premises applications? Is there any guaran-tee of cloud-based application performance?

Oracle designed Oracle Java Cloud Service to alleviate these concerns by enabling businesses to take advantage of a proven, standards-based infrastructure for implement-ing cloud applications, complete with integrated security and database access. Each Oracle Java Cloud Service instance is built using Oracle

WebLogic Server and hosted on Oracle Exalogic, an engineered system optimized to run Java applications, Oracle Applications, and other enterprise applications.

As a platform-as-a-service (PaaS) envi-ronment, Oracle Java Cloud Service includes subscription-based pricing; self-service pro-visioning; and access to reliable, scalable, and elastic cloud environments. Organizations can use Oracle Java Cloud Service to build new Java applications or extend software-as-a-service (SaaS) applications deployed in Oracle Cloud.

“The idea behind Oracle Java Cloud Service is to provide an enterprise-grade platform to develop and deploy business applications in the cloud,” notes Mike Lehmann, vice presi-dent of product management at Oracle. “It’s a

proven strategy for developing and deploying applications without the cost and complexity of managing the underlying middleware, database software, and infrastructure hardware. By utiliz-ing this cloud service, businesses can maximize productivity, with instant access to cloud envi-ronments that support any Java EE application.”

Oracle Java Cloud Service supports popular development frameworks such as Oracle Application Development Framework, Spring, Hibernate, and EclipseLink. It integrates with commonly used integrated development envi-ronments (IDEs) including Eclipse, NetBeans, and Oracle JDeveloper. Oracle Java Cloud Service instances are created with just a few clicks , and deployed applications use Oracle Database Cloud Service as their underlying database.

Oracle Java Cloud Service

Reliance Commercial Financereliancecommercialfinance.comIndustry: Financial servicesHeadquarters: Mumbai, IndiaEmployees: 2,000Oracle products: Oracle Enterprise Manager, Oracle Exadata, Oracle Exalogic Elastic Cloud, Oracle WebLogic Suite, Oracle Advanced Customer Support Services

VRSGvrsg.chIndustry: IT services/governmentHeadquarters: St. Gallen, Switzerland Employees: 270Oracle products: Oracle WebLogic Server, Oracle Database, Oracle Exadata Database Machine, Oracle Exalogic Elastic Cloud, Oracle Real Application Clusters

TUI Travel PLC, Hotelbeds division tuitravel.comIndustry: Travel and leisureHeadquarters: Palma de Mallorca, Spain Oracle products: Oracle WebLogic Server, Oracle Coherence, Oracle Database, Oracle Exadata Database Machine, Oracle WebCenter Content, Oracle JDeveloper, Oracle JRockit

SnaPSHOTS

MJ14_CAF.indd 31 3/28/14 3:52 PM

Page 35: Oracle magazine Mayo-Junio 2014

May/June 2014 Oracle.cOm/Oraclemagazine

32

Wil

ly S

pill

er/G

etty

imaG

eS

Choosing the best solution, VRSG deployed the new Oracle-based infrastructure at two data centers approximately 10 km apart. VRSG uses Oracle Data Guard to synchronize these mirrored environments in an active/active failover architecture.

“We leverage the complete power of Oracle Exalogic and Oracle Exadata in both locations, with one site for development, training, and acceptance testing and the other for production,” explains Manser. “Both environments can easily be switched from one site to the other.”

The foundation of the VRSG infrastructure is now a private cloud that allows hundreds of agencies to leverage economies of scale while maintaining autonomy in overall governance. By utilizing highly efficient cloud-based applications and services, these orga-nizations are able to focus on their core charter of serving the public.

VRSG’s residency management application and most other e-government applications rely on Oracle Cloud Application Foundation, and the Oracle technology is delivering better per-formance and manageability. “Performance improved across the board,” adds Manser. “The applications on Oracle Exalogic, in par-ticular, are very fast—and simpler to maintain.”

CaChed FoundationWhen TUI Travel PLC, one of the world’s leading travel services companies, decided to aggregate all of its customer-facing business applications onto a single application server platform, IT leaders rallied around a common theme: standardization.

“I like to standardize,” says Facundo Rua, head of technology for Activities, Transfers & Experiences at the Hotelbeds division of TUI

Travel PLC. “I don’t want to deal with multiple types of application servers and caching solutions.”

This philosophy of standardization became especially important as the company grew and expanded its operations. Rua realized that using open source application servers at Hotelbeds could be too costly and complex to manage. In addition, the division’s middle-tier database cache could not adequately support web traffic during busy periods, such as holiday weekends.

After a rigorous evaluation process that included analyzing the total cost of ownership of Oracle WebLogic Server 12c versus open source application servers, the Hotelbeds division decided to migrate its entire application ecosystem to Oracle WebLogic Server.

Additionally, TUI Travel opted to replace its open source caching systems with Oracle Coherence 12.1.2, the in-memory data grid of Oracle Cloud Application Foundation. According to Rua, Oracle Coherence significantly outperformed other caching systems during transactional tests prior to implementation.

Hotelbeds’ business operations require the efficient manage-ment of large volumes of information. One important business operation involves transferring passengers to and from airports, hotels, and other destinations—a service that TUI provides to travel agencies and tour operators.

“We needed to restructure our transfers product to offer more-efficient door-to-door service,” explains Rua. “Previously we only offered 8,000 transfer routes, but we wanted to expand that number based on GPS coordinates so we could offer virtu-ally limitless door-to-door service. This expansion would support our objective to increase our transfer sales by 100 percent during the current fiscal year.”

Rua and his team created an Oracle Coherence grid to store point-to-point transfer information. “Once we receive GPS coordinates from a customer, we are able to offer the product and selling price to or from that precise location,” explains Rua. “The information is created in Oracle Database and pushed into Oracle Coherence using the Oracle Coherence GoldenGate HotCache feature. Instead of just 8,000 fixed routes, we now can support an infinite number of routes based on any GPS coordinates.”

Buoyed by the success of the Transfers

VRSG deployed a new Oracle-based infrastructure at two data centers. “We leverage the complete power of Oracle Exalogic and Oracle Exadata in both locations, with one site for development, training, and acceptance testing and the other for production,” says Christian Manser, head of operations and architecture at VRSG.

“The applications on Oracle Exalogic, in particular, are very fast—and simpler to maintain.” —Christian Manser, Head of Operations and Architecture, VRSG

MJ14_CAF.indd 32 3/28/14 3:53 PM

Page 36: Oracle magazine Mayo-Junio 2014

oracle magazine May/June 2014

33

project, Rua and his team decided to use Oracle Coherence to cache information related to its activities and rental car businesses as well.

“The results were amazing,” continues Rua. “Previously we could process 400 requests per second at peak load. With Oracle Coherence we can handle 3,000 requests per second or more, and we are seeing response times between 7 and 15 milliseconds. It is a true performance breakthrough.”

Scaling these applications is easier as well: Rua estimates that TUI can support a 50-fold increase in traffic with its Oracle infra-structure. “Without the capacity to support 50 times more traffic and respond to 3,000 or more requests per second, meeting our growth objectives would have been impossible,” he notes. “Standardizing on Oracle WebLogic has simplified our IT environ-ment and allowed us to deploy new applications more quickly. We have been able to provide services that our customers didn’t have before. Being able to provide access to these services in milliseconds has been amazing.”

ConCluding FoundationAs organizations implement cloud environments to host critical business workloads, scalability, reliability, availability, and elasticity

become more and more important. “It all comes together in Oracle Cloud Application Foundation,” concludes Oracle’s Lehmann. “Hundreds of thousands of customers run their workloads on Oracle Fusion Middleware products, and even if they aren’t yet imple-menting clouds, Oracle enforces standards that set up customers for successful cloud deployments down the road. That’s how these middleware products will continue to evolve.”

David Baum is a freelance writer who specializes in the intersection of science, technology, and culture.

LEARN more about Oracle Cloud Application Foundationoracle.com/us/products/middleware/cloud-app-foundationOracle Exalogic Elastic Cloudoracle.com/us/products/middleware/exalogic

WATCH Getting Started with the Oracle Java Cloud Servicebit.ly/1dk38k3

NExT STEpS

“Standardizing on Oracle WebLogic has simplified our IT environment and allowed us to deploy new applications more quickly. We have been able to provide services that our customers didn’t have before,” says Facundo Rua, head of technology for Activities, Transfers & Experiences at Hotelbeds.

AdAm

Lub

roth

/Get

ty Im

AGes

MJ14_CAF.indd 33 3/28/14 3:53 PM

Page 37: Oracle magazine Mayo-Junio 2014

YOUR DESTINATION FOR ORACLE AND JAVA EXPERTISE

Written by leading technology professionals, Oracle Press books offer the most definitive,

complete, and up-to-date coverage of Oracle products and technologies available.

www.OraclePressBooks.com @OraclePress OraclePress

Available in print and eBook formats

OCP Upgrade to Oracle Database 12c

Exam Guide

Sam Alapati

This self-study tool covers OCP Exam

1Z0-060. Electronic content includes

two practice exams and a PDF copy of

the book.

OCA Oracle Database 12c Installation

and Administration Exam Guide

John Watson

Get complete details on all objectives

for OCA Exam 1Z0-062. Electronic

content includes two practice exams

and a PDF copy of the book.

Oracle WebLogic Server 12c

Administration Handbook

Sam R. Alapati

Maintain a high-performance

enterprise application framework

using the latest management tools

and techniques.

Oracle Database Appliance:

A Hands-On Guide

Ravi Sharma

Streamline deployment,

maintenance, and support of a

highly available database solution.

Page 38: Oracle magazine Mayo-Junio 2014

Middleware Developer 35Business AnAlytics By Mark rittMan

orAcle mAgAzine May/June 2014

Go with the FlowOracle Data Integrator 12c delivers new flow-based mappings and deployment specifications.

O racle Data Integrator 12c introduces several new tools aimed at increasing

developer productivity, improving data loading performance, and enabling closer integration with Oracle Fusion Middleware.

Probably the most exciting of these new tools, particularly for users of Oracle Database’s Oracle Warehouse Builder feature who are looking to upgrade to Oracle Data Integrator, is the new “flow-based” mapping editor. While the more traditional set-based mappings are still supported by Oracle Data Integrator, the flow-based user interface enables you to create rich multistep map-pings that move and transform data by using a palette of mapping operators.

Oracle Technology Network has also made the Oracle Data Integrator 12c Getting Started appliance—an Oracle VM

VirtualBox—available; you can download it to your development environment and use it to try out the new tools in Oracle Data Integrator 12c without having to separately install and configure all the components. (Note that this appliance is meant for testing and training purposes only and is not sup-ported for use in production environments.)

Creating a FlOw-Based MappingIn this example, I explore one of the new flow-based mappings within the sample Oracle Data Integrator 12c project in the Oracle Data Integrator 12c Getting Started Oracle VM VirtualBox appliance. I demonstrate how mappings include source and target data store objects and make use of mapping oper-ators to filter, aggregate, sort, and otherwise transform data. I also take a look at the new

deployment specification capability within Oracle Data Integrator 12c that enables you to create more than one physical specifica-tion for a mapping so you can create a single mapping definition that handles initial as well as incremental loading scenarios.

If you have not done so already, download the Oracle Data Integrator 12c Getting Started appliance from the Oracle Technology Network website at bit.ly/ 1fgfdpn and follow the instructions to extract the Oracle VM VirtualBox appliance files and log in to the appliance. (This dem-onstration appliance includes a partially created Oracle Data Integrator 12c project within the work repository.) Once you’ve installed and logged in to the appliance, double-click the Oracle Data Integrator 12c Studio icon on the desktop and, when

Figure 1: The Oracle Data Integrator 12c mapping editor

Oracle Data IntegratOr 12c

MJ14_BA.indd 35 3/28/14 11:31 AM

Page 39: Oracle magazine Mayo-Junio 2014

36 Business AnAlytics

May/June 2014 OrAcle.cOm/OrAclemAgAzine

prompted, connect to the Oracle Data Integrator work repository.

To get started with flow-based mappings in the Oracle Data Integrator 12c Getting Started appliance, do the following:

Navigate to the Oracle Data Integrator Designer Navigator tab on the left-hand side of Oracle Data Integrator’s Studio user interface (Oracle Data Integrator Studio), and then expand the Demo project under-neath it. Expand the Sales Administration folder within this project and then the Mappings entry to display the list of map-pings within the project.

Locate the Pop.TRG_PRODUCT mapping, and double-click it to open it within the mapping editor. Ensure that the Logical tab is selected at the bottom of the mapping editor screen, as shown in Figure 1.

If you’ve used Oracle Warehouse Builder in the past, the flow-based mapping style in the mapping editor should be very familiar to you. You now create Oracle Data Integrator 12c mappings by dragging and dropping data store items from the Models panel on the left-hand side of the screen onto the mapping canvas. Data flows are drawn between the various data stores, and operator components transform the data.

In this example, data from the SRC_PRODUCTS table is joined with data from the TRG_PROD_FAMILY table, and then it is passed through a Distinct operator before being loaded into the TRG_PRODUCT target table.

Let’s try to execute the mapping. Click Run (the green triangle) in the Oracle Data Integrator Studio toolbar, leave the default Run option values, and click OK. When the Information dialog box displays the “Session Started” message, click OK to dismiss it.

To see the status of the mapping execution, select Window -> ODI Operator Navigator (you may need to close the Thumbnail panel at the top left of the screen to see the Operator Navigator properly after it opens). Expand the Agent entry on the Session List panel, and then expand the entries under your agent execution, so that you can see the 90 – Load TRG_PRODUCT – IKM Oracle Insert entry. See how the execu-tion of this step has failed? Double-click the step itself, and read the error message;

it is displayed on the right-hand side of the screen. You will see that it failed because of a unique constraint violation on the target table. But why did that happen?

To investigate, click back to the Pop .TRG_PRODUCT tab on the right-hand side of the screen in Oracle Data Integrator Studio to open the mapping editor again. Ensure that the Logical tab is still selected, and then click the TRG_PRODUCT data store in the mapping to select it. Navigate to the TRG_PRODUCT – Properties panel at the bottom right of the screen, and expand the Target properties section, as shown in Figure 2.

The integration type for this mapping is Control Append, which means that Oracle Data Integrator will always insert all the rows from the source transformations into the target table, even if they’ve already been loaded. This is why the target table’s unique key constraint was violated and the mapping execution failed. This type of integration approach is appropriate when you’re first loading a target table, but after the initial load, you’ll typically want to incrementally update the table with new data.

Creating a Deployment SpeCifiCationOracle Data Integrator separates mappings into logical and physical definitions. To con-

figure the failed mapping for incremental loading, I would typically change the inte-gration knowledge module to one that uses an incremental load strategy—IKM Oracle Merge, for example. If I wanted to preserve the original Control Append version of the mapping in earlier versions of Oracle Data Integrator, I needed to create an additional copy of the mapping that used the incre-mental load knowledge module. And if I wanted to continue using both mappings, I then needed to keep the logical definition of each mapping in sync over time.

Oracle Data Integrator 12c, however, introduces a new enhancement called deployment specifications that enables you to create additional physical definitions for a single mapping. I’ll now use this enhancement to create an additional incre-mental load version of the mapping that I can use to update the target table after the initial load.

To get started with deployment speci-fications in the Oracle Data Integrator 12c Getting Started appliance, do the following:

Before you create the new deployment specification, you will need to change the target Integration Type setting in the logical mapping definition to enable incremental loading as well as Control Append loading.

Figure 2: Displaying the properties of the TRG_PRODUCT data store

MJ14_BA.indd 36 3/28/14 11:32 AM

Page 40: Oracle magazine Mayo-Junio 2014

37Business AnAlytics

orAcle mAgAzine May/June 2014

To do so, switch back to the Logical tab in the mapping editor, navigate to the Integration Type setting in the TRG_PRODUCT – Properties panel, and change the selected value from Control Append to None; this enables the full range of integration types to be selected for that target table in the physical mapping definition.

Now switch to the Physical tab for the mapping, and click the TRG_PRODUCT data store icon in the ODI_DEMO_TRG_UNIT execution unit to select it. Navigate to the TRG_PRODUCT – Properties panel on this screen, and expand the Integration Knowledge Module properties area. Note how the Integration Knowledge Module value has automatically changed to IKM Oracle Merge.GLOBAL. Change it back to IKM SQL Control Append, so that the functionality of this original deployment specification stays as it was before.

Now navigate to the bottom of the mapping editor and click the Create new deployment specification button next to the existing Pop.TRG_PRODUCT_DS tab.

By default, the new deployment specifi-cation is given the name Deploy1. To change it, navigate to the Deploy1 – Properties panel on the right-hand side of the screen and change the Name property to Pop .TRG_PRODUCT_INCR_DS.

You’ve created an additional deployment specification, and now you can configure it to use an incremental load integration knowledge module. To do so, click the TRG_PRODUCT data store icon in the ODI_DEMO_TRG_UNIT execution unit and then, when its Properties panel is displayed, check that the Integration Knowledge Module value is set to the default IKM Oracle Merge .GLOBAL, as shown in Figure 3.

Now your mapping has two physical defi-nitions associated with it: one for the initial load and one for subsequent incremental (merge) loads. To test your new deployment

specification, save your updated mapping definition and click Run. When the Run dialog box appears, select your new deploy-ment specification from the Deployment menu to use it for the mapping execution.

Check the Oracle Data Integrator Operator Navigator panel; you should see this mapping execution complete success-fully, because it will not have attempted to write existing values back into the target table. You could also use this approach to create deployment specifications that leverage Oracle GoldenGate for changed-data capture or use other loading, integra-tion, or check knowledge modules for a logical source-to-target data mapping.

MappeD anD SpecifieDThe new flow-based mapping editor in Oracle Data Integrator 12c enables you to create multistep source-to-target mappings that can have multiple physical specifica-tions associated with them for different types of load scenarios. Although you can still create traditional set-based mappings in the new release, most developers will want to adopt this new way of mapping data in Oracle Data Integrator 12c, due to its ease of use, increased functionality, and incorporation of the best aspects of Oracle Warehouse Builder.

Figure 3: Configuring the additional deployment specification

READ more about Oracle Data Integrator 12cbit.ly/Phe3Rd

“Making the Move from Oracle Warehouse Builder to Oracle Data Integrator 12c”bit.ly/1lMgurQREAD more Rittman Rittman Mead blogrittmanmead.com/blogOracle Magazine business intelligence columnsbit.ly/1cci4Od

DOWNLOAD Oracle Data Integrator 12c Getting Started appliance (VM)bit.ly/1fgfdpnOracle Data Integrator 12cbit.ly/NeIDsI

NExt StEpS

Mark Rittman is an Oracle ACE Director and cofounder of Rittman Mead, an Oracle Gold Partner based in the UK, with offices in the US,

India, and Australia. Rittman has worked with Oracle’s business intelligence, data integration, and data warehousing products for more than 15 years, and he writes for the Rittman Mead blog at rittmanmead.com/blog.

MJ14_BA.indd 37 3/28/14 11:32 AM

Page 41: Oracle magazine Mayo-Junio 2014
Page 42: Oracle magazine Mayo-Junio 2014

Database Application Developer and DBA 39SQL DeveLoper By Jeff Smith

oracLe magazine may/June 2014

Document EntitiesGenerate logical models and entity relationship diagrams easily from an existing database with Oracle SQL Developer Data Modeler.

W ithout adequate design documen-tation, it can be difficult for your

Oracle Database application’s stake-holders to understand how the database entities are defined and how they interact with one another. A logical model—repre-sented by an entity relationship diagram (ERD)—clarifies these definitions and rela-tionships. For example, an ERD can show at a glance that multiple departments can be associated with an employee or that a country can include one or more locations.

Oracle SQL Developer Data Modeler—automatically included as an extension in Oracle SQL Developer (and also available in a standalone version)—makes it easy to produce ERDs and share them with others who need to review or approve the data-base design.

This column steps you through the process of creating a relational data model from an existing database and then con-verting the relational model to a logical model and a resulting ERD, such as the one

in Figure 1. After you generate the diagram, you’ll see how you can customize your dia-grams and share them in various formats with your colleagues.

GettinG StartedTo work through the example, you need an Oracle Database instance with the sample HR schema that’s available in the default database installation. You also need version 4.0 of Oracle SQL Developer, in which you access Oracle SQL Developer Data Modeler through the Data Modeler submenu, as shown in Figure 2. Alternatively, you can use the standalone Oracle SQL Developer Data Modeler. The modeling functionality is identical in the two implementations, and both are available as free downloads from Oracle Technology Network.

In Oracle SQL Developer, select View -> Data Modeler –> Browser. In the Browser panel, select the Relational Models node, right-click, and select New Relational Model to open a blank model diagram panel. You’re now starting at the same place as someone who’s using the standalone Oracle SQL Developer Data Modeler.

importinG Your data dictionarYA design in Oracle SQL Developer Data Modeler consists of one logical model and one or more relational and physical models. To begin the process of creating your design, you must import the schema information from your existing database. Select File -> Data Modeler -> Import -> Data Dictionary to open the Data Dictionary Import wizard.

Click Add to open the New -> Select Database Connection dialog box, and connect as the hr user. (For detailed information on creating a connection

OracLe SQL DeveLOper, OracLe SQL DeveLOper Data MODeLer

Figure 1: Entity relationship diagram

MJ14_SQLDev_R1.indd 39 4/8/14 11:30 AM

Page 43: Oracle magazine Mayo-Junio 2014

40 SQL DeveLoper

May/june 2014 oracLe.com/oracLemagazine

from Oracle SQL Developer, see “Making Database Connections,” in the May/ June 2008 issue of Oracle Magazine [bit.ly/1kcO8mZ].)

Select your connection, and click Next. You see a list of schemas from which you can import. Type HR in the Filter box to narrow the selection list. Select the checkbox next to HR, and click Next.

In the Tables tab, click the Select All toolbar button to select all tables for import, as shown in Figure 3.

Now, open the Views tab and select the HR checkbox. For this exercise, you’ll import only the tables and views from the HR schema. For your own applications, you can cycle through each object-type tab and select any objects you want to include in your model and diagrams.

Click Next. Oracle SQL Developer Data Modeler summarizes the types and numbers of objects to be imported. Click Finish to execute the import and generate the design.

Close the View Log and take a look at your new relational model and diagram, which should look similar to Figure 4.

The diagram you’ve generated is not an ERD. Logical models are higher abstractions.

An ERD represents entities and their attri-butes and relations, whereas a relational or physical model represents tables, columns, and foreign keys. For example, a logical “person” entity might be implemented phys-ically in the database as one or more tables.

To generate a logical model from your relational model, you’ll use the Engineer to Logical Model feature of Oracle SQL Developer Data Modeler. Before con-tinuing, save your relational diagram with a name of your choosing (File -> Data Modeler -> Save). The same name will be used for the design.

EnginEEr to LogicaL ModELIn the Browser tree, expand the Relational Models node, right-click Relational_l, and select Engineer to Logical Model to open the Engineer to Logical Model dialog box. By default, everything in the relational-model tree (on the left) is brought over to the logical-model tree (on the right) for you. Note that as you select an item in either tree, its details appear in the bottom panel. You can also view the objects in the Tabular View tab.

When you are ready to generate your logical model, click Engineer and wait for

the ERD to appear. You now have a logical model and diagram. Note that the JOBS_HISTORY table is the JOBS HISTORY entity in the logical model.

Before you share your diagram, you can customize its appearance and the informa-tion it shows.

custoMizing thE diagraMTo resize the entity objects to be only large enough to show their names and attri-butes, right-click in the blank portion of the diagram and select Resize Objects to Visible.

You can use your mouse to select, drag, and drop entities and their relationships to wherever you want them to appear. Oracle SQL Developer Data Modeler also offers four automatically generated diagram object layouts. Right-click in the diagram space again, and select one of the Auto Layout options.

Oracle SQL Developer Data Modeler sup-ports three styles of logical-design notation:• Barker (the default)• Bachman • Information Engineering

To change the notation style, right-click in the diagram space and select Bachman Notation. Note that Bachman notation

Figure 3: Selecting all tables for importFigure 2: The Data Modeler submenu in Oracle SQL Developer

MJ14_SQLDev_R1.indd 40 4/8/14 11:31 AM

Page 44: Oracle magazine Mayo-Junio 2014

41SQL DeveLoper

oracLe magazine May/june 2014

adds the attribute datatype information to the diagram. Resize the objects to visible, and cycle through the Auto Layout options to optimize the spacing and display of the entities again.

Your business users may have con-flicting requirements for the look and feel of their diagrams. You can create multiple

displays in Oracle SQL Developer Data Modeler. Each display is an independent visual presentation of your model diagram. Now you’ll create one display for each notation style.

In the Logical Model tree in the Browser, right-click the Displays node and select New Display to create a new diagram

display. You can use the buttons below your ERD to toggle between this new display (labeled Display_1) and the original diagram (labeled Logical). Right-click in Display_1, and change the notation style back to Barker.

Expand the Displays node in the Browser tree, right-click on the Display_1 node,

Figure 4: Relational model and diagram for HR

MJ14_SQLDev_R1.indd 41 4/8/14 11:33 AM

Page 45: Oracle magazine Mayo-Junio 2014

42 SQL DeveLoper

May/june 2014 oracLe.com/oracLemagazine

and select Properties. Change the name to Barker, and click OK. Repeat the process in the preceding paragraph to create another new display. This time change the nota-tion style to Information Engineering and reflect this change in the display name.

Finally, you’ll add a legend that will help document the diagram by showing your OS username, creation date, and other proper-ties of the design. Right-click in the diagram space in any one of the displays, and select Show -> Legend to add the legend to your diagram. Drag and drop the legend to an acceptable location in the diagram.

You are now ready to share your ERDs with your colleagues.

Exporting an ErDYou’ll export the Information Engineering display to a PDF document. Right-click in the diagram space, and select Show -> Page Grid to activate a marker that shows where your PDF page breaks will occur. For readability, make sure that your diagram items don’t bleed from one page into another; drag and move them if necessary.

Next use the Zoom In button in the Oracle SQL Developer Data Modeler toolbar

to resize the diagram to an optimal size. When the entities are easy to see, select File -> Data Modeler -> Print Diagram -> To PDF File. Choose a filename and directory location, and click Save.

Locate the generated PDF in its saved location. You can view the ERD in a PDF reader, as shown in Figure 5, and share the file with your colleagues.

ConClusionThis column has stepped you through the process of using the Data Dictionary Import wizard and the Engineer to Logical Model feature in Oracle SQL Developer Data Modeler to generate an ERD from existing schema objects. You’ve seen how the import wizard enables you to choose objects from multiple schemas and object types from an existing database. You can now convert a relational model to a logical model, customize your dia-grams, and then share them as PDFs. Oracle SQL Developer Data Modeler makes database design documentation and diagram genera-tion a straightforward task without requiring expensive third-party tools.

LEARN more about Oracle SQL Developerbit.ly/1evd08SOracle SQL Developer Data Modelerbit.ly/1f0dLDIDISCUSS Oracle SQL Developerbit.ly/Ni8pwFOracle SQL Developer Data Modelerbit.ly/1cuEhEvPARTICIPATE in the Oracle SQL Developer Exchangesqldeveloper.oracle.com

DOWNLOAD Oracle SQL Developerbit.ly/tGl3GLOracle SQL Developer Data Modelerbit.ly/NvIHVg

NExT STEPS

Figure 5: The exported diagram matches the size shown in Oracle SQL Developer Data Modeler.

Jeff Smith is a senior principal product manager in the Database Development Tools group responsible for Oracle SQL Developer and Oracle SQL Developer Data Modeler. Smith specializes in database tools and integrated development environments, and he is obsessed with helping developers save time, clicks, and keystrokes.

MJ14_SQLDev.indd 42 3/28/14 11:44 AM

Page 46: Oracle magazine Mayo-Junio 2014

DBA 43

oracle magazine May/june 2014

Partitioning by arup nanda

Nonstop Partition OperationsOracle Partitioning delivers online partition moves, selective indexes on partitions, and asynchronously maintained global indexes to Oracle Database 12c.

T he lead DBA at Acme Bank, Jane, is listening to questions from her devel-

oper and DBA visitors. As covered in the September/October 2006 Oracle Magazine article “Partition Decisions” (bit.ly/H9fhZL), Acme uses the Oracle Partitioning option of Oracle Database 12c extensively. When data needs to be purged, Acme DBAs drop the partition—instead of deleting tables—to reduce database overhead. To move older data to archive tables, Acme exchanges par-titions instead of physically moving them, and when rebuilding indexes, Acme rebuilds the indexes partition by partition. In general, Acme is very happy with Oracle Partitioning features, but Jane’s visitors want to know if new partition features in Oracle Database 12c can address some routine pain points they’ve been experiencing.

Jane nods and asks her visitors where they want to start.

Online ParTiTiOn MOveScott, the development lead, responds by describing the first problem. Acme has a database table named TRANS for storing account transactions; it is partitioned on the transaction date (TRANS_DT) column and adds one new partition per month. The table has a global index on the transaction ID (TRANS_ID) column and a local index on the account number (ACC_NO) column. (Listing 1 includes a script that creates the table and indexes.)

To reduce costs, Acme uses different types of storage. The newer partitions—accessed most often—are stored in the TSFAST tablespace, which is on very fast, expensive

storage, whereas the older partitions—accessed less frequently—are stored in the TSSLOW tablespace on slower, less expen-sive storage. At the end of each month, the DBAs move the previous month’s partition to the TSSLOW tablespace to make room for the new month on the TSFAST tablespace. The problem, Scott explains, is that when the partition is moved to the TSSLOW tablespace, the partition being moved stays in read-only mode, so no data manipulation language (DML) can execute against that partition until the move command finishes executing. Because Acme’s applications perform DML against the TRANS table—including the moving partition—Scott has to bring the applications down until the parti-tion move is completed, to the displeasure of the application users.

Oracle Database 12c, Oracle PartitiOning

create table trans ( trans_id number, trans_dt date, acc_no number, trans_amt number)partition by range (trans_dt)( partition y13m11 values less than (to_date('2013-12-01','yyyy-mm-dd')) tablespace tsslow, partition y13m12 values less than (to_date('2014-01-01','yyyy-mm-dd')) tablespace tsslow, partition y14m01 values less than (to_date('2014-02-01','yyyy-mm-dd')) tablespace tsfast);-- Indexes: PK_TRANS – global IN_TRANS_ACC_NO - localcreate unique index pk_trans on trans (trans_id) global tablespace tsglobal/alter table trans add constraint pk_trans primary key (trans_id) using index/create index in_trans_acc_no on trans (acc_no) local( partition y03m11 tablespace tsslow, partition y03m12 tablespace tsslow, partition y04m01 tablespace tsfast);

Code Listing 1: creation of the trans table and its indexes

i-Hu

a cH

en

MJ14_DBA.indd 43 3/28/14 12:02 PM

Page 47: Oracle magazine Mayo-Junio 2014

44 DBA

May/june 2014 OrAcle.cOm/OrAclemAgAzine

Scott wants to know if there is a better way to move the partitions without having an impact on the application users. Yes, there is, assures Jane. In Oracle Database 12c, partition movement does not require the partition being moved to be in read-only mode, so it can be 100 percent available for DML during the move. To demonstrate that availability, she steps through an example.

First, because the new month is February, she creates the partition for February 2014 (named Y14M02) on the TSFAST tablespace, using the following SQL statement:

alter table trans add partition y14m02

values less than (to_date('2014-

03-01','yyyy-mm-dd')) tablespace tsfast;

Next she moves the partition for January 2014 to the TSSLOW tablespace with the fol-lowing SQL statement:

alter table trans move partition y14m01

tablespace tsslow update indexes;

Jane reminds her visitors that the UPDATE INDEXES clause in the SQL state-ment ensures proper updating of global as well as local indexes to avoid making them unusable. Scott quickly points out that the same UPDATE INDEXES clause is what makes the Y14M01 partition of the TRANS table read-only. Only some queries against this partition will “work” during the move, whereas other DML operations will hang, waiting for the DML lock on the partition to be released. Scott wants to know if it’s possible to allow all DML operations on the TRANS table during the partition move.

Jane nods and explains that in Oracle Database 12c, a new clause enables this move to be completely online, with all DML opera-tions available. After asking Scott not to stop the Acme applications that use the TRANS table, she performs the partition move oper-ation, using the following SQL statement:

alter table trans move partition y14m01

tablespace tsslow online update indexes;

What keeps the partition online during the move, Jane points out, is the ONLINE keyword in the statement. This keyword

enables the move partition operation to occur online without requiring the applica-tions to shut down or limiting operations to read-only queries. Scott is pleased, but he wants to confirm the status of the global index and the partitions of the local index on this table. First Jane checks the status of the global index, using the following query:

select status

from user_indexes

where index_name = 'PK_TRANS';

STATUS

—————————

VALID

The status shows VALID, meaning exactly that: the global index is still valid and does not need rebuilding. Next, she checks the status of the partitions of the local index, using the following query:

select partition_name pname, status

from user_ind_partitions

where index_name = 'IN_TRANS_ACC_NO';

PNAME STATUS

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

Y03M11 USABLE

Y03M12 USABLE

Y04M01 USABLE

The status of all the partitions of the local index is USABLE after the partition move, meaning that they do not need rebuilding.

The partition move completes while the applications are up and running and all the DML activities on the table are going on as usual. Because the operation of moving the partitions to slower tablespaces takes several hours and occurs once every month, Acme used to incur substantial losses during these activities due to the resulting applica-tion shutdown. With the ability to move a partition while it stays online, the table can continue to handle DML operations, and applications can stay up during the monthly partition moves. Scott is delighted.

Partial indexesWith Scott’s issue resolved, Jane turns to Traci, another DBA, who has a different

concern. The users select data from the TRANS table by filtering on several columns, so the DBAs are asked to create multiple indexes on various columns of the table. However, indexes consume precious data-base space. When the DBAs try to save space by not creating some of the indexes, the queries filtering on those columns perform poorly. Users typically select from more-recent partitions, so DBAs try to save some space by compressing the older partitions of the indexes, but the total space consump-tion is significant even with the compres-sion. Space limitations force the DBAs to drop indexes on some columns to make room for new indexes on other columns, and there is a constant tug-of-war between the development and DBA teams due to the issue of index creation on columns. Traci wants to know if there is a way to create as many indexes as needed and still save space.

Yes, there is, assures Jane. Indexes, when created, are for all the partitions of the table, whether or not they are useful for all of them. Oracle Database 12c includes a new feature called partial indexes, she explains, that enables the DBA to create indexes on specific partitions only, rather than on all of them. Pointing to the afore-mentioned TRANS table, Traci advises that the partitions of the current month and the previous month are usually queried a lot. Partitions for the prior months are not queried as much, and when they are, users are relatively patient about the reduced performance if the indexes are not present. With this information, Jane goes on to mark partitions where an index is needed and where it can be eliminated, as shown in the following SQL:

alter table trans modify partition

y13m11 indexing off;

alter table trans modify partition

y13m12 indexing on;

alter table trans modify partition

y14m01 indexing on;

The INDEXING OFF clause tells the database that an index is not needed on that partition and should not be created. Because only the current partition (Y14M01) and the prior month’s partition (Y13M12) are

MJ14_DBA.indd 44 3/28/14 12:02 PM

Page 48: Oracle magazine Mayo-Junio 2014

45DBA

orAcle mAgAzine May/june 2014

queried often, indexes on those partitions will be useful. Therefore Jane marks those partitions with the INDEXING ON clause and the rest with INDEXING OFF.

Next Jane creates a local index on the ACC_NO column, as shown in the following SQL:

create index in_trans_acc_no on trans

(acc_no) local indexing partial;

She points out the very important INDEXING PARTIAL clause in this SQL state-ment, which instructs Oracle Database not to create indexes on all the partitions of the TRANS table. This clause enables index creation for only those partitions with

INDEXING set to ON. No usable index is created on the partitions with INDEXING set to OFF. To confirm the result of the settings, Jane selects the partitions of the newly created IN_TRANS_ACC_NO index, using the following SQL:

select partition_name pname, status

from user_ind_partitions

where index_name = 'IN_TRANS_ACC_NO';

PNAME STATUS

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

Y13M11 UNUSABLE

Y13M12 USABLE

Y14M01 USABLE

As expected, there are three partitions in this local index, because there are three partitions in the TRANS table. However, Jane reminds everyone, the presence of index partitions does not necessarily prove that the index partitions are actually stored; it is the state of an index partition that is important. Segments are physical objects that take up space, so Jane checks for the presence of segments for the IN_TRANS_ACC_NO index, using the fol-lowing SQL:

select partition_name pname

from user_segments

where segment_name = 'IN_TRANS_ACC_NO';

SQL> set autot traceonly explainSQL> REM --- First Query (partition WITHOUT index)SQL> select * from trans where acc_no = 1 and trans_dt = to_date('13-NOV-2013','dd-mon-yyyy');

Execution Plan——————————————————————————————————————————————————————————————————————————————Plan hash value: 687326229

———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————| 0 | SELECT STATEMENT | | 1 | 36 | 14 (0)| 00:00:01 | | || 1 | PARTITION RANGE SINGLE| | 1 | 36 | 14 (0)| 00:00:01 | 1 | 1 ||* 2 | TABLE ACCESS FULL | TRANS | 1 | 36 | 14 (0)| 00:00:01 | 1 | 1 |———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

Predicate Information (identified by operation id):———————————————————————————————————————————————————————————————————————————

2 - filter("TRANS_DT"=TO_DATE(' 2013-11-13 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND "ACC_NO"=1)

SQL> REM --- Second Query (partition WITH index)SQL> select * from trans where acc_no = 1 and trans_dt = to_date('13-DEC-2013','dd-mon-yyyy');

Execution Plan——————————————————————————————————————————————————————————————————————————————Plan hash value: 552168025

———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————| 0 | SELECT STATEMENT | | 1 | 36 | 2 (0)| 00:00:01 | | || 1 | PARTITION RANGE SINGLE | | 1 | 36 | 2 (0)| 00:00:01 | 2 | 2 ||* 2 | TABLE ACCESS BY LOCAL INDEX ROWID BATCHED| TRANS | 1 | 36 | 2 (0)| 00:00:01 | 2 | 2 ||* 3 | INDEX RANGE SCAN | IN_TRANS_ACC_NO | 1 | | 1 (0)| 00:00:01 | 2 | 2 |———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

Predicate Information (identified by operation id):———————————————————————————————————————————————————————————————————————————

2 - filter("TRANS_DT"=TO_DATE(' 2013-12-13 00:00:00', 'syyyy-mm-dd hh24:mi:ss')) 3 - access("ACC_NO"=1)

Code Listing 2: Checking the access path

MJ14_DBA.indd 45 3/28/14 12:02 PM

Page 49: Oracle magazine Mayo-Junio 2014

46 DBA

May/june 2014 OrAcle.cOm/OrAclemAgAzine

PNAME

————————

Y13M12

Y14M01

Drawing everyone’s attention to the output, Jane points out that there are only two segments—not three. Even though there are three index partitions, only two have corresponding stored segments. The third index partition (Y13M11) does not have a stored segment, because Jane marked that table partition with INDEXING OFF, making the index status UNUSABLE and causing it not to consume any space.

Although less frequently, users also run queries that filter on the ACC_NO column, and the queries may access data from the Y13M11 partition. Because that index partition does not have a corresponding segment, Traci wants to know if these queries will return errors. Fair question, says Jane. The answer is simple: the database will act appropriately, depending on the pres-ence of the segment: queries on partitions with index segments will perform index scans, and those on partitions without index segments will perform full table scans automatically. Jane demonstrates this behavior by displaying the access paths of a query, as shown in Listing 2. The first query filters on the TRANS_DT column by

to_date('13-NOV-2013','dd-mon-yyyy')

The query selects data from the Y13M11 partition, where indexing is off (INDEXING OFF) and there is no index segment. Jane shows everyone that the query performed

a full table scan, as evidenced by TABLE ACCESS FULL in the access path, right after the query in the output. Next she executes another query; this one selects from the Y13M12 partition, which has indexing on (INDEXING ON) and therefore has an index segment. Here the query performed an index scan, as shown by TABLE ACCESS BY LOCAL INDEX ROWID BATCHED in the output.

Traci is not completely convinced. She wonders what happens when a query selects from two partitions—one with an index par-tition and one without. It’s handled auto-matically, assures Jane. Oracle Database 12c transparently rewrites the query in two parts, she explains, one using the index for the partition where an index is present and the other one using a full table scan when no index is present. The two parts are con-nected by UNION ALL.

Traci asks if the Acme DBAs need to drop all the indexes and re-create them with the INDEXING PARTIAL clause. There are a lot of indexes, and rebuilding them would take a long time. No rebuilding is necessary, Jane assures her. An existing index such as IN_TRANS_ACC_NO can be transformed with the following SQL:

alter index in_trans_acc_no indexing

partial;

To recap, Jane continues, the INDEXING clause (INDEXING ON or INDEXING OFF) specifies whether the index partition on a table will actually have stored segments. For queries that could use an index, the optimizer will automatically choose the index if it’s appropriate and available for

that partition and will use a full table scan otherwise. Not storing the index partitions of the less frequently used table partitions reduces the amount of index storage. This enables Traci to create as many indexes as are needed by users at Acme. The older partitions will not have space-consuming indexes, but the more-recent partitions will have indexes, so queries on that recent information will perform better. This is a win-win for both the DBA and the develop-ment teams, because they will get better performance with indexes being in the right places and not incurring a significant space penalty. Traci is ecstatic.

Asynchronous GlobAl Index MAIntenAnceJonas, another DBA visitor in Jane’s office, brings up a pain point he is experiencing, again in the realm of partition management and indexes. When Acme drops an old parti-tion from tables during data purging, it uses the following SQL:

alter table trans drop partition y13m11;

However, this operation changes the global index status on this table to UNUSABLE. Jonas demonstrates this to Jane and her visitors, using the following query:

select status

from user_indexes

where index_name = 'PK_TRANS';

STATUS

———————————

UNUSABLE

SQL> set autotrace traceonly explainSQL> select * from trans where trans_id = 1;

Execution Plan——————————————————————————————————————————————————————————————————————————————Plan hash value: 174288752

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————| 0 | SELECT STATEMENT | | 1 | 48 | 1 (0)| 00:00:01 | | || 1 | TABLE ACCESS BY GLOBAL INDEX ROWID| TRANS | 1 | 48 | 1 (0)| 00:00:01 | ROWID | ROWID ||* 2 | INDEX UNIQUE SCAN | PK_TRANS | 1 | | 0 (0)| 00:00:01 | | |——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

Code Listing 3: Access path for a global index with orphans

MJ14_DBA.indd 46 3/28/14 12:03 PM

Page 50: Oracle magazine Mayo-Junio 2014

47DBA

orAcle mAgAzine May/june 2014

To avoid making the index unusable, Jonas uses the UPDATE INDEXES clause, as shown in the following SQL:

alter table trans drop partition y13m12

update indexes;

This keeps global indexes usable, but the command takes as much time as the index update, which is significant. But when the operation performs the index update as it drops the partition, it puts stress on the database and negatively affects other oper-ations. Jonas wants to know if there is a way to reduce this impact on the database.

Yes, there is, Jane responds. In Oracle Database 12c, when a partition is dropped (or truncated), the global indexes are not automatically invalidated. From the perspec-tive of the database, truncating or dropping a partition is like removing an object from the database’s metadata. Using this principle, Oracle Database 12c records the partitions dropped or truncated and filters out their corresponding index entries at index access time. These filtered index entries are known as orphaned entries. Because no index entry is actually modified during the dropping or truncating of partitions, using the filter process is much faster than updating the global index. A new column—ORPHANED_ENTRIES in the USER_INDEXES view—shows the presence of orphaned entries in the index. Jane uses the following SQL to check for orphans in the only global index on the TRANS table: PK_TRANS.

select status, orphaned_entries

from user_indexes

where index_name = 'PK_TRANS';

STATUS ORP

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

VALID YES

Jane shows everyone that the value for the ORPHANED_ENTRIES column is YES, meaning that the index has orphans, due to the dropping of the partition. Jonas is skeptical. He asks if, given that the index was not actually updated and has orphans, user queries will be able to use the index success-fully. Absolutely, assures Jane, pointing to the status of the index in the output: VALID. To confirm this status, she checks the access path of a query that uses the global index, as shown in Listing 3. In the output, Jane points to the line that shows the access with the global index PK_TRANS, confirming that the index is used, even with the orphans.

Jonas asks if the orphans are going to be there in that global index forever. No, answers Jane, the orphans are cleaned up by Oracle Database via a scheduler job named PMO_DEFERRED_GIDX_MAINT_JOB, owned by the SYS user. The job runs every day during the maintenance window defined in the database and calls a program named PMO_DEFERRED_GIDX_MAINT, which, in turn, executes a stored procedure named CLEANUP_GIDX_INTERNAL in the DBMS_PART package. This procedure cleans up orphan entries from global indexes. Additionally, a DBA can use the following SQL statement to manually remove the orphans immediately:

alter index pk_trans coalesce cleanup;

So, to recap, Jane concludes, dropping a partition by using the UPDATE INDEX clause does not actually update the global indexes, but it records the dropped parti-tions, making its corresponding index entries orphans, which are later cleaned up by an automated job. In other words, the UPDATE INDEX clause updates the indexes asynchronously. This enables the partition drop operation to complete its execution immediately—without waiting for a time-consuming index update to complete. It also pushes the resource-intensive index update operation to a later time (when the data-base is less loaded), reducing the impact of that operation on the performance of the database. Jonas couldn’t be happier.

ConClusionThe Oracle Partitioning option of Oracle Database 12c provides some important and useful enhancements, a few of which are described in this article. Table 1 shows some common issues and how the new features help solve them.

Jane’s developer and DBA visitors are sat-isfied that online partition moves, selective indexes on partitions, and asynchronously maintained global indexes will significantly improve processes, save time, and improve the user experience at Acme.

LEARN more about Oracle Partitioningoracle.com/us/products/database/options/partitioningREAD “Partition Decisions”bit.ly/H9fhZL

DOWNLOAD Oracle Database 12cbit.ly/1czAk2I

NExt StEPS

Arup Nanda ([email protected]) has been an Oracle DBA since 1993, handling all aspects of database administration, from

performance tuning to security and disaster recovery. He was Oracle Magazine’s DBA of the Year in 2003 and received an Oracle Excellence Award for Technologist of the Year in 2012.

Problem Solution

Indexes need to be created on many columns, but indexes take up space, which is limited, so you have to drop some indexes.

Partial indexing enables you to create indexes as needed on certain partitions only, saving significant space while allowing indexes on all needed columns. The optimizer automatically chooses a full table scan or an index scan—or even a combination of both—depending on the query execution costs and the partitions being touched by an operation.

Partition operations such as moving a partition to a different tablespace prevent any DML activity on the partition being moved, which degrades application performance.

DML operations can continue to execute on the partitioned table when the partition move operations use the ONLINE keyword.

Global index updates during partition drop or truncate take a long time and use precious resources.

Global index updates are asynchronous by design in Oracle Database 12c. The drop or truncate operation completes after recording the partition objects that have been dropped or truncated. Orphaned entries are subsequently cleaned up automatically during a quieter maintenance period.

table 1: Partitioning issues and Oracle Partitioning solutions

MJ14_DBA.indd 47 3/28/14 12:03 PM

Page 51: Oracle magazine Mayo-Junio 2014

oracle.com/cloudor call 1.800.ORACLE.1

10 of the 10

Top SaaSProvidersAre Powered by Oracle

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.

Page 52: Oracle magazine Mayo-Junio 2014

Database Application Developer 49

oracle magazine May/june 2014

Pl/SQl By Steven FeuerStein

Writing SQL in Oracle Application ExpressMinimize the code you write, be careful where you put it, and relocate it to packages as much as possible.

In the last issue of Oracle Magazine, I offered advice on how best to write

PL/SQL code for Oracle Application Express applications. In this article, I take a look at how, when, and where to write SQL state-ments for those same applications.

DIfferent Language, Same ChaLLengeSI offered three guidelines in the last article that are worth repeating here (and then exploring in the context of SQL, specifically): • The only SQL statements you should write

in the Application Builder (the Oracle Application Express UI for building appli-cations) are queries for populating reports and tables. Even then, you should simplify those queries as much as possible by using views and, for some complex scenarios, table functions.

• Avoid repetition of code whenever pos-sible. This advice is not specific to Oracle Application Express; it is one of the most important guidelines for high-quality pro-gramming overall.

• Keep the volume of code inside the Oracle Application Express application (which, for the remainder of this article, I will refer to simply as “application”) to a minimum. Move as much code as pos-sible to PL/SQL packages.

This article zeroes in on that first guide-line but that guideline is also closely related to, and implemented through, the other two guidelines.

I will again turn to the PL/SQL Challenge application for examples demonstrating both compliance with and violations of the above guidelines.

move aLL DmL to PL/SQL ProCeDureSLet’s begin by taking a look at how to imple-ment data manipulation language (DML)

statements (specifically INSERT, UPDATE, and DELETE) you need to run in response to user input in your application.

It’s certainly easy enough to write an INSERT or UPDATE statement in an Oracle Application Express application. Because PL/SQL natively supports compilation and execution of SQL statements, you simply create a PL/SQL process and then type the DML statement into the appropriate field.

There are very few applications that do not change the contents of database tables in response to user actions, so your applica-tion will likely require the execution of many DML statements. I recommend that you never write those statements directly inside the Application Builder. Instead, you should • Let Oracle Application Express generate as

many of your DML statements as possible. For example, if you need to create a page that enables a user to perform DML opera-tions on a table, you can define a region as “Form on a Table for View,” and then Oracle Application Express will implement all the DML for you—using the Automatic Row Processing feature. Adding a column to the table adds a new item to the region, and Oracle Application Express will adjust its DML statements to incorporate this new column.

• Define packaged procedures, put your DML statements inside those procedures, and then call the procedures from within the application’s processes. By doing this, you can more easily change the DML statement (and even add more DML statements, which I will demonstrate), with minimal impact on your application.

One of the most compelling reasons to move your DML to PL/SQL packages is this basic reality of programming: things (and, in particular, transactions) get more compli-

cated over time. What today might be a single insert into table T1 gradually morphs into 1. INSERT INTO TABLE T1.2. INSERT INTO TABLE T2.3. UPDATE TABLE T3.

And when you think you need to use something in only one place, you then discover you need to use it in a second and third location in your application as well.

So if you write that INSERT INTO T1 in multiple places, you’ll find yourself copying and pasting the expanded transaction into each location when that simple transac-tion expands to a three-step transaction. The end result is an application that is extremely difficult to debug, manage, opti-mize, and enhance.

I ran into precisely this issue with the PL/SQL Challenge website, which is built on Oracle Application Express and run by my son, Eli, and me. The main activity on this website is offering quizzes that test knowl-edge of various Oracle technologies. Users find out how well they did by visiting the Quiz Details page after the quiz has closed and reviewing their performance.

I keep track of each quiz viewing by a player in the qdb_quiz_visits table. So my first iteration of the Oracle Application Express page process on the Quiz Details page simply executed this statement:

INSERT INTO qdb_quiz_visits

(user_id, quiz_id)

VALUES (:p659_user_id,

:p659_quiz_id);

But after implementing this process, I realized that I also wanted to record a viewing of a quiz whenever a player checks out the survey results for that quiz. So off I went to another page and with a quick copy/

Oracle Database, Oracle applicatiOn express

MJ14_PLSQL.indd 49 3/28/14 12:16 PM

Page 53: Oracle magazine Mayo-Junio 2014

50 PL/SQL

May/june 2014 OracLe.cOm/OracLemagazine

paste (along with careful review and editing to replace page numbers), a new page process was created:

INSERT INTO qdb_quiz_visits

(user_id, quiz_id)

VALUES (:p740_user_id,

:p740_quiz_id);

Nothing is different except the page number. That’s certainly simple and obvious enough. So why should I bother creating a procedure in a package and putting the INSERT there? If the processing for recording a visit never changed, I suppose there wouldn’t be any reason to do that.

But, as was going to be the case for just about every one of my requirements, I did need to change this processing when I added points to the PL/SQL Challenge website. As encouragement to study, players get five points every time they view a quiz.

The code for assigning points is not much more complicated than the INSERT into the qdb_quiz_visits table:

INSERT INTO qdb_points

(user_id,

activity_date,

activity_id,

activity_key_value,

points)

VALUES ( :p659_user_id,

SYSDATE,

'QUIZVIEW',

:p659_quiz_id,

5);

And therein lies the trap, the awful temptation. Having already duplicated the INSERT statement, should I now continue down that path and add this new INSERT statement to both places?

Fortunately, the solution—the way to avoid chaos—is straightforward: hide all the transaction logic behind a single proce-dure, change all item references to param-eters, and then call that procedure wherever

Each PL/SQL article offers a quiz to test your knowledge of the information it provides. The quiz appears below and also at PL/SQL Challenge (plsqlchallenge.com), a website that offers online quizzes on the PL/SQL language as well as SQL, Oracle Application Express, database design, and deductive logic.

Here is your quiz for this article: I execute these statements:

CREATE TABLE plch_employees

(

employee_id INTEGER,

last_name VARCHAR2 (100)

)

/

CREATE TABLE plch_departments

(

department_id INTEGER,

department_name VARCHAR2 (100)

)

/

BEGIN

INSERT INTO plch_employees

VALUES (100, 'Shubin');

INSERT INTO plch_employees

VALUES (200, 'Gould');

INSERT INTO plch_employees

VALUES (300, 'Dawkins');

INSERT INTO plch_departments

VALUES (10, 'Analysis');

INSERT INTO plch_departments

VALUES (20, 'Discovery');

COMMIT;

END;

/

Which of the following choices contain(s)

code I can place in the query field of an Oracle Application Express interactive report so that I can display either employee or department infor-mation from that report?

a. BEGIN

RETURN 'SELECT '

|| CASE :p1000_report_type

WHEN 'D'

THEN

'employee_id, last_name

FROM plch_employees'

WHEN 'E'

THEN

'department_id, department_name

FROM plch_departments'

END;

END;

b. First create these objects in the database:

CREATE OR REPLACE TYPE plch_report_data_ot

IS OBJECT

(

report_id INTEGER,

report_text VARCHAR2 (100)

)

/

CREATE OR REPLACE TYPE plch_report_data_nt

IS TABLE OF plch_report_data_ot

/

CREATE OR REPLACE PACKAGE plch_pkg

IS

FUNCTION id_and_name (

type_in IN VARCHAR2)

RETURN plch_report_data_nt;

END;

/

CREATE OR REPLACE PACKAGE BODY plch_pkg

IS

FUNCTION id_and_name (

type_in IN VARCHAR2)

RETURN plch_report_data_nt

IS

l_return plch_report_data_nt;

BEGIN

CASE type_in

WHEN 'E'

THEN

SELECT plch_report_data_ot (

employee_id,

last_name)

BULK COLLECT INTO l_return

FROM plch_employees;

WHEN 'D'

THEN

SELECT plch_report_data_ot (

department_id,

department_name)

BULK COLLECT INTO l_return

FROM plch_departments;

END CASE;

RETURN l_return;

END;

END;

/

Then use this query in the report:

SELECT *

FROM TABLE (

plch_pkg.id_and_name (

:p1000_report_type))

/

c. SELECT employee_id report_id,

last_name report_text

FROM plch_employees

WHERE :p1000_report_type = 'E'

UNION

SELECT department_id, department_name

FROM plch_departments

WHERE :p1000_report_type = 'D';

Take the Challenge

MJ14_PLSQL.indd 50 3/28/14 12:16 PM

Page 54: Oracle magazine Mayo-Junio 2014

51PL/SQL

oracLe magazine May/june 2014

it is needed. Here’s the record_quiz_view procedure that hides the inserts for visits and points:

PACKAGE BODY qdb_quiz_mgr

IS

PROCEDURE record_quiz_view (

user_id_in IN PLS_INTEGER,

quiz_id_in IN PLS_INTEGER)

IS

BEGIN

INSERT INTO qdb_quiz_visits

(user_id, quiz_id)

VALUES (user_id_in, quiz_id_

in);

INSERT INTO qdb_points (user_id,

activity_date,

activity_id,

activity_key_value,

points)

VALUES (user_id_in,

SYSDATE,

'QUIZVIEW',

quiz_id_in,

5);

END;

END;

And then my process code is slimmed down to nothing more than

BEGIN

qdb_quiz_mgr.record_quiz_view (

user_id_in => :p659_user_id,

quiz_id_in => :p659_quiz_id);

END;

Taking the little bit of extra time needed to isolate your DML statements into pro-cedures is like putting money into a retire-ment plan. You might feel a little pinch right now (a little bit less money, a little bit less time), but in the future, you will have more money and time, because you will be able to modify and enhance your code much more easily.

But don’t worry! You won’t have to wait till you are 65 years of age to feel the benefits of “DML hiding.” That happens almost immedi-ately, because applications change so rapidly and because application developers often don’t get it completely right the first time.

Consider the PL/SQL Challenge record_quiz_view procedure. I soon realized that if players can get five points for every viewing of the quiz details, some players might click that quiz link over and over again, artificially inflating their point total. So I needed to go back to that procedure and give points only for the first viewing on a given day.

I am sure you can all think of similar examples from your own applications. Everything gets more complicated over time; you rarely think of everything up front; you will be going back and changing that code. And when that code contains transac-tions that can be initiated by a user, you really need to get it right.

I’ve demonstrated the hiding of INSERT statements. With inserts, you are always creating new rows. When executing updates and deletes, however, you modify existing rows, which raises the possibility that an update can be lost. Suppose that Users A and B query the same row of data on a page of the website. Then suppose they both make changes. User A presses the Submit button, and the changes are saved. Then User B presses Submit, and those changes are made—overwriting the changes saved by User A.

If, on a given page, you are not able to take advantage of Automatic Row Processing and instead are writing your own updates and deletes, be sure to take the following steps:1. Determine whether a lost-update

scenario is possible.2. If it is possible, consider using the Oracle

Application Express Create Package with Methods on Tables utility. It will generate a package with subprograms that make it easy to use MD5 (a “message digest” algorithm that produces 128-bit hash values) to guard against loss of updates.

You can access Create Package with Methods on Tables via SQL Workshop -> Utilities -> Methods on Tables, as shown in Figure 1.

You can then utilize these subprograms to both hide the DML statements and ensure that user changes are not lost.

Hide Complex Queries in ViewsSo I’ve addressed inserts, updates, and deletes. What about that other DML state-ment SELECT? I have two recommendations for you:1. If you are writing a SELECT statement

inside a process or other code area, follow the guidelines listed in the pre-vious section. Namely, hide that query inside a package subprogram, this time a function (because a query returns data, just like a function), and then call the function in the Application Builder. Suppose a PL/SQL Challenge process

needed the date on which a player answered a quiz. I could write this block inside the Application Builder:

DECLARE

l_date DATE;

BEGIN

SELECT taken_on

INTO l_date

FROM qdb_quiz_answers

WHERE user_id = :p659_user_id

AND quiz_id = :p659_quiz_id;

IF l_date < SYSDATE - 2

THEN

....

END IF;

END;

Instead, I should move the query to a

Figure 1: Create Package with Methods on Tables location

MJ14_PLSQL.indd 51 3/28/14 12:17 PM

Page 55: Oracle magazine Mayo-Junio 2014

52 PL/SQL

May/june 2014 OracLe.cOm/OracLemagazine

function and reduce the process code to

CREATE OR REPLACE PACKAGE BODY

qdb_quiz_mgr

IS

FUNCTION quiz_taken_on (

user_id_in IN PLS_INTEGER,

quiz_id_in IN PLS_INTEGER)

RETURN DATE

IS

l_date DATE;

BEGIN

SELECT taken_on

INTO l_date

FROM qdb_quiz_answers

WHERE user_id = user_id_in

AND quiz_id = quiz_id_in;

RETURN l_date;

END;

END;

/

DECLARE

l_date DATE;

BEGIN

l_date :=

qdb_quiz_mgr.quiz_taken_on (

:p659_user_id,

:p659_quiz_id);

IF l_date < SYSDATE - 2

THEN

...

END IF;

END;

/

And now when I need to fetch multiple rows, I’ll use BULK COLLECT and return an array, as in

CREATE OR REPLACE PACKAGE qdb_quiz_mgr

IS

TYPE answers_t

IS TABLE OF qdb_quiz_answers%ROWTYPE;

FUNCTION quizzes_taken_by (

user_id_in IN PLS_INTEGER)

RETURN answers_t;

END;

/

CREATE OR REPLACE PACKAGE BODY

qdb_quiz_mgr

IS

FUNCTION quizzes_taken_by (

user_id_in IN PLS_INTEGER)

RETURN answers_t

IS

l_answers answers_t;

BEGIN

SELECT *

BULK COLLECT INTO l_answers

FROM qdb_quiz_answers

WHERE user_id = user_id_in

ORDER BY taken_on;

RETURN l_answers;

END;

END;

/

2. When you must write a SELECT statement in the Application Builder (when building a report region, for example), keep that query as simple as possible, hiding com-plexity inside views. This makes manage-ment of your application simpler and also helps you avoid repetition of query logic (joins and WHERE clauses).In a properly normalized relational table

design, you will end up with lots of tables and need to do the same joins over and over again. On the PL/SQL Challenge website, for example, each quiz has a topic (the Oracle feature to which it is related) and a quiz format (multiple choice, true/false, and so on). Consequently, I find myself writing queries like this a lot:

SELECT qz.question_text the_question,

t.title feature,

qf.text quiz_format

FROM qdb_quizzes qz,

qdb_topics t,

qdb_quiz_formats qf

WHERE qz.topic_id = t.topic_id

AND qz.quiz_format_id =

qf.quiz_format_id;

My fingers quickly get tired of typing that WHERE clause, and my inner voice never stops badgering me: “Why are you writing this again? Don’t you have some-thing better to do?”

Yes, I do. So instead of writing this three-way join more than once, I create a view:

CREATE OR REPLACE VIEW qdb_quizzes_v

AS

SELECT qz.question_text the_question,

t.title feature,

qf.text quiz_format

FROM qdb_quizzes qz,

qdb_topics t,

qdb_quiz_formats qf

WHERE qz.topic_id = t.topic_id

AND qz.quiz_format_id =

qf.quiz_format_id;

Now the query for my report is nothing more than

SELECT * FROM qdb_quizzes_v

And if I discover a week from now that my report needs another column from one of those tables, I can add it to the view, and—voilà!—it will be available in the report.

But watch out! If you create lots of views that contain joins and then join those views to each other, you may end up doing a bunch of unnecessary work. Consider my topics table, used in the qdb_quizzes_v view. A topic is always in a domain (a technology area, such as SQL or PL/SQL). In addition, PL/SQL Challenge offers a set of resources related to a topic, including a link to the Oracle documentation.

So I create this handy view:

CREATE OR REPLACE VIEW qdb_topic_

details_v

AS

SELECT d.domain_name technology,

t.title feature,

r.title doc_title,

r.url doc_link

FROM qdb_topics t,

qdb_resources r,

qdb_domains d

WHERE t.topic_id = r.topic_id

AND r.resource_type =

'FEATURE_DOC'

AND t.domain_id = d.domain_id;

And I then use it in my Topic Details report, which is perfectly appropriate. But

MJ14_PLSQL.indd 52 3/28/14 12:17 PM

Page 56: Oracle magazine Mayo-Junio 2014

53PL/SQL

oracLe magazine May/june 2014

the next day, I need to combine quiz infor-mation with the documentation URL and the domain name. What could be easier than joining those two views?

SELECT t.technology,

q.question_text,

r.doc_link

FROM qdb_quizzes_v q,

qdb_topic_details_v t

WHERE q.topic_id = t.topic_id;

Yet by doing this, I pay the price of a join with the qdb_topics table twice. Will this cause performance problems? In this simple example, probably not. But as your queries—and views—grow increas-ingly complex (it is not uncommon to have 10-way joins in views, for example), perfor-mance may well degrade. In addition, future generations of programmers will wonder why you didn’t just write exactly the query you needed. “Just lazy” is usually not an acceptable answer.

To conclude, keep your report queries as simple as possible through the use of views, but pay attention and maintain discipline when using those views. Don’t ask the SQL engine to do lots of extra work just so you can avoid writing a query that does what is needed and nothing more.

Avoid RedundAnt RepoRts with tAble FunctionsThe ability to create interactive reports is among the best aspects of Oracle Application Express. It not only makes it easier to build powerful reports but also gives users a tre-mendous amount of control over the content and appearance of those reports. I use them all over the PL/SQL Challenge website and, in particular, have found them to be critical for rankings reports.

Players want to see rankings for a variety of criteria, such as• by player. Players can learn their own

ranking and find out who is top-ranked in PL/SQL quizzes.

• by company. Players can compare the per-formance of everyone working in the same company or development team.

• by affiliation. Do members of ODTUG score higher than members of DOAG (the

German Oracle User Group)?• by country. Nationalism is alive and well on

PL/SQL Challenge!• by different periods. Rankings are available

for a week, month, quarter, year, or lifetime.

The need for ranking across different periods introduces the greatest complexity to these reports, because I populate and rely on a different materialized view for each period. To obtain quarterly rankings, for example, I must query from the mv_qdb_rankings_q view.

Different views initially gave me a head-ache, because an interactive report cannot be based on a dynamic SQL statement. As a result, I built almost two dozen different reports, as shown in Figure 2.

I didn’t feel particularly clever or produc-tive while I built these reports, but at least I figured that I would have to build them just once and then not mess with them anymore.

Yeah, right.That fantasy lasted for a couple of

months. By that time, I’d accumulated a solid half-dozen high-priority enhancement requests from players. I then faced the chal-lenge of a very tedious and error-prone job of going through 21 interactive reports and making all the necessary changes.

Surely there is a better way (besides Oracle’s enhancing Oracle Application Express to support dynamic SQL in interac-tive reports). And there is. You can use a

table function, a function that can be called inside the FROM clause of a query, wrapped inside the TABLE operator. The function returns a collection of data, and the TABLE operator converts that collection into rows and columns, which can then be consumed by the report (and anything else that exe-cutes a query using that table function).

It is outside the scope of this article to provide a full explanation of table func-tions; I encourage you to explore them through the link provided at the end of the article, because they are incredibly useful. Here I walk through only the basic steps I took to use table functions to reduce the number of interactive reports for ranking to just two.

Taking a top-down approach, I start with the query I want to be able to execute in the report. If I want to see company rank-ings for the daily PL/SQL quiz in the fourth quarter of 2013, the query will be nothing more than

SELECT *

FROM TABLE (

qdb_ranking_mgr.ir_rankings_tf (

category_in => 'COMPANY',

period_type_in => 'QUARTERLY',

competition_in => 'DAILY PL/SQL QUIZ',

period_in => '2013-4'));

I hard-coded the values passed to the function; in the application, these values

Figure 2: The 21 initial PL/SQL Challenge interactive reports

MJ14_PLSQL.indd 53 3/28/14 12:17 PM

Page 57: Oracle magazine Mayo-Junio 2014

54 PL/SQL

May/june 2014 OracLe.cOm/OracLemagazine

are selected by the player.I hope you agree that that is a very simple

query—but only because I’ve hidden all the details away in the function.

So now let’s go under the covers of this table function. A table function must return a collection, so I must define a collection type. Because I am returning multiple pieces of information (company name, ranking, percentage correct, and so on), I must create a collection of object types:

CREATE OR REPLACE TYPE

ir_ranking_ot IS OBJECT

(

period VARCHAR2 (500),

type_name VARCHAR2 (300),

score INTEGER,

pct_correct_answers NUMBER,

answer_time VARCHAR2 (500),

overall_rank INTEGER

);

/

CREATE OR REPLACE TYPE ir_rankings_nt

IS TABLE OF ir_ranking_ot

/

The header of my function now becomes

PACKAGE qdb_ranking_mgr

IS

FUNCTION ir_rankings_tf (

category_in IN VARCHAR2,

period_type_in IN VARCHAR2,

competition_in IN INTEGER,

period_in IN VARCHAR2)

RETURN ir_rankings_nt;

The implementation of a table function is very application-dependent. My ir_ rankings_tf function contains 230 lines of code that construct a dynamic query based on the parameter values, the most critical of which is the period type, because that determines which materialized view is needed. Here is a highly simplified version of this function, demonstrating the dec-laration of a local collection, the popula-tion of that collection using EXECUTE IMMEDIATE - BULK COLLECT for a very dynamic query, and the return of that col-lection from the function:

l_report_data ir_rankings_nt;

BEGIN

EXECUTE IMMEDIATE

'SELECT ir_ranking_ot('

|| c_select_list

|| ') FROM mv_qdb_rankings_'

|| period_type_in

|| ' mv,'

|| c_detail_tables

|| ' WHERE '

|| c_where_clause

|| ' GROUP BY '

|| c_period_qualifier_column

BULK COLLECT INTO l_report_data;

RETURN l_report_data;

END;

Table functions can be quite com-plicated, but their complexity is hidden behind the function interface. Developers who need the data returned by a table function can write a simple query that gets them the data without making them sort through the details.

The main benefit I have found for table functions inside Oracle Application Express, though, is to dramatically reduce the number of interactive reports I have to maintain.

Control Your SQl, Control Your AppSQL statements are the most important parts of any Oracle Database–based appli-cation. They are also the parts of your appli-cations that cause the most performance problems and change the most frequently. It is therefore extremely important to estab-lish and follow guidelines about how, when, and where to write SQL statements.

I recommend that you follow these guide-lines for SQL in Oracle Application Express:• Hide complex query logic behind views,

and then, when defining reports and tables in the Application Builder, write simple SELECTs against those views.

• Hide all DML statements (inserts, updates, deletes) behind packaged pro-cedures, and then call those procedures from the Application Builder, passing items as parameters.

• Hide all queries you execute inside pro-cesses behind packaged functions that return the desired data (in the form of a

scalar value, a record, or a collection).• For queries that drive reports and tables,

hide as much complexity as possible behind views, but watch out for misuse of those views that can mean excessive I/O.

• Explore ways to utilize table functions in Oracle Application Express queries to avoid redundancy in interactive reports and other UI elements.

Follow these guidelines, and you will find yourself spending less time maintaining your applications. You will, instead, have more time to think about, design, and implement exciting new features for your users.

The PL/SQL Challenge quiz in last issue’s “Writing PL/SQL in Oracle Application Express” article offered different ways to implement a condition on an item. All the answers were correct, but I would encour-age you to use choice (d) as your approach, because it creates a package to hold the PL/SQL function.

Answer to Last Issue’s Challenge

DOWNLOAD Oracle Database 12cbit.ly/fherkiOracle Application Expressbit.ly/1iikZ9jTEST your PL/SQL knowledgeplsqlchallenge.comREAD more Feuersteinbit.ly/omagplsqlREAD more about table functionsOracle Database PL/SQL Language Reference 12c Release 1 (12.1)bit.ly/MECSnOPL/SQLoracle.com/technetwork/database/features/plsqlOracle Application Expressoracle.com/technetwork/developer-tools/apex

NExT STEPS

Steven Feuerstein (steven@stevenfeuerstein .com) is an Oracle ACE Director; a widely read author; and creator of PL/SQL Challenge, a quiz

site for Oracle technologists. More information is available at plsqlchallenge.com.

MJ14_PLSQL.indd 54 3/28/14 12:18 PM

Page 58: Oracle magazine Mayo-Junio 2014

Database Application Developer and DBA 55

oracle magazine May/june 2014

ask Tom by ToM KyTe

On Oracle Database 12c, Part 5Our technologist explores the invisible, improves introspection, and expands SQL.

U sually I take three or four user-submitted questions from the past two months and

answer them here in each Ask Tom column. In the last four and in this column, however, I’ve taken a look at some key Oracle Database 12c features. These features are all part of the “12 Things About Oracle Database 12c” or “12 More Things About Oracle Database 12c” presentations I gave at Oracle OpenWorld 2012 and 2013 in San Francisco. (You can find the slides for those presentations on asktom.oracle.com on the Files tab). The first three Oracle Database 12c features I looked at were improved defaults, bigger datatypes, and top-n queries. Next I discussed a new row-pattern-matching clause and how undo for temporary tables has changed in Oracle Database 12c. Then I covered some parti-tioning improvements, adaptive execution plans, and enhanced statistics. In the last issue, I took a different approach to discuss the #1 new capability of Oracle Database 12c—the Oracle Multitenant option.

In this column, the last of the Oracle Database 12c new features series, I look at invisible columns, SQL text expansion, and improved introspection.

InvIsIble ColUmnsInvisible columns in Oracle Database 12c provide the ability to add a column to any table such that the newly added column will not be visible in a SELECT * query and will not be considered for insertion in an INSERT statement that does not explicitly list that column. In other words, invisible columns enable you to add a column to a table and not affect poorly coded applications that use SELECT * or perform inserts without listing the columns.

To demonstrate, I start with a two-column table:

SQL> create table t

2 ( x int,

3 y int

4 )

5 /

Table created.

SQL> insert into t values ( 1, 2 );

1 row created.

Next I assume the existence of some application code (waiting to be fixed!) that includes a SELECT * FROM T. Even worse, I assume that the application code includes INSERT INTO T VALUES (:x,:y)—an insert that does not specify the columns it is inserting into. (I consider both of these conditions to be bugs in the developed application code, and they need to be fixed, but you might need to add this column right now and get back to the buggy code later.) And I’d like to be able to add a new column without affecting this code. Enter the invisible column.

I can add a new column, Z, using the INVISIBLE attribute:

SQL> alter table t add

( z int INVISIBLE );

Table altered.

If I were to describe this table in SQL*Plus or many other tools, I would see the table without this new column:

SQL> desc t

Name Null? Type

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

X NUMBER(38)

Y NUMBER(38)

This is the default behavior of SQL*Plus, but, by using the SET COLINVISIBLE setting, I can direct it to show the invisible columns:

SQL> set colinvisible on

SQL> desc t

Name Null? Type

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

X NUMBER(38)

Y NUMBER(38)

Z (INVISIBLE) NUMBER(38)

Now because this column is invisible, it will not be selected via a SELECT *:

SQL> select * from t;

X Y

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

1 2

3 4

Nor will it affect existing inserts that do not include an explicit list of column names:

SQL> insert into t values ( 3, 4 );

1 row created.

For backward compatibility, this new capability is a bonus. New applications that need to access this column have full access to it:

SQL> insert into t (x,y,z)

2 values ( 5,6,7 );

1 row created.

SQL> select x,y,z from t;

OracLe DatabaSe 12c

I-Hu

a cH

en

MJ14_AskTom.indd 55 3/28/14 1:48 PM

Page 59: Oracle magazine Mayo-Junio 2014

56 Ask Tom

May/june 2014 orAcle.com/orAclemAgAzine

X Y Z

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

1 2

3 4

5 6 7

Those new applications only need to explicitly reference column Z, which is the right approach (because, again, using SELECT * and INSERT without a column list should be considered a bug—a bug that needs to be fixed).

Ultimately, after the legacy code has been corrected, you will want to make this column visible:

SQL> alter table t modify z visible;

Table altered.

SQL> select * from t;

X Y Z

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

1 2

3 4

5 6 7

A positive side effect of using invisible columns is the ability to logically reorder the columns in a table. I stress that this will be a logical, not a physical, reordering of the columns.

To demonstrate this, I add a new column to the middle of a table. Physically—on disk—this newly added column will be the last column, and if I dump the database block to a trace file, it will appear last. But logically—from the end user perspective—this newly added column will appear as if it were in the middle of the table. It will be visible via a DESCRIBE command in SQL*Plus, the results of a SELECT *, and so on.

To demonstrate logical reordering of columns, I first create a new table:

SQL> create table t

2 ( a int,

3 b int,

4 d int,

5 e int

6 );

Table created.

Now suppose that as part of an application upgrade, I need to add a new column, C, and meet a request to have C appear in the middle of the table. This might be desirable for certain ad hoc reporting tools, which tend to display the columns by default in the order a SELECT * would return them. In the past, this reordering was not really possible, but I could• Rename the table to something else,

say T_TBL• Add to this table the new column, which

would appear at the end of the column list• Create a view or an editioning view named

T that explicitly selects the columns in the right order

• Revoke the grants on T_TBL and issue those grants on the view T

• Update any scripts that create indexes, triggers, constraints, and the like on this table to reference table T_TBL

That process would make the column seem to appear in the middle of the table, but at the cost of a lot of work. Now, however, reordering columns has become rather simple. I can rely on the documented fact (not a trick but, rather, documented behavior) that any column that is set to be visible after being invisible will appear as the last column in the table from a SELECT * perspective. So to do the logical reordering, I need to first hide columns D and E and then add column C. At this point, column C will appear to be right after column B. Next

I unhide columns D and E, and they will appear after column C—logically. The fol-lowing shows the column hiding, adding, and unhiding as well as a query result that shows the logical order of the columns:

SQL> alter table t modify

2 ( d invisible, e invisible );

Table altered.

SQL> alter table t add c int;

Table altered.

SQL> alter table t modify

2 ( d visible, e visible );

Table altered.

SQL> desc t

Name Null? Type

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

A NUMBER(38)

B NUMBER(38)

C NUMBER(38)

D NUMBER(38)

E NUMBER(38)

(Note that on disk the columns will really be stored as A, B, D, E, and C.)

You can read more about invisible columns in Oracle Database Administrator’s Guide 12c Release 1 (12.1), Chapter 20, “Managing Tables,” at bit.ly/1bEMjxa.

SQL> exec pkg.p——————— PL/SQL Call Stack ——————— object line object handle number name0x6e891528 4 procedure OPS$TKYTE.PRINT_CALL_STACK0x6ec4a7c0 10 package body OPS$TKYTE.PKG0x6ec4a7c0 14 package body OPS$TKYTE.PKG0x6ec4a7c0 17 package body OPS$TKYTE.PKG0x6ec4a7c0 20 package body OPS$TKYTE.PKG0x76439070 1 anonymous block

BEGIN pkg.p; END;

*ERROR at line 1:ORA-06501: PL/SQL: program errorORA-06512: at "OPS$TKYTE.PKG", line 11ORA-06512: at "OPS$TKYTE.PKG", line 14ORA-06512: at "OPS$TKYTE.PKG", line 17ORA-06512: at "OPS$TKYTE.PKG", line 20ORA-06512: at line 1

Code Listing 1: Output from DBMS_UTILITY.FORMAT_CALL_STACK, plus error message

MJ14_AskTom.indd 56 3/28/14 1:48 PM

Page 60: Oracle magazine Mayo-Junio 2014

57Ask Tom

orAcle mAgAzine May/june 2014

Improved IntrospectIon Oracle database application developers have had access to three built-in functions to figure out “Where the heck am I?” in their code: • DBMS_UTILITY.FORMAT_CALL_STACK• DBMS_UTILITY.FORMAT_ERROR_

BACKTRACE• DBMS_UTILITY.FORMAT_ERROR_STACK

These routines, although helpful, were of somewhat limited use. Let’s look at the FORMAT_CALL_STACK routine to see why. Here is a procedure, print_call_stack, for printing out the current call stack:

SQL> create or replace

2 procedure Print_Call_Stack

3 is

4 begin

5 DBMS_Output.Put_Line(

DBMS_Utility.Format_Call_Stack());

6 end;

7 /

Procedure created.

Now, if I have a package, PKG, with nested functions—and even duplicated function names—such as

SQL> create or replace

2 package body Pkg is

3 procedure p

4 is

5 procedure q

6 is

7 procedure r

8 is

9 procedure p is

10 begin

11 Print_Call_Stack();

12 raise program_error;

13 end p;

14 begin

15 p();

16 end r;

17 begin

18 r();

19 end q;

20 begin

21 q();

22 end p;

23 end Pkg;

24 /

Package body created.

I’ll see the output in Listing 1 when I execute the procedure PKG.P.

The bit above BEGIN pkg.p; END; is the output from DBMS_UTILITY.FORMAT_CALL_STACK, whereas the bit below is the error message returned to the client application. (The error message is also available via DBMS_UTILITY.FORMAT_ERROR_BACKTRACE.). As you can see, the output contains useful information, but to use it, you would need to parse it, which can be tricky. The format of these strings, for example, is not set in stone; the strings have changed over the years. (I wrote the OWA_UTIL.WHO_AM_I function, and I did that by parsing these strings. Trust me, the strings change over time!)

But there’s good news. Starting in Oracle Database 12c, you have structured access to the call stack and a series of API calls for interrogating this structure via the new UTL_CALL_STACK package.

To demonstrate, I’ll rewrite the print_call_stack function to use UTL_CALL_STACK, as shown in Listing 2.

With the new print_call_stack function, I am able to figure out how deep I am in the

code by using UTL_CALL_STACK .DYNAMIC_DEPTH and can then walk up the stack, using a loop. I will print out the lexical depth along with the line number within the unit I am executing, plus the unit name—and not just any unit name, but the fully qualified, all-the-way-down-to-the-subprogram name within a package and continuing down to the subprogram name within a subprogram name within a subprogram name. For example, running the PKG.P procedure again results in the output and the error message in Listing 3.

This time I get much more than just a line number and a package name, in contrast to what I got previously with DBMS_UTILITY.FORMAT_CALL_STACK. With the UTL_CALL_STACK package, I get not only the line number and the package (unit) name but also the names of the subprograms, and I can see that P called Q called R called P as nested subprograms. Also note that I can see a truer calling level with the lexical depth. For example, I can see that I stepped out of the package to call print_call_stack, which, in turn, called another nested subprogram.

SQL> create or replace 2 procedure Print_Call_Stack 3 as 4 Depth pls_integer := UTL_Call_Stack.Dynamic_Depth(); 5 6 procedure headers 7 is 8 begin 9 dbms_output.put_line( 'Lexical Depth Line Name' ); 10 dbms_output.put_line( 'Depth Number ' ); 11 dbms_output.put_line( '—————————— ——————— ———————— ——————' ); 12 end headers; 13 procedure print 14 is 15 begin 16 headers; 17 for j in reverse 1..Depth loop 18 DBMS_Output.Put_Line( 19 rpad( utl_call_stack.lexical_depth(j), 10 ) || 20 rpad( j, 7) || 21 rpad( To_Char(UTL_Call_Stack.Unit_Line(j), '99'), 9 ) || 22 UTL_Call_Stack.Concatenate_Subprogram 23 (UTL_Call_Stack.Subprogram(j))); 24 end loop; 25 end; 26 begin 27 print; 28 end; 29 /

Code Listing 2: print_call_stack function, revised and using UTL_CALL_STACK

MJ14_AskTom.indd 57 3/28/14 1:49 PM

Page 61: Oracle magazine Mayo-Junio 2014

58 Ask Tom

May/june 2014 orAcle.com/orAclemAgAzine

The new UTL_CALL_STACK package will be a nice addition to everyone’s error logging packages. Of course, there are other functions in there for getting owner names, the edition in effect when the code was executed, and more. See Oracle Database PL/SQL Packages and Types Reference 12c Release 1 (12.1), at bit.ly/NhQh6B, for details.

SQL TexT expanSionThe next Oracle Database 12c feature I look at is SQL text expansion. This new feature enables you to see the expanded text of a SQL statement, with the view text included. This will enable you to see the real query the optimizer is being challenged with.

Many times I have been asked to tune a simple query, such as SELECT * FROM V WHERE X=5, only to discover that the explain plan for the query is 15 pages long and refer-ences dozens of objects. To begin to under-stand that query, I have to understand what V is and what the SQL text behind the V view is. And the text of the V view might itself refer-ence views of views of views. It can be quite a chore to discover what the actual SQL is. SQL text expansion makes this discovery simple.

For example, take the simple query SELECT * FROM ALL_USERS. Under the covers, ALL_USERS—and in fact, the entire Oracle data dictionary—is a view. To see which query is really being executed under the covers, I can use SQL text expansion:

SQL> variable x clob

SQL> begin

2 dbms_utility.expand_sql_text

3 ( input_sql_text =>

'select * from all_users',

4 output_sql_text => :x );

5 end;

6 /

PL/SQL procedure successfully completed.

SQL> print x

X———————————————————————————————————————————————————————————

SELECT "A1"."USERNAME"

"USERNAME","A1"."USER_ID"

"USER_ID","A1"."CREATED"

"CREATED","A1"."COMMON" "COMMON" FROM

(SELECT "A4"."NAME"

"USERNAME","A4"."USER#"

"USER_ID","A4"."CTIME"

"CREATED",DECODE(BITAND("A4"."SPARE1",12

8),128,'YES','NO') "COMMON" FROM

"SYS"."USER$" "A4","SYS"."TS$"

"A3","SYS"."TS$" "A2" WHERE

"A4"."DATATS#"="A3"."TS#" AND

"A4"."TEMPTS#"="A2"."TS#" AND

"A4"."TYPE#"=1) "A1"

As you can see, the new EXPAND_SQL_TEXT procedure in the DBMS_UTILITY package delivers SQL text expansion and makes discovery of the actual query being executed rather easy.

SQL text expansion is not limited to views, either. Often you have to tune a query that is being rewritten by Oracle Virtual Private Database and you need to understand what the real SQL text is to begin to tune it. EXPAND_SQL_TEXT helps you discover the real SQL text for that query via the DBMS_RLS package.

To demonstrate this, I set up a small table with a rather simple Oracle Virtual Private Database policy on it. I begin by imple-menting the security function:

SQL> create or replace

2 function my_security_function

( p_schema in varchar2,

3 p_object in varchar2 )

4 return varchar2

5 as

6 begin

7 return 'owner = USER';

8 end;

9 /

Function created.

As you can see, this is a rather simple function. It will cause each access of the table or view it is associated with to include—transparently—the predicate WHERE OWNER = USER.

Now I’ll continue by defining MY_TABLE and associating this predicate function with the table:

SQL> create table my_table

2 ( data varchar2(30),

3 OWNER varchar2(30) default USER

4 )

5 /

Table created.

SQL> begin

2 dbms_rls.add_policy

3 ( object_schema => user,

4 object_name => 'MY_TABLE',

5 policy_name => 'MY_POLICY',

6 function_schema => user,

7 policy_function =>

'My_Security_Function',

8 statement_types =>

'select, insert, update, delete',

SQL> exec pkg.pLexical Depth Line NameDepth Number—————————— ——————— ———————— ———————1 6 20 PKG.P2 5 17 PKG.P.Q3 4 14 PKG.P.Q.R4 3 10 PKG.P.Q.R.P0 2 26 PRINT_CALL_STACK1 1 17 PRINT_CALL_STACK.PRINTBEGIN pkg.p; END;

*ERROR at line 1:ORA-06501: PL/SQL: program errorORA-06512: at "OPS$TKYTE.PKG", line 11ORA-06512: at "OPS$TKYTE.PKG", line 14ORA-06512: at "OPS$TKYTE.PKG", line 17ORA-06512: at "OPS$TKYTE.PKG", line 20ORA-06512: at line 1

Code Listing 3: Output from UTL_CALL_STACK, plus error message

MJ14_AskTom.indd 58 3/28/14 1:49 PM

Page 62: Oracle magazine Mayo-Junio 2014

59Ask Tom

orAcle mAgAzine May/june 2014

9 update_check => TRUE );

10 end;

11 /

PL/SQL procedure successfully completed.

If I am asked to tune a query against MY_TABLE, I would very much like to see the rewritten query to find out what I’m dealing with. Again, the EXPAND_SQL_TEXT proce-dure comes in very handy:

SQL> begin

2 dbms_utility.expand_sql_text

3 ( input_sql_text =>

'select * from my_table',

4 output_sql_text => :x );

5 end;

6 /

PL/SQL procedure successfully completed.

SQL> print x

X———————————————————————————————————————————————————————————

SELECT "A1"."DATA" "DATA","A1"."OWNER"

"OWNER" FROM (SELECT "A2"."DATA"

"DATA","A2"."OWNER" "OWNER" FROM

"OPS$TKYTE"."MY_TABLE" "A2" WHERE

"A2"."OWNER"=USER@!) "A1"

Not only can I see the expanded SQL but the text also provides some insight into how Oracle Virtual Private Database does its magic. In this case, Oracle Virtual Private Database simply takes the MY_TABLE refer-ence in the FROM list and turns it into an inline view with the predicate appended to it.

The Oracle-hosted online version of this article at bit.ly/1hHqmiN concludes with a demonstration of how expanded SQL text works with Oracle Virtual Private Database as well as references for additional informa-tion on Oracle Virtual Private Database and SQL text expansion (EXPAND_SQL_TEXT).

READ Oracle-hosted online article contentbit.ly/1hHqmiNASK Tom Tom Kyte answers your most difficult technology questions. Highlights from that forum appear in this column. asktom.oracle.com LEARN more about Oracle Database 12coracle.com/database

DOWNLOAD Oracle Database 12cbit.ly/epBiUG

NExT STEpS

Tom Kyte is a database evangelist in Oracle’s Server Technologies division and has worked for Oracle since 1993. He is the author of Expert

Oracle Database Architecture (Apress, 2005, 2010) and Effective Oracle by Design (Oracle Press, 2003), among other books.

MEETING THE DEMANDS OF TOMORROW AND DELIVERING HIGH-PERFORMANCE NOW

Cybernoor Corporation I www.cybernoor.com I +1.925.924.0400

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.

MEETING THE DEMANDS OF TOMORROW AND DELIVERING HIGH-PERFORMANCE NOW

MJ14_AskTom_R1.indd 59 4/8/14 11:36 AM

Page 63: Oracle magazine Mayo-Junio 2014

For more information or to place your recruitment

ad or listing contact: [email protected]

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

Find the Most Qualifed Oracle Professional for your Company’s Future

Introducing the Oracle Magazine

Career Opportunities section -

the ultimate technology recruitment resource.

Oracle Magazine is the largest IT publication in the

world with a total circulation of more than 500,000.

Place your advertisement and gain exclusive and

immediate access to top talent including:

IT Managers, DBAs, Programmers and Developers.

Page 64: Oracle magazine Mayo-Junio 2014

61In the FIeld by Michelle Malcher

oracle magazIne May/june 2014

I f you are a DBA dealing with big databases, you might think that you already handle

big data. You’ve already been managing data-bases that are in the petabytes for years now, right? However, big data isn’t completely about the size of the database or the data.

Big data might be structured or unstruc-tured data, but it is a large quantity of information and likely coming in at a high velocity. Business owners need to figure out what data is valuable to them, and although it might be difficult for DBAs to determine what data is valuable, the DBA can assist in making the data available and helping connect datasources.

In looking at what big data means and how important it could be for companies in the near future—perhaps even becoming the standard way of doing business—I see an opportunity for DBAs to step out and expand their database administration skills to incor-porate big data administration skills. With their existing administration skills, including managing data storage, networking traffic for data access, security, data loading, and integrations, DBAs already have a solid foun-dation for becoming key players in big data.

There are quite a few new skill areas emerging in the big data arena. A few of these areas leverage current DBA skills and can be a starting focus for the big data DBA. Apache Hadoop. Hadoop is a framework used for multiple-node processing of data. With high degrees of parallelism, Hadoop can be a very scalable platform for pro-cessing large batches of data very fast. There are no real tables or structures, so the data can be imported in various formats, and there are several ways to connect Hadoop to Oracle databases. Understanding how to process data in Hadoop and how to integrate it with existing datasources are valuable big data DBA skills to develop.R. It would be an achievement to under-stand all of the R scripting and all of the advanced analytics that can be performed

against the data using R for real data solu-tions, but R might best be left to the stake-holders or the data scientist. Learning how to set up an R environment, however, would be another administrative focus area for the big data DBA. In addition, setup and config-uration are required to support R statistics and advanced analytics scripts running in an Oracle Database environment, so DBAs can expand from administrating back-end R environments into R scripting. Integrations. Being able to integrate data is already an important DBA skill, and with big data, there is an opportunity to talk more to the business to understand the data and what is considered valuable information. Your new big data skill area might just be communication with these business teams. And if you are not regularly connecting dif-ferent datasources, start by pulling in data from other sources. Developing a service for different datasources will prove to be an invaluable resource for big data projects.

In addition to working with data-source integrations, consider working with big data connectors. Oracle Big Data Connectors connect Hadoop and Oracle Database, and they enable the use of XQuery and SQL in Hadoop. With current DBA skills and learning about connectors, integrations are a great area for the DBA to get involved with big data.

Reporting and visualization. Businesses need to be able to turn big data into a visual story that can be consumed and analyzed. To support this kind of reporting, big data DBAs should learn to administer reporting tools and servers for big data analysis. Another valuable skill to develop is the ability to create the data structures necessary for reporting. For acceptable performance, some reporting tools might require the creation of materialized views or even separate reporting databases. Tuning queries for reporting is a typical DBA skill, and understanding the tuning needs for different graphing and visualization tools is important for big data.

As more questions are asked of data and more data becomes available, devel-oping big data skills provides new opportu-nities for every DBA. I will definitely be using my trusted sources and user group experts to expand my skill set in Hadoop and R this year.

JOIN IOUGioug.orgJOIN the IOUG Big Data Special Interest Groupioug.org/sigsLEARN about Oracle big data solutionsoracle.com/us/technologies/big-data

NExt StEpS

DBA to Big Data DBATurn your DBA skills into big data skills.

Michelle Malcher (michelle_malcher@ioug .org) is president of IOUG. She is an Oracle ACE Director with more than 15 years of experience

in database development, security, design, and administration. Malcher is a coauthor of Oracle Database 12c: Install, Configure & Maintain Like a Professional (Oracle Press, 2013) and Securing Oracle Database 12c: A Technical Primer (Oracle Press, 2013).

As more questions are asked of data and more data becomes available, developing big data skills provides new opportunities for every DBA.

MJ14_InTheField_Malcher.indd 61 3/28/14 1:25 PM

Page 65: Oracle magazine Mayo-Junio 2014

2.6x BetterPerformance

Industry Standard Java Middleware

SPECjEnterprise2010 Performance Benchmark

SPEC and the benchmark name SPECjEnterprise are registered trademarks of the Standard Performance Evaluation Corporation. Virtualized results on spec.org as of 5/21/2013 for application and database on one 8-chip server. SPARC T5-8, 27,843.57 SPECjEnterprise2010 EjOPS, pricing on oracle.com; IBM Power 780, 10,902.30 SPECjEnterprise2010 EjOPS, pricing on ibm.com. Server cost excludes storage and software. Details: oracle.com/sparc-t5.

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

Oracle’s SPARC T5

Server Cost:

$805,000Server Cost:

$299,000

Performance:

10,902Performance:

27,843

IBM’s Power7+ AIX

Page 66: Oracle magazine Mayo-Junio 2014

63

oracle magazine May/June 2014

analyst’s corner By PhiliP J. Gill

Oracle Magazine spoke with Matthew Eastwood, group vice president,

Enterprise Platform Research, International Data Corp. (IDC), about current trends in data center consolidation.Oracle Magazine: Hardware consolidation in the data center isn’t new, but there seems to be an uptick in such projects. What are the drivers behind data center hardware con-solidation projects today?Eastwood: Consolidation has been a fact of life in most data centers for some time. It’s a strategy that IT departments employ to lower costs, drive more efficiency, and improve the service levels for the applications that they host. One new driver for consolidation today is aging hardware. Systems that are five, six, or seven years old are good candidates for replacement and consolidation.

Modern hardware has so much higher performance that organizations can justify a return on that investment in a relatively short time, because today’s systems are also much more capable. If you look at a two-socket server—and that’s a relatively small server today—it can do more than the largest supercomputer in the world could have done in 1999 or 2000. And these pro-cessors have an increased number of cores and support much bigger memory and I/O subsystems as well, so consolidation just makes sense.

You can also look at hardware consolida-tion the way you would look at replacing an older car. It gets to the point where it costs more to keep a car on the road than to buy a new one, and it’s the same situation with data center servers. Because most systems are replaced roughly every four or five years, consolidation projects today tend to be ongoing efforts. You may have an organiza-tion that rotates roughly 25 to 30 percent of its servers every year, and when it’s doing that it’s also doing consolidation.

Oracle Magazine: What other benefits do IT organizations gain through consolidation?Eastwood: One big consolidation benefit is higher reliability. Because there are fewer systems, there’s less running around and troubleshooting and fixing things that can cause service outages.

Another consolidation benefit is on the facilities side. If you have fewer systems, you need less power, less cooling, and less phys-ical space in the data center. Data center space is also very, very expensive, and some IT organizations are physically taxed on how much space they use. When new demands are placed on that data center, IT is faced with either consolidating that data center so it can take on the new workload or making a potentially significant investment in a data center expansion or retrofit. You hear some stories now and then where the next addi-tional server will require an organization to spend from US$10 million to US$20 million on a data center expansion, but IT can do some nip-and-tuck hardware consolida-tion to create more capacity and avoid that multi-million-dollar investment.

Another consolidation benefit is the potential to use IT staff differently, because when the staff is no longer trying to keep the older systems running, it can start to focus on more-strategic and higher-value tasks. Oracle Magazine: What is the role of virtualization in hardware consolidation projects today?Eastwood: When IT organizations can abstract applications from the underlying

hardware, they can start to deploy and consume hardware differently. Before vir-tualization, a data center would typically use a one-application-per-server model, and that server would be configured to support a peak workload that the organiza-tion rarely saw. Many servers ran a single application at 10 or 15 percent utilization and would peak at 25 or 30 percent, leaving a great deal of stranded capacity. With consolidation, IT organizations can stack these applications on the same system, run that utilization up to 60, 65, or 70 percent, and still provide headroom on that server for peaks. With these kinds of strategies, we’re seeing consolidation ratios of 5 to 10 servers down to 1.

What has been happening in many orga-nizations is that they’ve seen an increase in the number of applications they run, because virtualization makes it easier to build and deploy new applications. This sets up an opportunity for more consolidation downstream by running all those new appli-cations on fewer hardware devices. With massive amounts of capability and a growth in applications, consolidation makes even more sense for most organizations.

LEARN more about consolidation with Oracle’s SPARC serversbit.ly/1qVkzel

NExt StEPS

Philip J. Gill ([email protected]) is a freelance writer and editor based in San Diego, California.

IDC (idc.com) is a global provider of market intelligence, advisory services, and events for the information technology, telecommunications, and consumer technology markets.

Doing Better with LessNew systems and more applications help drive many of today’s data center consolidation projects.

“Consolidation has been a fact of life in most data centers for some time.”

MJ14_Analyst.indd 63 3/28/14 1:31 PM

Page 67: Oracle magazine Mayo-Junio 2014

64

MAY/JUNE 2014 ORACLE.COM/ORACLEMAGAZINE

Flashbacks: Culture. Industry. Oracle. Oracle Magazine Time Capsule BY RICH SCHWERIN

I-HUA

CHE

N; W

IKIP

EDIA

COM

MON

S

YOUR TURN

INTELLIGENCE, ANALYTICS, OR MAGIC 8 BALL: How do you make important business decisions? Visit Facebook/OracleMagazine and let us know. bit.ly/orclmagfb

1898 Industrial EfficienciesMechanical engineer Frederick Winslow Taylor applies operational analy-sis to fix mass production problems at Bethlehem Steel. And with that, the lucrative field of manage-ment consulting is born.

Decision SupportWith US$2 million a year in DARPA funding, the Massachusetts Institute of Technology’s Project MAC (Multiple Access Computers) launches one of the first decision support systems using Teletype

Model 35 terminals. Earplugs recommended. (Hear why at bit.ly/1mxbHMu.)

1978 Executive Info

“Hello, IT? Get me those latest figures . . .” Among the first executive information systems, Lockheed-Georgia’s management information and decision support system is maintained by analysts for senior executives.

1979 Oracle 2 Version 2 of the Oracle RDBMS allows for basic SQL functionality including queries and joins. And the seed for modern business analytics is planted.

1997 Oracle Discoverer 3.0Oracle Discoverer enables business users to study and analyze complex data stored in data warehouses and data marts, and supports ad hoc querying and decision-making.

2008Measure. Analyze. Perform.Oracle’s business intelligence and enterprise performance management products and technologies support organizations by making information available across the enterprise and by helping them plan and achieve their performance goals.

1963

2011 Excellence in

AnalyticsOracle Exalytics Business Intelligence Machine (now named Oracle Exalytics In-Memory Machine), an engineered system built on in-memory technology, delivers business analytics at the speed of thought. Fasten your thinking caps.

2008Measure. Analyze. Perform.Oracle’s business intelligence and enterprise performance management products and technologies support organizations by making information available across the enterprise and by helping them plan and achieve their performance goals.

1999Analyze This Dominic Manetta: “Times are changing. You’ve got to change with the times.”Paul Vitti: “What, am I supposed to get a website?” —from Analyze This (Warner Bros., 1999). Managing change can be stressful.

MJ14_TimeCapsule.indd 64 3/28/14 1:42 PM

Page 68: Oracle magazine Mayo-Junio 2014

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

Oracle CloudApplications

ERPFinancials

Procurement

Projects

Supply Chain

HCMHuman Capital

Recruiting

Talent

CRMSales

Service

Marketing

More Enterprise SaaS Applications

Than Any Other Cloud Services Provider