Professional Documents
Culture Documents
Oracle 2014-01-02
Oracle 2014-01-02
Oracle 2014-01-02
ROCKET SCIENCE
go skyhigh...
ORACLE EXCELLENCE
AWARDS 2013
Oracle recognizes technology leaders who engineer innovation
CIO OF THE YEAR CIO OF THE YEAR CIO OF THE YEAR CIO OF THE YEAR CIO OF THE YEAR
ASIA PACIFIC NORTH AMERICA LATIN AMERICA JAPAN EUROPE, MIDDLE EAST,
Dr. Jai Menon Judith A. Lemke Agenor Leão Takanori Yukishige AND AFRICA
Bharti Enterprises Schneider National Natura ANA Gianluigi Castelli
Eni
2 VOLUME XXVIII - ISSUE 1 CONTENTS
2013 ORACLE
EXCELLENCE AWARDS
/ 33
Oracle customers and partners are technology pioneers, developing and implementing
revolutionary new solutions with Oracle technology, and the Oracle Excellence Awards recognize
these pioneers. In 2013, Oracle saluted outstanding achievement in nine Oracle Excellence
Awards programs: CIO of the Year, Leadership, Database Administrator of the Year, Java
Business Innovation, Oracle PartnerNetwork Specialized Partner of the Year, Data Warehouse
Leader of the Year, Oracle Fusion Middleware Innovation, Eco-Enterprise Innovation, and
Proactive Support: Champion. —David A. Kelly, with additional reporting by Patty Waddington
Cover photography: (left to right) Namas Bhojani, Mark Luinenburg, Paulo Fridman, Keith Tsuji/Getty Images,
and Alessandro Albert/Getty Images
As used in this document, “Deloitte” means Deloitte LLP and its subsidiaries.
Please see www.deloitte.com/us/aboutfor a detailed description of the legal
structure of Deloitte LLP and its subsidiaries. Certain services may not be
available to attest clients under the rules and regulations of public accounting.
Editorial
Editor in Chief Tom Haunert tom.haunert@oracle.com
Managing Editor Jan Rogers jan.rogers@oracle.com
Senior Editor Caroline Kvitka caroline.kvitka@oracle.com
Associate Editor Patty Waddington
Contributing Editor and Writer Blair Campbell
Technology Advisor Tom Kyte
Contributors Marta Bright, Jeff Erickson, 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
Vice President Jeff Spicer jeff.spicer@oracle.com
Publisher Jennifer Hamilton jennifer.hamilton@oracle.com +1.650.506.3794
Associate Publisher and Audience Development Director Karin Kinnear karin.kinnear@oracle.com +1.650.506.1985
Advertising sales
President, Sprocket Media Kyle Walkenhorst kyle@sprocketmedia.com +1.323.340.8585
Western and Central US, LAD, and Canada, Sprocket Media Tom Cometa thomas.cometa@sbcglobal.net +1.510.339.2403
Eastern US and EMEA/APAC, Sprocket Media Mark Makinney mark.makinney@sprocketmedia.com +1.805.709.4745
Advertising Sales Assistant, Sprocket Media Cindy Elhaj cindy@sprocketmedia.com +1.626.396.9400, x201
Mailing-List Rentals Contact your sales representative.
Editorial Board
Ian Abramson, Karen Cannell, Andrew Clarke, Chris Claterbos, Karthika Devi, Kimberly Floss, Kent Graziano,
Taqi Hasan, Tony Jambu, Tony Jedlinski, Ari Kaplan, Val Kavi, John King, Steve Lemme, Carol McGury,
Sumit Sengupta, Jonathan Vincenzo, Dan Vlamis
Oracle Magazine (ISSN 1065-3171) is published bimonthly with a free subscription price by: Oracle, 500 Oracle Parkway, MS OPL-3C, 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.
Skills Certified by
Independent Testing
Successful Implementations
Confrmed by Customers
oracle.com/specialized
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.
From The Editor 7
Get Started
Arup Nanda talks about his beginnings with Oracle
technology and tells us all to write. Now.
Magazine award several years ago. Tell us make sure that we continued to add pro- In addition, I have presented about
about your Oracle career to that point, and viders, as well as time elements, and at the 300 sessions about Oracle technology
tell us something about the specific task or same time, not recompute the old data in in 22 countries. I also deliver something
Business-wise, Future-driven.™
by Dennis Bouley
Contents
> Executive summary
©2013 Schneider Electric. All Rights Reserved. Schneider Electric, APC, Smart-UPS, and Business-wise, Future-driven are trademarks owned by
Schneider Electric Industries SAS or its affiliated companies. All other trademarks are the property of their respective owners.
www.schneider-electric.com • 998-1209030_GMA-US
10 work in progress
Are privacy worries affecting how you use your mobile device? These apps will help
PRIVACY APPS
Execs Fear
BYOD
I Fold
Increase your productivity on your Android phone by adding an external keyboard. The
71 percent of IT
and security pros
say their busi-
ness leaders view
employee use of personal mobile devices
One2Touch Softpad S1 folds in half for portability; unfolded, it’s as big as a 13-inch laptop for work as potentially dangerous, costly,
keyboard. It uses near field communication to automatically pair with your phone and uses less and not business critical. More than
1,600 people participated in the survey.
power (meaning longer battery life) than Bluetooth keyboards. US$99. one2touch.com
Source: Dimension Data Secure Mobility Survey
Report, dimensiondata.com
Speeding Up Time to
Value in Project Management
tacey Witt, vice president of marketing
Proft
Business Insight for Enterprise-Class Business Leaders to Help Them Build
a Better Business Using Oracle Technology
Circulation: 100,000
Audience: Top Executives and Line of Business Managers
Java Magazine
The Essential Source on Java Technology, the Java Programming Language,
and Java-Based Applications
Circulation: 125,000 and Growing Steady
Audience: Corporate and Independent Java Developers, Programmers,
and Architects
Copyright © 2012, 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. 113940
Resources 15
“Mission-Critical C/C++/COBOL Oracle Systems: The Best Platform Oracle Blog Center
oracle.com/blogs
Applications with Oracle Exalogic and for Oracle’s PeopleSoft Human Capital
Oracle Consulting
Oracle Tuxedo” Management oracle.com/consulting
fbit.ly/17ggWn7 fbit.ly/1anfZLT Oracle Events and Webcasts
Discover native capabilities to maximize Learn how to increase productivity by running oracle.com/events
throughput, minimize latency, and drive higher Oracle’s PeopleSoft solutions on Oracle systems. Oracle Newsletters
availability through clustering. oracle.com/newsletters
Podcasts Oracle Podcast Center
oracle.com/podcasts
New Oracle WebLogic Server and Oracle “Oracle’s SPARC M6-32 Quick Overview”
Oracle University
Database Integration White Papers fbit.ly/19Ajn9I bit.ly/ouoramag
fbit.ly/1bcuseL Hear Oracle product management describe the Oracle on Facebook
Oracle WebLogic Server’s Active GridLink for RAC key features and benefits of Oracle’s SPARC facebook.com/oracle
feature provides intelligent integration between M6-32 server. Oracle on Google+
the server and Oracle Database. These white bit.ly/LdGiM0
papers provide use cases, technical insights, and “Camping with Mobile Business Oracle on LinkedIn
linkedin.com/company/oracle
value propositions about this integration as well as Intelligence”
Oracle on Twitter
detailed content on Oracle customer NEC. fbit.ly/GNIdXO twitter.com/oracle
Learn how mobile business intelligence can go Oracle Support
Games anywhere you go, even camping. oracle.com/support
Oracle’s SPARC Runner Interactive Game My Oracle Support
fbit.ly/1anfgu7 “Nick Wagner and Robert Freeman on myoraclesupport.com
Help the SPARC Runner accelerate performance, Oracle GoldenGate” My Oracle Support Communities
communities.oracle.com
increase speed, and consolidate multiple legacy fbit.ly/1g0ohjO
fbit.ly/1clvmKm to quickly and easily create, integrate, and integrate and connect advanced control
fbit.ly/16fmktF connect advanced control solutions with solutions with heterogeneous systems.”
multiple heterogeneous on-premises and bit.ly/1hgWix2
firmware to be the most reliable, highest- also providing building blocks for many browser integration, and support for the
performance systems for running Oracle Oracle engineered systems.” JDK 8 Developer Preview builds.”
software,” says Ali Alasti, senior vice presi- bit.ly/IM0mSE netbeans.org
partner.oracle.com
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.
INTERVIEW BY CAROLINE KVITKA 21
we going to do with it? This opens up a whole application developers. We refer to these Oracle Magazine: How do you see IoT, big
new opportunity for us to continue to drive devices as being resource constrained. They data, and cloud converging?
Enterprise Virtualization
Evolution
Here’s the state of virtualization, from applications to
consolidation and engineered systems.
you know that we can support this thing Oracle Magazine: What are the key technolo- Feature Casts
oracle.com/magcasts
top to bottom.” gies in Oracle Virtual Compute Appliance?
Expert Consolidation in and Oracle Magazine columnist Tom Kyte, Partners Earn Oracle Exadata
Oracle Database 12c with additional contributions by Oracle
Database experts Eric Yen and Scott Black. Optimized and Oracle Exalogic
By Martin Bach
Apress
It features detailed coverage of upgrading to Optimized Status
Oracle Database 12c; architectural changes;
apress.com Three Oracle partners have earned Oracle
performance improvements; and new fea-
tures for backup and recovery, administra- Exadata Optimized and Oracle Exalogic
Learn how to reduce
tion, data warehousing, and information Optimized status for solutions that have
data management costs
lifecycle management. been tested and tuned with Oracle Exadata
and increase data center
efficiency with Expert Database Machine and Oracle Exalogic
Consolidation in Oracle Database 12c.
Oracle NoSQL Database
Elastic Cloud.
The book guides you through planning By Maqsood Alam, Aalok
and implementing a consolidated Oracle Muley, Chaitanya Kadaru, Atos Worldgrid, an international sub-
Database installation using many of the and Ashok Joshi sidiary of Atos and an Oracle Platinum
new features in Oracle Database 12c. You’ll Oracle Press Partner, earned Oracle Exadata Optimized
learn to identify candidates for consolida- oraclepressbooks.com
and Oracle Exalogic Optimized status for
tion and to recognize instances that are
best left as standalone databases. Author Written by members Atos Smart Grid Suite (ASGS). ASGS enables
Martin Bach, an Oracle Certified Master, of the Oracle NoSQL energy and utilities companies to operate
also covers working with clustered systems Database product development team, this smarter energy grids. ASGS can process the
and Oracle Automatic Storage Management book is an authoritative primer for Oracle’s
daily collection of 60 million utility meters
in a consolidated environment. In addition, big data software stack. Learn how to use
he discusses using the Oracle Enterprise Oracle NoSQL Database to store big data in hours.
Manager Cloud Control feature of Oracle in low-cost, low-impact, highly scalable Temenos, an Oracle Gold Partner pro-
Enterprise Manager 12c as a monitoring and available data stores. Gain a real- viding solutions to the financial services
and management dashboard. Bach’s focus world understanding of how Oracle NoSQL
industry, announced that Temenos T24
is driving readers toward a cost-effective Database integrates with Oracle’s other
environment that is efficient in both tech- big data solutions, with coverage of Oracle (Java) Release 13 achieved Oracle Exadata
nology and human resources. NoSQL Database architecture, installation, Optimized and Oracle Exalogic Optimized
configuration, application development, status. Temenos T24 helps customers
Oracle Database 12c Performance administration, security, and more. The
achieve scalable, secure, high-performance
Tuning Recipes book features actual use cases of Oracle
NoSQL Database, emphasizing the success banking capabilities.
By Sam Alapati, Darl Kuhn,
stories and the business problems solved. Triple Point Technology, an Oracle Gold
and Bill Padfield
Apress Partner, earned Oracle Exadata Optimized
apress.com
Oracle Essentials, 5th Edition
and Oracle Exalogic Optimized status
By Rick Greenwald, Robert
Stackowiak, and Jonathan for Commodity XL, its trading and risk
Oracle Database 12c
Performance Tuning Stern management solution. Commodity XL
Recipes is a ready refer- O’Reilly Media analyzes data generated by daily com-
ence for database administrators in need of oreilly.com modities operations.
immediate help with performance issues
atos.net
relating to Oracle Database 12c. The book This book distills an
takes an example-based approach, wherein enormous amount of temenos.com
each chapter covers a specific problem information about Oracle Database 12c tpt.com
domain. Each chapter includes recipes for into one volume. Ideal for novice and
how to perform common tasks in that chap- experienced DBAs, developers, managers,
ter’s domain. Solutions in the recipes are and users, Oracle Essentials walks you
through technologies and features in Oracle
Partners Earn Gold Membership
backed by clear explanations of background
and theory. If you have a performance- Database 12c. Complete with illustrations Two Oracle partners have achieved Gold
related task, you’re likely to find a recipe and hints, this fifth edition provides a one-
membership in Oracle PartnerNetwork.
and a solution for it here. stop overview of Oracle Database 12c. The
book begins with an introduction to Oracle Acuity Cloud Solutions, a cloud-based
Oracle Database 12c New Features Database and the evolution of the relational application support and services consul-
database, a summary of key features, and tancy with a focus on talent management
By Robert Freeman
the role of Oracle Fusion Middleware.
Oracle Press systems, reported that Oracle Gold Partner
Other topics include core concepts in the
oraclepressbooks.com status will help it better serve its Oracle
architecture of Oracle Database, including
pluggable databases, installation, data Taleo Enterprise Cloud Service client base.
Learn how to maximize
structures and datatypes, managing an BASH Technologies earned Oracle
the new capabilities of
Oracle database, security options, basic
Oracle Database 12c. Gold Partner status for its commitment
principles of multiuser concurrency, trans-
Author and Oracle ACE to design, deliver, and support smart-
action processing, backup and recovery,
Robert Freeman provides essential infor-
cloud, and more. phone- and tablet-based access to Oracle’s
mation to get you up and running quickly
on Oracle Database 12c. The book offers PeopleSoft solutions.
commentary from Oracle Database expert Look for other Oracle books at bit.ly/NjG3KM. acuitycloudsolutions.com
bashconsulting.co
Two Oracle Partners Earn Apex IT Earns Oracle PartnerNetwork Specialization for Oracle Fusion
Platinum Status Customer Relationship Management
Two Oracle partners have earned Platinum Apex IT, an Oracle Platinum Partner, has tomer engagements worldwide and has
membership in Oracle PartnerNetwork. earned Oracle PartnerNetwork Specialized worked with multiple companies on their
Platinum status can be achieved by having status for Oracle Oracle Fusion implementations. To earn
any combination of five qualifying special- Fusion Customer Specialized status, Apex IT passed tests on
izations, Oracle Exastack Ready applications, Relationship common customer relationship manage-
or Oracle Validated Integrations. Management. ment configurations, lead and opportunity
Cervello, a professional services The company has management, territory management, quota
and solutions provider, earned Oracle completed more management, and forecasting.
Platinum Partner status for its experi- than 1,000 cus- apexit.com
ence in consulting, implementation, and
support services in enterprise perfor-
mance management, data management,
1Spatial Management Suite and Radius Studio Achieve Oracle Exadata
and business intelligence. Ready, Oracle Exalogic Ready Status
JMR Infotech, which provides end-to-end 1Spatial Group, an Oracle Gold Partner, supported on Oracle Exadata Database
banking solutions and technology services, announced that 1Spatial Management Machine, Oracle Exalogic Elastic Cloud, and
achieved Oracle Platinum Partner status Suite Version 1.0 and Radius Studio Oracle Linux. 1Spatial provides foundation
as well as all available specializations for Version 2.3 have achieved Oracle Exadata technology for spatial data management
delivering Oracle Financial Services solu- Ready and Oracle Exalogic Ready status, and processing solutions.
tions, including the Oracle FLEXCUBE suite demonstrating that the two products are 1spatial.com
of products and Oracle Financial Services
analytical applications.
mycervello.com
Two Partners Earn Oracle Exadata Ready, Oracle Exalogic Ready, and
jmrinfotech.com Oracle SuperCluster Ready Status
The following two • Diasoft, for FLEXTERA Version 7.0, a
Oracle partners have product for financial businesses that covers
MphasiS Announces Application earned Oracle Exadata back-office and core banking operations
Upgrade Solution Ready, Oracle Exalogic • LABVANTAGE Solutions, for LABVANTAGE
MphasiS, an Oracle Gold Partner, announced Ready, and Oracle 6, a laboratory information management
MphasiS Upgrade and Transformation SuperCluster Ready system of configurable, off-the-shelf
Services (MUSTS), a solution to help orga- status for their solutions solutions for laboratory research, devel-
nizations upgrade to the latest versions that have been tested opment, and quality management
of Oracle E-Business Suite and Oracle’s and tuned with those diasoft.com
PeopleSoft applications. MUSTS ensures engineered systems: labvantage.com
compliance and minimal downtime during
the migration through holistic assessment
questionnaires, evaluation templates,
CS Achieves Oracle Exadata Ready, Oracle SuperCluster Ready Status
testing, accelerators, and ongoing support. CS, an Oracle Platinum Partner, said its SuperCluster, and Oracle Solaris 11. CS
mphasis.com Automated Banking System B2 3.22.0.0 provides an integrated solution for banks
has achieved Oracle Exadata Ready and and insurance companies that includes
Oracle SuperCluster Ready status, demon- software, support, deployment, custom
ConSol*CM Earns Oracle Exadata strating that the system is supported on development, and training services.
Ready, Oracle Exalogic Ready, and Oracle Exadata Database Machine, Oracle csltd.com.ua
Oracle Linux Ready Status
ConSol* Consulting & Solutions Software
GmbH, an Oracle Gold Partner, reported that
Volante Suite Earns Oracle Exalogic Optimized, Oracle Exadata Ready,
ConSol*CM Version 6 has achieved Oracle and Oracle SuperCluster Ready Status
Exadata Ready, Oracle Exalogic Ready, and Volante Technologies, an Oracle Gold Partner, Linux, and Oracle VM 3. Volante Suite is a
Oracle Linux Ready status. ConSol*CM is a has announced that Volante Suite 4.0 model-driven code generator that helps
workflow management system that maps, has been tested and tuned with Oracle financial industry organizations manage
controls, and tracks tasks and processes in Exalogic Elastic Cloud and is supported on the message formats, standards, and proto-
GIL ADAMS
organizations of all sizes and industries. Oracle Exadata Database Machine, Oracle cols of financial transactions.
consol.com SuperCluster, Oracle Solaris 11, Oracle volantetech.com
CherryRoad Technologies
Announces Public Sector Oracle Cloud Marketplace
Cloud Solution To meet the growing demand for business expenses with Oracle tasks, sales accounts,
CherryRoad Technologies, a public sector applications that leverage cloud, mobile, and opportunities; centrally manage users;
systems integrator and Oracle Platinum and social technologies, and to create new and create and submit expense reports
Partner, has developed a public sector cloud opportunities for its partners, Oracle has from any smartphone or tablet directly to
introduced the Oracle Cloud Marketplace. Oracle Sales Cloud.
solution powered by Oracle Applications and
More than 100 applications developed by
Oracle’s engineered systems. CherryRoad’s Oracle partners and leveraging Oracle Cloud QAS for Oracle Sales Cloud, an address
subscription-based solution addresses infra- platform services and Oracle software-as- verification solution created by Oracle
structure, method- a-service (SaaS) applications are available Gold Partner Experian QAS. The interactive
to browse, evaluate, and buy. They include address verification solution connects at
ologies, internal con-
the point of capture to help standardize
trols, and processes CallidusCloud Sales Performance and verify US and Canadian addresses in
for K–12, higher edu- Management solutions, developed by real time, while the contact is still engaged,
cation, and state and Oracle Gold Partner Callidus Software and providing an opportunity to ensure that an
integrated with Oracle Sales Cloud. The accurate address is captured each time.
local governments. integration gives sales representatives
cherryroad.com visibility into performance, revenue, and ReadyTalk, a solution for promoting, man-
compensation metrics directly from within aging, and executing webinars in Oracle
Oracle Sales Cloud, without the need to Marketing Cloud, developed by Oracle Gold
Oracle Exadata Ready Program navigate to other systems. Partner ReadyTalk. ReadyTalk’s premeeting,
in-meeting, and postmeeting tools help
Attracts Oracle Partners CardConnect Payment Gateway, which customers increase attendance and auto-
Five Oracle Gold Partners have earned Oracle enables PCI-compliant transactions from matically capture behavioral data.
credit, debit, gift, and prepaid cards, created
Exadata Ready status for their solutions.
by Oracle Gold Partner CardConnect. It TeamSupport, a customer support suite
BPC Banking Technologies said that its allows users of Oracle Cloud Marketplace to for collaboration between support team
SmartVista e-payment solution achieved accept transactions from customers’ credit, members and others, developed by Oracle
the status after validation on an Exadata debit, gift, and prepaid cards, protect sensi- Silver Partner TeamSupport. TeamSupport
tive customer data, and reduce transaction solutions available in the Oracle Cloud
Database Machine X2-2 Quarter Rack and on
costs through interchange optimization. Marketplace include channel management,
Oracle’s SPARC T4-1 server. lead generation, data quality, reporting and
DATALAN, a.s. reported that DATALAN DBSync, a solution for cloud replication productivity tools, quoting, contract man-
Digital City, its solution for operating and integration for customer relationship agement, forecasting, sales incentives, and
management and enterprise resource plan- compensation management.
municipalities, achieved Oracle Exadata
ning data, made by Oracle Gold Partner
Ready status. DBSync. DBSync provides data replication ToutApp, a real-time e-mail/presentation
Pattern Matched Technologies (PMT) said and application integration for customer tracking and predictive analytics solution
Amethyst (R2) and Emerald (R5) achieved relationship management, accounting, and for sales teams, developed by Oracle Gold
data integration activities. Partner ToutApp. ToutApp provides cloud-
Oracle Exadata Ready status. PMT provides based sales communications software.
solutions for transaction processing, finan- DocuSign, a secure electronic signature
cial switching, distribution, prepaid services, solution created by Oracle Gold Partner Xactly Incent, which integrates sales
DocuSign, which specializes in electronic performance management and CRM solu-
billing, and mobile banking.
signature transaction management. tions, made by Oracle Gold Partner Xactly
Truven Health Analytics announced that DocuSign helps customers close business Corporation. Xactly’s cloud-based solutions
the Truven Health Advantage Suite health- anywhere, decrease costs, and enhance enable the design, management, and opti-
care data and analytics platform Version 5 customer satisfaction. mization of incentive programs.
achieved Oracle Exadata Ready status. The
EASYProcess, an enterprise develop- cloud.oracle.com
suite integrates and organizes information to ment platform that enables Oracle Sales calliduscloud.com
support decision-making. Cloud data to be brought into SharePoint,
cardconnect.com
UNIT4 TETA announced that ERP TETA developed by Oracle Gold Partner K-Rise
Systems. K-Rise Systems provides supply mydbsync.com
Constellation, a set of integrated IT systems
chain, human capital management, and docusign.com
for managing personnel, finance, logistics, e-commerce applications. krisesystems.com
manufacturing, customer relationships,
expensify.com
and business intelligence, achieved Oracle Expensify, an expense reporting solution
that integrates with Oracle Sales Cloud, qas.com
Exadata Ready status.
made by Oracle Gold Partner Expensify. readytalk.com
bpcbt.com Users of Expensify and Oracle Sales Cloud
teamsupport.com
datalan.sk can automatically import company card
transactions; capture mileage, time, and toutapp.com
patternmatched.com
other reimbursable/billable expenses; code xactlycorp.com
Gil Adams
truvenhealth.com
unit4teta.pl
Manager Rick Ramsey poses two insights make it clear that integra- SystemsDebate1 and bit.ly/
questions to them: Is the hardware tion and context are everything in IT: SystemsDebate2.
Making a Change
Kellyn Pot’Vin embraces the evolution of Oracle
technology and speaks up for women in technology.
dbakevlar.com
nology but also about the need for change Not only are women turning down
1 ncwit.org/blog/did-you-know-demographics-technical-women
2 20-first.com/606-0-the-three-phaes-of-a-womans-career-lifecycle.html
No Boundaries
Three peers transcend time zones, work weekends, and share knowledge across borders.
Company: Qualogy, an international firm Company: Various Oracle University partners, as Company: Insight Technology, a firm focused on
specializing in Oracle and Java technologies well as Symantec and the International Council of database performance and security
Job title/description: Oracle Fusion Middleware Electronic Commerce Consultants (EC-Council) Job title/description: Database evangelist,
architect, responsible for advising potential Job title/description: Instructor, teaching developing and doing research on Oracle
Qualogy customers about Oracle Fusion multiple courses about Oracle solutions for Database–related management tools and high-
Middleware solutions Oracle University partners, in addition to teaching performance hardware, while also providing
Location: Rijswijk, the Netherlands at Symantec and EC-Council professional database consulting services
Oracle credentials: Oracle Certified Location: São Paulo, Brazil Location: Tokyo, Japan
Professional (Oracle Database 10g), with Oracle credentials: Nearly two dozen Length of time using Oracle products: More
15 years of experience using Oracle products certifications including Oracle Certified than 15 years
Professional (MySQL 5.0 Developer, MySQL 5.0
Database Administrator) and Oracle Certified
Expert (MySQL 5.1 Cluster Database
How did you get started in IT? I was working Administrator), with 13 years of experience What’s your favorite tool on the job? I use
in a hospital pharmacy that had a poorly using Oracle products only the open tools that come with Oracle’s
functioning medication system built on operating systems. I like using them to debug,
MUMPS, UNIX, and a SQL-like file database. write programs, and make presentations.
I educated myself by reading the books that What’s your favorite tool on the job? Kali These tools make me platform- and
had been delivered with the system and Linux, the penetration-testing framework hardware-independent—I don’t have any
learned to solve issues and errors, maintain formerly known as BackTrack. In my opinion, trouble if the environment suddenly changes,
the database, and enhance programming. everyone working in IT should learn more and I don’t have to worry about where to work.
What technologies have most changed your about security. How are you using social media in your
life? Oracle Tuxedo and Oracle WebLogic Which features and options in Oracle work? To connect and communicate with
Server. In 2000 I began working for a bank Database do you find most valuable? people from around the world whom I’ve
on the foreign exchange market that was The best feature is Oracle RMAN [Oracle met at Independent Oracle Users Group
involved in an international effort to build a Recovery Manager], and the best options are [IOUG] and Japan Oracle User Group
time-zone-free settlement system called CLS. Oracle Real Application Clusters and Oracle [JPOUG] events, as well as at Oracle
I helped build that system using BEA Tuxedo Active Data Guard. They bring me one very OpenWorld. It’s amazing how so many
6.5 [now Oracle Tuxedo] and BEA Jolt [now important thing: security. All my clients are people are open with their thoughts and
Oracle Tuxedo Jolt]. The system was running looking for performance on their Oracle want to share their knowledge. I don’t feel
on Sun Java System Web Server [now Oracle databases, but they always want to be the borders between countries or languages
iPlanet Web Server], but later we migrated to certain that they won’t lose their data. anymore, thanks to social media.
BEA WebLogic Server 6 [now Oracle WebLogic What advice do you have about how to What’s your favorite Oracle user group?
Server], which I worked with for many years. get into web, database, or application Actually, I have two: IOUG and JPOUG. IOUG
What’s your go-to Oracle reference book? development? Study every single day. sessions are so fascinating that I always
Oracle WebLogic Server 12c: Distinctive You should never give up your dreams. forget about the time. And JPOUG is the only
Recipes (Architecture, Development and Buy an Oracle Press book, make your test Japanese-language Oracle user group—and
Administration), by Frank Munz [munz & environment, and start to study it. Someday it’s the only place where I can ask any work-
more, 2013]. the right people will appreciate your efforts. related question that comes up.
oracle.com/partners/goto/exastack
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.
National Geographic Education supports the
mission of the National Geographic Society to
TOGETHER ORACLE AND inspire people to care about the planet by
NATIONAL GEOGRAPHIC EDUCATION ARE creating compelling educational materials for
young people and the adults who teach them.
2013
ORACLE
EXCELLENCE
AWARDS
Oracle recognizes technology leaders who
engineer innovation.
Oracle customers and partners are technology pioneers, THE ORACLE EXCELLENCE
leading the way in developing and implementing revolu- AWARDS CATEGORIES
tionary new solutions and establishing fresh standards CIO OF THE YEAR
and best practices using Oracle technology. The Oracle LEADERSHIP
DBA OF THE YEAR
Excellence Awards recognize customers and partners that
JAVA BUSINESS INNOVATION
drive business value together with Oracle. This year, the ORACLE PARTNERNETWORK
Oracle Excellence Awards include nine award programs that SPECIALIZED PARTNER
OF THE YEAR
celebrate leadership, technology, enterprise sustainability, DATA WAREHOUSE LEADER
database administration, and more. OF THE YEAR
ORACLE FUSION
Anchoring Oracle’s annual awards is the CIO of the MIDDLEWARE INNOVATION
Year program, recognizing global leaders who demonstrate ECO-ENTERPRISE INNOVATION
outstanding performance and vision in an enterprise PROACTIVE SUPPORT:
CHAMPION
that uses Oracle products and services. In addition, CIO
of the Year winners have built a professional relationship
with Oracle that fosters the two-way exchange of ideas
between the winner’s company and Oracle and produces
insightful and honest feedback about Oracle technologies,
services, and procedures.
TAKANORI YUKISHIGE
ALL NIPPON AIRWAYS | TOKYO, JAPAN
A
ny successful business must domestic flights was deployed in February
ensure ongoing customer sat- 2013, and the company is in the middle of
isfaction, respond to increased development on a cloud-based system for
competition, and minimize costs. international flights.
Running a successful airline in today’s “Because ticketing is a core, mission-
economic climate requires all of those critical function, we always took a con-
things, as well as the management of servative approach, even if it took more
incredibly complex business operations time,” says Yukishige. “I believe this was an
and logistics. Yet, even with these chal- important part of making a smooth transi-
lenges, All Nippon Airways (ANA) has tion to our new system.”
steadily increased both its sales and Even after its successful initial rollout,
profits, thanks in part to new IT systems ANA had some concerns about whether
based on Oracle technology. the new domestic ticketing system would
“IT is essential for the success of our be able to cope with holidays and other
business. Operational control of aircraft periods when demand peaks. “In the
and seat reservation systems are core end, our worries were unnecessary,” says
parts of the airline infrastructure,” says Yukishige. “So far, the new system has
Takanori Yukishige, ANA senior vice pres- performed flawlessly, even during the busy
ident, Innovation and vacation periods.”
IT Strategy, and winner The new Oracle-based solutions are
“WE EXPECT of the Oracle Excellence delivering more than just top-notch
Oracle SOA Suite, and Oracle Service Bus with Oracle will help us continue to
to make critical systems globally accessible transform our customer experience
while significantly lowering management capabilities and support ANA’s future
costs. Its on-premises ticketing system for business challenges.”
JUDITH A. LEMKE
SCHNEIDER NATIONAL | GREEN BAY, WISCONSIN
T
here’s a saying that you can’t drive aging and inflexible applications and IT
down the road and change your tires systems with a new corporate and mobile
at the same time. But transporta- infrastructure relying on Oracle solutions.
tion and logistics leader Schneider At the same time, the company trans-
National’s recent “on the road” business formed its services to offer both regional
transformation provides evidence that you and cross-country service, expanded the
may be able to do just that—if you have the types of industries and customers it served,
right business relationships. and realigned internally.
“We literally replaced or re-platformed Schneider used Oracle’s Siebel Customer
every piece of hardware and software we Relationship Management and Oracle
had within the company and in our trucks, E-Business Suite applications, Oracle Fusion
because we had 20-plus-year-old tech- Middleware, and other technologies to rede-
nology driving our business,” says Judy sign the fleet management systems at the
Lemke, executive vice president and CIO heart of its business. While it took six years
at Schneider National and winner of the and US$250 million to roll out the entire
Oracle Excellence Award program, ROI came much
for CIO of the Year—North
America. “The heart of “OUR NEW more quickly. “The program
paid for itself in the first full
everything we have now is ORACLE-BASED year after implementation,”
based on Oracle technol-
ogies. With Oracle’s help INFRASTRUCTURE says Lemke.
Not only is the new
we successfully went from SETS US UP TO BE solution cost-effective, but
20-year-old technologies
to cutting-edge solutions.” ABLE TO GROW it also gives Schneider a
green light to grow. “Our
Schneider National is AND EXPAND new Oracle-based infra-
one of the largest trans-
portation and logistics EFFECTIVELY.” structure sets us up to be
able to grow and expand
companies in America, effectively,” says Lemke.
with about US$3.5 billion in annual rev- “In the past, our growth had been partially
enues. The 78-year-old company was constrained by our systems. Now we can
founded by one man with one truck; today grow and expand as we need to, and we
it’s a massive organization with close to have more flexibility than ever before.”
10,000 trucks and 44,000 trailers and con- A key to Schneider’s success has been
tainers providing transportation and logis- the company’s deep relationship with
tics services to customers around the world. Oracle. “We hit some problems when we
Schneider recently completed a six-year finally went live with our new transporta-
transformation process that altered every- tion management system, but Oracle was
MARK LUINENBURG
thing from what business the company right there with us, and we turned it around
engaged in to how it conducted that busi- quickly,” concludes Lemke. “In the end, it
ness. Schneider completely replaced its really paid off.”
W
hen Bharti Airtel (Airtel), one critical. “While Oracle has always built
of the leading global telecom- rock-solid products, it is continuing to
munications companies, rolls make them more and more flexible and
out new systems to support its configurable, which is very important for
280 million subscribers and enterprise cus- us,” says Dr. Menon.
tomers, it calls on technology partners. Airtel has three major business priori-
With a broad portfolio of service offer- ties: increasing its focus on customers to
ings, Airtel needs an IT platform that is ensure that every customer gets exactly
robust, scalable, and extremely flexible. what he or she is looking for; continuing to
To meet customer expectations and build grow its mobile business, especially mobile
a dynamic IT infrastructure, Airtel has data; and expanding its geographical foot-
invested heavily in technology and has print and consolidating markets within
deployed a 10-year roadmap with help countries to achieve market leadership.
from specialized IT partners. Oracle is one “Oracle plays an important part across
such partner, and Oracle has all our business initia-
helped Airtel put together tives,” says Dr. Menon. “For
IT systems for customer “ORACLE PLAYS example, Oracle CRM plays
relationship management
(CRM), customer experi-
AN IMPORTANT a crucial role in supporting
our service initiatives and
ence (CX), and enterprise PART ACROSS meeting our customer-
resource planning (ERP).
The solutions include Oracle
ALL OUR facing initiatives.”
For Menon, good partner-
Database, Oracle Fusion BUSINESS ships are an important part
Middleware, and Oracle CX
and Oracle ERP applications.
INITIATIVES.” of being a successful CIO. “I
believe in long-term, strong,
“Oracle continues to be deep partnerships like the
the preferred technology partner for Airtel one we have with Oracle,” says Dr. Menon.
across three of our main facets of busi- And although it can be difficult to predict
nesses, including customer, factory, and the future, especially when it comes to
enterprise,” says Dr. Jai Menon, winner of fast-moving markets such as telecommuni-
the Oracle Excellence Award for CIO of the cations, Dr. Menon is confident that Airtel’s
Year—Asia Pacific and group CIO of Bharti decision to invest in a long-term IT partner-
Enterprises, a conglomerate based in New ship with Oracle is a good one that will give
Delhi, India. While Bharti Enterprises runs the company room for future growth.
companies that provide everything from “Given the investments that Oracle is
insurance to neighborhood stores, one of making in the technologies we’re using,
its largest is Airtel, which boasts customers we are very comfortable basing our future
NAMAS BHOJANI
in 20 countries across Asia and Africa. IT plans around the Oracle technology
For a business as large and dynamic roadmap,” says Dr. Menon. “All in all, our
as Airtel, both agility and reliability are future is in safe hands with Oracle.”
AGENOR LEÃO
NATURA | CAJAMAR, BRAZIL
W
ith revenues of more than US$3.2 variety of Oracle hardware and soft-
billion, Brazil’s Natura cosmetics ware, including Oracle Exadata, Oracle
and personal care company Exalogic, Oracle SOA Suite, Oracle
knows how to grow a business. Unified Business Process Management
But when it came time to create a more Suite, Oracle Database, and Oracle
flexible IT infrastructure that could support WebCenter and Oracle ATG Web
future growth, Natura turned to Oracle. Commerce applications.
“Oracle solutions provide us with “Oracle technology plays an
greater agility as well as the scalability important role in our structural initia-
we need to accommodate our busi- tives,” says Leão. “Oracle products give
ness growth,” says Agenor Leão, Digital us the speed we need to lead with solu-
Technologies vice president at Natura and tions that increase business value.”
winner of the Oracle Excellence Award for For example, using Oracle technol-
CIO of the Year—Latin America. ogies, Natura was able to roll out new
Natura is the largest social and commerce
manufacturer of cos- solutions quickly.
metics, toiletries, and “THE EVOLUTION “Oracle WebCenter Sites
beauty products in Brazil
and a leader in direct
OF OUR BUSINESS and Oracle ATG Web
Commerce in the cloud
selling. The company has IS BEING DRIVEN made it possible for us to
almost 7,000 employees,
as well as more than 1.5
BY THE USE OF quickly launch new rela-
tionship and e-commerce
million consultants who TECHNOLOGY TO portals,” says Leão. “We
sell the company’s prod-
ucts to consumers.
CONNECT PEOPLE.” know we can trust Oracle
products to help power
As Natura grows, it Natura’s business
needs to raise productivity, enable inno- growth and transformation. Oracle prod-
vation, and continue to evolve its level of ucts enable us to deliver agile, robust,
service. The company sees the intelligent reliable, and scalable IT solutions for
use of technology as the way to achieve the business.”
those business objectives. For Natura, the right solutions are
“Our business is based on the rela- a blend of technology and service.
tionships between our consultants and “Oracle solutions are a good fit for
customers,” says Leão. “That’s why the our business not only because of
evolution of our business is being driven by their architecture, scalability,
the use of technology to connect people, stability, and sturdiness, but
allowing us to understand the relationships also because they provide
of our consultants and customers and both on-premises and SaaS
PAULO FRIDMAN
GIANLUIGI CASTELLI
ENI | MILAN, ITALY
S
ometimes incremental change is and Oracle Human Capital Management
good. But not always. Cloud applications.
Three years ago, Italian energy A complete IT makeover is no small feat
giant Eni determined that its busi- for any large company, and Eni is one of
ness objectives required more-aggressive the largest integrated energy companies in
IT capabilities. With 7,000 physical servers, the world, operating in 90 countries with
54,000 CPUs, and hundreds of disparate 78,000 employees and annual revenues of
applications, Eni needed a new IT hard- more than €110 billion.
ware and software architecture that would As Eni rolled out its new IT architec-
be easier to manage and more efficient, ture and applications, it quickly started to
resilient, and flexible. The company also realize significant savings. “We’re saving
needed something to a substantial amount of
enable future business money,” says Castelli,
growth across its many “ORACLE SOLUTIONS “roughly €30 million a year
lines of business.
But instead of ARE SO PERVASIVE on application manage-
ment, licensing costs,
choosing incremental IN OUR COMPANY and operations.”
change, Eni’s CIO went
big. “We didn’t need THAT THEY’VE Eni’s IT transformation
program is also much more
an evolution,” says BECOME A TRUE than a technical project. In
Gianluigi Castelli, exec-
utive vice president and BACKBONE OF OUR order to succeed, there’s a
complete cultural shift going
CIO at Eni. “We needed
an IT revolution.”
OPERATIONS.” on, not just within the IT
organization but throughout
As a result, Castelli, the company. Castelli is
winner of the Oracle Excellence Award for leading the charge of moving IT out of the
CIO of the Year—Europe, Middle East, traditional internal client/supplier model
and Africa, and his team are driving a toward a business/IT relationship that’s
massive €160 million IT transformation based on a full sharing of responsibility for
program. Eni has totally re-engineered its achieving expected business results.
IT infrastructure, from a new energy- One of the keys to Eni’s successful IT
efficient consolidated data center that transformation has been its close partner-
uses 7,000 blades and a dynamic cloud- ship with Oracle. “Oracle has always been
based infrastructure-as-a-service plat- very willing to work with us at multiple
ALESSANDRO ALBERT/GETTY IMAGES
form to a consolidated set of applications levels to help us achieve the best results,”
running on the same platform. And Eni is says Castelli. “Oracle products are instru-
relying on a core set of Oracle solutions, mental to achieving our goals. Oracle
including Oracle Database, Oracle Fusion solutions are so pervasive in our company
Middleware, Oracle Enterprise Manager, that they’ve become a true backbone of
and Oracle Customer Experience Cloud our operations.”
LEADERSHIP 1
LEADERSHIP: FINANCE—EUROPE,
MIDDLE EAST, AND AFRICA
Ian Winham, Executive Vice President,
Chief Financial Officer, and Chief Information
Officer, Ricoh Europe
1 LEADERSHIP continued
LEADERSHIP: MARKETING—EUROPE,
MIDDLE EAST, AND AFRICA
David Dorling, Head of Global Marketing,
Swiss Post Solutions
3
JAVA BUSINESS INNOVATION
The Java Business Innovation award recognizes
achievement using the Oracle Java Embedded
platform to drive innovation within business
or product development.
SPECIALIZED PARTNER
OF THE YEAR
The Specialized Partner of the Year awards
recognize Oracle PartnerNetwork partners
for their commitment to delivering innovative,
specialized solutions and services based
on Oracle hardware and software.
DATA WAREHOUSE
LEADER OF THE YEAR
1. Data Warehouse Leader of
the Year Dr. Marcus Prätzas
(right), Deutsche Bank, with
Cetin Özbütün, Oracle 2. Data
Warehouse Leader of the Year Ross
Bensen, Thomson Reuters
1 ECO-ENTERPRISE INNOVATION
The Eco-Enterprise Innovation awards honor
customers for their use of Oracle products to
take an environmental lead, as well as to reduce
costs and improve business efficiencies using
green business practices. Partners that help
winning customers with their sustainability
initiatives are also honored.
NEXT STEPS
ORANGE PHOTOGRAPHY
Speed Mobile
Quickly deploy line-of-business mobile business
intelligence apps with Oracle Business Intelligence Mobile
App Designer.
http://localhost:9704/analytics/
saw.dll?downloadfile&Path= Figure 5: Viewing the app as listed in the Apps Library
%2Fshared%2F3.%20Analysis
%20and%20Dashboards 11. To preview the app, click Preview (above If you’ve already looked at the example
%2FResources Uploaded in Webcat the ribbon menu). You can then work apps on the SampleApp Mobile Apps Store
%2FProducts_image.jpg with a preview of the app in your web Apps Library, you might be wondering how
browser, using the menu button at the to get your new app listed alongside all the
Note that this image URL refers to top left of the page to switch between others in the Apps Library section, ready to
a JPG file contained in the SampleApp the cover page and the page containing be subscribed to and accessed by end users.
Presentation Services Catalog, used your BI components, and use the navi- To do this, you have to publish the app, and
elsewhere in the demonstration dash- gation elements on the second page to in this next set of steps, you’ll do just that.
boards. You can upload your own image move up and down within the product
if you prefer or reference an image file hierarchy, as shown in Figure 4. Publishing Your App to the Mobile
accessible to your Oracle Business Now that you’ve created your mobile App Store
Intelligence server. app, you can append additional pages with When your app is ready to be made available
When the selections and the edits are features such as tile and pivot table com- for your end users to use, you can publish it
complete, click Save to save the app defi- ponents and additional navigation compo- to the app store by following these steps:
nition to the SampleApp Presentation nents such as accordion menus and links 1. Ensure that you are still logged in to the
Services Catalog. You’re now at the point to subpages. SampleApp V309 R2, which Oracle Business Intelligence website,
where you can preview your app before comes with several example mobile apps open your app for editing again, and
publishing it to the SampleApp Mobile already installed and ready to be subscribed confirm that the Oracle Business
Apps Store Apps Library, where your to, is accessible from your web browser at Intelligence Mobile App Designer layout
users can subscribe to it. http://localhost:9704/mobile/appstore. editor is displaying your app in edit mode.
2. Click the Publish button, at the top of the Congratulations! You have just created Mark Rittman is an
screen. The Publish App dialog box will and published your first mobile BI app, Oracle ACE Director and
then appear. using Oracle Business Intelligence Mobile cofounder of Rittman
3. On the Sign-In page, leave Local as the App Designer. Mead, an Oracle Gold
default value and click Next. On the Enter Partner based in the UK,
Attributes page, click Browse to navigate CONCLUSION with offices in the US,
to and select the following file— Oracle Business Intelligence Mobile App India, and Australia. Rittman has worked with
Designer complements Oracle Business Oracle’s business intelligence, data integration,
/home/oracle/obiee/user_projects/ Intelligence’s other mobile BI tools, pro- and data warehousing products for more than
domains/bifoundation_domain/ viding a drag-and-drop environment for 15 years, and he writes for the Rittman Mead
servers/bi_server1/tmp/_WL_user/ creating rich, interactive mobile apps that blog at rittmanmead.com/blog.
analytics_11.1.1/7dezjl/war/res/sk_blafp/ can be viewed by any HTML5-compliant
login/logoncubes.jpg mobile device. NEXT STEPS
To learn more about Oracle Business
—and click Next. Intelligence Mobile App Designer, view READ more about
4. The dialog box should then display the documentation including User’s Guide for Oracle Business Intelligence Mobile
App Designer
message “Your app is valid. Click Publish Oracle Business Intelligence Mobile App
bit.ly/1cI0RdI
to publish your app to the Apps Library.” Designer 11g Release 1 (11.1.1), watch videos
DOWNLOAD
When the message appears, click Publish on how to create a mobile BI app and use Oracle Business Intelligence Enterprise
and then click View. You should see your key designer features, explore tutorials, Edition 11.1.1.7.1 Sample Application
new mobile app displayed in the Apps review collateral, and interact with social (V309 R2)
bit.ly/1feX0qb
Library, as shown in Figure 5. media, go to bit.ly/1cI0RdI. t
Redaction
Column Description and Redaction Requirement
Have no worries, John assures her. Acme can
ID_NO National ID number, such as the Social Security number in the US. Replace each of the first five use Data Redaction in Oracle Database 12c
characters of the column with a * and show only the last four characters. (Example: for 123456789,
show *****6789.) to accomplish her objectives easily. The
LAST_DEP_DT Date of last deposit. Show only day and month, and replace the year with 1900. (Example: for Jan 14, feature enables Acme to define a set of
2013, show Jan 14, 1900. rules on what data can be redacted in a
FOLIOID ID of the folio where the account is located. Replace the number with any random number. specific table, plus how and when. This set
EMAIL E-mail address of the account holder. Replace the e-mail address before the @ sign with four x’s, and of rules is called a redaction policy, or just
I-Hua Chen
keep the domain name. (Example: for john.smith@proligence.com, show xxxx@proligence.com.) a policy for short. The supplied PL/SQL
Table 1: Redaction requirements for Acme Bank’s SAVINGS table package, DBMS_REDACT, includes all the
entire value, he would have used DBMS_ ACCNO ACCNAME ID_NO LAST_DEP_DT FOLIOID EMAIL
REDACT.FULL here.) ——————— —————————————— ————————————— ———————————————— —————————— ————————————————————————————
Line 9 shows the redaction formats. 101 John Smith *****6789 21-SEP-00 3434562 xxxx@proligence.com
102 Jane Smith *****7890 20-SEP-00 3452092 xxxx@proligence.com
There are five masking parameters, sepa- 103 Jane Doe *****8901 19-SEP-00 4529012 xxxx@proligence.com
rated by commas, John explains. The first—
VVVVVVVVV—is the input value; it is the
actual value stored in the ID_NO column. uses that character here. The fourth value position. Because Jill wants to redact the
In this case, each V represents a number. indicates the position in the input value first five numbers, John uses 5 here. With
The second value—VVVVVVVVV—shows where the redaction should start, which, this setting, if the input value is 123456789,
what to display. The third value, which in in this case is 1—meaning that the redac- the redaction will be between the first and
this case is *, shows the value to use in place tion should start in the first position. The fifth positions, inclusive, and * will be used
of the redacted value. Because Jill wants fifth and final value shows the number of to mask actual values, so the final redacted
to show * for the redacted values, John characters to be redacted from the starting value will be *****6789.
But ID_NO is not the only column Acme Code Listing 3: Selection by the TSBS user
needs to redact. To add the other columns
to the redaction policy, John alters the SQL> conn tsbs/tsbs
policy by executing another procedure
SQL> select * from tsbs.savings;
in the DBMS_REDACT package—alter_
policy—shown in line 12 of Listing 1. The ACCNO ACCNAME ID_NO LAST_DEP_DT FOLIOID EMAIL
action parameter in line 16 specifies the ——————— —————————————— ————————————— ———————————————— —————————— —————————————————————————————————————
101 John Smith 123456789 21-SEP-13 1234567 john.smith@proligence.com
type of alteration—add_column—and
102 Jane Smith 234567890 20-SEP-13 2345678 jane.smith@proligence.com
line 17 specifies the column that needs to 103 Jane Doe 345678901 19-SEP-13 3456789 jane.doe@proligence.com
be added to the policy—FOLIOID. Because
the FOLIOID column should be completely
Code Listing 4: Effect of redaction on update
redacted with random values, the next
parameter—function_type—in line 18,
specifies dbms_redact.random. SQL> select id_no, FOLIOID from tsbs.savings where accno=101;
be redacted, he sets the function_type SQL> update tsbs.savings set FOLIOID = 500 where id_no='123456789';
parameter to dbms_redact.partial
in line 26 of Listing 1. In line 27, he sets 1 row updated.
the function_parameters value to SQL> select id_no, FOLIOID from tsbs.savings where accno=101;
MDy1900. The use of uppercase M and D
means that the month/day component of ID_NO FOLIOID
————————————— ——————————————
the date value should remain unaltered *****6789 7590112
during redaction. The use of the lowercase
y means that the year should be redacted
and that the number immediately fol- 37, he specifies replacement of the name the APP user to connect to the database.
lowing that y—1900—is the value substi- portion—the part before the @ sign. It’s It needs to update, insert into, and delete
tuted for the actual value. The net effect of that simple to include the appropriate from the table as well as select from it. If
the parameter is that the date and month parameters, he explains, and the dbms_ the data is masked, the APP user will not be
in the LAST_DEP_DT column value remain redact package does the rest. able match exact values. For example, she
the same and the year is replaced every- continues, after a folio shuffling, suppose
where with 1900. Testing the APP user wants to set the FOLIOID of
The redaction requirement for the After John executes the code in Listing 1, the account of the customer with ID_NO
EMAIL column is a bit more complex. The the Savings_Redaction redaction policy 123456789 to 9876 but, due to redaction,
redaction policy must detect a pattern on the SAVINGS table is now active on the APP user can’t see the exact value of
in the value and redact only part of it. In the ID_NO, LAST_DEP_DT, FOLIOID, and either the ID_NO or FOLIOID columns. The
this case, the policy must redact only the EMAIL columns. To test the redaction, applications would have to be modified to
portion before the @ sign and leave the Jill logs in to an application that connects change the predicate or use different user
rest intact. Jill worries that it might require as the APP user, and she selects from the IDs—neither of which is a palatable option
complex coding. On the contrary, John SAVINGS table, as shown in Listing 2. Jill for Jill, who wants a better, more workable
explains, it is quite easy with the built-in compares the results with her original solution from John.
functions for regular expressions, which are requirements in Table 1 and pronounces That’s simple, John answers. Redaction
designed for partial matching. In Listing 1, them completely compliant. To complete protects data from being visible for exami-
line 35, he sets the function_type the test, she logs in as the schema owner— nation, but it does not prevent application
parameter to a constant named dbms_ TSBS—and selects from the SAVINGS table logic. Data Redaction, he explains, does
redact.regexp, which instructs the in the application. The results, shown not change the underlying data in the
redaction package to use regular expres- in Listing 3, display the original values database; it redacts the data only when
sions. The redaction package includes without redaction. it is displayed. To demonstrate, he per-
some predefined templates for different forms a simple update as the APP user, as
types of values, including e-mail addresses. Protection Mechanisms shown in Listing 4. He also selects the data
In line 36, he specifies that EMAIL column There is a small issue with this redaction before and after the update. The update
values are in e-mail address format. In line policy, Jill opines. The application is using works perfectly without any issues, but
the displayed data is redacted in all cases. ORA-28081: Insufficient privileges - Arup Nanda (arup@
What this means, John clarifies, is that the the command references a redacted proligence.com) has
application needs no change whatsoever object. been an Oracle DBA
to enable redaction. Jill is greatly relieved since 1993, handling
to hear that. The realm of protection is not just for the all aspects of database
Jack, another developer, is concerned table, John explains. If the APP user creates administration, from
that when a user creates another table a view on the SAVINGS table, the view will performance tuning to security and disaster
by selecting data from the SAVINGS table, also contain the redacted data. recovery. He was Oracle Magazine’s DBA of the
whose data is redacted—and, in some Year in 2003 and received an Oracle Excellence
cases, replaced by completely random Conclusion Award for Technologist of the Year in 2012.
values—the new table may contain wrong Using the Data Redaction feature in Oracle
data and create confusion among users, Database 12c, Acme can add policies to Next Steps
which is quite a serious issue. John tables to mask data in any column to a
assures him that that will not be the case desired format quickly and easily. Acme READ Oracle-hosted online article content
bit.ly/1g5wgeA
and demonstrates: does not need to change any existing appli-
READ more about DBMS_REDACT
cation code to enable the redaction, and
bit.ly/1dfnk2A
SQL> create table my_savings as UPDATE, INSERT, and DELETE operations
LEARN more about
select * from tsbs.savings; continue to work as before for authorized Oracle Database security
create table my_savings as select * users. And, most importantly, Acme does oracle.com/us/products/database/security
from tsbs.savings not need to create, use, and maintain views. DOWNLOAD
* Everyone is satisfied with the solution, Oracle Database 12c
bit.ly/1czAk2I
ERROR at line 1: and the meeting is adjourned.
Go where the
conversation lives.
Connect with Oracle Magazine on your favorite social
channel and be a part of our growing community.
Join Us.
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.
Call Stacks, Error Stacks, and Listing 1: Demonstration of the DBMS_UTILITY.FORMAT_CALL_STACK function
Error Backtraces
Prior to Oracle Database 12c, Oracle Database SQL> CREATE OR REPLACE PROCEDURE proc1
offered several DBMS_UTILITY functions 2 IS
3 BEGIN
to answer key questions programmers ask
4 DBMS_OUTPUT.put_line (DBMS_UTILITY.format_call_stack);
as they develop, debug, and maintain their 5 END;
code, and the functions have been extremely 6 /
helpful. There is, however, always room
SQL> CREATE OR REPLACE PACKAGE pkg1
for improvement, and that is why Oracle 2 IS
Database 12c added UTL_CALL_STACK. 3 PROCEDURE proc2;
4 END pkg1;
Before I dive into UTL_CALL_STACK,
5 /
here’s a refresher on the three DBMS_
UTILITY functions that are reimagined by SQL> CREATE OR REPLACE PACKAGE BODY pkg1
2 IS
the new UTL_CALL_STACK package. 3 PROCEDURE proc2
DBMS_UTILITY.FORMAT_CALL_STACK. 4 IS
Introduced in Oracle7, the DBMS_UTILITY 5 BEGIN
6 proc1;
.FORMAT_CALL_STACK built-in function 7 END;
returns a formatted string that shows the 8 END pkg1;
execution call stack: the sequence of invoca- 9 /
tions of procedures or functions that led to SQL> CREATE OR REPLACE PROCEDURE proc3
the point at which the function was called. In 2 IS
3 BEGIN
other words, this function answers the ques-
4 FOR indx IN 1 .. 1000
tion, “How did I get here?” 5 LOOP
Listing 1 demonstrates the DBMS_ 6 NULL;
7 END LOOP;
UTILITY.FORMAT_CALL_STACK function
8
and what the formatted string looks like. 9 pkg1.proc2;
This is very helpful information for 10 END;
11 /
tracing and error logging, but there are
some drawbacks to using the DBMS_ SQL> BEGIN
UTILITY.FORMAT_CALL_STACK function 2 proc3;
3 END;
and the string it returns:
4 /
• If you call a subprogram in a package, the
formatted call stack will show only the ——————— PL/SQL Call Stack ———————
object handle line number object name
package name, not the subprogram name 000007FF7EA83240 4 procedure HR.PROC1
and certainly not the names of nested 000007FF7E9CC3B0 6 package body HR.PKG1
subprograms defined within that pack- 000007FF7EA0A3B0 9 procedure HR.PROC3
000007FF7EA07C00 2 anonymous block
aged subprogram.
DBMS_UTILITY.FORMAT_ERROR_STACK. information (the name of the subprogram The New UTL_CALL_STACK Package
Also introduced in Oracle7, the DBMS_ and the number of the line on which the The UTL_CALL_STACK package provides
UTILITY.FORMAT_ERROR_STACK built- error was raised) is buried in the formatted information about currently executing
in function, like SQLERRM, returns the trace string. And, even worse, you do not subprograms. Although the package name
message associated with the current error see the name of the subprogram within the sounds as though it only provides informa-
(the value returned by SQLCODE). package in which the error occurred. tion about the execution call stack, it also
The DBMS_UTILITY.FORMAT_ERROR_ All of these drawbacks are addressed by offers access to the error stack and error
STACK function differs from SQLERRM in the new-in-Oracle Database 12c UTL_CALL_ backtrace data.
two ways: STACK package. Each stack contains depths (locations),
• It can return an error message as long as
1,899 characters, thereby avoiding (or Listing 2: The format_call_stack_12c procedure calls UTL_CALL_STACK subprograms
at least making extremely unlikely) trun-
cation issues when the error stack gets SQL> CREATE OR REPLACE PROCEDURE format_call_stack_12c
long. (SQLERRM truncates at only 2 IS
510 characters.) 3 BEGIN
4 DBMS_OUTPUT.put_line (
• You cannot pass an error code number
5 'LexDepth Depth LineNo Name');
to this function, and it cannot be used to 6 DBMS_OUTPUT.put_line (
return the message for an error code. 7 '-------- ----- ------ ----');
8
As a rule, you should call this function
9 FOR the_depth IN REVERSE 1 ..
inside your exception handler and then 10 utl_call_stack.dynamic_depth ()
store the error stack in your error log for 11 LOOP
later analysis. 12 DBMS_OUTPUT.put_line (
13 RPAD (
DBMS_UTILITY.FORMAT_ERROR_ 14 utl_call_stack.lexical_depth (
BACKTRACE. Introduced in Oracle 15 the_depth),
Database 10g, the DBMS_UTILITY 16 9)
17 || RPAD (the_depth, 5)
.FORMAT_ERROR_BACKTRACE built-in
18 || RPAD (
function returns a formatted string that 19 TO_CHAR (
displays a stack of programs and line 20 utl_call_stack.unit_line (
21 the_depth),
numbers tracing back to the line on which
22 '99'),
the error was originally raised. 23 8)
This function closed a significant gap in 24 || utl_call_stack.concatenate_subprogram (
25 utl_call_stack.subprogram (
PL/SQL functionality. In Oracle9i Database
26 the_depth)));
and earlier releases, once you handled 27 END LOOP;
an exception inside your PL/SQL block, 28 END;
you were unable to determine the line on 29 /
and you can ask for the information at a Let’s look first at how you can use Answer to Last Issue’s Challenge
certain depth in each of the three types of UTL_CALL_STACK to emulate the DBMS_
stacks made available through the package. UTILITY.FORMAT_CALL_STACK function The PL/SQL Challenge question in last
issue’s “SQL in PL/SQL Enhancements”
This means that you no longer have to parse and display the complete call stack. To do
article focused on enhancements for execut-
the formatted strings to find the specific this, you must iterate through the entries ing SQL from PL/SQL in Oracle Database 12c.
information you need. in the stack, identified by their depth. The The quiz demonstrated the new DBMS_SQL
.return_result procedure, and all three
One of the greatest improvements of format_call_stack_12c procedure in Listing 2
choices were correct!
UTL_CALL_STACK over DBMS_UTILITY does precisely this.
.FORMAT_CALL_STACK is that you can Here are the key UTL_CALL_STACK
obtain a unit-qualified name, which concat- package subprogram calls in Listing 2: • Lines 20 and 21 call UNIT_LINE to get the
enates the unit name, all lexical parents of • Lines 9 and 10 set up the numeric FOR loop line number of the program unit.
the subprogram, and the subprogram name. and use the DYNAMIC_DEPTH function to • Lines 24 and 25 first call SUBPROGRAM
This additional information is not available, start from the last entry in the stack and go to get the entry in the stack at the current
however, for the error backtrace. Table 1 in reverse back to the first entry in the stack. depth. CONCATENATE_SUBPROGRAM
includes a list and descriptions of the sub- • Line 14 calls the LEXICAL_DEPTH function to then obtains the fully qualified name of
programs in the UTL_CALL_STACK package. display the depth in the stack of each entry. that subprogram.
I then use the format_call_stack_12c
Listing 3: The pkg.do_stuff procedure calls the format_call_stack_12c procedure procedure (in Listing 2) in the pkg.do_stuff
procedure and execute that procedure, as
shown in Listing 3.
SQL> CREATE OR REPLACE PACKAGE pkg
2 IS Next I use the UTL_CALL_STACK package
3 PROCEDURE do_stuff; to show the name of the program unit and
4 END;
the line number in that unit where the
5 /
current exception was raised. In Listing 4,
SQL> CREATE OR REPLACE PACKAGE BODY pkg I create and execute a function named
2 IS
3 PROCEDURE do_stuff BACKTRACE_TO that “hides” the calls to the
4 IS UTL_CALL_STACK subprograms. In each
5 PROCEDURE np1 call to BACKTRACE_UNIT and BACKTRACE_
6 IS
7 PROCEDURE np2 LINE, I pass the value returned by the
8 IS ERROR_DEPTH function.
9 PROCEDURE np3 Note that the depth value for the error
10 IS
11 BEGIN backtrace is different from the depth value
12 format_call_stack_12c; for the call stack. With the call stack, 1 is
13 END; the top of the stack (the currently executing
14 BEGIN
15 np3; subprogram). With the error backtrace, the
16 END; location in my code where the error was
17 BEGIN raised is found at ERROR_DEPTH, not 1.
18 np2;
19 END; With UTL_CALL_STACK there is no longer
20 BEGIN any need to parse the complete backtrace
21 np1; string, as would be necessary with DBMS_
22 END;
23 END; UTILITY.FORMAT_ERROR_BACKTRACE.
24 / Instead, I can very surgically find, display,
and/or log the key information I need.
SQL> BEGIN
2 pkg.do_stuff; Here are some things to keep in mind
3 END; about UTL_CALL_STACK:
4 /
• Compiler optimizations can change lexical,
LexDepth Depth LineNo Name dynamic, and backtrace depth, because
——————————— ——————— ———————— —————————————————————————————————————— the optimization process can mean that
0 6 2 __anonymous_block
subprogram invocations are skipped.
1 5 21 PKG.DO_STUFF
2 4 18 PKG.DO_STUFF.NP1 • UTL_CALL_STACK is not supported past
3 3 15 PKG.DO_STUFF.NP1.NP2 remote procedure call boundaries. For
4 2 12 PKG.DO_STUFF.NP1.NP2.NP3
example, if proc1 calls remote procedure
0 1 12 FORMAT_CALL_STACK_12C
remoteproc2, remoteproc2 will not be able
to obtain information about proc1 by using can use PL/SQL conditional compilation to to build some utilities of your own around
UTL_CALL_STACK. obtain that information. this package’s subprograms. I have built a
• Lexical unit information is not exposed UTL_CALL_STACK is a very handy utility, helper package with utilities I think you’ll
through UTL_CALL_STACK. Instead, you but for real-world use, you will likely need find helpful. You can find this code in the
12c_utl_call_stack_helper.sql and 12c_utl_
Listing 4: The backtrace_to function calls UTL_CALL_STACK subprograms call_stack_helper_demo.sql files, available
at bit.ly/1icuIfy.
SQL> CREATE OR REPLACE FUNCTION backtrace_to The Oracle-hosted online version of
2 RETURN VARCHAR2 this article at bit.ly/1ayMI37 includes this
3 IS issue’s PL/SQL Challenge question.
4 BEGIN
5 RETURN
6 utl_call_stack.backtrace_unit ( Better Diagnostics, Better
7 utl_call_stack.error_depth) Programming
8 || ' line '
9 || The three DBMS_UTILITY functions
10 utl_call_stack.backtrace_line ( (DBMS_UTILITY.FORMAT_CALL_STACK,
11 utl_call_stack.error_depth); DBMS_UTILITY.FORMAT_ERROR_STACK,
12 END;
13 / and DBMS_UTILITY.FORMAT_ERROR_
BACKTRACE) have been crucial aids in
SQL> CREATE OR REPLACE PACKAGE pkg1
diagnosing and resolving problems in
2 IS
3 PROCEDURE proc1; PL/SQL code. The UTL_CALL_STACK
4 PROCEDURE proc2; package recognizes the importance of
5 END;
this data and takes a big step forward in
6 /
giving PL/SQL developers access to more
SQL> CREATE OR REPLACE PACKAGE BODY pkg1
in-depth and useful information.
2 IS
3 PROCEDURE proc1
4 IS
5 PROCEDURE nested_in_proc1
6 IS
7 BEGIN
Steven Feuerstein
8 RAISE VALUE_ERROR; (steven.feuerstein@
9 END; software.dell.com) is
10 BEGIN
11 nested_in_proc1;
Dell’s PL/SQL evangelist.
12 END; He is an Oracle ACE
13 Director; a widely read
14 PROCEDURE proc2
15 IS
author; and creator of the PL/SQL Challenge,
16 BEGIN a quiz site for Oracle technologists. More
17 proc1; information is available at plsqlchallenge.com.
18 EXCEPTION
19 WHEN OTHERS THEN RAISE NO_DATA_FOUND;
20 END; Next Steps
21 END pkg1;
22 / READ Oracle-hosted online article content
bit.ly/1ayMI37
SQL> CREATE OR REPLACE PROCEDURE proc3
2 IS READ more Feuerstein
3 BEGIN bit.ly/omagplsql
4 pkg1.proc2; DOWNLOAD
5 END; Oracle Database 12c
6 / bit.ly/fherki
SQL> BEGIN Steven Feuerstein’s demo.zip SQL files
2 proc3; toadworld.com/sf
3 EXCEPTION TEST your PL/SQL knowledge
4 WHEN OTHERS plsqlchallenge.com
5 THEN
LEARN more about
6 DBMS_OUTPUT.put_line (backtrace_to);
Oracle Database 12c
7 END;
oracle.com/database
8 /
PL/SQL
HR.PKG1 line 19 oracle.com/technetwork/database/features/plsql
column, ORDER_DATE. You might want an for a description of interval and refer-
index on a column in that ORDERS table, such ence partitioning), but you could not use Table created.
The parent/child connection leads me alter table orders truncate partition I can now swap the ORDERS and
to another new partitioning capability: the SYS_P853 ORDERS_TMP data and LINE_ITEMS
ability to do CASCADE DROP and TRUNCATE * and LINE_ITEMS_TMP data in a single
operations on parent/child tables. ERROR at line 1: command, using the new CASCADE option:
In the past, if you truncated a partition in ORA-02266: unique/primary keys in table
(or droppred it from) the ORDERS table, you referenced by enabled foreign keys SQL> alter table orders
had to truncate the corresponding partition in 2 exchange partition p0
(or drop it from) the child table first, meaning The truncation fails, because there is 3 with table orders_tmp
that you had to truncate/drop the table parti- some child data referencing the data that 4 cascade;
tions of all child tables and work your way up is about to be truncated. If I apply the new Table altered.
the chain of referential integrity constraints, CASCADE option—
all the way up to the parent. This involved SQL> select * from orders;
multiple independent SQL statements, SQL> alter table orders truncate
and each statement committed itself. That partition SYS_P853 cascade; ORDER# ORDER_DAT DAT
made the truncation/dropping of partitions Table truncated. —————————————— ————————————— ————
data to the ORDERS and LINE_ITEMS tables foreign key constraint to be defined as 100 1 def
and look up the parent table’s partition: ON DELETE CASCADE.) A similar option
exists for exchanging partitions. You can So, instead of having to use multiple
SQL> insert into now exchange partitions in a full parent/ independent data definition language (DDL)
orders(order#,order_date,data) child hierarchy of table partitions in a single statements, you can now exchange parti-
2 values ( 1, to_date( command. For example, I load some staging tions in a single atomic DDL statement.
'15-mar-2013' ), 'xxx' ); tables with data, as shown in Listing 1. Next in the area of partitioning improve-
1 row created.
Code Listing 1: Loading staging tables in preparation for partition exchange
SQL> insert into
line_items(order#,line#,data) SQL> create table orders_tmp
2 values ( 1, 1, 'yyy' ); 2 (
1 row created. 3 order# number primary key,
4 order_date date,
5 data varchar2(3)
SQL> commit; 6 );
Commit complete. Table created.
ments in Oracle Database 12c is the ability in an online fashion with the new ALTER nested loops join is the best way to join
to perform multiple partition operations in TABLE MOVE PARTITION command. This two tables, based on the number of rows
a single DDL statement. This enables you to command also transparently maintains it estimates the tables will produce. But
split a partition into multiple partitions or global indexes, providing 100 percent data runtime reveals that the driving table
merge many partitions into a single parti- availability without any downtime. chosen by the optimizer returns many
tion in a single DDL statement. Previously, For detailed information on these new more rows than anticipated. In Oracle
if you wanted to split a single partition capabilities, see Oracle Database VLDB and Database 12c, the query plan can now
into four partitions, you had to execute Partitioning Guide 12c Release 1 (12.1), at adapt, change, and switch from a nested
three split statements. That involved a bit.ly/16hT8El. loops join to a hash join.
lot of reading and rereading, writing, and Oracle’s Maria Colgan, known to some as
rewriting of data. Now those multiple parti- Adaptive Query Plans the “optimizer lady,” wrote up a nice post
tion operations can be achieved in a single Adaptive query plans in Oracle Database 12c on the Oracle Optimizer blog—“What’s New
atomic DDL statement. are plans that can “change their mind” in 12c: Adaptive Joins”—at bit.ly/17OAWgO.
Last in the area of partitioning improve- while they are executing. For example, the The “Adaptive Joins” sidebar presented here
ments is the ability to move a partition optimizer might believe that using a is an excerpt from that post.
Adaptive Joins Excerpted from “What’s New in 12c: Adaptive Joins,” by Maria Colgan
The goal of adaptive plans is to avoid catastrophic behavior of bad plans on The optimizer determines what statistics are to be collected and how the
first execution. If we detect during execution that the optimizer’s cardinality plan should be resolved for different values of the statistics. The optimizer
estimates were wrong, some plan choices can be changed on the fly to better computes an inflection point, which is the value of the statistics where the two
options. Although we can’t completely change a plan during execution, there plan choices are equally good. For instance, if the nested loops join is optimal
are certain local decisions, such as the join method, that can be changed. In when the scan of T1 produces fewer than 10 rows and the hash join is optimal
this post, I’ll introduce the concepts and terminology related to adaptive plans when the scan of T1 produces more than 10 rows, the inflection point for these
and then go through an example in detail. two plans is 10. The optimizer computes this value and configures a buffering
statistics collector to buffer and count as many as 10 rows. If at least 10 rows
Concepts and Terminology are produced by the scan, the join method is resolved to the hash join; other-
An adaptive plan enables certain decisions in a plan to be postponed until wise, it is resolved to the nested loops join.
runtime, in case runtime conditions are different from optimizer assump- The plan that is chosen by resolution is referred to as the final plan.
tions. For the purposes of explaining the concepts, I will consider a plan for a The plan the optimizer expects to be chosen (based on its estimates) is the
simple two-table join, where the join method is adapted. The diagram below default plan. The physical plan, which actually contains all the operations
shows the two options for this plan. from all the subplan options, is referred to as the full plan. As the plan is
resolved, the plan hash value changes to indicate the new choice of plan.
NESTED LOOPS PLAN hash join plan The plan displayed by our plan display APIs (in DBMS_XPLAN) changes as
the plan is resolved. At any given point, some plan decisions may have been
NESTED LOOPS hash join resolved whereas others have not. For the unresolved plan choices, the
plan display APIs show the plan that is expected by the optimizer (based
on its estimates).
TABLE ACCESS T1 INDEX ACCESS I_T2 table access t1 table access t2
When EXPLAIN PLAN generates a query plan, none of the adaptive sub-
plans have been resolved, so we see the default plan when displaying the plan
through DBMS_XPLAN.DISPLAY. For example, if the optimizer thinks the
An adaptive plan consists of a default plan, which is the plan that the opti- nested loops join plan is best, EXPLAIN PLAN and DBMS_XPLAN.DISPLAY will
mizer picks, based on the current statistics, as well as alternatives to various display the nested loops join plan as shown below.
portions of the default plan. In my example join, let’s assume that the nested
—————————————————————————————————————————————————————————
loops plan is the default and that the alternative is the hash join. Each alterna- | Id | Operation | Name | Rows | Bytes |
tive portion of a plan is referred to as a subplan. A subplan is a set of related —————————————————————————————————————————————————————————
operations in a plan. In the diagram, the subplan on the left consists of the | 0 | SELECT STATEMENT | | 20 | 280 |
nested loops operation and the index scan; the alternative subplan on the | 1 | NESTED LOOPS | | 20 | 280 |
| 2 | TABLE ACCESS FULL | T1 | 10000 | 107K|
right consists of the hash join and the table scan. For each decision that can be | *3 | INDEX UNIQUE SCAN | T2_PK | 1 | 3 |
adapted, the plan contains two or more alternative subplans. During execu- —————————————————————————————————————————————————————————
tion, one of those alternatives is chosen, in a process called adaptive plan
resolution. Adaptive plan resolution occurs on the first execution of a plan; Suppose the plan resolves during execution to a hash join instead. Then the
once the plan is resolved, future executions will use the same plan. plan displayed by DBMS_XPLAN.DISPLAY_CURSOR will show the final plan,
To resolve the plan, statistics are collected at various points during containing the hash join with a full table scan.
execution. The statistics collected during one part of execution are used
—————————————————————————————————————————————————————————
to resolve parts of the plan that run later. For instance, statistics can be | Id | Operation | Name | Rows | Bytes |
collected during the scan of table T1, and based on those statistics, we can —————————————————————————————————————————————————————————
choose the right join method for the join between T1 and T2. The statistics | 0 | SELECT STATEMENT | | | |
are collected with a “statistics collector.” Because the join of T1 to T2 and | *1 | HASH JOIN | | 20 | 280 |
| 2 | TABLE ACCESS FULL | T1 | 10000 | 107K|
the scan of T1 would typically be pipelined, buffering is required in order to | 3 | TABLE ACCESS FULL | T2 | 20 | 60 |
collect the statistics, resolve the choice of join method, and then perform —————————————————————————————————————————————————————————
the join. Some plan decisions can be adapted without row buffering, but
adaptive joins require a buffering statistics collector. To see the complete post on the Oracle Optimimizer blog, go to bitly/17OAWgO.
Oracle Database 12c, you will want to review 3 table gtt SQL> create table t
your statistics gathering methods as you 4 ( x int ) 2 as
upgrade. You might not have to gather sta- 5 on commit delete rows 3 select *
tistics anymore on some tables! 6 / 4 from stage;
For more details on online statistics Table created. Table created.
gathering in Oracle Database 12c, you can
watch the Oracle Database 12c: Enhanced Code Listing 2: Using global temporary table and session private statistics
Optimizer Statistics with Tom Kyte video at
youtu.be/AW6pT_RwGdc. SQL> select *
Session private statistics for global tempo- 2 from t
3 where object_id in
rary tables. The last new capability I want to 4 (select x from gtt);
discuss in this issue’s column is the ability
to have statistics on global temporary —————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
tables that exist only for the session that —————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
generates them. Maintaining representa- | 0 | SELECT STATEMENT | | 5 | 550 | 5 (0)| 00:00:01 |
tive statistics on global temporary tables | 1 | NESTED LOOPS | | | | | |
| 2 | NESTED LOOPS | | 5 | 550 | 5 (0)| 00:00:01 |
has been difficult, to say the least, because | 3 | SORT UNIQUE | | 5 | 15 | 2 (0)| 00:00:01 |
every session—even every transaction, in | 4 | TABLE ACCESS FULL | GTT | 5 | 15 | 2 (0)| 00:00:01 |
many cases—sees a completely different |* 5 | INDEX UNIQUE SCAN | T_PK | 1 | | 0 (0)| 00:00:01 |
| 6 | TABLE ACCESS BY INDEX ROWID| T | 1 | 107 | 1 (0)| 00:00:01 |
set of data from every other session or —————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
transaction, and getting statistics that Predicate Information (identified by operation id):
convey to the optimizer what the data looks —————————————————————————————————————————————————————————————————————————————
5 - access("OBJECT_ID"="X")
like is problematic. Every session and trans- Note
action is different. ———————
Enter session private statistics for these - this is an adaptive plan
- Global temporary table session private statistics used
temporary tables. By default, each session
in Oracle Database 12c will have its own set
of statistics on global temporary tables, Code Listing 3: In another session, loading different data and using another plan
enabling the optimizer to correctly estimate
cardinalities and derive the correct plan. SQL> connect /
To demonstrate this, I’ll generate a global Connected.
get just one plan. This is the problem that Predicate Information (identified by operation id):
session private statistics is trying to solve. —————————————————————————————————————————————————————————————————————————————
I start by creating a global temporary 1 - access("OBJECT_ID"="X")
1957
Fortran on Punched Cards
To run scientific and engineering applications written
in IBM’s Fortran, programmers used punched cards to
describe instructions in the program, represented by the
presence or absence of holes in predefined positions. Do
not fold, spindle, or mutilate—you’ll crash your app.
VisiCalc
1979
As a Harvard Business
School student, Dan
1987
Bricklin codeveloped
Oracle’s
1983
VisiCalc, the first electronic
spreadsheet for home and
office use. Wait, you mean
Applications
my Apple II isn’t just for Division
playing Castle Wolfenstein
and Lode Runner?
Cold War Killer App Oracle creates the Oracle Applica–
tions division, initially with seven
“A strange game. The only employees. The first two applications
winning move is not to to roll out are Oracle General Ledger
play. How about a nice and Oracle Purchasing.
game of chess?”
—US military supercomputer WOPR
2013
(War Operation Plan Response)
to young hacker David Lightman
(Matthew Broderick), who unwittingly
Cloud Apps
launched a nuclear war simulation Announced during Oracle
application in War Games (MGM) OpenWorld 2013, 10 new
subscription-based, enterprise-
grade application services further
expand the Oracle Cloud.
1995
The Internet
Changes
Everything
Oracle announces Oracle
Internet Commerce Server
and Oracle EDI Gateway,
delivering integrated internet
access as part of its applica-
tions suite. iApps, anyone?
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates.