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

Untitled-1 1 2/6/14 1:38 AM 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 12c / 43 On Oracle Database 12c, Part 5 Our technologist explores the invisible, improves introspection, and expands SQL / 55 GROUND CONTROL Oracle Cloud Application Foundation solutions launch your cloud applications

MJ14_Cover_R1.indd 1 4/8/14 10:51 AM omg0514pCov2_p001.indd 2 4/4/14 10:30 AM omg0514pCov2_p001.indd 3 4/4/14 10:31 AM 2 VOLUME XXVIII - ISSUE 3 CONTENTS

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

Cover: I-Hua Chen

Up Front / 7 Community / 19 SQL DEVELOPER / 39 ASK TOM / 55 Document Entities On Oracle Database 12c, FROM THE EDITOR / 7 PARTNER NEWS / 19 Generate logical models and Part 5 A Foundation for Business BOOK BEAT / 19 entity relationship diagrams Our technologist explores —Tom Haunert COMMUNITY easily from an existing the invisible, improves MASHUP / 8 BULLETIN / 21 database with Oracle SQL introspection, and expands News, views, trends, Happenings in Oracle Developer Data Modeler. SQL. —Tom Kyte and tools Technology Network —Jeff Smith —Roland Smart DBA / 43 Nonstop Partition At Oracle / 11 ARCHITECT / 22 Why Would Anyone Want Operations EVENTS / 11 to Be an Architect? Oracle Partitioning Find out about upcoming Architects weigh in on what delivers online partition technology and industry makes their jobs cool. moves, selective indexes Comment / 61 events. —Bob Rhubart on partitions, and IN THE FIELD / 61 RESOURCES / 12 PEER-TO-PEER / 23 asynchronously maintained global indexes to Oracle DBA to Big Data DBA Your guide to Oracle videos, Taking the Lead Database 12c. —Arup Nanda Turn your DBA skills into webcasts, white papers, Peers on proactive support big data skills. and more tools, new cloud solutions, —Michelle Malcher and understanding Oracle BRIEFS / 14 ANALYST’S inside out —Blair Campbell The latest product news CORNER / 63 INTERVIEW / 17 Doing Better with Less Innovate with Java 8 PL/SQL / 49 New systems and more Latest platform release Writing SQL in Oracle applications help drive enhances developer Application Express many of today’s data center productivity and supports Minimize the code you write, consolidation projects. applications from the Internet be careful where you put it, —Philip J. Gill of Things to the cloud. Technology / 35 and relocate it to packages as TIME CAPSULE / 64 —Caroline Kvitka BUSINESS much as possible. Flashbacks: Culture. Industry. ANALYTICS / 35 —Steven Feuerstein Oracle. Oracle Magazine. Go with the Flow —Rich Schwerin Oracle Data Integrator 12c delivers new flow-based mappings and deployment specifications. —Mark Rittman

MAY/JUNE 2014 ORACLE.COM/ORACLEMAGAZINE

MJ14_TOC_R1.indd 2 4/8/14 10:53 AM PL/SQL shouldn't be BRAIN SURGERY

GO OUT OF yOUR MIND...

SCAN THIS PAGE WITH LAYAR APP FOR ADDED EXPERIENCE

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 4

Editorial Editor in Chief Tom Haunert [email protected] Managing Editor Jan Rogers [email protected] Senior Editor Caroline Kvitka [email protected] Associate Editor Patty Waddington Contributing Editor and Writer Blair Campbell Technology Advisor Tom Kyte Contributors Fred Sandsmark, Rich Schwerin, Leslie Steere DESIGN Senior Creative Director Francisco G Delgadillo Senior Design Director Suemi Lam Design Director Richard Merchán Contributing Designers Jaime Ferrand, Arianna Pucherelli Production Designers Sheila Brennan, Kathy Cygnarowicz

Publishing Publisher Jennifer Hamilton [email protected] +1.650.506.3794 Associate Publisher and Audience Development Director Karin Kinnear [email protected] +1.650.506.1985

Advertising sales President, 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.2403 Eastern 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, x201 Mailing-List Rentals Contact your sales representative.

Editorial Board Ian Abramson, Karen Cannell, Andrew Clarke, Chris Claterbos, Karthika Devi, Kimberly Floss, Kent Graziano, Taqi Hasan, Tony Jambu, Tony Jedlinski, Ari Kaplan, Val Kavi, John King, Steve Lemme, Carol McGury, Sumit Sengupta, Jonathan Vincenzo, Dan Vlamis

Subscription Information Resources Subscriptions are complimentary for qualified individuals who complete the form found at Oracle Products oracle.com/oraclemagazine. For change of address, mail in label with the new address to: +1.800.367.8674 (US/Canada) Oracle Magazine, P.O. Box 1263, Skokie, IL 60076-8263. Oracle Services +1.888.283.0591 Magazine Customer Service Oracle Press Books [email protected] Fax +1.847.763.9638 Phone +1.847.763.9635 oraclepressbooks.com Privacy Oracle Publishing allows sharing of its mailing list with selected third parties. If you prefer that your mailing address or e-mail address not be included in this program, contact Customer Service at [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

May/June 2014 Oracle.com/oraclemagazine

MJ14_TOC.indd 4 3/28/14 2:48 PM 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 is at the center of Altova’s new line of cross-platform server products optimized for today’s high-performance, parallel computing environments: • FlowForce® Server for orchestrating events, triggers, and the automation FlowForce Server of processes Job triggers User management • MapForce® Server for automating Access control any-to-any data mapping and aggregation processes

RaptorXML MapForce Server • StyleVision® Server for automating Server XML, SQL DBs, XML and XBRL EDI, flat files, business report generation in HTML, validation/processing XBRL, Web services PDF, and Word • RaptorXML® Server for hyper-fast StyleVision Server validation/processing of XML, XBRL, HTML, PDF, Word, OOXML, RTF XSLT, and XQuery

Learn more and download a free trial at www.altova.com/server HELLO LOW LATENCY. 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

© 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. #networkfacts From The Editor 7

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

building’s foundation doesn’t often get technologies to build, rebuild, repair, and A much attention, except during initial shore up their own business application construction, during remodeling, or when foundations. The article describes the need something goes wrong. Likewise, founda- for organizations to realize the benefits and tion technologies under business applica- efficiencies of cloud computing, such as the tions may not be the focus of attention after “on-demand access to a shared pool of con- applications are deployed, but an applica- figurable computing resources,” while at the tion foundation is at least as critical to its same time deploying modern applications applications as a building foundation is to on a flexible, integrated, and standards- the building it supports. based transactional foundation. Flexible foundation may sound like an oxy- Building Foundations moron, but flexibility is a core tenet of cloud In 2012 and 2013 I watched (and listened computing, and the ability to support inte- to) demolition of a city-block-long building grated public and private cloud applications Did You Know? and construction of a new one—containing and handle increased transaction workloads Record Foundation several dozen apartments and a grocery resulting from server and software consoli- In 2014, a crew in Los Angeles, California, set a store—a block from my home. There were dation most certainly requires a solid tech- new world record for the largest continuous concrete pour as part of the process of laying the many obvious events and milestones during nology foundation. “Ground Control” focuses foundation for the new Wilshire Grand Center. construction as new floors were built up and on how organizations are using core Oracle bit.ly/1lhMXGB enclosed, windows and doors were added, Cloud Application Foundation technologies, exterior siding and trim were added, and so including Oracle WebLogic Server and Oracle Next Steps on. But to me and to the neighbors I spoke Coherence, as well as Oracle Exalogic, the with, the biggest events and milestones integrated hardware and software platform LEARN more about occurred early in the construction process, for the Oracle Cloud Application Foundation Oracle Cloud Application Foundation oracle.com/us/products/middleware/ when the foundation and multiple under- family, to create truly flexible foundations to cloud-app-foundation ground levels of the building were laid out and support their current and future cloud appli- WATCH Getting Started with the Oracle concrete was poured. On those days, dozens cation needs. Java Cloud Service of cement trucks circled the blocks around the bit.ly/1dk38k3 building site. Each would quickly unload and Open, Says Oracle REGISTER for Oracle OpenWorld oracle.com/openworld just as quickly be replaced by the next cement Registration for Oracle OpenWorld truck in line. I tip my hat to all the people who 2014 in San Francisco, California, is now Send Mail to the Editors organized, managed, and executed the work, open! Register at oracle.com/openworld. for the finished result and also because street (Coincidently, a major expansion of Moscone Send your opinions about what you read in Oracle traffic was still moving pretty well while these Center, the Oracle OpenWorld San Francisco Magazine, and suggestions for possible technical massive operations were under way. host venue, is also planned to begin in 2014. articles, to [email protected]. You can Current remodeling plans call for the square also follow our @oraclemagazine Twitter feed or join us on Facebook at bit.ly/orclmagfb. Business Foundations footage to be increased by about 20 percent.) Letters may be edited for length and clarity and This issue’s cover feature, “Ground Control” may be published in any medium. We consider (page 28), explores how three organizations Tom Haunert, Editor in Chief any communications we receive publishable. used Oracle Cloud Application Foundation [email protected]

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

oracle magazine May/June 2014

MJ14_Ednote.indd 7 3/28/14 2:55 PM 8 MashUp News. Views. Trends. Tools.

Your smartphone’s built-in communications apps may not be the best. These alternatives offer additional features and capabilities. When We Talk, When We Text Telegram UrgentCall Viber Voxer One thousand smartphone users between This secure, speedy Even if your phone’s Make HD voice calls Instantly 18 and 65 in the continental US were asked messaging app in silent, do-not- and video calls and communicate in what situations they prefer to talk (and offers group chats disturb mode, send texts between with this push-to- receive or leave voicemail) versus text. with up to 100 this app can get smartphones, talk walkie-talkie people, photo and an emergency computers app—one-on-one video sharing, message to you— (Windows, Mac, or with groups. (If a and unlimited but only from callers or Linux), and contact isn’t online, cloud storage of you’ve preselected, landlines. Transfer your message will TALK TEXT messages. Free who must prove a and sync calls and play back later.) Personal, Immediate, (Android, iOS). situation is truly messages. Free Free; pro version for emotional, concise, connected convenient telegram.org important. US$24 (Android, iOS, US$2.99/month per year plus Windows Phone, (Android, iOS, Sharing bad news Sharing good airtime (Android). BlackBerry). Windows Phone). 80% are more likely news 66% prefer EXTRAORDINARY COMMUNICATIONS EXTRAORDINARY urgentcalltech.com viber.com voxer.com to use voice rather to receive news than text-based from a close friend messaging when via text-based sharing bad news message rather than by voicemail Communicating Low-Key Home with a customer Getting in touch 74% prefer to with a significant Security receive news from other 62% of businesses via males prefer to Yes, video cameras are great monitoring tools for home voicemail rather receive text-based security, but how do you know when to look at the camera than by text-based news from their feeds? The Canary is an unobtrusive wireless home secu- messages significant others rity device that bundles a camera, a microphone, a motion rather than through detector, and a variety of sensors in a package about the An emergency voicemail size and shape of a large soup can. Connect Canary to your 57% say it’s per- home WiFi, and it sends alerts to your smartphone when fectly acceptable Convenience 85% something’s amiss—strange sounds, unexpected motion (it to leave a voicemail find text-based learns over time when you’re home and not), temperature when making an messages more emergency call convenient than or humidity spikes, and so on. From the companion app voicemails you can listen (or talk) to a room, check the camera, set off Canary’s built-in siren, and more. US$199. canary.is Source: Nuance Communications, nuance.com US Consumer In-Store Smartphone Usage The ways US consumers use smartphones when shopping in stores varies by age. Fuel Cell for Your Pocket The 25–34 age group was most aggressive in comparing prices and buying elsewhere. One thousand US residents were surveyed online. Tired of bringing—and hauling— many pounds of backup batteries 73% 69% for your off-the-grid adventures? 49% 18-24 age group The hydrogen-powered Upp fuel Use smartphone when shopping cell delivers off-the-grid USB 61% charging power for smartphones, tablets, cameras, and other elec- 53% 40% tronics. Measuring just 5 inches (124.5 mm) long and weighing 25-34 less than 1.5 pounds (including the exchangeable hydrogen car- Compare prices age group 57% tridge), Upp is rated at 5 watts (one fuel cartridge provides 25 50% watt-hours of charging capacity) and the companion app monitors 36% fuel level and usage. US$199. beupp.com Browse rival sites while in store General US 51% population 48% WHAT’S Nearly 75 percent of executives say they lose 32% interest within one minute if a presenta- Read reviews YOUR POINT? tion doesn’t have a clear point, and some 26% 43 percent abandon complicated or lengthy 22% Source: Omnico Group, e-mails within 30 seconds. One thousand execs participated 14% omnicogroup.com Buy on other retailer sites in the online survey. Source: BRIEF Lab, thebrieflab.com

MAY/JUNE 2014 ORACLE.COM/ORACLEMAGAZINE

MJ14_MashUp.indd 8 3/27/14 2:47 PM The foundation of business network uptime.

APC by Schneider Electric Smart-UPS units protect 24/7/365 network availability. 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- Intelligent battery backup critical applications whether they are in house, at a co-location facility, or in the cloud. > Avoid costly power problems by keeping your IT equipment and data safe and available with network-grade A Smart-UPS model for every need power conditioning. Whatever your IT needs and configuration, we have the right Smart-UPS > Reduce operating and maintenance costs with a patented green operating mode for high efficiency and intelligent model. The family offers multiple form factors (tower, rack optimized, and battery management that prolongs life and alerts well in rack/tower convertible) to deliver flexibility for any environment. And you advance of replacement. can scale runtime to business requirements. In addition, you can proactively > Save time with easy and convenient remote accessibility, manage the network closet remotely and optimize energy use through a safe operating system shutdown, and innovative patented “green mode” on many models. Deployment is easy with optional energy management. Schneider Electric installation services. Smart-UPS backup units: the > Achieve smarter productivity by tailoring a variety intelligent choice for your business network! of settings, including switched outlet control, to your application needs via the intuitive LCD interface or software. Business-wise, Future-driven.™

How Monitoring Systems Reduce Human Error in Distributed Server Rooms and Remote Wiring Closets Reduce human-error downtime, too! White Paper 103 Revision 0

by Dennis Bouley

Contents Get guidance in our FREE white paper and > Executive summary enter to win a Samsung Galaxy Note™ 3! Visit: www.apc.com/promo Key Code: h408u

©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

Events 11

Technology Events Oracle User Groups DOAG (German Oracle User Group) Conferences and sessions to help you stay Meeting June 3–4, Düsseldorf, Germany on the cutting edge bit.ly/1eO23iL UKOUG Public Sector Applications SIG Meeting Oracle HCM Users June 5, Solihull, England Group (OHUG) Global ukoug.org Oracle User Group Finland Conference Summer Conference June 9–13, Las Vegas, Nevada June 5–6, Espoo, Finland ougf.fi More than 1,600 Oracle Human Capital Management (Oracle HCM) users learn more about the products New England Oracle Applications they use and meet Oracle development experts. User Group Conference June 9, Worcester, Massachusetts Speakers, training, special interest groups, partner neoaug.org and expert sessions, and networking opportunities OUG Scotland are planned. ohug.org/global-conference-2014 June 11–12, Linlithgow, Scotland ukoug.org UKOUG Hyperion SIG Cloud Expo Framework and Oracle Fusion Applications June 12, London, England June 10–12, New York, New York development, Oracle Database, and more. ukoug.org fcloudcomputingexpo.com Georgia Oracle Users Group Meetings Leading cloud and big data experts and solution SAM Summit June 12 and July 10, Atlanta, Georgia providers offer technical and strategic breakout June 23–25, Chicago, Illinois gouser.org sessions, industry keynotes, panel sessions, and fsamsummit.com Bulgarian Oracle User Group an expo floor with two demonstration theaters. Software asset management (SAM) profes- Spring Conference sionals gather for 60 sessions devoted to SAM June 13–15, Sandanski, Bulgaria bgoug.org Interact 2014 best practices. Education sessions on Oracle June 22–25, Orlando, Florida software license management are offered. Austrian Oracle User Group Conference June 17, Vienna, Austria fbit.ly/1jquUwX aoug.at This conference for Healthcare Industry ÜberConf User Group members features more than June 24–27, Denver, Colorado Central States Oracle Application Users Group Workshop 70 sessions on using Oracle Applications fuberconf.com June 17, Kansas City, Missouri in healthcare environments. More than 525 The evolving Java ecosystem is the subject for csoaug.com professionals representing 90 organizations 160 technically focused sessions, including DOAG (German Oracle User Group) will attend. more than 25 hands-on workshops. SAP SIG Meeting June 30, St. Leon-Rot, Germany ODTUG Kscope NACUBO Annual Meeting xing.com/net/doag June 22–26, Seattle, Washington July 19–22, Seattle, Washington UKOUG Partner Forum fkscope14.com fbit.ly/1ghm94M July 10, London, England ukoug.org ODTUG’s annual gathering includes content for The National Association of College and developers, administrators, and business users University Business Officers (NACUBO) Java Forum Stuttgart on developer toolkit essentials, Oracle , convenes for educational sessions, regional July 17, Stuttgart, Germany jugs.org Oracle Application Express, Oracle Business breakout meetings, and training opportunities. Intelligence, Oracle Application Development UKOUG Public Sector HCM Customer OAUG Connection Point—AppsTech Forum and Workshop July 17, Solihull, England Events locator July 22–23, Pittsburgh, Pennsylvania ukoug.org fconnectionpoint.oaug.org Southwest Regional Oracle Applications Oracle Events Sponsored by the Oracle Applications Users User Group Meeting oracle.com/events Group, this low-cost, high-impact seminar is July 25, Irvine, California

mages Oracle User Group Events sroaug.com y I y designed for technologists who support Oracle oracle.com/us/corporate/customers/user-groups ett

G E-Business Suite.

oracle magazine May/June 2014

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

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

Videos E-Books reports to learn how integration between Oracle MySQL Workbench and MySQL Enterprise Consolidate Your Applications on Oracle VM and Oracle Enterprise Manager enables faster Online Backup Tutorial WebLogic Server and easier migration to private cloud. fbit.ly/NaOu30 fbit.ly/LJcGZb MySQL experts walk through the MySQL Learn from Oracle WebLogic customers how “Oracle Data Integrator 12c Resource Kit” Workbench online backup interface. consolidating on the latest release gave them fbit.ly/1fCxAEv better runtime capabilities and increased Access the latest technical information and Revolutionizing Server Economics efficiency, for both traditional data center and product roadmaps, as well as white papers and fbit.ly/1dmNuxF cloud operations. customer and partner success stories. Find out how the near-linear pricing of Oracle’s new SPARC M6 and SPARC T5 systems revolu- Meeting the Challenge of Big Data: Part Two Podcasts tionizes system economics. fbit.ly/1d5RfZe “Orient Overseas Container Line Touts the Discover how Oracle’s engineered systems and big Benefits of Oracle WebLogic 12.1.2” Access Oracle Database 12c Innovation with data analytics can help your business derive new fbit.ly/1alCHJ7 Premier Support value from big data. Hear about topics such as hot caching; Maven fbit.ly/1eC4uE7 support for developer productivity; and unified Tom Kyte highlights the latest features of and Why Oracle Database Runs Best on Oracle installation, configuration, and patching. enhancements to Oracle Database 12c that are Servers and Storage available to Oracle Premier Support customers. fbit.ly/1fCs9Fo Oracle University Learn how running Oracle Database with Oracle’s Training for Cloud Computing Webcasts latest hardware and storage can improve perfor- fbit.ly/1etCZgE “Simplify Enterprise Mobility” mance, reduce costs, and enhance reliability. Get the skills to build, manage, use, and evolve fbit.ly/1nJf9l4 your Oracle cloud solution. Oracle experts discuss the current state of enter- White Papers prise mobility and how Oracle’s mobile solutions “Top 10 Data Warehousing Trends and Solaris 11 System Administration Training help enterprises embrace mobile technologies. Opportunities for 2014” fbit.ly/1bkPkzz fbit.ly/MqqSXj Learn to install, administer, maintain, and trouble- “Simplify Integration with Oracle Cloud Read highlights of the major trends, problems, and shoot the 11 operating system. Adapter for Salesforce.com” breakthroughs in data warehouse technology. fbit.ly/1fpLtUb web locator Learn how Oracle Cloud Adapter for Salesforce “Data Security: Leaders vs. Laggards” .com alleviates the complexity and risks of running fbit.ly/1bWbb0b Oracle Consulting a mix of on-premises and cloud applications. Learn about the top security risks organizations oracle.com/consulting face, what characterizes a security leader, and the Oracle Events and Webcasts “Pella Revolutionizes the Digital Experience risks associated with falling behind. oracle.com/events for Customers, Partners, and Employees” Oracle Newsletters fbit.ly/1fYmCsn “Top 10 Reasons to Choose MySQL for oracle.com/newsletters Find out how technology enables continuous Online Retail” Oracle Podcast Center oracle.com/podcasts improvement throughout the manufacturing and fbit.ly/1bO9HbE Oracle University sales cycles at Pella. Learn why MySQL is a top choice to power online bit.ly/ouoramag retail applications. Oracle Support Calculators oracle.com/support Oracle VM Cost Calculator Resource Centers My Oracle Support fbit.ly/MTrgyj “Oracle VM Private Cloud Resource Kit” myoraclesupport.com See how you can drive cost savings with the com- fbit.ly/1cOkROx My Oracle Support Communities communities.oracle.com bined Oracle VM and products. Download white papers, podcasts, and analyst

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

May/june 2014 Oracle.com/oraclemagazine

MJ14_Resources.indd 12 3/27/14 3:10 PM oracle-tooltime-mar12-fullpage.pdf 1 3/12/2014 4:03:59 PM

Data Quality Tools

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

CY • Verify addresses, phones & CMY emails for over 240 countries Matching/ K Deduplication • Add phones, emails, geocodes & demographics

• Find, match, and eliminate duplicate records Change of Address • Move update services keep your contact data current

• Free trials with 120-day ROI guarantee

Melissa Data. Architecting data quality success.

www.MelissaData.com 1-800-MELISSA 14 Product Resources

TUTORIALS AND VIDEOS Enterprise Performance Management for Cloud

Oracle Database 12c: Advanced Oracle has announced the general availability enhancements that accelerate deployments, Security Video Series of its first enterprise performance manage- speed adoption, and simplify administration. Watch this three-part video series to learn ment (EPM) solution offered in the cloud, “We’ve seen a tremendous interest in about Oracle Advanced Security in Oracle Database 12c, including data redaction and Oracle Planning and Budgeting Cloud Service. adopting cloud-based solutions to stream- transparent data encryption. Oracle Planning and Budgeting Cloud line budgeting and improve forecasting,” „bit.ly/1gfepRE Service opens up opportunities for organi- says Hari Sankar, vice president of product zations of all sizes to quickly adopt a world- management at Oracle. Oracle Planning Oracle Database Quickstart class planning and budgeting solution and Budgeting Cloud Service “reflects our Take this Oracle by Example tutorial to get with no CapEx infrastructure investments. commitment to helping organizations of all up and running with Oracle Database 12c. The EPM cloud service builds on the robust sizes harness world-class enterprise perfor- „bit.ly/1nC6v6Q functionality of Planning, mance management in the delivery model Building a Change Request which includes agile forecasting and rich sce- of their choice,” says Sankar. Workflow Model nario analysis, incorporating cloud-specific bit.ly/O2P0js This tutorial demonstrates how to configure metadata and security for governance workflows in Oracle Data Oracle Mobile Security Suite: Unified BYOD Security Relationship Management. „bit.ly/1cKhdal Oracle Mobile Security Suite, announced personal applications and content on the in February 2014, extends Oracle’s identity same device. Using Virtual Private Database with and access management solutions to deliver “Oracle Mobile Security Suite brings the Oracle Database 12c an integrated platform from which organi- strength of Oracle’s identity management Watch this five-minute video to learn how zations can manage access to all applica- platform to mobile devices, and as a result to implement a security policy using the application context functionality of Oracle tions from all devices, both corporate and helps organizations address the BYOD [bring Database 12c. personal—including laptops, desktops, and your own device] challenge with a logical „bit.ly/1crl23Z mobile devices. approach,” says Amit Jasuja, senior vice Available as a standalone product or president of identity management and secu- Integrating Apache Hadoop with integrated out of the box with Oracle Mobile rity at Oracle. “By extending security and Oracle NoSQL Database Suite, Oracle Mobile Security Suite takes access capabilities to mobile devices, orga- With this tutorial, learn about the benefits of integrating Apache Hadoop with Oracle an application- and user-centric approach nizations can protect NoSQL Database, including the role of the that enables IT to efficiently and securely corporate resources Hadoop framework in big data, the NoSQL administer and manage access, providing a on employee devices APIs used to load data into Hadoop, and secure workspace that makes it possible for without compro- the steps for connecting Oracle NoSQL companies to separate and protect enter- mising the user Database with Hadoop. prise applications and data and enforce experience.” „bit.ly/OeG7DB policy while preserving the privacy of users’ bit.ly/1eamDX7 DOWNLOADS Oracle SQL Developer 4.0.1 Enhanced Apps for Oracle Utilities Release 4.01 of Oracle’s free integrated Oracle has announced new releases for two “Oracle Utilities Analytics 2.5 provides development environment includes a full Oracle Utilities applications. utilities with prebuilt analytics that enable interface for Oracle Database, Enterprise Oracle Utilities Analytics 2.5 introduces them to gain immediate insights into the Edition’s diagnostics pack; support for new prebuilt analytical and operational vast amount of data they bring in from Oracle Database 12c features such as dashboards to enable utilities to more effec- smart meters and smart grid deploy- Oracle Advanced Security data redaction policy management; and more. tively respond to storms, improve smart grid ments—to completely transform the cus- „bit.ly/1oGaiPo device management, and provide more- tomer experience, now and into the future,” efficient customer operations. says Rodger Smith, senior vice president Oracle SQL Developer Data Oracle Utilities Network Management and general manager for Oracle Utilities. Modeler 4.0.1 System 1.12 adds new functionality to help And, he says, new functionality in Oracle New features in Oracle SQL Developer Data utilities reduce operational costs, gain Utilities Network Management System 1.12 Modeler 4.0.1 include Oracle Database 12c support for IDENTITY columns and trans- process efficiencies, and improve customer “enable[s] utilities to accelerate service parent sensitive data protection policies for satisfaction. Additions include a network issue resolution and provide the visibility to sensitive types. management training simulator, conserva- optimize infrastructure, customer support, „bit.ly/1glxoX0 tion voltage reduction functionality, and and field response teams.”

enhanced damage assessment functionality. bit.ly/MUCrWp CHEN I-HUA

MAY/JUNE 2014 ORACLE.COM/ORACLEMAGAZINE

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

Oracle Marketing Cloud Adds Capabilities, Industry Solutions Oracle HCM Cloud Updates

Oracle has announced several new features “The features and enhancements will better Oracle has unveiled significant updates and enhancements as well as two industry enable modern marketers to quickly iden- to its cloud-based solutions for managing solutions for Oracle Marketing Cloud’s Oracle tify potential customers and optimize their and optimizing the end-to-end employee Eloqua Marketing Cloud Service product line. digital interactions across the customer lifecycle. The latest version of Oracle Human The new release of Oracle Eloqua lifecycle, from initial acquisition to cus- Capital Management Cloud (Oracle HCM Marketing Cloud Service extends support for tomer advocacy.” Cloud) offers more than 200 innovations, modern marketing with new content mar- In addition, Oracle has added to the including comprehensive modeling func- keting applications that enhance collabora- growing list of industry-specific solutions tionality for testing large-scale changes and tion, delivery, and measurement of content for Oracle Eloqua Marketing Cloud Service new social sourcing marketing programs; enhanced Oracle with solutions for wealth management and features for tapping Eloqua AppCloud development capabili- life sciences—flexible, cloud-based Oracle the power of social ties; and expanded integrations with Oracle Marketing Cloud solutions designed to networks. Sales Cloud and Oracle Social Cloud. address the unique marketing challenges “To be nimble “With the latest release of Oracle Eloqua, faced by those specific industries. Additional and competitive in a Oracle is extending the industry’s most industry-specific solutions include Oracle global and connected comprehensive marketing cloud and giving Eloqua Marketing for Entertainment world, organizations marketers an unparalleled ability to deliver Cloud Service, Oracle Eloqua Marketing for constantly need new and smarter ways to a customer experience that drives revenue,” Insurance Cloud Service, and Oracle Eloqua harness the best talent,” says Gretchen says John Stetic, vice president of product Marketing for Nonprofit Cloud Service. Alarcon, group vice president for product management for Oracle Marketing Cloud. bit.ly/NGD4UL strategy at Oracle. “The latest updates to Oracle HCM Cloud promote a more collab- Oracle Social Cloud Launches Open API Strategy for Paid Media orative, mobile, and engaging experience for global HR management, leading organiza- Oracle has launched an open API-based paid geted advertising at scale,” says Meg Bear, tions to take a more strategic approach to HR media solution for Oracle Social Cloud to group vice president, Oracle Social Cloud. and better capitalize on their talent.” deliver customers more choice and ongoing “Through our open API strategy, we can bit.ly/1gfjUMh expertise for paid social media capabilities. work with leaders in the business and “We believe this is the best solution to provide our customers a choice in their Oracle Buys BlueKai meet our customers’ needs to leverage social advertising technology options.” performance-based, data-driven, tar- bit.ly/1hu95Ic Oracle has signed an agreement to acquire BlueKai, the industry’s leading cloud- Oracle Cloud Adapters Simplify Integration Between Cloud and based big data platform. Oracle plans to integrate BlueKai technology with Oracle On-Premises Applications Customer Experience Cloud marketing and Oracle’s recently announced Oracle by simplifying integration, consolidating social solutions for B2C and B2B marketing Cloud Adapters help organizations easily toolkits, and reducing maintenance automation to deliver orchestrated and per- integrate applications regardless of costs. The new Oracle Cloud Adapter for sonalized customer interactions across all deployment location—in the cloud or on Salesforce.com, for example, can reduce marketing activities and channels. premises. Oracle Cloud Adapters cut devel- integration development time by half when “Modern marketers require new ways opment time by reducing the number of compared to traditional methods by dra- of acquiring, centralizing, interpreting, and manual and customized steps and are sup- matically reducing the number of manual activating customer data across marketing ported by Oracle SOA Suite, the industry’s and customized steps. channels so that they can enhance the most complete and unified application “Until now, organizations have relied on customer experience and maximize the integration solution. a mix of integration tools, each focusing return on their marketing spend,” says This unified integration approach on either cloud or on-premises applica- Steve Miranda, executive vice president between on-premises and cloud applica- tions,” says Demed L’Her, vice presi- for applications development at Oracle. tions reduces the dent of product management at Oracle. “The addition of BlueKai to Oracle time, cost, and “With Oracle Cloud Adapters, Oracle has Marketing Cloud enables marketers to act complexity of appli- extended our commitment to simplifying on data across both known customers and cation integration and securing key applications by unifying new audiences and precisely target cus- projects and helps the integration experience between cloud tomers with a personalized message customers lower total and on-premises applications.” across all channels.”

I-HUA CHEN I-HUA cost of ownership bit.ly/1fQcUEZ bit.ly/1dzQ0oN

ORACLE MAGAZINE MAY/JUNE 2014

MJ14_Briefs.indd 15 3/27/14 3:26 PM ISV Apps Run Better on Exadata

30x Lower CPU Utilization

6x Less Storage Used

90% Linear Scalability

70:1 Compression

30x More Scalable

Over 700 ISV Applications Are Certified on Exadata

oracle.com/partners/goto/exastack

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Interview by Caroline Kvitka 17

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

he latest release of the Java platform, “We’re unifying Let’s take an example. The new stream T Java 8, is a significant upgrade, libraries in java.util illustrate how it is now undertaking a coordinated coevolution of the language, the possible to take a more functional approach the virtual machine (VM), core language, to code in Java, which can make code more and libraries. Caroline Kvitka sat down platform, and compact and less error-prone, by allowing with Nandini Ramani, vice president, Java APIs as well as the programmer to focus on the “what” of Platform and Internet of Things, at Oracle, the problem being solved without getting to find out what’s new in Java 8, which modernizing the bogged down in the details of “how.” One encompasses Java Platform, Standard Java language way this approach pays off is that we can Edition 8 (Java SE 8) and Java Platform, now write code that need not be inher- Micro Edition 8 (Java ME 8). The following is and libraries.” ently serial or parallel, but can switch from an excerpt from that interview; listen to the sequential to parallel execution without full interview at oracle.com/magcasts. possible to some degree with anonymous having to rewrite the whole thing. If the Oracle Magazine: In a recent Java Magazine interclasses, but it was just too unwieldy user asks for a parallel execution, the library article, Chief Java Architect Mark Reinhold and required too much boilerplate code. takes care of partitioning, task decom- called Java 8 “revolutionary.” What are While lambdas enable developers to sim- position, and thread scheduling, leaving the top features that make it such a game plify the code they write every day, the key the user free to focus on the “what” of the changer for Java developers? benefit comes in when they are combined problem they are solving. And this is just Ramani: Java SE 8 is a big step forward in with new aggregate operations on collec- one of the many benefits enabled by this modernizing the Java language as well as tion APIs that have also been introduced in style of programming. modernizing the Java libraries. It’s the Java SE 8. This is really important—it’s the Oracle Magazine: Do users have to switch biggest upgrade ever to the Java program- combination of language and libraries that to new libraries in order to benefit from ming model, and it includes several new makes lambdas such a huge step forward. these abilities? features, including lambda expressions Ramani: No, because this illustrates the and default methods; a new date and time benefit of the other key new language API; Nashorn, the JavaScript engine; and feature of Java SE 8, called default methods, compact profiles. which is a mechanism that allows existing Oracle Magazine: What are lambda expres- libraries to evolve to gain new functionality sions, also known as closures, and why have over time, without breaking backward com- they gotten so much attention? patibility. We added these features to the Ramani: Good programming is about collection libraries Java developers already finding the right abstractions, and Java use every day. has always been very good at helping us Oracle Magazine: So do lambdas change the abstract over data. But one area where we way developers do their day-to-day jobs? saw we could improve was in abstracting Ramani: Absolutely, and hopefully at over behavior, such as allowing developers multiple levels. At the simplest level, their to effectively say “do this for every matching code can be more compact, but when element of this collection, and then do combined with the libraries like the stream

es that when you’re done.” Lambdas are that library I described above, developers will missing tool for describing these snippets be able to write code that is simpler and of behavior, and being able not just to pass more maintainable—as well as gaining the around data from one method to another, benefit of easier parallelism. I wish I had Adler/Gettyag Im Nandini Ramani, Vice President, Java Platform and

b Bo but also to pass around behavior. This was Internet of Things, Oracle this back when I used to program!

oracle magazine May/June 2014

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

Oracle Magazine: What is significant about “While lambdas enable developers to simplify the new date and time API? Ramani: The new date and time API reduces the code they write every day, the key benefit the complexity for developers when han- dling date and time, especially when having comes in when they are combined with new to cope with internationalization and local- aggregate operations on collection APIs that ization for different markets. While Java has always had an API for dates and times, the have also been introduced in Java SE 8.” existing library is more than 15 years old; it was time to re-engineer it from the ground Oracle Magazine: How do the compact pro- embedded solutions without having to up using modern design practices. files, which you mentioned earlier, fit into recompile or port their applications. So in Oracle Magazine: What about Nashorn? the convergence? the real world this means you can start with Ramani: Project Nashorn is a rewrite from Ramani: Compact profiles are a way for small microcontroller-type devices and go scratch of the JavaScript engine included developers to use a well-defined subset all the way to more-powerful systems like with the Java platform. When developers of the Java class libraries for applications gateways and concentrators. want to use both Java and JavaScript, where that is all that is required. So, if you’re Java ME 8 includes rich and standardized Nashorn can deliver significant perfor- just writing a small application, you don’t functionality that is becoming increasingly mance improvements and interoperability need to include the entire JRE [Java runtime required in advanced embedded deploy- between Java and JavaScript code. environment]. For situations where the size ments such as preintegrated software pro- Oracle Magazine: Java SE and Java ME are of the JRE is an issue, this will address those visioning and management, a flexible and heading toward a convergence. Can you give specific needs. robust security model, and standard com- us a little background on that and tell us Oracle Magazine: Speaking of writing small munication protocols. what steps Java 8 takes toward it? applications, let’s talk about the Internet Oracle Magazine: What are you most excited Ramani: Java ME is the Java platform stan- of Things [IoT]. What does Java ME offer for about in terms of Java 8? dard for resource-constrained and con- developers who want to build IoT devices? Ramani: We’re unifying the language, the nected devices where the full Java SE may Ramani: The Internet of Things brings huge platform, and APIs as well as modernizing not be a good fit. It allows Java to address opportunities, but along with it, significant the Java language and libraries, so it’s a a wide range of smaller embedded devices challenges for software development and big upgrade for the Java programming and use cases. specifically deployment. How do you develop model itself. Additionally, we are keen to We’re converging the language, the code efficiently for a wide and fragmented make it simple for developers to write and tooling, the libraries, and the APIs. The set of embedded platforms? How do you deploy applications all the way from small alignment between Java ME and Java SE ensure robust and secure software execution devices to the data center. Java SE 8 and creates a unified Java development model under particularly challenging conditions in Java ME 8 are huge milestone releases and allows code, skills, and tools to be most cases? toward that goal.  portable across the Java platform all the Typically, embedded software devel- way from small to very large systems. The opment involves specialized skills and Caroline Kvitka is large Java ecosystem of more than 9 million platform-specific tools as well as, in most editor in chief of Java developers and partners can now easily cases, low-level native programming. Magazine and a long- scale any of their innovations. Because the native programming approach time contributor to Java ME 8 is a significant update of the to embedded software development is Oracle Magazine. Java ME standard and is a major step toward often very fragmented, Java ME 8 alignment of Java SE and Java ME. Java ME is a purpose-built embedded software now supports most of the modern Java SE 8 standard that provides a consistent and Next Steps language features such as generics, annota- reliable application platform that shields tions, assertions, enumerations, and multi- developers from the complexity of the DOWNLOAD catch. Java ME 8 also supports recent Java SE underlying devices. Complexities of oper- Java SE 8 VM features and class file versions, allowing ating systems, device drivers, and so on bit.ly/OdfU8D the use of common tooling. are abstracted away, making software Java ME 8 Finally, Java ME 8 adds key Java SE development for embedded systems much bit.ly/1lDO7Jw APIs and libraries such as collections, easier. The Java ME 8 runtime is efficient WATCH the Java 8 launch webcast events, StringBuilder, logging, and other and highly scalable and allows developers bit.ly/1d2IyPL APIs and interfaces as well as subsets of to move and reuse their applications and READ the Java 8 issue of Java Magazine bit.ly/1krG1E3 NIO [New I/O]. business logic across a wide range of

May/June 2014 Oracle.com/oraclemagazine

MJ14_Interview.indd 18 3/27/14 3:51 PM Book Beat PARTNER NEWS 19

OCP: Oracle Database 12c Partners Earn Oracle PartnerNetwork Specialized Status Administrator Certified Professional Study Guide: Exam 1Z0-063 Four Oracle partners have earned Oracle been recognized by Oracle for its expertise By Robert G. Freeman and PartnerNetwork Specialized status for their in delivering services related to JD Edwards Charles A. Pack solutions. Specialized status is a level of rec- EnterpriseOne 9.0 solutions. Wiley ognition that spotlights the strengths and NuWave Solutions, an Oracle Gold wiley.com special skills of experienced and committed Partner, has achieved Specialized status Prepare for three levels Oracle partners. for Oracle Endeca Information Discovery. of certification with Branchbird, a big data analytics company The company turns data into usable infor- OCP: Oracle Database 12c and an Oracle Gold Partner, has achieved mation by combining the capabilities of Administrator Certified Professional Study Specialized status for Oracle Endeca data warehousing, business intelligence, Guide: Exam 1Z0-063. This guide has been updated for the Oracle Database 12c Information Discovery. Branchbird has and analytics. product release. It touches on database experience in practice management, Redstone Content Solutions, a provider architecture, configuration, and backup and product management, solution architec- of content solutions and an Oracle Gold recovery and includes tips for diagnosing problems, managing memory, managing ture, and product development, and has Partner, has achieved Specialized status for resources, and automating tasks. A work- successfully delivered customized Oracle Oracle WebCenter Sites. Redstone, founded book exercise appendix, chapter review Endeca Information Discovery implementa- in 2009, also holds Specialized status for questions, electronic flashcards, search- tions incorporating big data. Oracle Application Development Framework able PDF glossary, and two bonus practice exams enhance your preparation. Mitchell & Associates, an Oracle and Oracle WebCenter Content. Platinum Partner, has achieved branchbird.com Oracle WebLogic Server 12c Specialized status for Oracle’s JD Edwards maa-imcs.com Administration Handbook EnterpriseOne 9.0 financial management nuwavesolutions.com By Sam Alapati applications. Mitchell & Associates has redstonecontentsolutions.com Oracle Press oraclepressbooks.com

Designed as a combina- Aurionpro Becomes Oracle Platinum Partner tion reference and tuto- Aurionpro, a provider of consulting services Oracle WebCenter. With the status, rial, Oracle WebLogic Server 12c Administration and software for financial services and Aurionpro receives priority placement in the Handbook covers how to install, configure, supply chain management, has achieved Oracle PartnerNetwork solutions catalog, manage, and tune Oracle WebLogic Server Oracle Platinum Partner status for its one free application integration validated by 12c. Filled with expert management expertise in delivering Oracle Identity Oracle, discounted training, and more. techniques, detailed examples, and best practices, it also discusses managing Oracle Management, Oracle Applications, and aurionpro.com WebLogic Server security, understanding Oracle WebLogic Server application deploy- ment, working with Oracle WebLogic Server Silanis e-SignLive Now Included in Oracle Documaker clusters, and many other topics. Silanis Technology, an Oracle Gold Partner, paperless digital transaction, from genera- OCA Oracle Database 12c has announced that e-SignLive, its elec- tion to signing to indexing to storage of Installation and Administration tronic signature electronically signed documents. Electronic Exam Guide (Exam 1Z0-062) solution, is now signatures help ensure that documents By John Watson included in Oracle are reviewed in the correct order and that Oracle Press oraclepressbooks.com Documaker. Silanis necessary data and signatures are captured, e-SignLive within which can eliminate errors and improve OCA Oracle Database 12c Oracle Documaker customer service. Installation and creates a completely silanis.com Administration Exam Guide (Exam 1Z0-062) is a mixed-media handbook for preparing for the Oracle Database 12c Administration I Partners Create Oracle Accelerate for Midsize Companies Solutions exam, a required first step toward Oracle Two Oracle partners have created Oracle implementation methodology. Certified Associate and Oracle Certified Professional certification. This book and Accelerate for Midsize Companies solu- CapricornVentis, an Oracle Gold Partner, its related electronic content cover instal- tions—simple-to-deploy packaged solutions has created a solution for Oracle Service lation, configuration, application tuning, based on Oracle Business Accelerators. Cloud. Oracle Service Cloud enables retailers database management, backup and DAZ Systems, an Oracle Platinum to provide a seamless customer experience recovery, security, and more. Partner, has delivered a solution for Oracle across multiple touchpoints. Look for other Oracle books at bit.ly/NjG3KM. Financials Cloud. The new solution is based www.dazsi.com

I-HUA CHEN I-HUA on DAZ Systems’ FastTrack accelerated capventis.com

ORACLE MAGAZINE MAY/JUNE 2014

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

Partners Earn Oracle Validated Integration Peloton Announces

Four Oracle partners have earned Oracle device management, and on-demand CloudAccelerator Program for Validated Integration, demonstrating that native printing. Oracle Planning and Budgeting their solutions have been certified by Oracle Scout Exchange, an Oracle Gold Partner, Cloud Service as functionally and technically sound and has achieved Oracle Validated Integration integrated with Oracle Applications in a of Scout with Oracle Talent Management Peloton, an Oracle reliable, standardized way, and that they Cloud. Scout uses performance-based Platinum Partner operate and perform as documented. matching to connect employers with the specializing in CARCO Group, an Oracle Gold Partner, has most-appropriate recruiters for a specific enterprise perfor- achieved Oracle Validated Integration for its job. The solution also lets employers view mance manage- I-9 and E-Verify Solution with Oracle Taleo and accept qualified candidates based on ment and busi- Enterprise Cloud Service, part of Oracle Talent placement fees. ness analytics, Management Cloud. CARCO’s electronic I-9 Talent Q, an Oracle Gold Partner, has has announced the availability of its and E-Verify Solution helps employers main- achieved Oracle Validated Integration of CloudAccelerator program for Oracle tain a compliant and legal workforce while Talent Q Assessment Systems (Version Planning and Budgeting Cloud Service. eliminating paper-based processes. 2.5.1.3) with Oracle Talent Management Peloton, which has achieved Specialized Loftware, a provider of enterprise Cloud. Talent Q Assessment Systems is a status for Oracle Hyperion Planning, labeling solutions and an Oracle Gold multiphased assessment service that can be designed the CloudAccelerator program to Partner, has achieved Oracle Validated embedded into recruitment workflows. help its clients achieve faster, driver-based Integration of Loftware Spectrum with carcogroup.com planning system implementations that Oracle E-Business Suite 12.2. Spectrum loftware.com take advantage of the flexibility of Oracle’s features include label design, enterprise goscoutgo.com cloud-based solution.

integration, a business rules engine, talentqgroup.com pelotongroup.com CHEN I-HUA

MAY/JUNE 2014 ORACLE.COM/ORACLEMAGAZINE

MJ14_Partner_R1.indd 20 4/8/14 11:19 AM Community Bulletin Happenings in Oracle Technology Network BY ROLAND SMART 21

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.

Kscope14 ODTUG’s Kscope Oracle ADF is one of the most dynamic Development: Web, JOIN THE DISCUSSION AT and well-attended confer- ences for Oracle developers, Mobile, and Beyond administrators, architects, and IOT COMMUNITY business users. This year’s A new OTN video series shows you how to Oracle Technology Network (OTN) community members conference, Kscope14, takes place June 22–26 in Seattle, simplify your applica- are driving the rapid adoption and proliferation of embed- Washington, and it includes tion development with ded, intelligent devices. Some are calling this a new age of more than 250 technical ses- Oracle Application machine-to-machine technology, while others prefer the sions, more than 20 hands-on Development term Internet of Things (IoT). training sessions, and plenty Framework (Oracle of networking opportunities. In ADF), an end-to- At IoT Community (iotcommunity.net), OTN developers addition, Oracle ACE Directors end Java Platform, are engaging in lively discussions about the possibilities of will be at the ready to answer Enterprise Edition IoT, and sharing examples of how they’re already building your questions: this year framework. Explore an on top of existing technology. Here you’ll find expert con- they’ll be leading a number of introductory primer on Kscope14 lunch-and-learn versations and blog posts about how mobile devices can Oracle ADF’s out-of- sessions. Learn more and regis- the-box infrastructure become high-powered microscope kits; smarter precipita- ter at kscope14.com. services, browse tion sensors can improve agricultural yields; digital screen advanced Oracle ADF personalization can improve the retail experience; and more. topics, compare dif- Join the conversation at iotcommunity.net. ferent techniques for creating and extending enterprise apps for iOS and Android, or listen in HANDS-ON LAB: on Oracle ACE Director Deploying an Oracle RAC 12c Cluster Sten Vesterli (among “How to Deploy a Four-Node Oracle RAC 12c other Oracle ACE pre- Cluster in Minutes Using Oracle VM Templates” senters) as he shares is a step-by-step tutorial (see bit.ly/1ind7TV) the “Top 10 Secrets of by Olivier Canonge. With full support for Oracle Successful Oracle ADF Real Application Clusters (Oracle RAC) database deployments—and Projects.” Or, do it all: additional support for the Flex Cluster and Oracle Flex Automatic Storage you’ll find more than Management features of Oracle Database 12c—these Oracle VM tem- 10 how-to video guides plates allow the beginner and savvy alike to deploy and virtualize robust and presentations at

I-HUA CHEN; COURTESY OF DHERRERA_96 ON FLICKR OF DHERRERA_96 CHEN; COURTESY I-HUA applications in a matter of minutes. bit.ly/1j94xeR.

ORACLE MAGAZINE MAY/JUNE 2014

MJ14_Community.indd 21 3/27/14 4:44 PM 22 Architect By Bob Rhubart

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

n past issues of Oracle Magazine, this “You want your technology is to the twenty-first century I column has devoted a lot of attention to what the Industrial Revolution was to the how to become an architect and has shared solutions to have a eighteenth, nineteenth, and twentieth cen- the insight and expertise of working archi- turies, “ says Weir. “You become an architect tects as they discuss how they have devel- positive impact because you are passionate and you want oped and sharpened the various skills nec- on your business your solutions to have a positive impact on essary to thrive in that role. But this column your business or society.” has never addressed one simple, straight- or society.” As the last, lingering vestiges of the forward question: Why would anyone want —Luis Weir, Lead Architect, Oracle Solutions twentieth century fall away, it becomes to be an architect? Director, HCL AXON ever more obvious that the familiar The architects I contacted for responses mantra “every business is an IT business” to that question—my informal team of Ronald van Luttikhuizen, managing is expanding in scope with each passing expert advisors—were attracted to the role partner at Vennster and an Oracle ACE second—as every home becomes an IT because it requires a very specific combina- Director, also enjoys the problem-solving home; every automobile becomes a rolling tion of highly developed technical skills, aspect of the role. “As an IT architect you data center; and human beings, by virtue equally well-developed people skills, and a are in the unique position to have a real of evolving mobile devices, wearable com- keen ability to see and grasp the big picture, impact on the quality and usefulness of puters, and whatever comes next in that all wrapped up in a desire to be an instru- solutions for the business,” he says. “It’s astonishing progression, become ever more ment of change. like solving puzzles, but you still have the connected to each other and to the world Oracle ACE Director Lucas Jellema, opportunity to get your hands dirty by around them. How we make that journey, solution architect and CTO of AMIS helping in software realization.” and where that unpredictable path takes Technologies, describes the big-picture The ability to balance that kind of day-to- us, is the business of IT architects. Who focus as both the primary challenge and the day technical practicality with a vision for wouldn’t want to be a part of that?  greatest attraction for the role. “The mix of the future sets architects apart. competencies that is required; the potential “To be an architect is to think differently Bob Rhubart impact you have as an architect; and the from those around you, and to be able to ([email protected]) constant intellectual challenge of abstract, have a profound influence on the future is manager of the high-level, long-term strategic thinking one state of things,” says Clifford Musante, lead architect community moment and very operational, concrete, and architect with the Oracle Fusion Middleware on Oracle Technology detailed thinking the next is what makes it Architects team. “Architects are required Network, the host of the fun. You are in touch with so many people to simultaneously address the multiple Oracle Technology Network ArchBeat podcast and so many aspects of the project and the concerns of the business, the users, the series, and the author of the ArchBeat blog technology that it is hugely challenging and evolving state of technology, and the con- (blogs.oracle.com/archbeat). rewarding. Never a dull moment!” tinuous need for innovation and lower costs, Next Steps The architect’s job is “problem-solving all while providing more-robust and more- on a large scale, a struggle to align people reliable solutions. For those who can think and technology to accomplish a mixture coherently, completely, and across multiple LISTEN to “Are You Future-Proof?” of goals,” says Randy Stafford, architect- concerns simultaneously, what’s not to love bit.ly/1ovkYSx at-large for the Oracle Coherence product about a job like that?” “DevOps, Cloud, and Role Creep” development team at Oracle. “It’s gratifying Oracle ACE Luis Weir, Oracle solutions bit.ly/1gAJrzi work for someone with an analytical, engi- director at HCL AXON, describes the archi- READ neering mindset. Challenging, but stimu- tect’s role as fundamental to an IT revolution “Architects: Sell Yourselves, Save the World” bit.ly/1eSMZ0c lating and rewarding.” that is only just getting started. “Information

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

May/june 2014 Oracle.com/oraclemagazine

MJ14_Architect.indd 22 3/27/14 4:57 PM PEER-TO-PEER BY BLAIR CAMPBELL 23

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

KASHIF MANZOOR HAKAN BIROGLU ARIS PRASSINOS

Company: Raqmiyat, a systems integrator and the Company: Profource, a provider of specialized Company: Morpho, a company specializing in primary IT division of the Al Ghurair business group support to companies using Oracle technologies fingerprint, iris, and facial recognition systems, Job title/description: Oracle practice manager, Job title/description: Senior consultant, as well as rapid DNA identification responsible for consulting, implementation, responsible for architecture, application Job title/description: Chief engineer, project management, and delivering cost- development, and integrations using Oracle responsible for exploring, recommending, and effective solutions technologies implementing all database-centric technologies Location: Dubai, United Arab Emirates Location: Dordrecht, the Netherlands in use at the company Oracle credentials: Oracle Certified Oracle credentials: PeopleSoft Certified Location: Los Angeles, California Professional (Oracle9i Database, Oracle Application Developer, with 15 years of Oracle credentials: Oracle Certified Professional Database 10g), Exadata Database Machine experience using Oracle products (Oracle Database 11g), with more than 15 years of Models X2-2 and X2-8 PreSales Specialist, with experience using Oracle products four additional Oracle certifications and 10 years of experience using Oracle products How are you using cloud computing in your work these days? We run a hybrid How did you get started in IT? I specialized How are you using social media in your cloud with Oracle Fusion Customer in databases as part of my master’s degree. work? Quite frequently you’ll find me on Relationship Management in the My first position was as a lead database Twitter, LinkedIn, and Facebook, and I Oracle Cloud, and we run Oracle Fusion engineer with a successful startup. From also run an Oracle tech community called Applications in an on-premises private the beginning I made a conscious effort to ORAERP.com—The Knowledge Center for cloud model on the Oracle Virtual Compute really understand the internals of Oracle Oracle ERP Professionals. Appliance that we’ve built up with technologies and everything that DBAs What’s your favorite mobile application? InfiniBand and gigabit Ethernet switching do, and since then I’ve straddled both the Nowadays I’m getting all the latest between two data centers. developer and DBA worlds. information on my iPhone’s Oracle app. I’m What are you using for mobile computing? What are your favorite tools on the job? I like using it for My Oracle Support follow-ups on We have Oracle Tap for Oracle Applications TRCA, SQLT, LTOM, and DTrace. They give service requests and also to get the latest Cloud Service and the Oracle Fusion me the ability to do a systematic analysis of blog posts and information on events. Applications Release 7 simplified UI on the performance issues and quickly address the What’s been your favorite Oracle iPad for all employees. That’s cool stuff. The ones that matter most. technology conference experience? simplified UI is very nice for self-service. Which new Oracle technologies are you I’m an executive board member of the We’re eager to start using Oracle Fusion currently finding most valuable? Oracle Middle East Oracle User Group, and this Expenses and the new Oracle Fusion Time NoSQL Database is a great new technology position earned me speaking slots at and Labor tooling. for specialized use cases where a relational Oracle OpenWorld San Francisco in 2012 What’s your favorite thing to do that doesn’t database is not the best fit. I work and 2013. Both were great experiences. involve work? Well, my wife calls this work, extensively with low-latency distributed At the 2013 conference, I received an but I do not: If I am “not working,” I explore systems that handle both structured and Oracle Excellence Award in the category of new technologies and techniques that have binary data. Using Oracle NoSQL Database Proactive Support: Individual Champion. a direct relation to my work. I believe this in conjunction with the relational database It’s hard to express what a tremendous broadens my vision and allows great ideas allows me to develop systems that achieve honor this was. to emerge. the best of both worlds. t

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

ORACLE MAGAZINE MAY/JUNE 2014

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

Delivering at the Speed of Business

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.

These trends are putting a strain on traditional IT biggest technology advancement for SPARC servers in infrastructures, as companies look for better ways to more than a decade. provide enterprise applications and analytics to the The Fujitsu M10 servers are built on the advanced business and pursue initiatives such as big data and SPARC64® X and now the new SPARC64 X+ data center consolidation. It is becoming clear that processor. These processors include “Software-on-Chip” incremental modifications are not enough to keep up. technology created through the close collaboration IT groups need innovative approaches that will enable of Fujitsu and Oracle. Software-on-Chip moves some them to reshape the infrastructure to provide the routines from software programs to the circuitry of performance and scalability needed to keep up with the chip, increasing the speed of those routines. The the ever-evolving demands of the business. current Fujitsu M10 hardware and Oracle Solaris 11 software work together with this feature, and with A Leap Forward in Servers Oracle Database 12c plus patch, companies may The Fujitsu M10 server line is designed to be at the see an increase in performance of up to 25%, due to heart of that type of infrastructure. Drawing on Fujitsu’s Software-on-Chip. heritage of supercomputing—and its deep partnership The Fujitsu M10 also uses an in-memory pro- with Oracle® that is focused on SPARC® and mission- cessing concept, which means that data is accessed critical business computing—this server line offers the within memory in just nano-seconds, rather than the 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 Performance Together, these various Fujitsu technologies add up to dramatic increases in performance. In the first application performance including six months following its release, the response performance, which is Since its release, Fujitsu M10 set 14 world records in essential for real-time processing. the Fujitsu M10 has industry standard benchmark tests, Fujitsu M10 with a 16-CPU configu- including CPU-specific tests, such ration achieved the world’s highest set 14 world records as SPEC® CPU, and application-level performance on both critical-jOP- in industry standard tests, such as Java™ and SAP®. S(Java Operations Per Second) and A look at a few of these max-jOPS.” benchmark tests. benchmarks illustrates the level of The server’s ability to deliver performance improvement offered high performance has been Providing an by these servers: For example, in demonstrated outside the lab in real Agile IT Foundation the SPECint®_rate2006 benchmark, world usage, as well. For example, Business does not hold still, which looks at CPU performance and a telecom company that used the and that means that IT needs to throughput, the Fujitsu M10 server Fujitsu M10 in a server consolidation constantly adjust and adapt to provided twice the performance of effort achieved a 3X improvement requirements that can change the previous record-holding server. in performance. And a printing quickly—and often, unpredictably. And in the STREAM Triad benchmark, company that migrated from a Typically, this means expanding which looks at memory access and UNIX® platform to the Fujitsu server the infrastructure in step with throughput, it was five times faster saw a 2X improvement in response business growth, and doing so than the previous record holder. time and a 3X improvement in cost-effectively. “The SPECjbb®2013 bench- batch processing time. [See sidebar, The Fujitsu M10 addresses mark is designed to measure Java “Power for Global Expansion.”] this need with its innovative core ADVERTISING SUPPLEMENT

activation feature. The SPARC64 X and the SPARC64 X+ CPU equipment that is using power but not contributing to have 16 cores. When a company purchases a lower-end the bottom line. Fujitsu M10-1 with one CPU, all 16 physical CPU cores are In addition to high performance and flexibility, the already included in the box. They can be activated and Fujitsu M10 server design builds on Fujitsu’s history of paid for on an as-needed basis, making it easy to quickly providing mainframe-class reliability, availability and scale from 2 to 16 cores in increments of two, without serviceability technology. Its architecture includes many having to add any hardware. This core activation concept features that help ensure that business operations are not applies across the Fujitsu M10 product line, up to the interrupted and unscheduled downtime is not required to largest 64-CPU modular models. In short, core activation deal with failing hardware or software components. For may allow companies to license only what they need at example, redundant interconnect paths help minimize the core level, and keep computing power in step with the risk of errors and data corruption. Predictive self- changing demands—an approach that is highly cost- healing capabilities enable the operating system to work effective. with the server hardware to predict component failures Working hand-in-hand with core activation, the and minimize the impact of issues before they affect the Fujitsu M10 provides system’s operation. The Fujitsu M10 building block capabilities Fujitsu will keep delivering more with its Fujitsu M10 that enable simple, server line. This means continuing to expand Software- allows companies modular scalability. For on-Chip capabilities and providing features that further to keep computing example, if a company increase reliability, availability and serviceability. It also reaches the capacity means working with Oracle on innovative approaches power in step with limits with all 64 CPU to big data and other enterprise computing needs— changing demands. cores of a Fujitsu M10-4S and giving customers the technologies they need to be activated, it can quickly agile and responsive to successfully pursue today’s fast- add a second 2- or 4-socket box to the first without moving business opportunities. interrupting the system, and then grow that new box through the core activation process, as needed. This For More Information can be continued up to a maximum configuration of To find out more about the Fujitsu M10 server, please 16 boxes with 1,024 active cores and 32 terabytes of see these related documents: memory. • Accelerate and Consolidate the Data Center With these features, the Fujitsu M10 servers provide • Consolidate with Fujitsu M10 Servers tremendous flexibility and expandability. This enables • Accelerate Database Performance with the IT organization to not only optimize its investment Fujitsu M10 Servers when it first implements the system, but to keep Please visit our web site to view the full DNP case study. optimizing it over time. It essentially provides a “pay as you go” model—and helps avoid the all-too-common Additional information about the Fujitsu M10 server line problem of having to “overbuy” and ending up with can be found at www.fujitsu.com/sparc.

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. Power for Global Expansion

ai Nippon Printing Co., Ltd. (DNP) is one of the stable service for information world’s largest printing companies, but its business systems, from planning Dextends over a wide variety of fields, including and design to construction, Information Communication (e.g. publication printings operation, and maintenance. and digital signage), Lifestyle and Industrial Supplies When we investigated (e.g. packaging and lifestyle materials) and Electronics Fujitsu M10, the key points (e.g. display components and electronic devices). DNP considered were not just its has been actively expanding globally and now has 26 high performance, but its operational stability inherited sales locations and 13 manufacturing plants around the from mainframe reliability, the fact that it embraces the world. The processing for DNP exports is done primarily future potential and long-term support of Oracle Solaris, through its central overseas business system. The previous and its compatibility with Oracle Database. Specifically system had been constructed based on HP-UX, but it had 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 Tomoyasu Nagata Kazuo Kurosawa Shohei Yamashita Headquarters, DNP Information Systems. The database server works in conjunction with limitations in terms of expandability. For this reason, the application server and the backup server. Furthermore, DNP elected to replace the system using Fujitsu M10 Fujitsu’s one-stop-shop support delivers a quicker servers. resolution in the event of any issues. DNP needed a high performance system that could handle After installation, the database’s response performance increases in the amount of overseas business job data doubled. Batch processing performance has tripled, thus and additional users, and evaluated multiple vendors. greatly reducing overall processing time. Total opera- “We had been paying close attention to information about tional costs have been cut by nearly 35%, with software new, high-performance servers and [Fujitsu M10’s] high- maintenance costs kept down, and operational efficiency performance, based on supercomputer technology, was a increased by installing a backup server. step above conventional servers,” says Tomoyasu Nagata, Section Head of the Overseas System Section at DNP. “We Regarding future prospects, Mr. Nagata says, “We’re confirmed the figures backing Fujitsu M10 and it quickly planning to add more functionality leveraging CPU Core became a very suitable candidate.” Activation, which will allow us to flexibly expand the system as needed. With this function, we can scale up The final selection was done by DNP Information Systems when our business is ready while keeping initial costs Co., Ltd., which manages information systems for the down. We look forward to working with Fujitsu as they DNP Group. Mr. Kazuo Kurosawa, Department Head at continue to support us through leading-edge solutions DNP Information Systems, stated, “Our role is to provide a like Fujitsu M10 technology for big data processing.” 28

MJ14_CAF_R1.indd 28 4/8/14 11:25 AM 29 GROUND CONTROL Oracle Cloud Application Foundation solutions launch your cloud applications.

BY DAVID BAUM

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

I-HUA CHEN I-HUA shared pool of configurable computing resources.

ORACLE MAGAZINE MAY/JUNE 2014

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

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.

“Cloud computing has become an extremely critical design factor nation with Oracle WebLogic Server. Now we can support 500 con- for us,” says Shashi Kumar Ravulapaty, senior vice president and current sessions with no trouble—and have tested the system for as chief technology officer at Reliance Commercial Finance. “It’s one many as 5,000 users.” of our main focus areas. Oracle Exalogic, especially in combina- In addition, Oracle Cloud Application Foundation technolo- tion with Oracle WebLogic, is a perfect fit for rapidly provisioning gies enable Reliance to save significant time on provisioning and capacity in a private cloud infrastructure.” deploying new servers. Reliance Commercial Finance provides loans to tens of thousands “Business users formerly had to wait at least six weeks to receive of customers throughout India. With more than 1,500 employees a new server and then another two weeks to have it installed,” says accessing the company’s core business applications every day, the Ravulapaty. Now, using cloud functionality from Oracle, they can company was having trouble processing more than 6,000 daily provision applications in just a few clicks and deploy them in less transactions with its legacy infrastructure, especially at the end of than a day. each month when hundreds of concurrent users need to access the Oracle Cloud Application Foundation enables Reliance to utilize company’s loan processing and approval applications. public and private cloud services, anchored by a common middle- To address these issues, Ravulapaty looked to Oracle and its Oracle ware infrastructure. “Because Oracle uses open, standards-based Cloud Application Foundation technologies. By consolidating nine middleware technologies, once you standardize on that foundation servers onto a single Oracle Exalogic platform, Reliance optimized within your own data center, with your own private cloud, it is easy transaction throughput for its core applications and accelerated the to integrate public cloud services,” Ravulapaty explains. overall speed of processing loan transactions by up to 30 percent. For example, Reliance utilizes Oracle CRM On Demand, a public i “Previously, after 300 or 400 users were logged in, getting the cloud service that is integrated with the company’s core on-premises next session was a challenge,” recalls Ravulapaty. “Oracle Exalogic lending systems and contact center applications. “We have two public

is built for these kinds of challenges, especially when used in combi- cloud services and one on-premises private cloud that work together n Bhoja Namas

May/June 2014 Oracle.com/oraclemagazine

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

in an integrated fashion,” Ravulapaty con- These cloud capabilities are especially tinues. “Having everything based on Oracle snapshots popular among public sector organizations Cloud Application Foundation gives us the Reliance Commercial Finance such as VRSG, a nonprofit organization flexibility to integrate public and private reliancecommercialfinance.com that provides private cloud services to 260 cloud services.” Industry: Financial services municipal agencies in the German region of Headquarters: Mumbai, India Ravulapaty touts the inherent efficiency eastern Switzerland. Known to Swiss citi- Employees: 2,000 of Reliance’s new IT infrastructure: only Oracle products: Oracle Enterprise Manager, zens as Verwaltungsrechenzentrum AG St. two people manage the core information Oracle Exadata, Oracle Exalogic Elastic Cloud, Gallen, VRSG has developed e-government systems that support 2,000 people in 45 Oracle WebLogic Suite, Oracle Advanced applications to support taxation, residency locations. What’s the reason for such an Customer Support Services management, land use, facilities manage- efficient operation? According to Ravulapaty, ment, accounting, and other administrative VRSG Oracle Exadata, Oracle Exalogic, Oracle vrsg.ch functions for these Swiss municipalities. WebLogic, and many other parts of the Industry: IT services/government Application development, integra- infrastructure can be managed through a Headquarters: St. Gallen, Switzerland tion, and hosting is VRSG’s main business. common Oracle Enterprise Manager console. Employees: 270 Looking to the future, Christian Manser, Oracle products: Oracle WebLogic Server, This consolidated perspective has also head of operations and architecture at VRSG, Oracle Database, Oracle Exadata Database enabled Reliance to resolve bottlenecks in Machine, Oracle Exalogic Elastic Cloud, Oracle and his colleagues anticipated the need its business processes, such as critical batch Real Application Clusters for greater application hosting capacity, processes that previously took nearly 11 particularly for their resident management hours to complete. “One key batch process TUI Travel PLC, Hotelbeds division software application, which includes infor- tuitravel.com for loan approvals took 652 minutes to mation about Swiss citizens. Industry: Travel and leisure run,” Ravulapaty adds. “After we ported our Headquarters: Palma de Mallorca, Spain To support these requirements, VRSG information systems to Oracle engineered Oracle products: Oracle WebLogic Server, decided to modernize its technology stack systems, it only took 61 minutes.” Oracle Coherence, Oracle Database, using Oracle Cloud Application Foundation. Oracle Exadata Database Machine, Oracle First it developed Java Platform, Enterprise WebCenter Content, Oracle JDeveloper, Public Foundation Edition (Java EE) applications and Oracle JRockit According to Mike Lehmann, vice president migrated them to Oracle WebLogic Server of product management at Oracle, while in an Oracle Exalogic application server the Oracle Cloud Application Foundation name is relatively new to environment. Then it upgraded its database assets to Oracle the Oracle Fusion Middleware family, its fundamental application Database 11g and installed them on an Oracle Exadata platform. server, in-memory data grid, and web server technologies have “We needed a high-performance, multitenant environment been tested and proven for many years. “Clustering, virtualization, that could support numerous agencies and customers,” says Neil and administrative automation allow organizations to scale their Swart, database administrator at VRSG. “We compared Oracle’s Oracle Cloud Application Foundation–supported applications hardware and software systems against IBM mainframe and com- incrementally and adjust resources to meet business priorities, modity Intel x86 systems. Our tests confirmed that our applica- bolstered by advanced methods for cloud deployment, manage- tions ran best on Oracle Exalogic and Oracle Exadata over an ment, and security,” Lehmann notes. InfiniBand network.”

Oracle Java Cloud Service

Many organizations look to cloud-based devel- WebLogic Server and hosted on Oracle Exalogic, proven strategy for developing and deploying opment platforms to build and deploy new an engineered system optimized to run Java applications without the cost and complexity of applications quickly. Using these platforms may applications, Oracle Applications, and other managing the underlying middleware, database save an IT department weeks or even months enterprise applications. software, and infrastructure hardware. By utiliz- of development and deploy­ment time. But what As a platform-as-a-service (PaaS) envi- ing this cloud service, businesses can maximize if application usage escalates beyond the ronment, Oracle Java Cloud Service includes productivity, with instant access to cloud envi- constraints of the chosen infrastructure? How subscription-based pricing; self-service pro- ronments that support any Java EE application.” do you integrate public cloud applications with visioning; and access to reliable, scalable, and Oracle Java Cloud Service supports popular on-premises applications? Is there any guaran- elastic cloud environments. Organizations can development frameworks such as Oracle tee of cloud-based application performance? use Oracle Java Cloud Service to build new Java Application Development Framework, Spring, Oracle designed Oracle Java Cloud Service applications or extend software-as-a-service Hibernate, and EclipseLink. It integrates with to alleviate these concerns by enabling (SaaS) applications deployed in Oracle Cloud. commonly used integrated development envi- businesses to take advantage of a proven, “The idea behind Oracle Java Cloud Service ronments (IDEs) including Eclipse, NetBeans, standards-based infrastructure for implement- is to provide an enterprise-grade platform and Oracle JDeveloper. Oracle Java Cloud Service ing cloud applications, complete with integrated to develop and deploy business applications instances are created with just a few clicks , and security and database access. Each Oracle Java in the cloud,” notes Mike Lehmann, vice presi- deployed applications use Oracle Database Cloud Cloud Service instance is built using Oracle dent of product management at Oracle. “It’s a Service as their underlying database.

oracle magazine May/June 2014

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

Choosing the best solution, VRSG deployed the “The applications on Oracle Exalogic, new Oracle-based infrastructure at two data centers approximately 10 km apart. VRSG uses Oracle Data in particular, are very fast—and Guard to synchronize these mirrored environments in an active/active failover architecture. simpler to maintain.” “We leverage the complete power of Oracle —Christian Manser, Head of Operations and Architecture, VRSG Exalogic and Oracle Exadata in both locations, with one site for development, training, and acceptance testing and the Travel PLC. “I don’t want to deal with multiple types of application other for production,” explains Manser. “Both environments can servers and caching solutions.” easily be switched from one site to the other.” This philosophy of standardization became especially important The foundation of the VRSG infrastructure is now a private cloud as the company grew and expanded its operations. Rua realized that that allows hundreds of agencies to leverage economies of scale using open source application servers at Hotelbeds could be too while maintaining autonomy in overall governance. By utilizing costly and complex to manage. In addition, the division’s middle- highly efficient cloud-based applications and services, these orga- tier database cache could not adequately support web traffic during nizations are able to focus on their core charter of serving the public. busy periods, such as holiday weekends. VRSG’s residency management application and most other After a rigorous evaluation process that included analyzing e-government applications rely on Oracle Cloud Application the total cost of ownership of Oracle WebLogic Server 12c versus Foundation, and the Oracle technology is delivering better per- open source application servers, the Hotelbeds division decided to formance and manageability. “Performance improved across the migrate its entire application ecosystem to Oracle WebLogic Server. board,” adds Manser. “The applications on Oracle Exalogic, in par- Additionally, TUI Travel opted to replace its open source caching ticular, are very fast—and simpler to maintain.” systems with Oracle Coherence 12.1.2, the in-memory data grid of Oracle Cloud Application Foundation. According to Rua, Oracle Cached Foundation Coherence significantly outperformed other caching systems during When TUI Travel PLC, one of the world’s leading travel services transactional tests prior to implementation. companies, decided to aggregate all of its customer-facing business Hotelbeds’ business operations require the efficient manage- applications onto a single application server platform, IT leaders ment of large volumes of information. One important business rallied around a common theme: standardization. operation involves transferring passengers to and from airports, “I like to standardize,” says Facundo Rua, head of technology for hotels, and other destinations—a service that TUI provides to travel Activities, Transfers & Experiences at the Hotelbeds division of TUI 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 s

Coherence using the Oracle Coherence e g

GoldenGate HotCache feature. Instead ma of just 8,000 fixed routes, we now can support an infinite number of routes based 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 on any GPS coordinates.”

testing and the other for production,” says Christian Manser, head of operations and architecture at VRSG. Buoyed by the success of the Transfers Spiller/GettyWilly I

May/June 2014 Oracle.com/oraclemagazine

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

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

project, Rua and his team decided to use Oracle Coherence to cache become more and more important. “It all comes together in Oracle information related to its activities and rental car businesses as well. Cloud Application Foundation,” concludes Oracle’s Lehmann. “The results were amazing,” continues Rua. “Previously we “Hundreds of thousands of customers run their workloads on Oracle could process 400 requests per second at peak load. With Oracle Fusion Middleware products, and even if they aren’t yet imple- Coherence we can handle 3,000 requests per second or more, and menting clouds, Oracle enforces standards that set up customers we are seeing response times between 7 and 15 milliseconds. It is a for successful cloud deployments down the road. That’s how these true performance breakthrough.” middleware products will continue to evolve.”  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 David Baum is a freelance writer who specializes in the intersection of our growth objectives would have been impossible,” he notes. science, technology, and culture. “Standardizing on Oracle WebLogic has simplified our IT environ- Next Steps ment and allowed us to deploy new applications more quickly. We have been able to provide services that our customers didn’t have LEARN more about

es before. Being able to provide access to these services in milliseconds Oracle Cloud Application Foundation ag has been amazing.” oracle.com/us/products/middleware/cloud-app-foundation Oracle Exalogic Elastic Cloud oracle.com/us/products/middleware/exalogic Concluding Foundation As organizations implement cloud environments to host critical WATCH Getting Started with the Oracle Java Cloud Service m Lubroth/Getty Im

a bit.ly/1dk38k3

Ad business workloads, scalability, reliability, availability, and elasticity

oracle magazine May/June 2014

MJ14_CAF.indd 33 3/28/14 3:53 PM YOUR DESTINATION FOR ORACLE AND JAVA EXPERTISE Written by leading technology professionals, Oracle Press books offer the most definitive, complete, and up-to-date coverage of Oracle products and technologies available.

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

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.

Available in print and eBook formats

www.OraclePressBooks.com @OraclePress OraclePress Middleware Developer Business Analytics By Mark Rittman 35

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

racle Data Integrator 12c introduces VirtualBox—available; you can download it deployment specification capability within Oseveral new tools aimed at increasing to your development environment and use Oracle Data Integrator 12c that enables you developer productivity, improving data it to try out the new tools in Oracle Data to create more than one physical specifica- loading performance, and enabling closer Integrator 12c without having to separately tion for a mapping so you can create a single integration with Oracle Fusion Middleware. install and configure all the components. mapping definition that handles initial as well Probably the most exciting of these (Note that this appliance is meant for testing as incremental loading scenarios. new tools, particularly for users of Oracle and training purposes only and is not sup- If you have not done so already, Database’s Oracle Warehouse Builder feature ported for use in production environments.) download the Oracle Data Integrator 12c who are looking to upgrade to Oracle Data Getting Started appliance from the Oracle Integrator, is the new “flow-based” mapping Creating a Flow-Based Mapping Technology Network website at bit.ly/ editor. While the more traditional set-based In this example, I explore one of the new flow- 1fgfdpn and follow the instructions to mappings are still supported by Oracle Data based mappings within the sample Oracle extract the Oracle VM VirtualBox appliance Integrator, the flow-based user interface Data Integrator 12c project in the Oracle files and log in to the appliance. (This dem- enables you to create rich multistep map- Data Integrator 12c Getting Started Oracle onstration appliance includes a partially pings that move and transform data by using VM VirtualBox appliance. I demonstrate how created Oracle Data Integrator 12c project a palette of mapping operators. mappings include source and target data within the work repository.) Once you’ve Oracle Technology Network has also store objects and make use of mapping oper- installed and logged in to the appliance, made the Oracle Data Integrator 12c ators to filter, aggregate, sort, and otherwise double-click the Oracle Data Integrator 12c Getting Started appliance—an Oracle VM transform data. I also take a look at the new Studio icon on the desktop and, when

Figure 1: The Oracle Data Integrator 12c mapping editor

oracle magazine May/June 2014

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

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 Figure 2: Displaying the properties of the TRG_PRODUCT data store in the mapping editor should be very familiar to you. You now create Oracle Data Integrator 12c mappings by dragging and it is displayed on the right-hand side of the figure the failed mapping for incremental dropping data store items from the Models screen. You will see that it failed because of loading, I would typically change the inte- panel on the left-hand side of the screen a unique constraint violation on the target gration knowledge module to one that uses onto the mapping canvas. Data flows are table. But why did that happen? an incremental load strategy—IKM Oracle drawn between the various data stores, and To investigate, click back to the Pop Merge, for example. If I wanted to preserve operator components transform the data. .TRG_PRODUCT tab on the right-hand side of the original Control Append version of the In this example, data from the SRC_ the screen in Oracle Data Integrator Studio mapping in earlier versions of Oracle Data PRODUCTS table is joined with data from to open the mapping editor again. Ensure Integrator, I needed to create an additional the TRG_PROD_FAMILY table, and then it is that the Logical tab is still selected, and then copy of the mapping that used the incre- passed through a Distinct operator before click the TRG_PRODUCT data store in the mental load knowledge module. And if I being loaded into the TRG_PRODUCT mapping to select it. Navigate to the TRG_ wanted to continue using both mappings, I target table. PRODUCT – Properties panel at the bottom then needed to keep the logical definition of Let’s try to execute the mapping. Click right of the screen, and expand the Target each mapping in sync over time. Run (the green triangle) in the Oracle Data properties section, as shown in Figure 2. Oracle Data Integrator 12c, however, Integrator Studio toolbar, leave the default The integration type for this mapping is introduces a new enhancement called Run option values, and click OK. When the Control Append, which means that Oracle deployment specifications that enables you Information dialog box displays the “Session Data Integrator will always insert all the to create additional physical definitions Started” message, click OK to dismiss it. rows from the source transformations into for a single mapping. I’ll now use this To see the status of the mapping the target table, even if they’ve already been enhancement to create an additional incre- execution, select Window -> ODI Operator loaded. This is why the target table’s unique mental load version of the mapping that I Navigator (you may need to close the key constraint was violated and the mapping can use to update the target table after the Thumbnail panel at the top left of the screen execution failed. This type of integration initial load. to see the Operator Navigator properly after approach is appropriate when you’re first To get started with deployment speci- it opens). Expand the Agent entry on the loading a target table, but after the initial fications in the Oracle Data Integrator 12c Session List panel, and then expand the load, you’ll typically want to incrementally Getting Started appliance, do the following: entries under your agent execution, so that update the table with new data. Before you create the new deployment you can see the 90 – Load TRG_PRODUCT – specification, you will need to change the IKM Oracle Insert entry. See how the execu- Creating a Deployment Specification target Integration Type setting in the logical tion of this step has failed? Double-click Oracle Data Integrator separates mappings mapping definition to enable incremental the step itself, and read the error message; into logical and physical definitions. To con- loading as well as Control Append loading.

May/June 2014 Oracle.com/oraclemagazine

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

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 Figure 3: Configuring the additional deployment specification expand the Integration Knowledge Module properties area. Note specification, save your updated mapping Mark Rittman is an how the Integration Knowledge Module value definition and click Run. When the Run Oracle ACE Director and has automatically changed to IKM Oracle dialog box appears, select your new deploy- cofounder of Rittman Merge.GLOBAL. Change it back to IKM SQL ment specification from the Deployment Mead, an Oracle Gold Control Append, so that the functionality of menu to use it for the mapping execution. Partner based in the UK, this original deployment specification stays Check the Oracle Data Integrator with offices in the US, as it was before. Operator Navigator panel; you should see India, and Australia. Rittman has worked with Now navigate to the bottom of the this mapping execution complete success- Oracle’s business intelligence, data integration, mapping editor and click the Create new fully, because it will not have attempted to and data warehousing products for more than deployment specification button next to the write existing values back into the target 15 years, and he writes for the Rittman Mead existing Pop.TRG_PRODUCT_DS tab. table. You could also use this approach blog at rittmanmead.com/blog. By default, the new deployment specifi- to create deployment specifications that cation is given the name Deploy1. To change leverage Oracle GoldenGate for changed- it, navigate to the Deploy1 – Properties data capture or use other loading, integra- Next Steps panel on the right-hand side of the screen tion, or check knowledge modules for a READ more about Oracle Data and change the Name property to Pop logical source-to-target data mapping. Integrator 12c .T R G _ PR O D U C T_ IN CR _ D S . bit.ly/Phe3Rd You’ve created an additional deployment Mapped and Specified “Making the Move from Oracle specification, and now you can configure The new flow-based mapping editor in Warehouse Builder to Oracle Data Integrator 12c” it to use an incremental load integration Oracle Data Integrator 12c enables you to bit.ly/1lMgurQ knowledge module. To do so, click the create multistep source-to-target mappings READ more Rittman TRG_PRODUCT data store icon in the ODI_ that can have multiple physical specifica- Rittman Mead blog DEMO_TRG_UNIT execution unit and then, tions associated with them for different rittmanmead.com/blog when its Properties panel is displayed, check types of load scenarios. Although you can Oracle Magazine business intelligence columns that the Integration Knowledge Module still create traditional set-based mappings bit.ly/1cci4Od value is set to the default IKM Oracle Merge in the new release, most developers will DOWNLOAD .GLOBAL, as shown in Figure 3. want to adopt this new way of mapping Oracle Data Integrator 12c Getting Now your mapping has two physical defi- data in Oracle Data Integrator 12c, due to Started appliance (VM) nitions associated with it: one for the initial its ease of use, increased functionality, and bit.ly/1fgfdpn load and one for subsequent incremental incorporation of the best aspects of Oracle Oracle Data Integrator 12c bit.ly/NeIDsI (merge) loads. To test your new deployment Warehouse Builder. 

oracle magazine May/June 2014

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

Database Application Developer and DBA SQL Developer By Jeff Smith 39

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

ithout adequate design documen- Oracle SQL Developer Data Modeler— in Figure 1. After you generate the diagram, W tation, it can be difficult for your automatically included as an extension in you’ll see how you can customize your dia- Oracle Database application’s stake- Oracle SQL Developer (and also available grams and share them in various formats holders to understand how the database in a standalone version)—makes it easy to with your colleagues. entities are defined and how they interact produce ERDs and share them with others with one another. A logical model—repre- who need to review or approve the data- Getting Started sented by an entity relationship diagram base design. To work through the example, you need (ERD)—clarifies these definitions and rela- This column steps you through the an Oracle Database instance with the tionships. For example, an ERD can show process of creating a relational data model sample HR schema that’s available in at a glance that multiple departments can from an existing database and then con- the default database installation. You be associated with an employee or that a verting the relational model to a logical also need version 4.0 of Oracle SQL country can include one or more locations. model and a resulting ERD, such as the one 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 Dictionary A 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 Figure 1: Entity relationship diagram information on creating a connection

oracle magazine May/june 2014

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

from Oracle SQL Developer, see “Making An ERD represents entities and their attri- the ERD to appear. You now have a logical Database Connections,” in the May/ butes and relations, whereas a relational or model and diagram. Note that the JOBS_ June 2008 issue of Oracle Magazine physical model represents tables, columns, HISTORY table is the JOBS HISTORY entity [bit.ly/1kcO8mZ].) and foreign keys. For example, a logical in the logical model. Select your connection, and click Next. “person” entity might be implemented phys- Before you share your diagram, you can You see a list of schemas from which ically in the database as one or more tables. customize its appearance and the informa- you can import. Type HR in the Filter box To generate a logical model from your tion it shows. to narrow the selection list. Select the relational model, you’ll use the Engineer checkbox next to HR, and click Next. to Logical Model feature of Oracle SQL Customizing the Diagram In the Tables tab, click the Select All Developer Data Modeler. Before con- To resize the entity objects to be only large toolbar button to select all tables for import, tinuing, save your relational diagram with enough to show their names and attri- as shown in Figure 3. a name of your choosing (File -> Data butes, right-click in the blank portion of the Now, open the Views tab and select Modeler -> Save). The same name will be diagram and select Resize Objects to Visible. the HR checkbox. For this exercise, you’ll used for the design. You can use your mouse to select, drag, import only the tables and views from the and drop entities and their relationships to HR schema. For your own applications, you Engineer to Logical Model wherever you want them to appear. Oracle can cycle through each object-type tab and In the Browser tree, expand the Relational SQL Developer Data Modeler also offers select any objects you want to include in Models node, right-click Relational_l, and four automatically generated diagram your model and diagrams. select Engineer to Logical Model to open object layouts. Right-click in the diagram Click Next. Oracle SQL Developer the Engineer to Logical Model dialog box. space again, and select one of the Auto Data Modeler summarizes the types and By default, everything in the relational- Layout options. numbers of objects to be imported. Click model tree (on the left) is brought over Oracle SQL Developer Data Modeler sup- Finish to execute the import and generate to the logical-model tree (on the right) ports three styles of logical-design notation: the design. for you. Note that as you select an item in • Barker (the default) Close the View Log and take a look at your either tree, its details appear in the bottom • Bachman new relational model and diagram, which panel. You can also view the objects in the • Information Engineering should look similar to Figure 4. Tabular View tab. To change the notation style, right-click The diagram you’ve generated is not an When you are ready to generate your in the diagram space and select Bachman ERD. Logical models are higher abstractions. logical model, click Engineer and wait for Notation. Note that Bachman notation

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

May/june 2014 Oracle.com/oraclemagazine

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

adds the attribute datatype information to displays in Oracle SQL Developer Data display. You can use the buttons below the diagram. Resize the objects to visible, Modeler. Each display is an independent your ERD to toggle between this new and cycle through the Auto Layout options visual presentation of your model diagram. display (labeled Display_1) and the original to optimize the spacing and display of the Now you’ll create one display for each diagram (labeled Logical). Right-click in entities again. notation style. Display_1, and change the notation style Your business users may have con- In the Logical Model tree in the Browser, back to Barker. flicting requirements for the look and feel right-click the Displays node and select Expand the Displays node in the Browser of their diagrams. You can create multiple New Display to create a new diagram tree, right-click on the Display_1 node,

Figure 4: Relational model and diagram for HR

oracle magazine May/june 2014

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

and select Properties. Change the name to You are now ready to share your ERDs to resize the diagram to an optimal size. Barker, and click OK. Repeat the process in with your colleagues. When the entities are easy to see, select the preceding paragraph to create another File -> Data Modeler -> Print Diagram -> To new display. This time change the nota- Exporting an ERD PDF File. Choose a filename and directory tion style to Information Engineering and You’ll export the Information Engineering location, and click Save. reflect this change in the display name. display to a PDF document. Right-click in the Locate the generated PDF in its saved Finally, you’ll add a legend that will help diagram space, and select Show -> Page Grid location. You can view the ERD in a PDF document the diagram by showing your OS to activate a marker that shows where your reader, as shown in Figure 5, and share the username, creation date, and other proper- PDF page breaks will occur. For readability, file with your colleagues. ties of the design. Right-click in the diagram make sure that your diagram items don’t space in any one of the displays, and select bleed from one page into another; drag and Conclusion Show -> Legend to add the legend to your move them if necessary. This column has stepped you through the diagram. Drag and drop the legend to an Next use the Zoom In button in the process of using the Data Dictionary Import acceptable location in the diagram. Oracle SQL Developer Data Modeler toolbar 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. 

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.

Next Steps

LEARN more about Oracle SQL Developer bit.ly/1evd08S Oracle SQL Developer Data Modeler bit.ly/1f0dLDI DISCUSS Oracle SQL Developer bit.ly/Ni8pwF Oracle SQL Developer Data Modeler bit.ly/1cuEhEv PARTICIPATE in the Oracle SQL Developer Exchange sqldeveloper.oracle.com DOWNLOAD Oracle SQL Developer bit.ly/tGl3GL Oracle SQL Developer Data Modeler bit.ly/NvIHVg Figure 5: The exported diagram matches the size shown in Oracle SQL Developer Data Modeler.

May/june 2014 Oracle.com/oraclemagazine

MJ14_SQLDev.indd 42 3/28/14 11:44 AM DBA Partitioning by Arup Nanda 43

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

he lead DBA at Acme Bank, Jane, is Jane nods and asks her visitors where storage, whereas the older partitions— T listening to questions from her devel- they want to start. accessed less frequently—are stored in the oper and DBA visitors. As covered in the TSSLOW tablespace on slower, less expen- September/October 2006 Oracle Magazine Online Partition Move sive storage. At the end of each month, the article “Partition Decisions” (bit.ly/H9fhZL), Scott, the development lead, responds by DBAs move the previous month’s partition Acme uses the Oracle Partitioning option describing the first problem. Acme has a to the TSSLOW tablespace to make room for of Oracle Database 12c extensively. When database table named TRANS for storing the new month on the TSFAST tablespace. data needs to be purged, Acme DBAs drop account transactions; it is partitioned on The problem, Scott explains, is that when the partition—instead of deleting tables—to the transaction date (TRANS_DT) column the partition is moved to the TSSLOW reduce database overhead. To move older and adds one new partition per month. The tablespace, the partition being moved stays data to archive tables, Acme exchanges par- table has a global index on the transaction in read-only mode, so no data manipulation titions instead of physically moving them, ID (TRANS_ID) column and a local index language (DML) can execute against that and when rebuilding indexes, Acme rebuilds on the account number (ACC_NO) column. partition until the move command finishes the indexes partition by partition. In general, (Listing 1 includes a script that creates the executing. Because Acme’s applications Acme is very happy with Oracle Partitioning table and indexes.) perform DML against the TRANS table— features, but Jane’s visitors want to know if To reduce costs, Acme uses different types including the moving partition—Scott has to new partition features in Oracle Database of storage. The newer partitions—accessed bring the applications down until the parti- 12c can address some routine pain points most often—are stored in the TSFAST tion move is completed, to the displeasure of they’ve been experiencing. tablespace, which is on very fast, expensive the application users.

Code Listing 1: Creation of the TRANS table and its indexes

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 - local create 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, en partition y04m01 tablespace tsfast Ch ); -Hua -Hua I

oracle magazine May/june 2014

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

Scott wants to know if there is a better enables the move partition operation to concern. The users select data from the way to move the partitions without having occur online without requiring the applica- TRANS table by filtering on several columns, an impact on the application users. Yes, tions to shut down or limiting operations so the DBAs are asked to create multiple there is, assures Jane. In Oracle Database to read-only queries. Scott is pleased, but indexes on various columns of the table. 12c, partition movement does not require he wants to confirm the status of the global However, indexes consume precious data- the partition being moved to be in read-only index and the partitions of the local index on base space. When the DBAs try to save space mode, so it can be 100 percent available for this table. First Jane checks the status of the by not creating some of the indexes, the DML during the move. To demonstrate that global index, using the following query: queries filtering on those columns perform availability, she steps through an example. poorly. Users typically select from more- First, because the new month is February, select status recent partitions, so DBAs try to save some she creates the partition for February 2014 from user_indexes space by compressing the older partitions of (named Y14M02) on the TSFAST tablespace, where index_name = 'PK_TRANS'; the indexes, but the total space consump- using the following SQL statement: tion is significant even with the compres- STATUS sion. Space limitations force the DBAs to alter table trans add partition y14m02 ————————— drop indexes on some columns to make values less than (to_date('2014- VALID room for new indexes on other columns, 03-01','yyyy-mm-dd')) tablespace tsfast; and there is a constant tug-of-war between The status shows VALID, meaning exactly the development and DBA teams due to the Next she moves the partition for January that: the global index is still valid and does issue of index creation on columns. Traci 2014 to the TSSLOW tablespace with the fol- not need rebuilding. Next, she checks the wants to know if there is a way to create as lowing SQL statement: status of the partitions of the local index, many indexes as needed and still save space. using the following query: Yes, there is, assures Jane. Indexes, alter table trans move partition y14m01 when created, are for all the partitions of tablespace tsslow update indexes; select partition_name pname, status the table, whether or not they are useful for from user_ind_partitions all of them. Oracle Database 12c includes Jane reminds her visitors that the where index_name = 'IN_TRANS_ACC_NO'; a new feature called partial indexes, she UPDATE INDEXES clause in the SQL state- explains, that enables the DBA to create ment ensures proper updating of global as PNAME STATUS indexes on specific partitions only, rather well as local indexes to avoid making them ——————— ————————— than on all of them. Pointing to the afore- unusable. Scott quickly points out that Y03M11 USABLE mentioned TRANS table, Traci advises that the same UPDATE INDEXES clause is what Y03M12 USABLE the partitions of the current month and makes the Y14M01 partition of the TRANS Y04M01 USABLE the previous month are usually queried a table read-only. Only some queries against lot. Partitions for the prior months are not this partition will “work” during the move, The status of all the partitions of the local queried as much, and when they are, users whereas other DML operations will hang, index is USABLE after the partition move, are relatively patient about the reduced waiting for the DML lock on the partition meaning that they do not need rebuilding. performance if the indexes are not present. to be released. Scott wants to know if it’s The partition move completes while the With this information, Jane goes on to mark possible to allow all DML operations on the applications are up and running and all the partitions where an index is needed and TRANS table during the partition move. DML activities on the table are going on where it can be eliminated, as shown in the Jane nods and explains that in Oracle as usual. Because the operation of moving following SQL: Database 12c, a new clause enables this move the partitions to slower tablespaces takes to be completely online, with all DML opera- several hours and occurs once every month, alter table trans modify partition tions available. After asking Scott not to stop Acme used to incur substantial losses during y13m11 indexing off; the Acme applications that use the TRANS these activities due to the resulting applica- alter table trans modify partition table, she performs the partition move oper- tion shutdown. With the ability to move a y13m12 indexing on; ation, using the following SQL statement: partition while it stays online, the table can alter table trans modify partition continue to handle DML operations, and y14m01 indexing on; alter table trans move partition y14m01 applications can stay up during the monthly tablespace tsslow online update indexes; partition moves. Scott is delighted. The INDEXING OFF clause tells the database that an index is not needed on What keeps the partition online during Partial Indexes that partition and should not be created. the move, Jane points out, is the ONLINE With Scott’s issue resolved, Jane turns to Because only the current partition (Y14M01) keyword in the statement. This keyword Traci, another DBA, who has a different and the prior month’s partition (Y13M12) are

May/june 2014 Oracle.com/oraclemagazine

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

queried often, indexes on those partitions INDEXING set to ON. No usable index is As expected, there are three partitions will be useful. Therefore Jane marks those created on the partitions with INDEXING set in this local index, because there are three partitions with the INDEXING ON clause to OFF. To confirm the result of the settings, partitions in the TRANS table. However, and the rest with INDEXING OFF. Jane selects the partitions of the newly Jane reminds everyone, the presence of Next Jane creates a local index on the ACC_ created IN_TRANS_ACC_NO index, using the index partitions does not necessarily NO column, as shown in the following SQL: following SQL: prove that the index partitions are actually stored; it is the state of an index partition create index in_trans_acc_no on trans select partition_name pname, status that is important. Segments are physical (acc_no) local indexing partial; from user_ind_partitions objects that take up space, so Jane checks where index_name = 'IN_TRANS_ACC_NO'; for the presence of segments for the She points out the very important IN_TRANS_ACC_NO index, using the fol- INDEXING PARTIAL clause in this SQL state- PNAME STATUS lowing SQL: ment, which instructs Oracle Database ———————— ———————————— not to create indexes on all the partitions Y13M11 UNUSABLE select partition_name pname of the TRANS table. This clause enables Y13M12 USABLE from user_segments index creation for only those partitions with Y14M01 USABLE where segment_name = 'IN_TRANS_ACC_NO';

Code Listing 2: Checking the access path

SQL> set autot traceonly explain SQL> 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)

oracle magazine May/june 2014

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

PNAME a full table scan, as evidenced by TABLE that partition and will use a full table scan ———————— ACCESS FULL in the access path, right after otherwise. Not storing the index partitions Y13M12 the query in the output. Next she executes of the less frequently used table partitions Y14M01 another query; this one selects from the reduces the amount of index storage. This Y13M12 partition, which has indexing on enables Traci to create as many indexes Drawing everyone’s attention to the (INDEXING ON) and therefore has an index as are needed by users at Acme. The older output, Jane points out that there are only segment. Here the query performed an index partitions will not have space-consuming two segments—not three. Even though scan, as shown by TABLE ACCESS BY LOCAL indexes, but the more-recent partitions there are three index partitions, only two INDEX ROWID BATCHED in the output. will have indexes, so queries on that recent have corresponding stored segments. The Traci is not completely convinced. She information will perform better. This is a third index partition (Y13M11) does not have wonders what happens when a query selects win-win for both the DBA and the develop- a stored segment, because Jane marked that from two partitions—one with an index par- ment teams, because they will get better table partition with INDEXING OFF, making tition and one without. It’s handled auto- performance with indexes being in the right the index status UNUSABLE and causing it matically, assures Jane. Oracle Database 12c places and not incurring a significant space not to consume any space. transparently rewrites the query in two penalty. Traci is ecstatic. Although less frequently, users also run parts, she explains, one using the index for queries that filter on the ACC_NO column, the partition where an index is present and Asynchronous Global Index and the queries may access data from the other one using a full table scan when Maintenance the Y13M11 partition. Because that index no index is present. The two parts are con- Jonas, another DBA visitor in Jane’s office, partition does not have a corresponding nected by UNION ALL. brings up a pain point he is experiencing, segment, Traci wants to know if these Traci asks if the Acme DBAs need to drop again in the realm of partition management queries will return errors. Fair question, says all the indexes and re-create them with the and indexes. When Acme drops an old parti- Jane. The answer is simple: the database will INDEXING PARTIAL clause. There are a lot tion from tables during data purging, it uses act appropriately, depending on the pres- of indexes, and rebuilding them would take the following SQL: ence of the segment: queries on partitions a long time. No rebuilding is necessary, with index segments will perform index Jane assures her. An existing index such as alter table trans drop partition y13m11; scans, and those on partitions without IN_TRANS_ACC_NO can be transformed index segments will perform full table with the following SQL: However, this operation changes scans automatically. Jane demonstrates this the global index status on this table to behavior by displaying the access paths of a alter index in_trans_acc_no indexing UNUSABLE. Jonas demonstrates this to Jane query, as shown in Listing 2. The first query partial; and her visitors, using the following query: filters on the TRANS_DT column by To recap, Jane continues, the INDEXING select status to_date('13-NOV-2013','dd-mon-yyyy') clause (INDEXING ON or INDEXING OFF) from user_indexes specifies whether the index partition on a where index_name = 'PK_TRANS'; The query selects data from the Y13M11 table will actually have stored segments. partition, where indexing is off (INDEXING For queries that could use an index, the STATUS OFF) and there is no index segment. Jane optimizer will automatically choose the ——————————— shows everyone that the query performed index if it’s appropriate and available for UNUSABLE

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

SQL> set autotrace traceonly explain SQL> 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 | | | ——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

May/june 2014 Oracle.com/oraclemagazine

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

So, to recap, Jane concludes, dropping Problem Solution a partition by using the UPDATE INDEX Indexes need to be created on many Partial indexing enables you to create indexes as needed on certain partitions only, columns, but indexes take up space, saving significant space while allowing indexes on all needed columns. The optimizer clause does not actually update the global which is limited, so you have to drop automatically chooses a full table scan or an index scan—or even a combination of indexes, but it records the dropped parti- some indexes. both—depending on the query execution costs and the partitions being touched by an operation. tions, making its corresponding index Partition operations such as moving DML operations can continue to execute on the partitioned table when the partition entries orphans, which are later cleaned up a partition to a different tablespace move operations use the ONLINE keyword. by an automated job. In other words, the prevent any DML activity on the partition being moved, which degrades UPDATE INDEX clause updates the indexes application performance. asynchronously. This enables the partition Global index updates during partition Global index updates are asynchronous by design in Oracle Database 12c. The drop drop operation to complete its execution drop or truncate take a long time and or truncate operation completes after recording the partition objects that have been use precious resources. dropped or truncated. Orphaned entries are subsequently cleaned up automatically immediately—without waiting for a time- during a quieter maintenance period. consuming index update to complete. It also Table 1: Partitioning issues and Oracle Partitioning solutions pushes the resource-intensive index update operation to a later time (when the data- To avoid making the index unusable, where index_name = 'PK_TRANS'; base is less loaded), reducing the impact of Jonas uses the UPDATE INDEXES clause, as that operation on the performance of the shown in the following SQL: STATUS ORP database. Jonas couldn’t be happier. ———————— ———— alter table trans drop partition y13m12 VALID YES Conclusion update indexes; The Oracle Partitioning option of Oracle Jane shows everyone that the value for Database 12c provides some important and This keeps global indexes usable, but the the ORPHANED_ENTRIES column is YES, useful enhancements, a few of which are command takes as much time as the index meaning that the index has orphans, due described in this article. Table 1 shows some update, which is significant. But when the to the dropping of the partition. Jonas is common issues and how the new features operation performs the index update as it skeptical. He asks if, given that the index was help solve them. drops the partition, it puts stress on the not actually updated and has orphans, user Jane’s developer and DBA visitors are sat- database and negatively affects other oper- queries will be able to use the index success- isfied that online partition moves, selective ations. Jonas wants to know if there is a way fully. Absolutely, assures Jane, pointing to indexes on partitions, and asynchronously to reduce this impact on the database. the status of the index in the output: VALID. maintained global indexes will significantly Yes, there is, Jane responds. In Oracle To confirm this status, she checks the access improve processes, save time, and improve Database 12c, when a partition is dropped path of a query that uses the global index, as the user experience at Acme.  (or truncated), the global indexes are not shown in Listing 3. In the output, Jane points automatically invalidated. From the perspec- to the line that shows the access with the tive of the database, truncating or dropping a global index PK_TRANS, confirming that the Arup Nanda (arup@ partition is like removing an object from the index is used, even with the orphans. proligence.com) has database’s metadata. Using this principle, Jonas asks if the orphans are going to been an Oracle DBA Oracle Database 12c records the partitions be there in that global index forever. No, since 1993, handling dropped or truncated and filters out their answers Jane, the orphans are cleaned up by all aspects of database corresponding index entries at index access Oracle Database via a scheduler job named administration, from time. These filtered index entries are known PMO_DEFERRED_GIDX_MAINT_JOB, performance tuning to security and disaster as orphaned entries. Because no index entry owned by the SYS user. The job runs every recovery. He was Oracle Magazine’s DBA of the is actually modified during the dropping day during the maintenance window Year in 2003 and received an Oracle Excellence or truncating of partitions, using the filter defined in the database and calls a program Award for Technologist of the Year in 2012. process is much faster than updating the named PMO_DEFERRED_GIDX_MAINT, global index. A new column—ORPHANED_ which, in turn, executes a stored procedure Next Steps ENTRIES in the USER_INDEXES view—shows named CLEANUP_GIDX_INTERNAL in the the presence of orphaned entries in the DBMS_PART package. This procedure cleans LEARN more about Oracle Partitioning index. Jane uses the following SQL to check up orphan entries from global indexes. oracle.com/us/products/database/options/ for orphans in the only global index on the Additionally, a DBA can use the following partitioning TRANS table: PK_TRANS. SQL statement to manually remove the READ “Partition Decisions” bit.ly/H9fhZL orphans immediately: select status, orphaned_entries DOWNLOAD Oracle Database 12c bit.ly/1czAk2I from user_indexes alter index pk_trans coalesce cleanup;

oracle magazine May/june 2014

MJ14_DBA.indd 47 3/28/14 12:03 PM 10 of the 10 Top SaaS Providers Are Powered by Oracle

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

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Database Application Developer PL/SQL By Steven Feuerstein 49

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

n the last issue of Oracle Magazine, I statements (specifically INSERT, UPDATE, cated over time. What today might be a single I offered advice on how best to write and DELETE) you need to run in response to insert into table T1 gradually morphs into PL/SQL code for Oracle Application Express user input in your application. 1. INSERT INTO TABLE T1. applications. In this article, I take a look at It’s certainly easy enough to write an 2. INSERT INTO TABLE T2. how, when, and where to write SQL state- INSERT or UPDATE statement in an Oracle 3. UPDATE TABLE T3. ments for those same applications. Application Express application. Because And when you think you need to use PL/SQL natively supports compilation and something in only one place, you then Different Language, Same Challenges execution of SQL statements, you simply discover you need to use it in a second and I offered three guidelines in the last article create a PL/SQL process and then type the third location in your application as well. that are worth repeating here (and then DML statement into the appropriate field. So if you write that INSERT INTO T1 in exploring in the context of SQL, specifically): There are very few applications that do multiple places, you’ll find yourself copying • The only SQL statements you should write not change the contents of database tables and pasting the expanded transaction into in the Application Builder (the Oracle in response to user actions, so your applica- each location when that simple transac- Application Express UI for building appli- tion will likely require the execution of many tion expands to a three-step transaction. cations) are queries for populating reports DML statements. I recommend that you The end result is an application that is and tables. Even then, you should simplify never write those statements directly inside extremely difficult to debug, manage, opti- those queries as much as possible by using the Application Builder. Instead, you should mize, and enhance. views and, for some complex scenarios, • Let Oracle Application Express generate as I ran into precisely this issue with the table functions. many of your DML statements as possible. PL/SQL Challenge website, which is built on • Avoid repetition of code whenever pos- For example, if you need to create a page Oracle Application Express and run by my sible. This advice is not specific to Oracle that enables a user to perform DML opera- son, Eli, and me. The main activity on this Application Express; it is one of the most tions on a table, you can define a region website is offering quizzes that test knowl- important guidelines for high-quality pro- as “Form on a Table for View,” and then edge of various Oracle technologies. Users gramming overall. Oracle Application Express will implement find out how well they did by visiting the • Keep the volume of code inside the all the DML for you—using the Automatic Quiz Details page after the quiz has closed Oracle Application Express application Row Processing feature. Adding a column and reviewing their performance. (which, for the remainder of this article, to the table adds a new item to the region, I keep track of each quiz viewing by a I will refer to simply as “application”) to and Oracle Application Express will adjust player in the qdb_quiz_visits table. So my a minimum. Move as much code as pos- its DML statements to incorporate this first iteration of the Oracle Application sible to PL/SQL packages. new column. Express page process on the Quiz Details This article zeroes in on that first guide- • Define packaged procedures, put your DML page simply executed this statement: line but that guideline is also closely related statements inside those procedures, and to, and implemented through, the other then call the procedures from within the INSERT INTO qdb_quiz_visits two guidelines. application’s processes. By doing this, you (user_id, quiz_id) I will again turn to the PL/SQL Challenge can more easily change the DML statement VALUES (:p659_user_id, application for examples demonstrating (and even add more DML statements, :p 659 _ q u i z _ i d); both compliance with and violations of the which I will demonstrate), with minimal above guidelines. impact on your application. But after implementing this process, One of the most compelling reasons to I realized that I also wanted to record a Move All DML to PL/SQL Procedures move your DML to PL/SQL packages is this viewing of a quiz whenever a player checks Let’s begin by taking a look at how to imple- basic reality of programming: things (and, in out the survey results for that quiz. So off I ment data manipulation language (DML) particular, transactions) get more compli- went to another page and with a quick copy/

oracle magazine May/june 2014

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

paste (along with careful review and editing But, as was going to be the case for just VALUES ( :p659_user_id, to replace page numbers), a new page about every one of my requirements, I SYSDATE, process was created: did need to change this processing when 'Q U I Z V I E W ', I added points to the PL/SQL Challenge :p659_quiz_id, INSERT INTO qdb_quiz_visits website. As encouragement to study, players 5); (user_id, quiz_id) get five points every time they view a quiz. VALUES (:p740_user_id, The code for assigning points is not much And therein lies the trap, the awful :p74 0 _ q u i z _ i d); more complicated than the INSERT into the temptation. Having already duplicated the qdb_quiz_visits table: INSERT statement, should I now continue Nothing is different except the page down that path and add this new INSERT number. That’s certainly simple and obvious INSERT INTO qdb_points statement to both places? enough. So why should I bother creating (user_id, Fortunately, the solution—the way to a procedure in a package and putting the activity_date, avoid chaos—is straightforward: hide all INSERT there? If the processing for recording activity_id, the transaction logic behind a single proce- a visit never changed, I suppose there activity_key_value, dure, change all item references to param- wouldn’t be any reason to do that. points) eters, and then call that procedure wherever

Take the Challenge

Each PL/SQL article offers a quiz to test your code I can place in the query field of an Oracle FUNCTION id_and_name ( knowledge of the information it provides. The Application Express interactive report so that I type_in IN VARCHAR2) quiz appears below and also at PL/SQL Challenge can display either employee or department infor- RETURN plch_report_data_nt (plsqlchallenge.com), a website that offers online mation from that report? IS quizzes on the PL/SQL language as well as SQL, l_return plch_report_data_nt; Oracle Application Express, database design, and a. BEGIN deductive logic. BEGIN CASE type_in Here is your quiz for this article: RETURN 'SELECT ' WHEN 'E' I execute these statements: || CASE :p1000_report_type THEN WHEN 'D' SELECT plch_report_data_ot ( CREATE TABLE plch_employees THEN employee_id, ( 'employee_id, last_name last_name) employee_id INTEGER, FROM plch_employees' BULK COLLECT INTO l_return last_name VARCHAR2 (100) WHEN 'E' FROM plch_employees; ) THEN WHEN 'D' / 'department_id, department_name THEN FROM plch_departments' SELECT plch_report_data_ot ( CREATE TABLE plch_departments END; department_id, ( END; department_name) department_id INTEGER, BULK COLLECT INTO l_return department_name VARCHAR2 (100) b. FROM plch_departments; ) First create these objects in the database: END CASE; / CREATE OR REPLACE TYPE plch_report_data_ot RETURN l_return; BEGIN IS OBJECT END; INSERT INTO plch_employees ( END; VALUES (100, 'Shubin'); report_id INTEGER, / report_text VARCHAR2 (100) INSERT INTO plch_employees ) Then use this query in the report: VALUES (200, 'Gould'); / SELECT * INSERT INTO plch_employees CREATE OR REPLACE TYPE plch_report_data_nt FROM TABLE ( VALUES (300, 'Dawkins'); IS TABLE OF plch_report_data_ot plch_pkg.id_and_name ( / :p1000_report_type)) INSERT INTO plch_departments / VALUES (10, 'Analysis'); CREATE OR REPLACE PACKAGE plch_pkg IS c. INSERT INTO plch_departments FUNCTION id_and_name ( SELECT employee_id report_id, VALUES (20, 'Discovery'); type_in IN VARCHAR2) last_name report_text RETURN plch_report_data_nt; FROM plch_employees COMMIT; END; WHERE :p1000_report_type = 'E' END; / UNION / SELECT department_id, department_name CREATE OR REPLACE PACKAGE BODY plch_pkg FROM plch_departments Which of the following choices contain(s) IS WHERE :p1000_report_type = 'D';

May/june 2014 Oracle.com/oraclemagazine

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

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 Figure 1: Create Package with Methods on Tables location BEGIN INSERT INTO qdb_quiz_visits Consider the PL/SQL Challenge record_ You can access Create Package with (user_id, quiz_id) quiz_view procedure. I soon realized that if Methods on Tables via SQL Workshop -> VALUES (user_id_in, quiz_id_ players can get five points for every viewing Utilities -> Methods on Tables, as shown in i n); of the quiz details, some players might click Figure 1. that quiz link over and over again, artificially You can then utilize these subprograms INSERT INTO qdb_points (user_id, inflating their point total. So I needed to go to both hide the DML statements and activity_date, back to that procedure and give points only ensure that user changes are not lost. activity_id, for the first viewing on a given day. activity_key_value, I am sure you can all think of similar Hide Complex Queries in Views points) examples from your own applications. So I’ve addressed inserts, updates, and VALUES (user_id_in, Everything gets more complicated over deletes. What about that other DML state- SYSDATE, time; you rarely think of everything up front; ment SELECT? I have two recommendations 'Q U I Z V I E W ', you will be going back and changing that for you: quiz_id_in, code. And when that code contains transac- 1. If you are writing a SELECT statement 5); tions that can be initiated by a user, you inside a process or other code area, END; really need to get it right. follow the guidelines listed in the pre- END; I’ve demonstrated the hiding of INSERT vious section. Namely, hide that query statements. With inserts, you are always inside a package subprogram, this time a And then my process code is slimmed creating new rows. When executing function (because a query returns data, down to nothing more than updates and deletes, however, you modify just like a function), and then call the existing rows, which raises the possibility function in the Application Builder. BEGIN that an update can be lost. Suppose that Suppose a PL/SQL Challenge process qdb_quiz_mgr.record_quiz_view ( Users A and B query the same row of data needed the date on which a player answered user_id_in => :p659_user_id, on a page of the website. Then suppose a quiz. I could write this block inside the quiz_id_in => :p659_quiz_id); they both make changes. User A presses Application Builder: END; the Submit button, and the changes are saved. Then User B presses Submit, and DECLARE Taking the little bit of extra time needed those changes are made—overwriting the l_ date DATE; to isolate your DML statements into pro- changes saved by User A. BEGIN cedures is like putting money into a retire- If, on a given page, you are not able to take SELECT taken_on ment plan. You might feel a little pinch advantage of Automatic Row Processing and INTO l_date right now (a little bit less money, a little bit instead are writing your own updates and FROM qdb_quiz_answers less time), but in the future, you will have deletes, be sure to take the following steps: WHERE user_id = :p659_user_id more money and time, because you will 1. Determine whether a lost-update AND quiz_id = :p659_quiz_id; be able to modify and enhance your code scenario is possible. much more easily. 2. If it is possible, consider using the Oracle IF l_date < SYSDATE - 2 But don’t worry! You won’t have to wait till Application Express Create Package with THEN you are 65 years of age to feel the benefits of Methods on Tables utility. It will generate .... “DML hiding.” That happens almost immedi- a package with subprograms that make END IF; ately, because applications change so rapidly it easy to use MD5 (a “message digest” END; and because application developers often algorithm that produces 128-bit hash don’t get it completely right the first time. values) to guard against loss of updates. Instead, I should move the query to a

oracle magazine May/june 2014

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

function and reduce the process code to CREATE OR REPLACE PACKAGE BODY Yes, I do. So instead of writing this three- qdb_quiz_mgr way join more than once, I create a view: CREATE OR REPLACE PACKAGE BODY IS qdb_quiz_mgr FUNCTION quizzes_taken_by ( CREATE OR REPLACE VIEW qdb_quizzes_v IS user_id_in IN PLS_INTEGER) AS FUNCTION quiz_taken_on ( RETURN answers_t SELECT qz.question_text the_question, user_id_in IN PLS_INTEGER, IS t.title feature, quiz_id_in IN PLS_INTEGER) l_answers answers_t; qf.text quiz_format RETURN DATE BEGIN FROM qdb_quizzes qz, IS SELECT * qdb_topics t, l_ date DATE; BULK COLLECT INTO l_answers qdb_quiz_formats qf BEGIN FROM qdb_quiz_answers WHERE qz.topic_id = t.topic_id SELECT taken_on WHERE user_id = user_id_in AND qz.quiz_format_id = INTO l_date ORDER BY taken_on; qf.quiz_format_id; FROM qdb_quiz_answers WHERE user_id = user_id_in RETURN l_answers; Now the query for my report is nothing AND quiz_id = quiz_id_in; END; more than END; RETURN l_date; / SELECT * FROM qdb_quizzes_v END; END; 2. When you must write a SELECT statement And if I discover a week from now that my / in the Application Builder (when building report needs another column from one of a report region, for example), keep that those tables, I can add it to the view, and— DECLARE query as simple as possible, hiding com- voilà!—it will be available in the report. l_ date DATE; plexity inside views. This makes manage- But watch out! If you create lots of views BEGIN ment of your application simpler and also that contain joins and then join those views l _ date := helps you avoid repetition of query logic to each other, you may end up doing a bunch qdb_quiz_mgr.quiz_taken_on ( (joins and WHERE clauses). of unnecessary work. Consider my topics :p659_user_id, In a properly normalized relational table table, used in the qdb_quizzes_v view. A :p 659 _ q u i z _ i d); design, you will end up with lots of tables topic is always in a domain (a technology and need to do the same joins over and over area, such as SQL or PL/SQL). In addition, IF l_date < SYSDATE - 2 again. On the PL/SQL Challenge website, for PL/SQL Challenge offers a set of resources THEN example, each quiz has a topic (the Oracle related to a topic, including a link to the ... feature to which it is related) and a quiz Oracle documentation. END IF; format (multiple choice, true/false, and So I create this handy view: END; so on). Consequently, I find myself writing / queries like this a lot: CREATE OR REPLACE VIEW qdb_topic_ details_v And now when I need to fetch multiple SELECT qz.question_text the_question, AS rows, I’ll use BULK COLLECT and return an t.title feature, SELECT d.domain_name technology, array, as in qf.text quiz_format t.title feature, FROM qdb_quizzes qz, r.title doc_title, CREATE OR REPLACE PACKAGE qdb_quiz_mgr qdb_topics t, r.url doc_link IS qdb_quiz_formats qf FROM qdb_topics t, TYPE answers_t WHERE qz.topic_id = t.topic_id qdb_resources r, IS TABLE OF qdb_quiz_answers%ROWTYPE; AND qz.quiz_format_id = qdb_domains d qf.quiz_format_id; WHERE t.topic_id = r.topic_id FUNCTION quizzes_taken_by ( AND r.resource_type = user_id_in IN PLS_INTEGER) My fingers quickly get tired of typing 'FEATURE_DOC' that WHERE clause, and my inner voice AND t.domain_id = d.domain_id; RETURN answers_t; never stops badgering me: “Why are you END; writing this again? Don’t you have some- And I then use it in my Topic Details / thing better to do?” report, which is perfectly appropriate. But

May/june 2014 Oracle.com/oraclemagazine

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

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.tech n olog y, 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- Figure 2: The 21 initial PL/SQL Challenge interactive reports ingly complex (it is not uncommon to have 10-way joins in views, for example), perfor- mance may well degrade. In addition, future German Oracle User Group)? table function, a function that can be called generations of programmers will wonder • By country. Nationalism is alive and well on inside the FROM clause of a query, wrapped why you didn’t just write exactly the query PL/SQL Challenge! inside the TABLE operator. The function you needed. “Just lazy” is usually not an • By different periods. Rankings are available returns a collection of data, and the TABLE acceptable answer. for a week, month, quarter, year, operator converts that collection into rows To conclude, keep your report queries as or lifetime. and columns, which can then be consumed simple as possible through the use of views, The need for ranking across different by the report (and anything else that exe- but pay attention and maintain discipline periods introduces the greatest complexity cutes a query using that table function). when using those views. Don’t ask the SQL to these reports, because I populate and It is outside the scope of this article to engine to do lots of extra work just so you rely on a different materialized view for each provide a full explanation of table func- can avoid writing a query that does what is period. To obtain quarterly rankings, for tions; I encourage you to explore them needed and nothing more. example, I must query from the mv_qdb_ through the link provided at the end of the rankings_q view. article, because they are incredibly useful. Avoid Redundant Reports with Different views initially gave me a head- Here I walk through only the basic steps I Table Functions ache, because an interactive report cannot took to use table functions to reduce the The ability to create interactive reports is be based on a dynamic SQL statement. As number of interactive reports for ranking among the best aspects of Oracle Application a result, I built almost two dozen different to just two. Express. It not only makes it easier to build reports, as shown in Figure 2. Taking a top-down approach, I start with powerful reports but also gives users a tre- I didn’t feel particularly clever or produc- the query I want to be able to execute in mendous amount of control over the content tive while I built these reports, but at least I the report. If I want to see company rank- and appearance of those reports. I use them figured that I would have to build them just ings for the daily PL/SQL quiz in the fourth all over the PL/SQL Challenge website and, in once and then not mess with them anymore. quarter of 2013, the query will be nothing particular, have found them to be critical for Yeah, right. more than rankings reports. That fantasy lasted for a couple of Players want to see rankings for a variety months. By that time, I’d accumulated a SELECT * of criteria, such as solid half-dozen high-priority enhancement FROM TABLE ( • By player. Players can learn their own requests from players. I then faced the chal- qdb_ranking_mgr.ir_rankings_tf ( ranking and find out who is top-ranked in lenge of a very tedious and error-prone job category_in => 'COMPANY', PL/SQL quizzes. of going through 21 interactive reports and period_type_in => 'QUARTERLY', • By company. Players can compare the per- making all the necessary changes. competition_in => 'DAILY PL/SQL QUIZ', formance of everyone working in the same Surely there is a better way (besides period_in => '2013-4')); company or development team. Oracle’s enhancing Oracle Application • By affiliation. Do members of ODTUG Express to support dynamic SQL in interac- I hard-coded the values passed to the score higher than members of DOAG (the tive reports). And there is. You can use a function; in the application, these values

oracle magazine May/june 2014

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

are selected by the player. l_report_data ir_rankings_nt; Answer to Last Issue’s Challenge I hope you agree that that is a very simple BEGIN query—but only because I’ve hidden all the EXECUTE IMMEDIATE The PL/SQL Challenge quiz in last issue’s details away in the function. 'SELECT ir_ranking_ot(' “Writing PL/SQL in Oracle Application Express” article offered different ways to So now let’s go under the covers of this || c _ s e l e c t _ l i s t implement a condition on an item. All the table function. A table function must return || ') FROM mv_qdb_rankings_' answers were correct, but I would encour- a collection, so I must define a collection || period_type_in age you to use choice (d) as your approach, because it creates a package to hold the type. Because I am returning multiple pieces || ' mv,' PL/SQL function. of information (company name, ranking, || c_detail_tables percentage correct, and so on), I must create || ' WHERE ' a collection of object types: || c_where_clause scalar value, a record, or a collection). || ' GROUP BY ' • For queries that drive reports and tables, CREATE OR REPLACE TYPE || c_period_qualifier_column hide as much complexity as possible ir_ranking_ot IS OBJECT BULK COLLECT INTO l_report_data; behind views, but watch out for misuse of ( those views that can mean excessive I/O. period VARCHAR2 (500), RETURN l_report_data; • Explore ways to utilize table functions type_name VARCHAR2 (300), END; in Oracle Application Express queries to score INTEGER, avoid redundancy in interactive reports pct_correct_answers NUMBER, Table functions can be quite com- and other UI elements. answer_time VARCHAR2 (500), plicated, but their complexity is hidden Follow these guidelines, and you will find overall_rank INTEGER behind the function interface. Developers yourself spending less time maintaining your ); who need the data returned by a table applications. You will, instead, have more / function can write a simple query that gets time to think about, design, and implement them the data without making them sort exciting new features for your users.  CREATE OR REPLACE TYPE ir_rankings_nt through the details. IS TABLE OF ir_ranking_ot The main benefit I have found for table / functions inside Oracle Application Express, Steven Feuerstein though, is to dramatically reduce the number (steven@stevenfeuerstein The header of my function now becomes of interactive reports I have to maintain. .com) is an Oracle ACE Director; a widely read PACKAGE qdb_ranking_mgr Control Your SQL, Control Your App author; and creator of IS SQL statements are the most important PL/SQL Challenge, a quiz FUNCTION ir_rankings_tf ( parts of any Oracle Database–based appli- site for Oracle technologists. More information is category_in IN VARCHAR2, cation. They are also the parts of your appli- available at plsqlchallenge.com. period_type_in IN VARCHAR2, cations that cause the most performance competition_in IN INTEGER, problems and change the most frequently. Next Steps period_in IN VARCHAR2) It is therefore extremely important to estab- RETURN ir_rankings_nt; lish and follow guidelines about how, when, DOWNLOAD and where to write SQL statements. Oracle Database 12c The implementation of a table function I recommend that you follow these guide- bit.ly/fherki is very application-dependent. My ir_ lines for SQL in Oracle Application Express: Oracle Application Express bit.ly/1iikZ9j rankings_tf function contains 230 lines of • Hide complex query logic behind views, TEST your PL/SQL knowledge code that construct a dynamic query based and then, when defining reports and tables plsqlchallenge.com on the parameter values, the most critical in the Application Builder, write simple READ more Feuerstein of which is the period type, because that SELECTs against those views. bit.ly/omagplsql determines which materialized view is • Hide all DML statements (inserts, READ more about needed. Here is a highly simplified version updates, deletes) behind packaged pro- table functions Oracle Database PL/SQL Language of this function, demonstrating the dec- cedures, and then call those procedures Reference 12c Release 1 (12.1) laration of a local collection, the popula- from the Application Builder, passing bit.ly/MECSnO tion of that collection using EXECUTE items as parameters. PL/SQL IMMEDIATE - BULK COLLECT for a very • Hide all queries you execute inside pro- oracle.com/technetwork/database/features/plsql dynamic query, and the return of that col- cesses behind packaged functions that Oracle Application Express oracle.com/technetwork/developer-tools/apex lection from the function: return the desired data (in the form of a

May/june 2014 Oracle.com/oraclemagazine

MJ14_PLSQL.indd 54 3/28/14 12:18 PM Database Application Developer and DBA Ask Tom by Tom Kyte 55

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

sually I take three or four user-submitted SQL> create table t This is the default behavior of SQL*Plus, U questions from the past two months and 2 ( x int, but, by using the SET COLINVISIBLE setting, answer them here in each Ask Tom column. 3 y int I can direct it to show the invisible columns: In the last four and in this column, however, 4 ) I’ve taken a look at some key Oracle Database 5 / SQL> set colinvisible on 12c features. These features are all part of the Table created. “12 Things About Oracle Database 12c” or SQL> desc t “12 More Things About Oracle Database 12c” SQL> insert into t values ( 1, 2 ); presentations I gave at Oracle OpenWorld Name Null? Type 2012 and 2013 in San Francisco. (You can 1 row created. ————————————————————— ——————————— ———————————————— find the slides for those presentations on X NUMBER(38) asktom.oracle.com on the Files tab). The first Next I assume the existence of some Y NUMBER(38) three Oracle Database 12c features I looked application code (waiting to be fixed!) that Z (INVISIBLE) NUMBER(38) at were improved defaults, bigger datatypes, includes a SELECT * FROM T. Even worse, I and top-n queries. Next I discussed a new assume that the application code includes Now because this column is invisible, it row-pattern-matching clause and how undo INSERT INTO T VALUES (:x,:y)—an insert that will not be selected via a SELECT *: for temporary tables has changed in Oracle does not specify the columns it is inserting Database 12c. Then I covered some parti- into. (I consider both of these conditions to SQL> select * from t; tioning improvements, adaptive execution be bugs in the developed application code, plans, and enhanced statistics. In the last and they need to be fixed, but you might need X Y issue, I took a different approach to discuss to add this column right now and get back to ——————————————— ——————————————— the #1 new capability of Oracle Database the buggy code later.) And I’d like to be able 1 2 12c—the Oracle Multitenant option. to add a new column without affecting this 3 4 In this column, the last of the Oracle code. Enter the invisible column. Database 12c new features series, I look at I can add a new column, Z, using the Nor will it affect existing inserts that do invisible columns, SQL text expansion, and INVISIBLE attribute: not include an explicit list of column names: improved introspection. SQL> alter table t add SQL> insert into t values ( 3, 4 ); Invisible Columns ( z int INVISIBLE ); Invisible columns in Oracle Database 12c 1 row created. provide the ability to add a column to any Table altered. table such that the newly added column will For backward compatibility, this new not be visible in a SELECT * query and will If I were to describe this table in SQL*Plus capability is a bonus. New applications not be considered for insertion in an INSERT or many other tools, I would see the table that need to access this column have full statement that does not explicitly list that without this new column: access to it: column. In other words, invisible columns enable you to add a column to a table and SQL> desc t SQL> insert into t (x,y,z) not affect poorly coded applications that use 2 values ( 5,6,7 ); SELECT * or perform inserts without listing Name Null? Type the columns. ————————————————————— ——————————— ———————————————— 1 row created. To demonstrate, I start with a two- X NUMBER(38)

I-Hua Ch en I-Hua column table: Y NUMBER(38) SQL> select x,y,z from t;

oracle magazine May/june 2014

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

X Y Z Code Listing 1: Output from DBMS_UTILITY.FORMAT_CALL_STACK, plus error message ———————————— ———————————— ————————————

1 2 SQL> exec pkg.p 3 4 ——————— PL/SQL Call Stack ——————— object line object 5 6 7 handle number name 0x6e891528 4 procedure OPS$TKYTE.PRINT_CALL_STACK Those new applications only need to 0x6ec4a7c0 10 package body OPS$TKYTE.PKG 0x6ec4a7c0 14 package body OPS$TKYTE.PKG explicitly reference column Z, which is 0x6ec4a7c0 17 package body OPS$TKYTE.PKG the right approach (because, again, using 0x6ec4a7c0 20 package body OPS$TKYTE.PKG SELECT * and INSERT without a column list 0x76439070 1 anonymous block should be considered a bug—a bug that BEGIN pkg.p; END; needs to be fixed). Ultimately, after the legacy code has * ERROR at line 1: been corrected, you will want to make this ORA-06501: PL/SQL: program error column visible: ORA-06512: at "OPS$TKYTE.PKG", line 11 ORA-06512: at "OPS$TKYTE.PKG", line 14 ORA-06512: at "OPS$TKYTE.PKG", line 17 SQL> alter table t modify z visible; ORA-06512: at "OPS$TKYTE.PKG", line 20 Table altered. ORA-06512: at line 1

SQL> select * from t; Now suppose that as part of an application I unhide columns D and E, and they will X Y Z upgrade, I need to add a new column, C, and appear after column C—logically. The fol- ———————————— ———————————— ———————————— meet a request to have C appear in the middle lowing shows the column hiding, adding, 1 2 of the table. This might be desirable for and unhiding as well as a query result that 3 4 certain ad hoc reporting tools, which tend to shows the logical order of the columns: 5 6 7 display the columns by default in the order a SELECT * would return them. In the past, this SQL> alter table t modify A positive side effect of using invisible reordering was not really possible, but I could 2 ( d invisible, e invisible ); columns is the ability to logically reorder • Rename the table to something else, Table altered. the columns in a table. I stress that this say T_TBL will be a logical, not a physical, reordering • Add to this table the new column, which SQL> alter table t add c int; of the columns. would appear at the end of the column list Table altered. To demonstrate this, I add a new column • Create a view or an editioning view named to the middle of a table. Physically—on disk— T that explicitly selects the columns in the SQL> alter table t modify this newly added column will be the last right order 2 ( d visible, e visible ); column, and if I dump the database block to • Revoke the grants on T_TBL and issue Table altered. a trace file, it will appear last. But logically— those grants on the view T from the end user perspective—this newly • Update any scripts that create indexes, SQL> desc t added column will appear as if it were in the triggers, constraints, and the like on this middle of the table. It will be visible via a table to reference table T_TBL Name Null? Type DESCRIBE command in SQL*Plus, the results That process would make the column ————————————————————— ——————————— ———————————————— of a SELECT *, and so on. seem to appear in the middle of the table, A NUMBER(38) To demonstrate logical reordering of but at the cost of a lot of work. Now, B NUMBER(38) columns, I first create a new table: however, reordering columns has become C NUMBER(38) rather simple. I can rely on the documented D NUMBER(38) SQL> create table t fact (not a trick but, rather, documented E NUMBER(38) 2 ( a int, behavior) that any column that is set to be 3 b int, visible after being invisible will appear as (Note that on disk the columns will really 4 d int, the last column in the table from a SELECT * be stored as A, B, D, E, and C.) 5 e int perspective. So to do the logical reordering, You can read more about invisible 6 ); I need to first hide columns D and E and columns in Oracle Database Administrator’s then add column C. At this point, column C Guide 12c Release 1 (12.1), Chapter 20, Table created. will appear to be right after column B. Next “Managing Tables,” at bit.ly/1bEMjxa.

May/june 2014 Oracle.com/oraclemagazine

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

Improved Introspection Code Listing 2: print_call_stack function, revised and using UTL_CALL_STACK Oracle database application developers have

had access to three built-in functions to figure SQL> create or replace out “Where the heck am I?” in their code: 2 procedure Print_Call_Stack 3 as • DBMS_UTILITY.FORMAT_CALL_STACK 4 Depth pls_integer := UTL_Call_Stack.Dynamic_Depth(); • DBMS_UTILITY.FORMAT_ERROR_ 5 BACKTRACE 6 procedure headers 7 is • DBMS_UTILITY.FORMAT_ERROR_STACK 8 begin These routines, although helpful, were 9 dbms_output.put_line( 'Lexical Depth Line Name' ); of somewhat limited use. Let’s look at the 10 dbms_output.put_line( 'Depth Number ' ); 1 1 d b m s _ o u t p u t . p u t _ l i n e ( ' —————————— ——————— ———————— ——————' ) ; FORMAT_CALL_STACK routine to see why. 12 end headers; Here is a procedure, print_call_stack, for 13 procedure print printing out the current call stack: 14 is 15 begin 16 headers; SQL> create or replace 17 for j in reverse 1..Depth loop 2 procedure Print_Call_Stack 18 DBMS_Output.Put_Line( 19 rpad( utl_call_stack.lexical_depth(j), 10 ) || 3 is 20 rpad( j, 7) || 4 begin 21 rpad( To_Char(UTL_Call_Stack.Unit_Line(j), '99'), 9 ) || 5 DBMS_Output.Put_Line( 22 UTL_Call_Stack.Concatenate_Subprogram 23 (UTL_Call_Stack.Subprogram(j))); DBMS_Utility.Format_Call_Stack()); 24 end loop; 6 end; 25 end; 7 / 26 begin 27 print; Procedure created. 28 end; 29 / Now, if I have a package, PKG, with nested functions—and even duplicated function names—such as I’ll see the output in Listing 1 when I execute code by using UTL_CALL_STACK the procedure PKG.P. .DYNAMIC_DEPTH and can then walk up SQL> create or replace The bit above BEGIN pkg.p; END; is the the stack, using a loop. I will print out the 2 package body Pkg is output from DBMS_UTILITY.FORMAT_ lexical depth along with the line number 3 procedure p CALL_STACK, whereas the bit below is within the unit I am executing, plus the 4 is the error message returned to the client unit name—and not just any unit name, 5 procedure q application. (The error message is also but the fully qualified, all-the-way-down- 6 is available via DBMS_UTILITY.FORMAT_ to-the-subprogram name within a package 7 procedure r ERROR_BACKTRACE.). As you can see, the and continuing down to the subprogram 8 is output contains useful information, but to name within a subprogram name within a 9 procedure p is use it, you would need to parse it, which subprogram name. For example, running 10 begin can be tricky. The format of these strings, the PKG.P procedure again results in the 11 Print_Call_Stack(); for example, is not set in stone; the strings output and the error message in Listing 3. 12 raise program_error; have changed over the years. (I wrote the This time I get much more than just 13 end p; OWA_UTIL.WHO_AM_I function, and I did a line number and a package name, in 14 begin that by parsing these strings. Trust me, the contrast to what I got previously with 15 p(); strings change over time!) DBMS_UTILITY.FORMAT_CALL_STACK. 16 end r; But there’s good news. Starting in Oracle With the UTL_CALL_STACK package, I get 17 begin Database 12c, you have structured access not only the line number and the package 18 r(); to the call stack and a series of API calls (unit) name but also the names of the 19 end q; for interrogating this structure via the new subprograms, and I can see that P called Q 20 begin UTL_CALL_STACK package. called R called P as nested subprograms. 21 q(); To demonstrate, I’ll rewrite the Also note that I can see a truer calling level 22 end p; print_call_stack function to use UTL_CALL_ with the lexical depth. For example, I can 23 end Pkg; STACK, as shown in Listing 2. see that I stepped out of the package to 24 / With the new print_call_stack function, call print_call_stack, which, in turn, called Package body created. I am able to figure out how deep I am in the another nested subprogram.

oracle magazine May/june 2014

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

The new UTL_CALL_STACK package Code Listing 3: Output from UTL_CALL_STACK, plus error message will be a nice addition to everyone’s error

logging packages. Of course, there are other SQL> exec pkg.p functions in there for getting owner names, Lexical Depth Line Name Depth Number the edition in effect when the code was —————————— ——————— ———————— ——————— executed, and more. See Oracle Database 1 6 20 PKG.P PL/SQL Packages and Types Reference 12c 2 5 17 PKG.P.Q 3 4 14 PKG.P.Q.R Release 1 (12.1), at bit.ly/NhQh6B, for details. 4 3 10 PKG.P.Q.R.P 0 2 26 PRINT_CALL_STACK SQL Text Expansion 1 1 17 PRINT_CALL_STACK.PRINT BEGIN pkg.p; END; The next Oracle Database 12c feature I look

at is SQL text expansion. This new feature * enables you to see the expanded text of a ERROR at line 1: ORA-06501: PL/SQL: program error SQL statement, with the view text included. ORA-06512: at "OPS$TKYTE.PKG", line 11 This will enable you to see the real query the ORA-06512: at "OPS$TKYTE.PKG", line 14 optimizer is being challenged with. ORA-06512: at "OPS$TKYTE.PKG", line 17 ORA-06512: at "OPS$TKYTE.PKG", line 20 Many times I have been asked to tune ORA-06512: at line 1 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- (SELEC T "A 4"."N A M E" 5 as ences dozens of objects. To begin to under- " U SER N A M E","A 4"." U SER #" 6 begin stand that query, I have to understand what V " U SER _ I D","A 4"."C T I M E" 7 return 'owner = USER'; is and what the SQL text behind the V view is. "CREATED",DECODE(BITAND("A4"."SPARE1",12 8 end; And the text of the V view might itself refer- 8),128,'YES','NO') "COMMON" FROM 9 / ence views of views of views. It can be quite a "S Y S"." U SER $" "A 4","S Y S"." T S $" chore to discover what the actual SQL is. SQL "A 3","S Y S"." T S $" "A 2" W H ER E Function created. text expansion makes this discovery simple. "A 4"." D ATAT S #"="A 3"." T S #" A N D For example, take the simple query "A 4"." T E M P T S #"="A 2"." T S #" A N D As you can see, this is a rather simple SELECT * FROM ALL_USERS. Under the "A 4"." T Y PE#"=1) "A 1" function. It will cause each access of covers, ALL_USERS—and in fact, the entire the table or view it is associated with to Oracle data dictionary—is a view. To see As you can see, the new EXPAND_SQL_ include—transparently—the predicate which query is really being executed under TEXT procedure in the DBMS_UTILITY WHERE OWNER = USER. the covers, I can use SQL text expansion: package delivers SQL text expansion and Now I’ll continue by defining MY_TABLE makes discovery of the actual query being and associating this predicate function with SQL> variable x clob executed rather easy. the table: SQL text expansion is not limited to SQL> b egin views, either. Often you have to tune a SQL> create table my_table 2 dbms_utility.expand_sql_text query that is being rewritten by Oracle 2 ( data varchar2(30), 3 ( input_sql_text => Virtual Private Database and you need to 3 OWNER varchar2(30) default USER 'select * from all_users', understand what the real SQL text is to 4 ) 4 output_sql_text => :x ); begin to tune it. EXPAND_SQL_TEXT helps 5 / 5 end; you discover the real SQL text for that query Table created. 6 / via the DBMS_RLS package. PL/SQL procedure successfully completed. To demonstrate this, I set up a small table SQL> b egin with a rather simple Oracle Virtual Private 2 dbms_rls.add_policy SQL> print x Database policy on it. I begin by imple- 3 ( object_schema => user, menting the security function: 4 object_name => 'MY_TABLE', X 5 policy_name => 'MY_POLICY', ——————————————————————————————————————————————————————————— SQL> create or replace 6 function_schema => user, SELEC T "A 1"." U SER N A M E" 2 function my_security_function 7 policy_function => " U SER N A M E","A 1"." U SER _ I D" ( p_schema in varchar2, 'My_Security_Function', " U SER _ I D","A 1"."C R E AT E D" 3 p_object in varchar2 ) 8 statement_types => "CREATED","A1"."COMMON" "COMMON" FROM 4 return varchar2 'select, insert, update, delete',

May/june 2014 Oracle.com/oraclemagazine

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

9 update_check => TRUE ); X Tom Kyte is a database 10 end; ——————————————————————————————————————————————————————————— evangelist in Oracle’s 11 / SELEC T "A 1"." D ATA" " D ATA","A 1"."O W N ER" Server Technologies PL/SQL procedure successfully completed. "OWNER" FROM (SELECT "A2"."DATA" division and has worked " D ATA","A 2"."O W N ER" "O W N ER" F R O M for Oracle since 1993. He If I am asked to tune a query against "O P S $ T K Y T E"." M Y_TA B LE" "A 2" W H ER E is the author of Expert MY_TABLE, I would very much like to see the "A 2"."O W N ER"= U SER @!) "A 1" Oracle Database Architecture (Apress, 2005, rewritten query to find out what I’m dealing 2010) and Effective Oracle by Design (Oracle with. Again, the EXPAND_SQL_TEXT proce- Not only can I see the expanded SQL but Press, 2003), among other books. dure comes in very handy: the text also provides some insight into how Oracle Virtual Private Database does Next Steps SQL> b egin its magic. In this case, Oracle Virtual Private 2 dbms_utility.expand_sql_text Database simply takes the MY_TABLE refer- READ Oracle-hosted online article content 3 ( input_sql_text => ence in the FROM list and turns it into an bit.ly/1hHqmiN 'select * from my_table', inline view with the predicate appended to it. ASK Tom Tom Kyte answers your most difficult technology 4 output_sql_text => :x ); The Oracle-hosted online version of this questions. Highlights from that forum appear in 5 end; article at bit.ly/1hHqmiN concludes with a this column. 6 / demonstration of how expanded SQL text asktom.oracle.com works with Oracle Virtual Private Database LEARN more about Oracle Database 12c oracle.com/database PL/SQL procedure successfully completed. as well as references for additional informa- tion on Oracle Virtual Private Database and DOWNLOAD Oracle Database 12c bit.ly/epBiUG SQL> print x SQL text expansion (EXPAND_SQL_TEXT).

MEETING THE DEMANDS OF TOMORROW AND DELIVERING HIGH-PERFORMANCE NOW

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

Cybernoor Corporation I www.cybernoor.com I +1.925.924.0400

oracle magazine May/june 2014

MJ14_AskTom_R1.indd 59 4/8/14 11:36 AM 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.

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. In the Field by Michelle Malcher 61

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

f you are a DBA dealing with big databases, As more questions Reporting and visualization. Businesses I you might think that you already handle need to be able to turn big data into a big data. You’ve already been managing data- are asked of data visual story that can be consumed and bases that are in the petabytes for years now, analyzed. To support this kind of reporting, right? However, big data isn’t completely and more data big data DBAs should learn to administer about the size of the database or the data. becomes available, reporting tools and servers for big data Big data might be structured or unstruc- analysis. Another valuable skill to develop tured data, but it is a large quantity of developing big data is the ability to create the data structures information and likely coming in at a high skills provides new necessary for reporting. For acceptable velocity. Business owners need to figure out performance, some reporting tools might what data is valuable to them, and although opportunities for require the creation of materialized views or it might be difficult for DBAs to determine even separate reporting databases. Tuning what data is valuable, the DBA can assist every DBA. queries for reporting is a typical DBA skill, in making the data available and helping and understanding the tuning needs for connect datasources. against the data using R for real data solu- different graphing and visualization tools is In looking at what big data means and tions, but R might best be left to the stake- important for big data. how important it could be for companies in holders or the data scientist. Learning how As more questions are asked of data the near future—perhaps even becoming the to set up an R environment, however, would and more data becomes available, devel- standard way of doing business—I see an be another administrative focus area for the oping big data skills provides new opportu- opportunity for DBAs to step out and expand big data DBA. In addition, setup and config- nities for every DBA. I will definitely be their database administration skills to incor- uration are required to support R statistics using my trusted sources and user group porate big data administration skills. With and advanced analytics scripts running in experts to expand my skill set in Hadoop their existing administration skills, including an Oracle Database environment, so DBAs and R this year.  managing data storage, networking traffic can expand from administrating back-end R for data access, security, data loading, and environments into R scripting. Michelle Malcher integrations, DBAs already have a solid foun- Integrations. Being able to integrate data is (michelle_malcher@ioug dation for becoming key players in big data. already an important DBA skill, and with big .org) is president of IOUG. There are quite a few new skill areas data, there is an opportunity to talk more She is an Oracle ACE emerging in the big data arena. A few of to the business to understand the data and Director with more than these areas leverage current DBA skills and what is considered valuable information. 15 years of experience can be a starting focus for the big data DBA. Your new big data skill area might just be in database development, security, design, and Apache Hadoop. Hadoop is a framework communication with these business teams. administration. Malcher is a coauthor of Oracle used for multiple-node processing of data. And if you are not regularly connecting dif- Database 12c: Install, Configure & Maintain With high degrees of parallelism, Hadoop ferent datasources, start by pulling in data Like a Professional (Oracle Press, 2013) and can be a very scalable platform for pro- from other sources. Developing a service Securing Oracle Database 12c: A Technical cessing large batches of data very fast. There for different datasources will prove to be an Primer (Oracle Press, 2013). are no real tables or structures, so the data invaluable resource for big data projects. can be imported in various formats, and In addition to working with data- Next Steps there are several ways to connect Hadoop source integrations, consider working to Oracle databases. Understanding how to with big data connectors. Oracle Big Data JOIN IOUG process data in Hadoop and how to integrate Connectors connect Hadoop and Oracle ioug.org it with existing datasources are valuable big Database, and they enable the use of JOIN the IOUG Big Data Special Interest Group data DBA skills to develop. XQuery and SQL in Hadoop. With current ioug.org/sigs R. It would be an achievement to under- DBA skills and learning about connectors, LEARN about stand all of the R scripting and all of the integrations are a great area for the DBA to Oracle big data solutions oracle.com/us/technologies/big-data advanced analytics that can be performed get involved with big data.

oracle magazine May/june 2014

MJ14_InTheField_Malcher.indd 61 3/28/14 1:25 PM 2.6x Better Performance

IBM’s Power7+ AIX Oracle’s SPARC T5

Performance: Performance: 10,902 27,8 4 3

Server Cost: Server Cost: $805,000 $299,000

Industry Standard Java Middleware SPECjEnterprise2010 Performance Benchmark

SPEC and the benchmark name SPECjEnterprise are registered trademarks of the Standard Performance Evaluation Corporation. Virtualized results on spec.org as of 5/21/2013 for application and database on one 8-chip server. SPARC T5-8, 27,843.57 SPECjEnterprise2010 EjOPS, pricing on oracle.com; IBM Power 780, 10,902.30 SPECjEnterprise2010 EjOPS, pricing on ibm.com. Server cost excludes storage and software. Details: oracle.com/sparc-t5. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Analyst’s Corner By Philip J. Gill 63

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

racle Magazine spoke with Matthew “Consolidation has hardware, they can start to deploy and OEastwood, group vice president, consume hardware differently. Before vir- Enterprise Platform Research, International been a fact of life in tualization, a data center would typically Data Corp. (IDC), about current trends in use a one-application-per-server model, data center consolidation. most data centers and that server would be configured to Oracle Magazine: Hardware consolidation in for some time.” support a peak workload that the organiza- the data center isn’t new, but there seems to tion rarely saw. Many servers ran a single be an uptick in such projects. What are the application at 10 or 15 percent utilization drivers behind data center hardware con- Oracle Magazine: What other benefits do IT and would peak at 25 or 30 percent, leaving solidation projects today? organizations gain through consolidation? a great deal of stranded capacity. With Eastwood: Consolidation has been a fact of Eastwood: One big consolidation benefit is consolidation, IT organizations can stack life in most data centers for some time. It’s a higher reliability. Because there are fewer these applications on the same system, run strategy that IT departments employ to lower systems, there’s less running around and that utilization up to 60, 65, or 70 percent, costs, drive more efficiency, and improve the troubleshooting and fixing things that can and still provide headroom on that server service levels for the applications that they cause service outages. for peaks. With these kinds of strategies, host. One new driver for consolidation today Another consolidation benefit is on the we’re seeing consolidation ratios of 5 to 10 is aging hardware. Systems that are five, six, facilities side. If you have fewer systems, you servers down to 1. or seven years old are good candidates for need less power, less cooling, and less phys- What has been happening in many orga- replacement and consolidation. ical space in the data center. Data center nizations is that they’ve seen an increase Modern hardware has so much higher space is also very, very expensive, and some in the number of applications they run, performance that organizations can justify IT organizations are physically taxed on how because virtualization makes it easier to a return on that investment in a relatively much space they use. When new demands build and deploy new applications. This sets short time, because today’s systems are are placed on that data center, IT is faced up an opportunity for more consolidation also much more capable. If you look at a with either consolidating that data center so downstream by running all those new appli- two-socket server—and that’s a relatively it can take on the new workload or making a cations on fewer hardware devices. With small server today—it can do more than the potentially significant investment in a data massive amounts of capability and a growth largest supercomputer in the world could center expansion or retrofit. You hear some in applications, consolidation makes even have done in 1999 or 2000. And these pro- stories now and then where the next addi- more sense for most organizations.  cessors have an increased number of cores tional server will require an organization to and support much bigger memory and I/O spend from US$10 million to US$20 million Philip J. Gill ([email protected]) is a subsystems as well, so consolidation just on a data center expansion, but IT can do freelance writer and editor based in San makes sense. some nip-and-tuck hardware consolida- Diego, California. You can also look at hardware consolida- tion to create more capacity and avoid that tion the way you would look at replacing an multi-million-dollar investment. IDC (idc.com) is a global provider of older car. It gets to the point where it costs Another consolidation benefit is the market intelligence, advisory services, and more to keep a car on the road than to buy potential to use IT staff differently, because events for the information technology, a new one, and it’s the same situation with when the staff is no longer trying to keep the telecommunications, and consumer data center servers. Because most systems older systems running, it can start to focus technology markets. are replaced roughly every four or five years, on more-strategic and higher-value tasks. consolidation projects today tend to be Oracle Magazine: What is the role of Next Steps ongoing efforts. You may have an organiza- virtualization in hardware consolidation tion that rotates roughly 25 to 30 percent of projects today? LEARN more about consolidation with its servers every year, and when it’s doing Eastwood: When IT organizations can Oracle’s SPARC servers bit.ly/1qVkzel that it’s also doing consolidation. abstract applications from the underlying

oracle magazine May/June 2014

MJ14_Analyst.indd 63 3/28/14 1:31 PM 64 Time Capsule Flashbacks: Culture. Industry. Oracle. Oracle Magazine BY RICH SCHWERIN

Decision Support 1898 With US$2 million a year in DARPA funding, the Massachusetts Industrial Institute of Technology’s Project MAC (Multiple Access Computers) Efficiencies launches one of the first decision Mechanical engineer support systems using Teletype Frederick Winslow Taylor Model 35 terminals. Earplugs recommended.

applies operational analy- 1963 (Hear why at bit.ly/1mxbHMu.) sis to fix mass production problems at Bethlehem Steel. And with that, the lucrative field of manage- ment consulting is born. 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. 1978 Executive Info “Hello, IT? Get me those 1997 latest figures . . .” Oracle Discoverer 3.0 Among the first executive information systems, Lockheed-Georgia’s Oracle Discoverer enables business users to management information and decision support system is maintained by study and analyze complex data stored in data analysts for senior executives. warehouses and data marts, and supports ad hoc querying and decision-making.

Excellence in 1999 Analytics Oracle Exalytics Business Analyze This Intelligence Machine (now Dominic Manetta: “Times named Oracle Exalytics are changing. You’ve got to In-Memory Machine), an change with the times.” engineered system built Paul Vitti: “What, am I 2011 on in-memory technology, supposed to get a website?” delivers business analytics —from Analyze This (Warner Bros., 1999). Managing at the speed of thought. change can be stressful. Fasten your thinking caps.

2008 Measure. Analyze. Perform. Oracle’s business intelligence and enterprise performance management INTELLIGENCE, ANALYTICS, OR MAGIC products and technologies support organizations by making information 8 BALL: How do you make important available across the enterprise and by YOUR TURN business decisions? helping them plan and achieve their Visit Facebook/OracleMagazine and let performance goals. us know. bit.ly/orclmagfb I-HUA CHEN; WIKIPEDIA COMMONS I-HUA

MAY/JUNE 2014 ORACLE.COM/ORACLEMAGAZINE

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

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

More Enterprise SaaS Applications Than Any Other Cloud Services Provider

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