Beruflich Dokumente
Kultur Dokumente
www.loadspring.com
Follow us on Facebook
SEPTEMBER/OCTOBER 2013
A Foundation for Cloud Computing New releases of Oracle WebLogic Server and Oracle Coherence are optimized for the cloud. / 18 Many in One Create many databases in one database instance with the Oracle Database 12c multitenant architecture / 49 PL/SQL Enhancements Oracle Database 12c enhances the PL/SQL function result cache, improves PL/SQL execution in SQL, adds a whitelist, and ne-tunes privileges / 55 On Oracle Database 12c, Part 1 Our technologist improves default values, handles bigger datatypes, and FETCHes for the rst time / 61
Get Ready
Oracle OpenWorld, JavaOne, and MySQL Connect | San Francisco, September 2013
Faster
ORACLE TEAM USA uses Oracle technology to deliver extreme speed in the Americas Cup
CONTENTS
GET READY
Learn, share, and network at the worlds largest gathering of business technology professionals. Oracle OpenWorld, JavaOne, and MySQL Connect come to San Francisco September 21 to 26. Tom Caldecott
/ 36
FASTER
/ 40
ORACLE TEAM USA uses Oracle technology, including Exadata Database Machine X3-2, to deliver extreme speed in the Americas Cup. Carol Hildebrand
/ 28
Up Front / 6
MASHUP / 6
News, views, trends, and tools
NEWS / 18
PEER-TO-PEER / 27
Solid Foundations
Three peers master the basics. Blair Campbell
ASK TOM / 61
At Oracle / 7
EVENTS / 7
Find out about upcoming technology and industry events.
Technology / 49
INTERVIEW / 19
In Business Together
Oracle Business Analytics solutions deliver answers and innovation. Tom Haunert
Comment / 65
IN THE FIELD / 65 DATABASE CLOUD / 49
Many in One
Create many databases in one database instance with the Oracle Database 12c multitenant architecture. Arup Nanda
Time to Upgrade
BRIEFS / 10
The latest product news
NEWS / 15
Community / 21
PARTNER NEWS / 21 BOOK BEAT / 21 COMMUNITY BULLETIN / 25
Happenings in Oracle Technology Network Roland Smart
New features in Oracle Database 12c make upgrade evaluations easy. Michelle Malcher
ANALYSTS CORNER / 66
PL/SQL / 55
NEWS / 17
PL/SQL Enhancements
Oracle Database 12c enhances the PL/SQL function result cache, improves PL/SQL execution in SQL, adds a whitelist, and fine-tunes privileges. Steven Feuerstein
UP CLOSE / 26
TIME CAPSULE / 68
Flashbacks: Culture. Industry. Oracle. Rich Schwerin
2013 Dell, Inc. ALL RIGHTS RESERVED. Dell, Dell Software, the Dell Software logo and productsas identifed in this documentare registered trademarks of Dell, Inc. in the U.S.A. and/or other countries. All other trademarks and registered trademarks are property of their respective owners.
Editorial Editor in ChiefTom Haunerttom.haunert@oracle.com Managing EditorJan Rogersjan.rogers@oracle.com Senior EditorCaroline Kvitkacaroline.kvitka@oracle.com Associate Editor Patty Waddington Contributing Editor and Writer Blair Campbell Technology Advisor Tom Kyte Contributors Marta Bright, Meg Ehman, Jeff Erickson, Curran Mahowald, Fred Sandsmark, Rich Schwerin, Leslie Steere DESIGN Senior Creative Director Francisco G Delgadillo Senior Design Director Suemi Lam Design Director Richard Merchn Contributing Designers Jaime Ferrand, Nicholas Pavkovic Production Designers Sheila Brennan, Kathy Cygnarowicz Publishing Vice PresidentJeff Spicerjeff.spicer@oracle.com PublisherJennifer Hamiltonjennifer.hamilton@oracle.com+1.650.506.3794 Audience Development and Operations DirectorKarin Kinnearkarin.kinnear@oracle.com+1.650.506.1985 Advertising sales Associate PublisherKyle Walkenhorstkyle@sprocketmedia.com+1.323.340.8585 Northwest and Central USTom Cometathomas.cometa@sbcglobal.net+1.510.339.2403 Southwest US and LADShaun Mehrshaun@sprocketmedia.com+1.949.923.1660 Northeast US and EMEA/APACMark Makinneymark.makinney@sprocketmedia.com+1.805.709.4745 Advertising Sales AssistantCindy Elhajcindy@sprocketmedia.com+1.626.396.9400, x201 Mailing-List Rentals Contact your sales representative. Editorial Board Ian Abramson, Karen Cannell, Andrew Clarke, Chris Claterbos, Karthika Devi, Kimberly Floss, Kent Graziano, Taqi Hasan, Tony Jambu, Tony Jedlinski, Ari Kaplan, Val Kavi, John King, Steve Lemme, Carol McGury, Sumit Sengupta, Jonathan Vincenzo, Dan Vlamis
Subscription Information Subscriptions are complimentary for qualified individuals who complete the form found at oracle.com/oraclemagazine. For change of address, mail in label with the new address to: Oracle Magazine, P.O. Box 1263, Skokie, IL 60076-8263. Magazine Customer Service oracle@halldata.com Fax +1.847.763.9638 Phone +1.847.763.9635 Privacy Oracle Publishing allows sharing of its mailing list with selected third parties. If you prefer that your mailing address or e-mail address not be included in this program, contact Customer Service at oracle@halldata.com.
Resources Oracle Products +1.800.367.8674 (US/Canada) Oracle Services +1.888.283.0591 Oracle Press Books oraclepressbooks.com
Copyright 2013, Oracle and/or its affiliates. All Rights Reserved. No part of this publication may be reprinted or otherwise reproduced without permission from the editors. ORACLE MAGAZINE IS PROVIDED ON AN AS IS BASIS. ORACLE EXPRESSLY DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ORACLE BE LIABLE FOR ANY DAMAGES OF ANY KIND ARISING FROM YOUR USE OF OR RELIANCE ON ANY INFORMATION PROVIDED HEREIN. The information is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracles products remains at the sole discretion of Oracle. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Oracle Magazine (ISSN 1065-3171) is published bimonthly with a free subscription price by: Oracle, 500 Oracle Parkway, MS OPL-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.
Introducing FlowForce Server, the powerful new server software for managing todays multi-step, enterprise-level data validation, aggregation, processing, and reporting tasks. This fexible workfow orchestration tool provides easy-to-manage automation of essential business processes on high-performance servers.
FlowForce Server is at the center of Altovas new line of cross-platform server products optimized for todays high-performance, parallel computing environments:
FlowForce Server
Job triggers User management Access control
FlowForce Server for orchestrating events, triggers, and the automation of processes MapForce Server for automating any-to-any data mapping and aggregation processes
MapForce Server
XML, SQL DBs, EDI, flat files, XBRL, Web services
RaptorXML Server
XML and XBRL validation/processing
StyleVision Server for automating business report generation in HTML, PDF, and Word RaptorXML Server for hyper-fast validation/processing of XML, XBRL, XSLT, and XQuery
StyleVision Server
HTML, PDF, Word, OOXML, RTF
MashUp
BRAIN ENTRAINMENT APPS
Just listening to the sounds provided by these apps may help you sleep better, concentrate better, be more creative, and relieve stress.
Binaural Beats
Use the simple interface of this app to customize your listening experience for focus or relaxation. Sliding bars enable you to adjust the frequency delta and the base tone to create your unique beat. You can perform other tasks on your device while you are focused and alert. Free (iPhone). bit.ly/16jZ5dR
eBrainWave Entrainment
Choose your music, ambient noise, and brainwave frequency to create the perfect combination of sound and reach your desired state of mind. This app promotes memory stimulation, focused attention, and an energized body. US$0.99 (iPhone, iPod touch, and iPad). bit.ly/13k1REV
This app has 11 different options for states of mind, including alertness, confidence, creativity, high focus, and stress release. Choose your session time and settle in; the sound will stop automatically after whatever duration you choose. US$2.99 (iPhone, iPod touch, and iPad). brain-hack.net
Designed specifically to help you fall asleep, this app offers music tracks, entertainment tracks, and nature loops. Create a variety of combinations and see which one soothes you the most. US$1.99 (Android, iPhone, iPod touch, and iPad). teslasoftware.com
DIAL-A-LENS
With the Holga Lens Filter and Case Kit from HolgaDirect, your friends will think youve grafted an old-style analog dialer to your smartphone. In fact, this protective case includes high-quality lenses for your devices camera on its lens selector dial. (Models for Apple, Samsung, HTC, and Sony phones are available.) Choose from nine different lenses including color filters, a macro lens, and special effects lenses. Theres also an empty slot for those instances when reality is good enough. US$14.9929.99, depending on phone model. shop.holgadirect.com
If you sell something, you create a customer today. But when you help someone especially without expectation of immediate return you can create a customer for life.
Jay Baer, author of Youtility: Why Smart Marketing Is About Help Not Hype (Penguin Group, 2013)
96
Percentage of businesspeople who think analytics will become more important to their organizations over the next three years. Deloitte surveyed representatives of more than 75 companies in North America, the UK, and Asia.
Events
Technology Events
ukoug.org
semop.org
September 2226, San Francisco, California Featuring thousands of sessions, including keynotes, technical sessions, demos, and hands-on labs, Oracle OpenWorld is the most important event and networking opportunity of the year for Oracle technologists, customers, and partners. Hundreds of exhibitors are on hand, and there are endless opportunities to trade information with peers and gain insights from experts. oracle.com/openworld
bit.ly/1070nfh
Interop
September 30October 4, New York, New York finterop.com/newyork Interop focuses on IT infrastructure and networking technologies for the forward-looking technology community. More than 125 conference sessions and 300 exhibitors are expected.
related to HR technology, with more than 6,000 people expected. Attendees include senior HR practitioners; product executives and CEOs; and important industry analysts, consultants, influencers, and thought leaders.
ukoug.org
bit.ly/1915k9K
bit.ly/11YqkHX
obug.nl
bit.ly/165S2I6
oracle.com/events
HR Technology Conference
October 79, Las Vegas, Nevada fhrtechconference.com This is the largest yearly international gathering
bit.ly/11YqkHX
Events
JavaOne
September 2226, San Francisco, California JavaOne offers thousands of activities to choose from, including strategy and technical keynotes, Java University, technical sessions, demos, hands-on labs, tutorials, and special interest group meetings. Network with peers, get expert advice, and find out where Java technology is headed. oracle.com/javaone
Sangam13
November 89, Hyderabad, India fsangam13.info Cohosted by the All India Oracle User Group, India OAUG, and local Java user groups, this gathering features database, applications, developer, and Java tracks as well as hands-on labs.
leading brands that are using Oracle Eloqua marketing automation technology to power revenue performance. Share ideas and network during interactive sessions, demos, and other activities.
DEVOXX Belgium
November 1115, Antwerp, Belgium fdevoxx.be Organized by the Belgian Java User Group, this conference welcomes nearly 3,500 participants, including 195 speakers giving 200 presentations. Nine educational tracks cover Java Platform, Enterprise Edition; Java Platform, Standard Edition; Java Virtual Machine; languages; cloud; big data; and other topics.
Healthcare IT Summit
November 1720, Palm Springs, California fbit.ly/10Pltiy This summit covers the trends, people, innovations, and policies that affect technology used by healthcare providers and payers.
Cloud Connect
October 2123, Chicago, Illinois fbit.ly/12BGBtT This conference helps enterprise and small-tomidsize businesses navigate cloud technologies. Lectures, panels, tutorials, and roundtable discussions are scheduled.
Events locator
Oracle Events oracle.com/events Locate User Groups oracle.com/technetwork/community
11
Optimize your server room with our solutions e-book and enter to win a Google Nexus 10 tablet!
Visit www.apc.com/promo Key Code b719u Call 888-289-2722 x6552
2013 Schneider Electric. All Rights Reserved. Schneider Electric, APC, InfraStruxure, 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-1179619_GMA-US_Nexus
10
Product Resources
TUTORIALS
Oracle Database 12c 2-Day DBA Series
This introductory series of short Oracle by Example tutorials will help you get started using Oracle Database 12c. Topics include installing Oracle Database and creating a database, getting started with Oracle Enterprise Manager Database Express, using the listener control utility, managing the Oracle instance, managing database storage structure, administering user accounts and security, managing schema objects, performing backup and recovery, monitoring and tuning the database, and managing Oracle Database software. bit.ly/14HfFpQ
This tutorial covers the steps for performing basic tasks on container databases and pluggable databases. You will learn how to connect a pluggable database to a container database, manage container databases and pluggable databases, manage the storage in a container database and its pluggable databases, manage security in pluggable databases, and more. bit.ly/12WKZRH
This Oracle Database 12c tutorial covers how data redaction can be used to dynamically hide sensitive data. Redaction policies can be set to specify the table columns to be protected, and from which user accounts the data should be hidden. bit.ly/1a9qFyA
GIL ADAMS
BRIEFS
11
existing Exalytics X2-4 customers, and updated software for all Exalytics customers. Unlocking data in a quick, easy, and timely manner can be a strong competitive advantage, says Paul Rodwick, vice president of product management at Oracle. Exalytics In-Memory Machine X3-4 delivers powerful business analytics, reinforcing our commitment to innovating and delivering maximum value through analytics by allowing our customers to spend less time on complicated integrations and more time providing realtime answers to strategic business questions. bit.ly/omagexalytics
GIL ADAMS
12
Briefs
Gil Adams
Database
Worldwide Vendor Share
Oracle
45%
Microsoft 20.3%
IBM 18.1%
Oracle Database
Trusted by 308,000 Customers Worldwide
Source: IDC, Worldwide Relational Database Management Systems 2013 2017 Forecast and 2012 Vendor Shares, IDC #241292, May 2013; Table 1, (Relational Database Management Systems). Vendor share based on software license and maintenance revenue. 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.
oracle Database 12c: the complete reference Bob Bryla, Kevin Loney Maintain a scalable, highly available enterprise platform by leveraging the powerful new tools and cloud enhancements of Oracle Database 12c. oracle enterprise Manager cloud control 12c Deep Dive Michael New, Edward Whalen, Matthew Burke Deploy and administer a powerful cloud-based enterprise database infrastructure. oracle Database 12c: install, confgure & Maintain like a professional Ian Abramson, Michael Abbey, Michelle Malcher, Michael Corey Learn essential database skills, including configuration, administration, programming, backup and recovery, and high availability. Database cloud storage: the essential Guide for oracle automatic storage Management Nitin Vengurlekar, Prasad Bagal Implement a centralized cloud storage infrastructure with Oracle Automatic Storage Management.
15
n a much-anticipated release, Oracle unveiled Oracle Database 12c in July. According to Oracle President Mark Hurd, Oracle has advanced the state of the art in database technology with innovations that no other vendor can match, most notably the first multitenant database for the cloud. We have been in the database business for 36 years, and we are constantly accelerating the pace of innovation, Hurd said at a launch webcast on July 10. Oracle Database 12c is a breakthrough release that makes cloud computing bettera lot better. Plugging Into the Cloud The game-changing innovation of Oracle Database 12c, said Andy Mendelsohn, senior vice president, Oracle Database Server Technologies, is pluggable databases, which are supported through a new architecture and database option called Oracle Multitenant. Just as virtualization lets you turn a physical server into a collection of virtual machines, Oracle Multitenant lets you turn a physical Oracle database into a collection of pluggable databases, each of which looks and feels like a physical Oracle database to the applications with which it is associated, he explained. With Oracle Database 12c, these applications can run unchanged in a secure isolated environment. Powerful resource management capabilities ensure that each pluggable database receives its fair share of system resources. This architecture also streamlines database consolidation in private clouds, with greater hardware efficiency and easier management. For public cloud deployments and software-as-a-service (SaaS) providers, Oracle Database 12c enables multitenancy within the database tier rather than the application tier. For the first time, all the power of Oracle
Database is available to SaaS applications in a secure and isolated fashion, Mendelsohn said. Pluggable databases have been designed with both public and private cloud computing in mind, with attributes such as fast provisioning, cloning, flexible resource management, and support for all Oracle Database features such as Oracle Real Application Clusters (Oracle RAC), partitioning, Oracle Active Data Guard, Oracle Advanced Compression, and database security. Dissecting Multitenant According to Patrick Wheeler, senior director, Oracle product management, pluggable databases are self-contained, fully functional Oracle Database instances. Many of them can be plugged into a single multitenant container database, which enables organizations to manage many databases as one, significantly reducing operating expenses.
This architecture is particularly useful for SaaS vendors. SaaS environments have multiple copies of the same application, used by various tenants, said Wheeler. Oracle Multitenant lets you manage all of these tenants at once yet delineate the isolation and security requirements. Each individual tenant connects to the application as if it were a separate isolated database, he continued. This makes it easier for SaaS vendors to deliver standardized services in the cloud. They can provision individual tenant databases of many sizes and plug them into a container database managed at the appropriate level of a service-level agreement. These database tenant distinctions are particularly significant in comparison to traditional consolidation methods, which typically involve creating virtual machines to host multiple applications on a single physical server. While this type of virtualization reduces physical sprawl, organizations still have to contend with virtual sprawl. Hundreds of New Features Although Oracle Multitenant grabs the limelight in the new Oracle Database release, there are more than 500 other added features designed to transform how organizations store, manage, and use information. It is difficult to summarize just how powerful and comprehensive this database management system is, said Mendelsohn. He went on to single out a few prominent features: Automatic Data Optimization. To help organizations efficiently manage growing volumes of data while lowering storage costs and improving database performance, Oracle Database 12c includes new Automatic Data Optimization features, including Heat Map, which helps DBAs automate informa-
Bob Adler
16
news
tion lifecycle management tasks. As Mendelsohn explained, the temperature of rows stored in database tables and partitions changes over time, depending on the level of activity. For example, rows inserted from online transaction processing (OLTP) applications typically start out hot, with multiple inserts and updates. These rows cool down as they are used less frequently, often for business intelligence and other read-only purposes. Heat Map monitors this read/write activity so that DBAs can more easily identify patterns. Then, using smart compression and storage tiering, they can quickly define policies that govern how data is automatically compressed and moved among tierssuch as OLTP, data warehouse, and archivebased on the activity and the age of the data. As a result, information lifecycle management becomes much easier. Rather than writing scripts or manually moving data, DBAs can devise simple policies for implementing storage tiering and compression. Heat Map gives you insight into exactly which data is being accessed, so you can devise simple declarative policies governing what to do with the data, Mendelsohn said. The database will move and compress the data automatically, reducing costs and improving performance. Defense-in-Depth Security. Oracle Database 12c includes more security innovations than any previous Oracle Database
release. For example, Data Redaction enables organizations to protect sensitive data such as credit card numbers displayed in applications, without changes to those applications. Sensitive data is redacted at runtime, based on predefined policies and account session information. Another new security feature called Privilege Analysis makes it easy to identify the privileges and roles currently being used so you can revoke unnecessary privileges and enforce least privilege without disrupting business operations. High Availability for Database Clouds. Oracle Database 12c introduces several highavailability features to enable continuous access to enterprise data. For example, Active Data Guard Far Sync extends zero-data-loss standby protection to any database, irrespective of latency or location. Application Continuity complements Oracle RAC by masking application failures from end users and automatically replaying failed transactions. Flex Automatic Storage Management (Flex ASM) decouples the database from the storage layer to enable zero-downtime upgrades. A primary Flex ASM environment can fail over to a secondary site through Flex ASM provisioning while still keeping the database nodes up in the primary site and masking interruptions from users. Administrative Efficiencies for DBAs. Seamless integration between Oracle Database 12c and Oracle Enterprise Manager 12c Cloud Control enables DBAs to reduce the time and effort required to meet quality-of-service objectives. In conjunction with this mature systems management software, Oracle Database 12c automates and simplifies common administrative tasks such as database provisioning, performance tuning, troubleshooting, upgrades, patching, and metering database services for charge-back purposes. A self-service portal enables developers, testers, administrators, and other self-service users to log on and request new single-instance or clustered databases and perform basic management operations. One of Oracles objectives with this release was to insulate the database from routine administrative tasks and make it easier to manage, said Carl Olofson,
research vice president of application development and deployment at International Data Corp. (IDC), in a recent interview about developments in the database industry. Robust Analysis of Big Data. In addition to exceptional performance for OLTP applications, Oracle Database 12c includes comprehensive in-database analytic tools for big data. For example, SQL pattern matching enables business analysts to discover patterns in business event sequences. And the integration of open source R brings a huge library of predictive algorithms to data scientists and business analysts. According to Mendelsohn, these and the more than 500 other new Oracle Database 12c features have been thoroughly developed and tested through 2,500 person-years of development and 1.2 million hours of testing in a private cloud environment that includes 3,000 dev/test systems. Summing up the webcast, he explained the fundamental drivers of this momentous release. The c in Oracle Database 12c stands not only for cloud but also for consolidate, control, andmost importantlycustomers, said Mendelsohn. This release was driven by customer requirements. From the outset, we have been motivated to make it a great platform for their needs. Oracle Database 12c is a game-changer, a truly innovative technology that will make you rethink how you use databases, Hurd said. It has reshaped our business and is the foundation of our expanding cloud business. Whether you are consolidating databases or getting ready to deploy a private cloudor a SaaS vendor with a public cloud offeringthe innovations in this release will help you lower IT costs, minimize data center complexity, and be more responsive to your business requirements.
Bob Adler
17
n a series of strategic announcements, Oracle recently introduced three partnerships to deliver better integration and flexibility to cloud users. The alliances with Microsoft, Salesforce.com, and NetSuite address the applications, platform, and infrastructure tiers of cloud computing. These partnerships in the cloud I think will reshape the cloud and reshape the perception of Oracle technology in the cloud, said Oracle CEO Larry Ellison during the companys June 20, 2013, earnings call.
when the applications are from different vendors, Ellison explained. Thats why Marc [Salesforce.com CEO Marc Benioff] and I believe its important that our two companies work together to make it happen, and integrate the Salesforce.com and Oracle clouds. Create Competitive Advantage Oracle and NetSuite announced a strategic alliance focused on plans to deliver integrated human capital management (HCM) and enterprise resource planning (ERP) cloud services for midsize customers. Oracle plans to develop a product integration and go-to-market strategy with NetSuite for Oracle Fusion Human Capital Management Cloud Service and NetSuite Cloud ERP to deliver a single, integrated solution that seamlessly connects human resources and finance systems for midsize customers. For large organizations where Oracle Human Capital Management applications are already deployed, two-tier deployments of NetSuite in smaller subsidiaries will connect with its corporate HR system. Driving the development and retention of the right talent and getting strategic data around HR practices can help midsize companies transform their business operations, says Oracle President Mark Hurd.
Run Oracle Software on Windows Server and Azure Oracle and Microsoft announced a partnership that will enable organizations to run and deploy Oracle software on Windows Server Hyper-V and in Windows Azure. As part of the agreement, Oracle will certify and support Oracle software, including Java, Oracle Database, and Oracle WebLogic Server, on Windows Server Hyper-V and in Windows Azure. Microsoft will also offer these software products to Windows Azure customers, and Oracle will make Oracle Linux available to Windows Azure customers. Microsoft is deeply committed to giving businesses what they need, and clearly that is the ability to run enterprise workloads in private clouds, public clouds and, increasingly, across both, said Microsoft CEO Steve Ballmer. Now our customers will be able to take advantage of the flexibility our unique hybrid cloud solutions offer for their Oracle applications, middleware, and databases, just like they have been able to do on Windows Server for years. Integrate Clouds Oracle and Salesforce.com announced a comprehensive nine-year partnership in which Salesforce.com plans to standardize on the Oracle Linux operating system,
These partnerships . . . will reshape the cloud and reshape the perception of Oracle technology in the cloud.
Larry Ellison, CEO, Oracle Oracle Exadata engineered systems, Oracle Database, and the Java middleware platform. Oracle plans to integrate Salesforce.com with Oracle Fusion Human Capital Management and Oracle Financials Cloud applications, and provide the core technology to power Salesforce.coms applications and platform. Salesforce.com will also implement Oracle Fusion Human Capital Management and Oracle Financials Cloud applications throughout the company. When customers choose cloud applications, they expect rapid low-cost implementations; they also expect application integrations to work right out of the boxeven
Gil Adams
18
New releases of Oracle WebLogic Server and Oracle Coherence are optimized for the cloud.
racle has unveiled its latest Oracle Cloud Application Foundation, which integrates network load balancing, application server, and in-memory data grid capabilities into a foundation for cloud and conventional computing. Two key components are Oracle WebLogic Server 12.1.2 and Oracle Coherence 12.1.2. Cloud is becoming a key enabler for companies to introduce new products, reduce cost, and increase productivity, says Cameron Purdy, vice president of development at Oracle. Oracle Cloud Application Foundation offers a unified platform across conventional and cloud environments, so customers can leverage their existing investment in Oracle WebLogic Server and Oracle Coherence and move to the cloud at a pace that meets the needs of their business. Oracle WebLogic Server Oracle WebLogic Server 12.1.2 delivers a mission-critical cloud platform for Java applications, enables the efficient management of cloud environments, and provides a modern development platform for building innovative applications. One of the really exciting things in Oracle WebLogic 12.1.2 is our new dynamic clustering capability, says Purdy. You can take a cluster and elastically scale it up and down without having to preconfigure additional servers. It also features more-efficient resource management and simplified Java Message Service (JMS) administration for operational efficiency and delivers complete certification and integration with Oracle Database 12c, including support for pluggable database access and database application continuity capabilities for increased availability.
the Oracle Coherence GoldenGate HotCache feature of Oracle Coherence, Grid Edition. When something changes in the database, Oracle GoldenGateworking with Oracle TopLinkpushes that data up into the application, says Purdy. Combine this with the HTML5 features in Oracle WebLogic Server, and your mobile application can now get those updates in real time, and no changes to the application are required. Foundation for Engineered Systems Both Oracle WebLogic Server and Oracle Coherence are optimized to run on Oracle Exalogic Elastic Cloud, an engineered system that provides application performance, reliability, and scalability. Weve made a lot of investment in Oracle Cloud Application Foundation to focus on high availability, density, and performance across multiple data centers, says Ajay Patel, vice president of Oracle Cloud Application Foundation product management. Tie that together with the investment we have in engineered systems, and we take you to the next level: a differentiated platform for delivering extreme performance, reduced cost, and faster time to delivery.
Oracle WebLogic Server enables the database cluster and the application server cluster to work cooperatively to manage the resources necessary to provide concurrent connections for the pluggable databases in a cluster, Purdy says. Oracle Coherence Oracle Coherence 12.1.2, Oracles in-memory data grid solution, enables organizations to predictably scale mission-critical applications by providing fast access to frequently used data. It includes a rich set of processing and event capabilities, so applications can scale processing with increased data volumes. By automatically and dynamically partitioning data, Oracle Coherence ensures continuous data availability and transactional integrity, even in the event of a server failure. Oracle Coherence 12.1.2 has been enhanced to power applications with the realtime availability of database changes through
Bob Adler
19
In Business Together
Oracle Business Analytics solutions deliver answers, integration, innovation, and competitive advantage.
usiness analytics describes a variety of technologies and solutions, including business intelligence (BI), enterprise performance management, and analytic applications. Oracle Magazine Editor in Chief Tom Haunert sat down with Paul Rodwick, vice president of product management at Oracle, to discuss business analytics innovation, the impact of in-memory technology, the challenge of and move to cloud integration, and more. Oracle Magazine: What is the origin of business analytics, and how is it defined today? Rodwick: Business analytics has a long history, starting back with decision support and reporting and data warehousing and business intelligencethings companies have been working on for, in some cases, 20 years or more. But really at its core, business analytics has expanded to include using information in an intelligent way to optimize processes, to simplify operations, and to innovate. In short, business analytics is really the key to innovation and getting ahead of the competition. Oracle Magazine: What are the core Oracle Business Analytics products and solutions? Rodwick: Business analytics is embedded throughout almost everything Oracle does because its important to everything that Oracle customers do. At the technology layer, some of the core products are Oracle Business Intelligence foundation and of course the analytics capabilities in the Oracle Database productsincluding Oracle Database for data warehousing and advanced analytics running in the database. There is also a series of more than 80 prebuilt analytic applications on top of these technologies, as well as the Oracle Hyperion enterprise performance management applications. A new entrant in Oracle Business Analytics thats quite exciting is the Oracle Endeca Information Discovery applica-
tions, which enable self-service analysis of unstructured data. Finally, Oracle engineered systems are a very important part of the business analytics equation. They include Oracle Exadata, Oracle Exalytics In-Memory Machine, and Oracle Big Data Appliance. Oracle Magazine: What are the latest Oracle Business Analytics releases? Rodwick: Back in February 2013following the acquisition of EndecaOracle introduced the first major function release of Oracle Endeca Information Discovery applications, Release 3.0. This release delivered greater levels of self-service and also internationalized the product for use across the globe. That was immediately followed by a major Oracle Business Intelligence Enterprise Edition release, 11.1.1.7, which delivered 200 new features including new visualizations, easier self-service by business users, and a lot of other great capabilities such as connectors into Apache Hadoop for accessing big data. That was immediately followed by Release 11.1.2.3 of Oracle Hyperion enterprise per-
formance management applications and their new application capabilities, and by Oracle Business Intelligence Applications 11.1.1.7.1, which was the biggest release in more than three years and introduced the use of embedded Oracle Data Integration technology, a lot of new application content, and some brand-new analytic applications. And then everything was rolled up together and offered in a new version of Oracle Exalytics In-Memory Machine. Oracle Magazine: Why are in-memory technology in general and Oracle Exalytics in particular important to business analytics? Rodwick: In-memory technology is key for business analytics because it helps scale up user communities and deliver speed-ofthought interactive analysis especially to mobile devices. It also enables new kinds of applications, such as bigger planning applications and applications with greater levels of interactive visualization. Oracle Exalytics In-Memory Machine was announced in October 2011, and its seen tremendous growth. Oracle has announced a new release, the third major release of Oracle Exalytics, which includes all the embedded software, updated and refreshed to make it easier to use, simpler to install, and able to deliver even greater performance. But weve also introduced brandnew hardware, the Exalytics In-Memory Machine X3-4, which increases the on-board RAM from 1 terabyte to 2 terabytes and also includes 2.4 terabytes of flash storage. All this adds up to greater capacity, greater capabilities, and faster performance. Oracle Magazine: How do business analytics, in general, and Oracle Business Analytics, specifically, address big data challenges? Rodwick: Oracles taken a really pragmatic approach to big data, going beyond the classic variety, velocity, and volume of data to
Bob Adler
20
Interview
concentrate on getting value out of the data. Oracle has solutions that allow companies to continue to use their data scientists, those precious resources with high skills who are very hard to find, but also open up big data to analysis by more business users and people who have SQL or BI skills. For example, Oracle Endeca Information Discovery applications create a sandbox in big data Hadoop systems. There is new connectivity from Oracle Business Intelligence to Hadoop systems. And of course, Oracle Big Data Appliance and Oracle Big Data Connectors enable efficient evaluation or analysis of big data, and they enable the extraction and loading of portions of that data into an Oracle database. Oracle Magazine: What is the current status of business analytics in the cloud, and how is it evolving? Rodwick: Its evolving very rapidly. At the core of all of Oracles SaaS [software as a service]
solutions is, of course, built-in reporting and analysis, and its all built on the same Oracle Business Analytics technologies. What were going to see very quickly is a move from having standalone analytics siloed within each different SaaS application, whether from Oracle or from other vendors, to having the ability to bring that all together for a cross-enterprise view. Were going to see deeper, richer analytics built into all these SaaS applications, with the ability to integrate them all together across Oracle and non-Oracle sources of information. And, well see more-advanced analytics beyond the simple reporting that has generally been offered in SaaS applications, such as predictive analytics, forecasting, and trending. Oracle Magazine: Going forward, what do you see as the biggest challenge that business analytics is facing? Rodwick: Oracle is offering more and dif-
ferent kinds of analysis with greater visualization, geospatial analysis, and big data analysis to be able to get at social media and other unstructured datasources. All those capabilities are great, but one of the things that stops companies from adopting these technologies is the need to integrate them all together. So, one of Oracles primary strategies for business analytics is to integrate all these technologies together so companies, as they mature, can more easily adopt new levels of analytical sophistication.
Next Steps
READ more about business analytics oracle.com/us/solutions/business-analytics/ overview Oracles Exalytics In-Memory Machine X3-4 oracle.com/exalytics
Whats exceptional about Cintras Architecture Blueprints and Oracle engineered systems? Heres what our clients are saying
The Database Appliance architecture allowed us to rapidly consolidate Cintras Exadata expertise has allowed us to meet our daily sales reporting SLAs
Cintra is your one-stop shop for Oracle engineered systems. We offer full life cycle services from architecture design and blueprinted deployments to ongoing managed services; including production support for the full technology stack of hardware, operating system, database, and applications. With over 50 successful engineered systems deployments, Cintra is the authority on driving business value with Oracles engineered systems. Contact us at cintra.com
Our Oracle E-Business Suite deployment on the Database Appliance with Oracle VM has been smooth sailing with Cintra The Database Appliance architecture resolved our performance issues, Im a Cintra fan Cintras architecture expertise was a breath of fresh air
The Database Appliance easily supported the demands of our peak seasonal traffic
Oracles Sun ZFS Storage Appliance Cintra enabled us to standardize on an has provided a Oracle Exadata database 5X increase in machine architecture performance
Book Beat
Pro Oracle Database 12c Administration
By Darl Kuhn
Apress apress.com
In Pro Oracle Database 12c Administration, author Darl Kuhn lays out realworld techniques that lead to success as an Oracle DBA. He gives clear explanations on how to perform critical tasks and weaves in theory where necessary without bogging the reader down in unnecessary detail. If you have buck stops here responsibility for an Oracle database, then Pro Oracle Database 12c Administration is the book you need to help elevate yourself to the level of elite Oracle DBA. The author has written books on a variety of IT topics including SQL, performance tuning, Linux, backup and recovery, Oracle Recovery Manager, and database administration. configuration, and tuning. Each chapter covers a specific topic with complex solutions simplified and explained. The book covers the day-by-day tasks of an Oracle WebLogic administrator, and its enhanced with tips for building an Oracle WebLogic Server production environment focused on stability, high availability, and performance. It is ideal for those who know the basics of Oracle WebLogic Server but want to dive into moreadvanced topics.
PARTNER NEWS
21
Database Cloud Storage: The Essential Guide to Oracle Automatic Storage Management
By Nitin Vengurlekar and Prasad Bagal
Oracle Press oraclepressbooks.com
This Oracle Press guide contains the latest information on the inner workings of the Oracle Automatic Storage Management feature of Oracle Database and Oracles cloud storage management. Database Cloud Storage: The Essential Guide to Oracle Automatic Storage Management explains how to build and manage a scalable cloud storage infrastructure with Oracle Automatic Storage Management. Readers will learn how to configure cloud storage solutions, build disk groups, use data striping and mirroring, and optimize performance. Details on ensuring consistency across server and storage platforms, maximizing data redundancy, and administering Oracle Automatic Storage Management are also included. Written by members of the team that developed and managed Oracle Automatic Storage Management, the guide covers practical day-to-day usage, general operations, best practices, and tips and techniques.
I-HUA CHEN
22
PARTNER NEWS
Partners Achieve Oracle Exadata Optimized and Oracle Exadata Ready Status
Five Oracle Gold Partners have achieved Oracle Exadata Optimized and Oracle Exadata Ready status in the Oracle Exastack Ready program. This program recognizes applications that leverage the latest Oracle technology and acknowledges partners for developing, testing, and supporting their applications with Oracle Exadata, Oracle Exalogic Elastic Cloud, and Oracle SuperCluster engineered systems, as well as Oracle Linux. ElectraCard Services, a subsidiary of OPUS Software Solutions, achieved Oracle Exadata Optimized and Oracle Exadata Ready status for electraSWITCH, which processes ATM, point-of-sale, internet, and mobile phone banking transactions. Ellucian, which operates as a subsidiary of Sophia L.P. , earned Oracle Exadata Optimized and Oracle Exadata Ready status for Banner by Ellucian, its higher-education student information system. Banner by Ellucian is an open, flexible, and standardsbased architecture for delivering information and services via the internet and mobile devices. Fidelity Information Services (FIS) achieved Oracle Exadata Optimized and Oracle Exadata Ready status for DataNavigator, the back-office transaction management component of the FIS Enterprise Payments platform. DataNavigator optimizes and consolidates transaction research, exception management, ATM management, settlement, and reporting functions. HealthEdge achieved Oracle Exadata Optimized and Oracle Exadata Ready status for its HealthRules product suite. The HealthRules suite includes modules for payers and care managers, as well as a portal and an advanced reporting and analytics offering called HealthRules Answers and an integration layer called HealthRules Connector. Kiman Solutions achieved Oracle Exadata Optimized and Oracle Exadata Ready status for KiPREV, its life and pension solution. KiPREV is a comprehensive solution developed for the Brazilian market and is available in 15 countries on three continents. electracard.com ellucian.com fidelityinfoservices.com healthedge.com kiman.com.br
Leeyo Software Achieves Oracle Exadata Ready and Oracle Exalogic Ready Status
Leeyo Software, an Oracle Gold Partner and provider of cloud-based and on-premises solutions for revenue recognition, automation, and management, earned Oracle Exadata Ready and Oracle Exalogic Ready status for RevPro Version 2. RevPro automates and manages revenue-related processes, eliminating manual data entry and integrating with quote-to-cash processes of enterprise resource planning systems to improve visibility, functionality, and configurability. leeyo.com
I-HUA CHEN
23
FREE PAPER
http://info.hitsw.com/Oracle20135
CM
MY
CY
CMY
See us at Oracle OpenWorld 2013 HiT Software / BackOfce Associates Booth 515 - Moscone South
T +1.408.345.4001
www.hitsw.com
info@hitsw.com
Copyright 2013 HiT Software, Inc., A BackOfce Associates, LLC Company. All rights reserved. HiT Software, HiT Software logo, and DBMoto are either trademarks or registered trademarks of HiT Software and BackOfce Associates, LLC in the United States and other countries. All other trademarks are the property of their respective owners.
SEpt. 22 26
San FRanciSco
REGISTER NOW
Save $200 by Sept. 20
Join the Most important technology Event of the Year
Cloud Social
Register at oracle.com/openworld
Global Sponsor
Marquee Sponsor
Innovation Sponsor
Diamond Sponsors
Premier Sponsor
Grande Sponsors
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.
Community Bulletin
BY ROLAND SMART
25
OS EVALUATION
More and more Oracle Technology Network members are using virtualization as their go-to method for evaluating operating systems. And for good reason: this approach offers maximum flexibility and workflow efficiency, because it allows you to run multiple operating systems on a single machine and compare them side by side. A great how-to series of articles from Oracle Technology Network member and software developer Yuli Vasiliev explores the many different options for installing and customizing Oracle Solaris and Oracle Linux from inside Oracle VM VirtualBox. In Evaluating Oracle Solaris 11 from Inside Oracle VM VirtualBox (bit.ly/13SifI7) and Evaluating Oracle Linux from Inside Oracle VM VirtualBox (bit.ly/ 165aj8s), you will learn how to manage users and user privileges; configure and switch between networking modes; assign unique IP addresses to each virtual image (in the case of Oracle Linux); set up guest applications and guest device drivers; and test preinstalled Oracle products via handy VM appliances.
13CaAhf), provides an excellent innovation playbook for those looking to build lasting architectures. Written collaboratively by a group of recognized experts and community leaders in service-oriented architecture (SOA), the collection discusses the future of SOA security; the intersections of service orientation and cloud computing; and the rise of complex event processing, among other topics.
I-HUA CHEN
Tour provides free peer-led trainings, customer case studies, and networking opportunities to help marketing scientists and artists succeed. Visit roadtorevenue.eloqua.com to see the scheduled tour stops, and check out the tour presentation archive at topliners.eloqua.com/docs/DOC-3573.
26
An Oracle expert DBA shows how Oracle Database 12c can improve the relationship between developers and DBAs.
yle Hailey knows that the relationship between DBAs and developers can be rocky. But new capabilities in Oracle Database 12c have the potential, he says, to smooth things out. I ran into Hailey, a DBA and Oracle ACE, at the 2013 ODTUG Kscope13 conference as he was preparing to lead a session for application developers. I want to show developers how to tell if their SQL statements are tuned well or not, says Hailey. I can show them how they can see the effect of their code before a DBA comes to yell at them for negatively impacting database performance.
Youre Making a Mess! Oracle Database 12c introduces an administration console called Oracle Enterprise Manager Database Express, a light version of Oracle Enterprise Manager that developers can access through a browser. Now DBAs can give the developers read-only access to a simplified database management console so they can see the impact of their code, says Hailey. This is a big change from the traditional setup, where the effect of code was seen only in the DBAs world. The DBA has this privileged access to see whats happening with the database, Hailey says. He can see load go up and see who caused it, but the poor developer writes some code, runs some code, and maybe sees some text on a screenbut theres no visual impact. The developer doesnt know whats going on in the database, and thats not fair. The DBA comes and complains that the developers are making a mess, and the developer says, How am I supposed to know? With [Oracle Enterprise Manager Database Express], developers will be able to see the effect of their code and, if theres a problem, shut it down before the DBA comes calling.
Database Service with a Smile Oracle Database 12c offers a new architecture and database option called Oracle Multitenant, which Hailey thinks will improve his dayand his relationship with developers. His work includes cloning databases, he explains, and every time I start a clone Im taking up memory resources, and I can only put so many clones on a machine. Now with Oracle Multitenant I can put up to 250 clones on a single machine. In Oracle Database 12c, each clone is a pluggable database, which plugs into a container database. I can manage a bunch of pluggable databases through a single container database, he says. The [Oracle Multitenant option] means Im going to need less time to manage the database, and Ill need less hardware because I can consolidate. I can take databases off a bunch of disparate machines and put them on a single
machine in a single container database. More importantly for his relationship with developers, Oracle Multitenant will help Hailey serve them faster. If Ive got developers sharing a database, I cant change the schema for one of them, because it might impact another developerso it takes a week to get sign-off that a change doesnt affect anybody else, says Hailey. But now with Oracle Multitenant, I can spin up these pluggable databases right away and developers can get their own copies, make all the changes they want, and then create a merged copy in the end. With Oracle Database 12c, developers get a faster, smoother database as a service from Hailey through Oracle Multitenant, and Hailey gets better code against his database from developers, who can see the effects of their code by using Oracle Enterprise Manager Database Express. Thanks to Oracle Database 12c, this relationship just might work out.
Jeff Erickson
(jeffrey.x.erickson@ oracle.com) is a senior editor with Oracle Publishing.
Next Steps
Learn more about Oracle Enterprise Manager Database Express bit.ly/14ZgURx Oracle Multitenant bit.ly/1bp5tHL Kyle Hailey dboptimizer.com ODTUG odtug.com
Bob Adler
27
Three peers master the basics through OU classes, vinyl signs, and user groups.
Solid Foundations
TIMO RAITALAAKSO
JOHN BOOTH
ULRICH GERKMANN-BARTELS
Company: Solita Oy, a digital business consulting firm Job title/description: Senior database specialist, developing new custom applications that use Oracle Database Location: Tampere, Finland Length of time using Oracle products: 12 years What technology has most changed your life? The paper A Relational Model of Data for Large Shared Data Banks by Ted Codd from the early 1970s has had the most influence on my career. It was not itself a technologybut Codds ideas and research gave a solid theoretical foundation for relational databases. Without that, there wouldnt be an Oracle. Youve taken Oracle University [OU] classes in the past. What led you to do this? After graduating from Tampere University of Technology, I began working as a Java developer. My boss suggested that I gain more knowledge of Oracle technologies, so I got to take the DBA I, DBA II, and Performance Tuning classes. They gave me a good basis from which to understand how Oracle technologies work, and my interest in Oracle Database kept increasing. Since getting an overview of Oracle database architecture, its been easier to absorb information from Oracle documentation, and other presentations are more understandable. What green practices do you use in your DBA work? Consolidation, for ease and less consumption of resources. Im working on consolidating several small database environments into Oracle Database Appliance.
Company: Blue Stone International, an enterprise performance management, business intelligence, and information management professional services provider Job title/description: Infrastructure and integration practice leader, serving as a technical leader across project portfolios and managing a team of consultants Location: Chicago, Illinois Oracle credentials: Oracle Hyperion Planning 11 Certified Implementation Specialist, Hyperion Essbase 7.1.2 Consultant Certified Expert, and Hyperion Planning 4.1 Consultant Certified Expert, with 15 years of experience using Oracle products
Company: Enpit Consulting OHG, a consulting firm specializing in Oracle Application Development Framework (Oracle ADF) and Oracle Fusion Middleware technologies Job title/description: CEO and senior consultant, responsible for running the business and working as lead architect for large projects based on Oracle Fusion Middleware technologies Location: Paderborn, Germany Oracle credentials: Oracle Application Development Framework 11g Certified Implementation Specialist, with 12 years of experience using Oracle products Whats your favorite tool on the job? Im a big fan of Pomodoro, Trello, Dropbox, Evernote, and GoodReader. For development, most of the time Oracle JDeveloper is my tool of choice. What advice do you have about getting into application development or software architecture? You have to do the following things: read, try, meet people, and discuss. If you live in Germany, join the German ADF Community. Consider participating in one of the groups Hackers Events or ADF Project Sessions, or attend one of its regular web conferences. What technology has most changed your life? The combination of mobile computing, the cloud, and high-speed trains. These technologies make it possible for me to move around to different projects and be in touch with my familyand I always have everything I need for my job along the way. I also use my mobile device to stay in touch with my personal and professional communities, getting updates and important information. For business, I prefer Twitter and XING. t
How did you get started in IT? My first exposure to IT was building and supporting vinylsign-cutting systems in 1992. Picture a computer plotter that uses a knife to cut vinyl; the vinyl is then applied to a surface such as a car, tractor trailer, or billboard. It was a Windows 3.1 and DOS world back then, and our internal server used Novell NetWare 2.2. Which new features in Oracle products are you currently finding most valuable? The Oracle Essbase 11.1.2.2 release has a ton of performance features. The parallel restructure capability and the ability to use up to 128 threads both allow for less downtime and faster aggregations. These types of features, coupled with high-performance systems such as Oracle Exalytics, move Oracle Essbase into a new performance category. How are you using mobile computing? Mainly for e-mail and browsing; however, Oracle Business Intelligence Enterprise Edition for mobile is looking quite nice now.
Learn more about the Oracle ACE program at oracle.com/technetwork/community/oracle-ace. ORACLE MAGAZINE SEPTEMBER/OCTOBER 2013
28
I-HUA CHEN
BY DAVID BAUM
ive years in the making and boasting more than 500 new features, Oracle Database 12c is the latest incarnation of the worlds most popular enterprise relational database. According to Andy Mendelsohn, senior vice president, Oracle Database Server Technologies, Oracle designed Oracle Database 12c in response to customer requirements for database clouds: customers want greater database consolidation density to lower capital costs, plus the ability to manage many databases as one to lower operational costs.
30
Judging from beta customer feedback, Oracles customer focus is paying off. Three of these customersLogicalTech Group, ARAMARK Uniform Services, and Postbankoffer their insights here on what Oracle Database 12c has shown them and how they plan to use it in their organizations. A New Kind of Virtualization Oracle Multitenant, an option of Oracle Database, Enterprise Edition, offers all the benefits of managing many databases as one yet retains the isolation and resource control of separate databases. A single multitenant container database hosts many virtual databases called pluggable databases. Each pluggable database appears to applications as a single Oracle Database instance, so no application changes are required to run applications in a pluggable database. Martin Power is the general manager of the Oracle Professional Practices division at LogicalTech Group, a Melbourne, Australiabased company that provides a range of IT services, from strategy development to technical service delivery. Power sees the benefit of the multitenant architecture over traditional virtualization architectures. Its easy to generate traditional virtual environments, so you can quickly end up with hundreds of themwhich becomes a management nightmare, Power says. Pluggable databases enable you to consolidate the databases and all of the management overhead and work associated with building and maintaining database environments. The multitenant architecture enables organizations to set up one cloud environment with dozens or even hundreds of pluggable data-
Oracle Database 12c is a true cloud environment, because it can support synchronous failover in multiple geographic sites.
James Lui, Senior Oracle Applications Database Administrator, ARAMARK Uniform Services bases in each container database. When you manage the container database, all of the pluggable databases inherit the work you do, adds Power. For example, if you back up the container database and there are, say, 50 pluggable databases associated with that container, all 50 of them will be backed up. Similarly you can restore the container or any of the pluggable databases independently. Your administrative overhead becomes 1/50 of what it was when you had 50 separate databases. Carl Olofson, research vice president of application development and deployment at International Data Corporation (IDC), describes the efficiency of the multitenant architecture: If youre going to virtualize the database operation, you should do it at the database level rather than at the operating system level. Oracles approach with pluggable databases enables you to move a database from one server environment to another without making substantial changes.
LogicalTech Group needed zero downtime for database provisioning. When we couple Oracle Flex Automatic Storage Management with Oracle Databases new Application Continuity features, users arent even aware of interruptions, says Martin Power, general manager of the Oracle Professional Practices division at LogicalTech Group.
31
Kytes 12 for 12
Tom Kyte has picked his top 12 features of Oracle Database 12c and put them into a presentation. Here are his picks: Even better PL/SQL from SQL Improved defaults Increased size limits for some datatypes Easy top-n and pagination queries Row pattern matching Partitioning improvements Adaptive execution plans Enhanced statistics Temporary undo Data optimization capabilities Application Continuity and Transaction Guard Pluggable databases Kytes 12 for 12 presentation is part of the Oracle Database 12c launch webcast at bit.ly/1bH80gC. Spoiler alert: Kyte covers three of these picks in his Ask Tom column in this issue.
This architecture also simplifies upgrades, adds Olofson, because you can set up a new container database, upgrade it to the latest release, and then move your production databases to it. Theres almost no interruption, and you can add and remove databases at will, he says. For example, if you have an accounting database that is very busy at the end of the quarter, you can run it on a small server and then move it to a larger server during peak periods. Traditionally, its been a big deal to move a database from one server to another. A pluggable database obviates most of that activity and makes the move pretty straightforward.
Automatic Security and Auditing Security in the multitenant architecture is also straightforward. Each pluggable database has its own self-contained security level. System administrators can be granted access to a single pluggable database. Only administrators with container database rights can see all the pluggable databases in that container database. Oracle Database 12c includes fine-grained auditing right out of the box, and a lot of the auditing features are turned on by default, says James Lui, senior Oracle Applications database administrator at ARAMARK Uniform Services, who also serves on the board of directors of the Independent Oracle Users Group (IOUG). You dont have to think about itthe database is secured to begin with, by means such as automatic complex passwords and automatic auditing. All the options we used to have to turn on manually as part of our postcreation processes are now part of the database build. ARAMARK Uniform Services is a leading supplier of uniforms and workplace supplies (mats, mops, and towels and other restroom items) to companies throughout the United States. Its Oracle technology stack includes software for enterprise resource planning, identity management, business intelligence (BI), performance management, and many other business functions. Lui and his team tested Oracle Database 12c with Oracle E-Business Suite 12 and 1 terabyte of data. We were very impressed with the quality of this beta release, Lui says. Even though Oracle had not yet certified Oracle E-Business Suite 12 with the beta release we were testing, everything worked
Raffi Alexander
ARAMARK Uniform Services tested a beta release of Oracle Database 12c with Oracle E-Business Suite 12 and 1 terabyte of data. We were very impressed with the quality of this beta release, says James Lui, senior Oracle Applications database administrator at ARAMARK Uniform Services.
32
the patching, the administration tools, the monitoring, the Oracle E-Business Suite applications. SIMPLER MANAGEMENT AND INTEGRATION ARAMARK deployed the Cloud Control feature of Oracle Enterprise Manager 12c more than a year ago to simplify the management of its large database infrastructure. According to Lui, Oracle Database 12c will further simplify routine IT tasksa fact ARAMARK demonstrated during the beta test by plugging many existing Oracle Database instances into one container database. Lui believes that ARAMARKs DBA staff will spend less time on
routine training and installation because of the robust set of agents packaged with Oracle Database 12c. The Oracle Universal Installer, Upgrade Assistant, Oracle RAC Assistant, and others are so much easier to use and provide so much more control, he says. The built-in wizards will help streamline the way we deploy, upgrade, and troubleshoot problems. GREATER AVAILABILITY ARAMARK also examined Oracle Active Data Guard enhancements for Oracle Database 12c, which enable Oracle Active Data Guard to operate over a wide area network in synchronous mode. Prior
I-HUA CHEN
33
to this, Oracle Database supported Oracle about 280 terabytes of Oracle Database snapshots Active Data Guard in synchronous mode data in all. There are also 600 to 700 dataonly on the same local area network, bases in development, plus hundreds more ARAMARK Uniform Services aramarkuniform.com Lui explains. Active Data Guard Far Sync in testing. Location: Burbank, California enables us to run that same Oracle Active Postbank is migrating its SAP business Industry: Consumer services Data Guard for zero-data-loss failover across applications from a DB2 database on an IBM Employees: 13,000 a wide area network. system to Oracle Database on multiple x86 Oracle products: Oracle Database, Oracle This new disaster recovery architecture servers running Oracle Linux and Oracle Real Linux, Oracle E-Business Suite 12, Oracle Business Intelligence, Oracle Identity and facilitates cloud computing by enabling Application Clusters (Oracle RAC). Access Management, Oracle WebLogic Server, ARAMARK to place Oracle Active Data With help from Oracle Database 12c, Oracle Enterprise Manager Cloud Control, Guard instances at multiple geographic this consolidation will be much more costOracle Hyperion product family locations. Oracle Database 12c is a true effective and efficient than we imagined, cloud environment, because it can support says Pokolm. The Oracle Database environDeutsche Postbank AG postbank.com synchronous failover in multiple geographic ment will significantly reduce hardware costs Location: Bonn, Germany sites, Lui continues. The distances dont and facilitate greater consolidation. Industry: Financial services matter anymore. Pokolm and his group are responsible Employees: 20,000 LogicalTech was similarly enthusifor architecting, developing, and managing Oracle products: Oracle Database, Oracle astic about the capabilities of the Oracle the complete database infrastructure JDeveloper, Oracle Real Application Clusters, Oracle WebLogic Server, Oracle Enterprise Automatic Storage Management feature for Postbank. They currently use Oracle Manager Cloud Control of Oracle Database 12c, especially a new Database 11g to support many parts of the feature called Oracle Flex Automatic Storage banks retail division, from back-office LogicalTech Group Management (Oracle Flex ASM). systems to automated teller machines, logicaltech.com.au Weve been searching for a zerocore banking services, and online banking Location: Melbourne, Australia Industry: Technology consulting services downtime solution for provisioning dataapplications. Previously the Postbank team Oracle products: Oracle Database, Oracle base systems, says LogicalTechs Power. achieved some degree of consolidation by E-Business Suite, Oracle WebLogic Server, Oracle Flex ASM enables us to decouple installing multiple databases on the same Oracle Enterprise Manager Cloud Control a database from the Oracle Automatic server, but it still had to manage each dataStorage Management storage layer, provibase separately. sion that storage layer on a cluster of Oracle Flex ASM nodes, and In the past, we put each application on a separate, dedicated then connect database processing nodes to the Oracle Flex ASM database, and a simple patch or upgrade involved many people, says cluster environment. This architecture enables us to upgrade the Pokolm. The Oracle Database 12c multitenant architecture enables Oracle Flex ASM nodes in a rolling fashion. We can also replicate the us to consolidate those databases into one container database, data between data centers and enable the primary Oracle Automatic which simplifies installations, upgrades, and patch management. Storage Management environment to fail over to a secondary site Now Oracle Database 12c will make it easy to allocate CPU through Oracle Flex ASM provisioning while still keeping the dataresources between database containers, giving Postbank very finebase nodes up in the primary site. When we couple Oracle Flex ASM grained control over the processing workload. Oracle Database 12c with Oracle Databases new Application Continuity features, users enables us to tune performance for particular pluggable databases arent even aware of interruptions. and container databases as well as to shift resources to accommodate different workloads and processing needssuch as customerTurnkey Database as a Service for Dev/Test facing applications during the day and BI queries or interest rate Environments calculations at night, Pokolm says. Interruptions to system access are simply not an option at Postbank, To take advantage of these performance gains and main one of Germanys largest retail banks. We are in an informationtenance savings, Postbank is evaluating the possibility of consoliintensive industry, and we must be able to process transactions dating at least 25 percent of its production databases and nearly instantaneously and have services available when customers and 50 percent of its test-and-development databases into an Oracle employees need them, says Jens-Christian Pokolm, analyst, IT serMultitenant environment. Pokolm foresees overall time savings vices and database design, at Postbank. Customers expect instanfrom 30 to 35 percent from this new architecture, along with better taneous access to their accounts at all times, so performance and performance due to more-efficient sharing of the servers and availability are extremely important for us. storage equipment. Postbank has approximately 14 million customers, 1,100 bankWe are getting really good feedback from customers that plan to owned branches, and 4,500 Deutsche Post partner branches. The move their test-and-development environments to Oracle Database Postbank DBA staff maintains between 400 and 450 production 12c, says Oracles Mendelsohn. The multitenant architecture is Oracle databases, ranging from a few gigabytes to 45 terabytes ideal for what dev/test departments want to do: very quickly provi-
34
Oracle Database 12c enables us to tune performance for particular pluggable databases and container databases.
Jens-Christian Pokolm, Analyst, IT Services and Database Design, Postbank sion new databases. If youre using a storage environment that has snapshot storage, such as Oracle ZFS, you can instantly provision a new dev/test database by cloning an existing pluggable database. Addressing Market Demands for SaaS Vendors and Enterprise Customers Mendelsohn identifies four key use cases for the Oracle Multitenant option: consolidation, dev/test, software as a service (SaaS), and database as a service (DBaaS). He predicts that SaaS will be particularly popular with cloud vendors, especially when Oracle Fusion Applications run on top of the multitenant architecture. We are making it easy to provision mission-critical databases for enterprise and SaaS deployments, he contends. And combining Oracle Exadata with the multitenant architecture is an especially powerful foundation for database clouds. DBaaS will be popular for organizations interested in a servicebased model, either on- or off-premises, in a private or a public cloud. Mendelsohn foresees that Oracle Exadata will also play a prominent role in DBaaS deployments. Mendelsohn believes that customers for all Oracle Database 12c use cases will also like the new Heat Map and advanced data optimization features of the database, which automate the process of figuring out when to compress data by tracking all reads from and writes to the database. Heat Map monitors usage information at the row and segment levels, generating statistics that enable database administrators to easily gauge how frequently data is used, he explains. They can see at a glance how access patterns change over time and across different storage tiers. And once database administrators understand how their data is being used, they can create poliIn This Issue
For more information on Oracle Database 12c, Oracle Magazine recommends the following articles in this issue: Cloud Computing Breakthrough: Heres the journalistic who, what, when, where, and how on Oracle Database 12c. Page 15 Many in One: Oracle Magazine frequent contributor and stand-up Oracle technologist Arup Nanda demystifies the container database architecture and pluggable databases in Oracle Database 12c. Page 49 PL/SQL Enhancements: PL/SQL guru Steven Feuerstein looks at a handful of key new and improved PL/SQL features in Oracle Database 12c. Page 55 On Oracle Database 12c, Part 1: Tom Kyte addresses 3 of his top 12 new features in Oracle Database 12c. (Hell address the other 9 in upcoming issues.) Page 61 Time to Upgrade: IOUG President Michelle Malcher looks at what to consider when planning to upgrade to Oracle Database 12c. Page 65
Oracle Database 12c is helping Postbank with the consolidation of hundreds of production, development, and test databases. The Oracle Database environment will significantly reduce hardware costs and facilitate greater consolidation, says Jens-Christian Pokolm, analyst, IT services and database design, at Postbank.
cies to automatically move and compress database objects, based on the activity of the data. As part of its consolidation and dev/test initiatives for Oracle Database 12c, Postbank also looks forward to Oracle Database 12cs new table recovery features, which enable administrators to quickly restore individual tables from a database. Thats a really nice feature if you have loaded the wrong data or inadvertently destroyed some of your data, Postbanks Pokolm says. Now you can restore individual tables. Postbank plans to move into production with Oracle Database 12c by the end of 2013. All of our DBAs are quite happy at the moment, Pokolm sums up. The new release is rich in useful features and well developed. Its easy to handle; its easy to manage.
Based in Santa Barbara, California, David Baum is a freelance writer who frequently covers science, technology, and business.
Next Steps
DOWNLOAD Oracle Database 12c bit.ly/epBiUG READ Plug into the Cloud with Oracle Database 12c bit.ly/13Mk2Au READ more about Oracle Database 12c oracle.com/us/products/database/overview WATCH the Oracle Database 12c launch webcast bit.ly/1bH80gC
National Geographic Education supports the mission of the National Geographic Society to inspire people to care about the planet by creating compelling educational materials for young people and the adults who teach them. NG Education provides unique learning experiences to educators and advocates for improved education in geography, the environmental sciences, and other disciplines that are critical to understanding our world. With support from Oracle, National Geographic Education is engaged in a major project to develop teacher leaders in marine ecology and create materials about ocean science and geography for students, families, the ocean recreation community, and the general public.
Get Ready
Oracle OpenWorld, JavaOne, and MySQL Connect
HArtmann Studios
Caption Ra explique sunt poreptatibus seque num quatatq uatisit amustru ptatius arum etur, saectistem quis autentia et aut dolut et audandit quam hariaecto eum hiciderum eatquid
You want to catch up on technology and trends. You want to meet the whos who of the industry technocrats, business and thought leaders, and the Oracle leadership team. And youre looking for an opportunity to share your ideas and experiences with your peers. Where can you go to do all that and more? Join us September 21 to 26, 2013, in San Francisco and be part of Oracle OpenWorld, JavaOne, MySQL Connect, and Oracle PartnerNetwork Exchange @ OpenWorld. Learn, share, and network at events that offer an incredible, wide selection of technical and business-focused sessions that are simply not found at any other conference, in the words of attendee John Monczewski of General Dynamics.
38
[Oracle OpenWorld is] a unique event that permits us to anticipate and to know firsthand the most innovative solutions in the market.
Alexis Brabant, Arrow
and meetups. Discover new product and technology solutions, enhance your skills and knowledge, and get up to date on where technologies and industries are heading. Along with general and conference activities, Oracle OpenWorld 2013 offers focus areas with dedicated sessions, keynotes, and tracks. Located throughout the greater Oracle OpenWorld neighborhood, their subjects include big data and analytics, the cloud, retail, public sector, financial services, utilities, communications, healthcare, and life sciences. Returning after its introduction in 2012, the CX @ OpenWorld focus area explores the customer experiencetrends, strategy, solutions, and technology. Attendees can sign up for interactive workshops to help hone their customer experience skills. New this year is the HCM @ OpenWorld focus area, examining human capital management for HR executives and HRIT specialists. When: September 2226 oracle.com/openworld By the Numbers
In 2012, 50,000 people, including developers, designers, administrators, managers, users, implementers, analysts, partners, and customers from 123 countries, attended the Oracle fall conferences in San Francisco. One million watched online. Those who made the trip to San Francisco filled 14 venues to attend more than 2,523 general, business, and technical sessions and to hear more than 3,570 speakers. They participated in 406 product and solution demos and visited with 457 partner and customer exhibitors in the Exhibition Halls.
Oracle OpenWorld
If you want to get information on the latest Oracle technologies, developer tools, applications, solutions, and industries, Oracle OpenWorld is the place to be. The largest of the Oracle conferences, Oracle OpenWorld provides a wide variety of opportunities to learn, share, and network, with more than 2,500 sessions, labs, demos,
Hartmann Studios
39
Theres no other place where you can get faceto-face with so many Oracle experts.
Jay Dear, Elsevier
MySQL Connect
In 2012 MySQL Connect debuted as a standalone conference for the MySQL community. This year MySQL Connect offers more than 80 conference and BOF sessions in addition to hands-on labs and demos focusing on the open source database. Hear internationally recognized MySQL community members, partners, customers, and Oracle MySQL engineers discuss topics such as replication, performance tuning, best practices, security, backup, the cloud, big data, OpenStack, and Hadoop. A new series of MySQL tutorials is offered Monday, September 23. Designed for novices to experienced users, the tutorials are delivered by MySQL engineers and explore a variety of areas, from getting up to speed on MySQL to maximizing its use. When: September 2123 oracle.com/mysqlconnect
JavaOne
Join Duke (Javas mascot) at JavaOne, the worlds leading Java conference. The conference features more than 500 sessions, including keynotes, hands-on labs, tutorials, demos, and meetups devoted to all things Java. JavaOne 2013 tracks cover the core Java platform, Java and security, and Java and the cloud. They also explore tools and techniques for creating user experiences delivered through channels such as personal devices, smartcards, embedded environments, and intelligent equipment. Attendees can learn how to utilize new language changes, construct modern enterprise applications, create rich client-side solutions, and build machine-to-machine applications, to name just a few opportunities. Want to participate in an open source community project? Visit JavaOnes Codegarten. Youll get internet access and assistance to help you code, test, and share programs, or you can compete in the Developer Challenge, where youll create a Raspberry Pi application. When: September 2226 oracle.com/javaone
40
Faster
By Carol Hildebrand
ORACLE TEAM USA uses Oracle technology to deliver extreme speed in the Americas Cup.
lthough the trophy awarded to the winner of the 34th Americas Cup in San Francisco Bay may be the oldest in international sports, theres nothing vintage about modern competitive sailing technology. As ORACLE TEAM USA CEO Russell Coutts says, the 2013 Americas Cup is designed to meet the expectations of the Facebook generation, not the Flintstones generation. And fittingly, ORACLE TEAM USA has turned to information technology as a key tool for defending the Cup.
42
ORACLE TEAM USAs multipronged technology strategy starts with the performance data the team collects from every training run. The absolute core of our technical performance analysis is based on collecting information while sailing and processing it to provide useful feedback to the sailors and designers to improve the design and performance of the boat, says Ian Fresh Burns, design team coordinator. More than 300 sensors all over the boat collect a huge amount of raw data, which is transmitted to a server in the hull. Sensors measure the strain on the mast, hull, and wing; monitor the load generated on components ranging from the jib to the winches; and monitor the effectiveness of each change made by the trimmers, who constantly adjust the sail wing to fully exploit wind conditions. The boat generates more than 3,000 data variables about 10 times a second when sailing. ORACLE TEAM USA also runs several video feeds and takes still images of the sails every second. A typical training run generates about a gigabyte of raw performance data as well as 150 to 200 gigabytes of video, says Asim Khan, director of IT for ORACLE TEAM USA. Khan downloads the performance data at the end of each day to the teams onshore Exadata Database Machine X3-2, adding it to about 80 gigabytes of weather information, boat data, and performance metadata from the current quest to defend the Americas Cup in 2013 as well as a cache of historical data from previous Cup campaigns. The team uses the treasure trove of raw performance data, as well as the videos and still images, for performance analysis and deeper
analytical dives into historical data. The trick is to tailor the information flow to fit each situation. We do anything we can to make the information easy and simple to consume, says Burns. It brings the awareness level up and the crisis decision-making down. Real-Time Analytics ORACLE TEAM USAs AC72s sail every day with a chase boat that serves as the real-time analytical hub. The four-man performance team configures a feed of about 150 key parameters, which is transmitted in real time to the Oracle Database instance on the performance chase boat. The team members can also connect to the onshore Exadata Database Machine X3-2 via a 4G connection, enabling them to access historical data for comparative analytics. The performance team runs a variety of analyses, all geared to optimize boat performance, and feeds that information to the ORACLE TEAM USA sailors via radio. One team member analyzes data from the sails and wing, another looks for data trends, a system tech monitors the system itself, and Burns looks at the data from a sailors point of view. We constantly check the numbers, from the configuration of the boat to monitoring wind and sea conditions during a test, making sure the test results are good, and finally feeding the test results straight back to the sailing team, says Burns. Sometimes the analysis requires a very complicated combination of 10, 20, or 30 variables run through a time-based algorithm, to give us predictions
More than 300 sensors generate more than 3,000 data variables about 10 times a second. A typical training run generates about a gigabyte of raw performance data as well as 150 to 200 gigabytes of video, says Asim Khan, director of IT for ORACLE TEAM USA.
43
During training runs Asim Khan (left), director of IT, and Ian Fresh Burns, design team coordinator for ORACLE TEAM USA, use Oracle Database and Exadata Database Machine X3-2 to collect and process technical performance data to improve boat design and performance.
Khan looks at Oracle Database as the backbone of the operation. We use it as a sort of centralized management tool, with lots of ways to access it, from traditional queries and custom-built tools to Oracle Application Expressbased web pages and mobile apps, he says. Race Cutter The most widely used tool is Race Cutter, a custom application that pulls sensor data from the Exadata Database Machine X3-2, with added metadata markers that synchronize the video, photos, and audio streams with the raw numbers. Team members can click to a certain moment and view all the pertinent information from that time stamp. Its a classic example of a tool used by many people for many different reasons, says Javier Cuevas Domingo, computer engineer for the performance group. For example, the design or sailing teams can look at information from a specific point in time and analyze any number of performance factors, such as the strain on the daggerboards or the load on a rope. If you click a certain point in time, youll jump to the images and video from a number of different camera viewpoints, says Burns. The team also uses Race Cutter as a debriefing tool for each training session. The team gathers around three big-screen TVs to see how the boat can be sailed better. Clicking highlighted time stamps called Events, the team can listen to comments from coach Philippe Presti about those points in time or review a single testing sequence. We can compare todays data with that of other days as well, says Domingo. Its also good to correlate the subjective impression of the sailors with the data. It helps them understand what was going on.
ORACLE TEAM USA sailors receive real-time information via ruggedized PDAs on their forearms or wrists and several tablet devices in fixed places around the boat to help improve sailing performance. We are always at the red line for things like loading on the boat, and its critical that we dont go over, says Skipper Jimmy Spithill.
Traditional Queries Khan also builds reports to help designers and sailors solve the challenges of one-boat testing. The new boat class means that most teams have had only one boat for a significant portion of the training schedule. Instead of comparing data from two boats under sail, the performance analysis has to be done numerically by comparing data sets. One estimate is that with one-boat testing, you need to collect 40 times as much data to get good results. What we do is compare sailing data on different days or compare it with target data we have generated, says Khan, who fields a large variety of requests, ranging from how daggerboards perform under certain configurations to comparing boat performance at certain wind speed ranges. He cites a recent request to build a report that examines the rudder usage during maneuvers as an example. I first identified the maneuvers in the data set and then analyzed how the rudder was usedthe magnitude of the rudder angle and the rate of change, he says. By looking at the average for a long period of time, as well as peak values, we can design a more efficient rudder. Easy Access with Oracle Application Express ORACLE TEAM USA has also turned to Oracle Application Express to make information easier and simpler to consume. For example, one application simplifies quality control on the data sets the team generates through performance testsshort, timed, straight-line bursts of sailing that measure a wide range of parameters. The team may run 60 to 70 tests a day, using each test as a data point. Khan uses Oracle Application Express to automate the second level of quality control, creating web pages that crew members use to check and correct a lot of what he calls the metadatadata that is manually input by the performance team about the tests themselves: when they started and stopped, what the wing sail trim was during the test, and so on. Its essentially data that describes what actions went on out in the water, he says. The sailors each vet the data on their pertinent pages. For
example, a sail trimmers web page lists all the sail changes during a training run, along with the formal test periods that occurred during that time. Hell be able to see if something doesnt look righta certain sail that shouldnt be up on an upwind tack, for example and can research and make the change. The Oracle Application Express page gives him the interface for changing those manual inputs and then processing the data to correct it, Khan says. And best of all, its a set and forget effort. I can write a query and put it on a web page with Oracle Application Express, Khan says. Whenever users load the page, the query is refreshed, and I dont have to do anything. Sailors also have access to an Oracle Application Expressbased mobile app that automates the 250-item checklist necessary to prep the boat for sailing. Its a perfect use of database and mobile technology, says Burns. Oracle Application Express is really a powerful tool for widespread mobile data access. With data usage proliferating across all parts of the team, the real measure of success is the boats performance. We measure performance as a function of time, says Khan. From this boat launch to race time, weve seen a 20 to 30 percent improvement in pure speed around the course. Older [less data-driven] race campaigns saw much smaller improvements.
Next Steps
READ more about ORACLE TEAM USA oracleracing.com Americas Cup 2013 americascup.com
Carol Hildebrand writes about business, sports, and technology from Wellesley, Massachusetts.
3G
9:41 AM
Reach More than 700,000 Oracle Customers with Oracle Publishing Group
Connect with the Audience that Matters Most to Your Business
Oracle Magazine
The Largest IT Publication in the World Circulation: 550,000 Audience: IT Managers, DBAs, Programmers, and Developers
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
For more information or to sign up for a FREE subscription: Scan the QR code to visit Oracle Publishing online.
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
For more information on the Oracle Publishers Program and or if you are interested in becoming an author or technical reviewer, please contact Sheila Cepero, manager of the Oracle Publishers Program, at pubprogram-ww_us@oracle.com.
Oracle Press
Maintain a scalable, highly available enterprise platform and reduce complexity by leveraging the powerful new tools and cloud enhancements of Oracle Database 12c. This Oracle Press guide offers complete coverage of installation, conguration, tuning, and administration. All code examples in the book are available electronically.
Filled with easy-to-follow tutorials, this book walks you through database conguration, administration, programming, backup and recovery, and high availability. Youll get in-depth introductions to SQL and PL/ SQL and important information on managing large databases and using Oracles engineering systems.
@OraclePress
OraclePress
Claim your FREE Oracle Business Intelligence Enterprise Edition 11g eBook today at: packtpub.com/oraclemag
Offer expires November 30, 2013
PLUS Save up to 50% on this selection of Oracle titles at packtpub.com/oracleoffers for a limited time
Use code OPENWORLD50 to save 50% off the eBook price or OPENWORLD30 to save 30% off the print book price. Offer expires November 30, 2013
Getting Started with Oracle BPM Suite 11g R1: A Hand-On Tutorial
Be rst to hear about the latest Oracle news and new title releases. Visit us: packtpub.com I Follow us: facebook.com/packtpub I twitter.com/packtpub
Save on the Books You Need to Design, Develop, and Deploy Secure Software
$59.95 / 38.99
Sign Up for our Free Newsletters and Connect with CRC Press IT Books on Facebook, Twitter, and LinkedIn to Keep the Discounts Coming!
W W W. C R C P R E S S . C O M
Order online and enter discount code GVM24 to SAVE 25%
CRC PRESS
Taylor & Francis Group
Technology
49
Many in One
Create many databases in one database instance with the Oracle Database 12c multitenant architecture.
ohn, the lead database architect at Acme Bank, has some important visitors today: the chief information officer and her senior IT leaders. Acme has several divisions, all of which use a third-party application called MortEngage to manage the mortgage loan process. Over the past several years, all of these divisions have deployed and maintained separate installations of the product in their independent databases. The company understands the value of consolidating multiple databases and machines, and as part of its current consolidation project, the CIO wants to put all the separate installations into a single database running on one powerful machine. All the different instances of the application would be stored as schemas in the same database, and that would eliminate a lot of overhead. There would be one Oracle Database instance instead of hundreds, there would be only one set of Oracle Database metadata, fewer DBAs would be needed to manage the one database, and so on. The idea is great, but unfortunately, as the CIO has learned, the application needs a specific schema name MORTENGAGEin the database and it is hard-coded in the application and cannot be changed. Obviously, as the DBAs correctly informed her, it is not possible to create two different schemas with the same name in a database. Therefore, the only way to run multiple installations of the application is to create the required schema in multiple separate databases. Consolidation? Impossible was the general verdict of Acmes DBAs. But the smart CIO isnt ready to give up just yet. She reaches out to John in search of a solution, and she isnt disappointed. Indeed it is possible to consolidate the databaseshe learns from a smiling Johnwith the new multitenant architecture in Oracle
Database 12c. In the rest of this article, you will see how John provides the solution. ORACLE MULTITENANT The problem, John tells the CIO and the senior IT leaders, has to do with the namespace. Each Oracle Database user is uniquely named, so if the application needs a database user named MORTENGAGE, only one instance of that application can run against that database. Each additional deployment of the same application would need to connect as the MORTENGAGE user on a different database. But that changes in Oracle Database 12c, John explains. Instead of creating multiple databases, one can create multiple pluggable databases in a multitenant container database. The database instancea set of memory areas, such as the buffer cache and shared pool and processes such as pmon and smonis associated with the multitenant container database; the individual pluggable databases do not have their own database instances. The Oracle Database instance pro-
cesses exist only for the multitenant container databasenot the pluggable databases saving a lot of resources on the host server. To illustrate the concept, John points the CIO and the IT leaders in his office to Figure 1 and shows the various databases; the memory, CPU, and storage they consume; and the savings after they have been consolidated as pluggable databases in a single multitenant container database. In Figure 1, the red databases are database instances three before consolidation and one multitenant container database after consolidation. The green databasesafter consolidationare pluggable databases. The CIO chews on the information a bit and muses, So, John, you are saying there is just one actual database, and therefore there is just one set each of memory areas such as SGA and background processes such as smon, regardless of the number of pluggable databases. Well, if there is just one actual database, how can there be multiple users with the same nameMORTENGAGEin the database?
DBA1
DBA2
DBA3
One DBA
SGA
pmon smon
SGA
pmon smon
SGA
pmon smon
SGA
pmon smon
Tablespace
App 1
PDB 1
Server 1
Tablespace Undo Redo
Server 2
Tablespace Undo Redo
Server 3
Tablespace Undo Redo
Tablespace
App 2
PDB 2
Tablespace
App 3
Database 1
App 1
Database 2
App 2
Database 3
App 3
PDB 3
Pluggable Database
I-HUA CHEN
Before Consolidation
After Consolidation
Figure 1: From multiple database instances to pluggable databases in a multitenant container database
50
database Cloud
This is where the beauty of the multitenant architecture in Oracle Database 12c comes in, John explains. To a user, the pluggable databases behave just like regular databases. In fact, a typical user may not even know the difference. If 50 instances of the application need to run, John continues, the Acme DBAs create 50 pluggable databases in a single multitenant container database. Each pluggable database will have one MORTENGAGE user and will support one installation of the application. The audience, now visibly enthused, urges John to demonstrate how it all works. Installation To create the databases, John kicks off the Oracle Database Configuration Assistant that came with Oracle Database 12c. After a few clicks, he comes to the Database Identification screen, shown in Figure 2. John selects Create a Container Database with one or more PDBs as shown and chooses 2 as the number of pluggable databases. He enters CONT as the multitenant container database name (in the Global Database Name field) and PLUG as the pluggable database name prefix (in the PDB Name Prefix field). This will create a multitenant container database named CONT and two pluggable databases named PLUG1 and PLUG2. After the multitenant container database (CDB) is created, John wants to confirm that two pluggable databases were created. Oracle Database 12c introduces a new view called V$PDBS that shows the pluggable databases. John logs into SQL*Plus as a SYSDBA user and selects two columns from this view:
SQL> select con_id, name 2 from v$pdbs; CON_ID
Figure 2: Oracle Database Configuration Assistant screen for creating pluggable databases
NAME
2 3 4
The pluggable databases are also called containers, and each container has a unique identifier, shown in the CON_ID column in the output. John examines the output
from the query and confirms that two containerswith CON_IDs 3 and 4were indeed created as expected. By default, Oracle Database 12c creates a container called PDB$SEED, which also shows up in the output. This container cant be used by applications, John adds, but it can be used to create other containers by cloning. The pluggable databases do not have their own background processes and shared memory areas. They do, however, take up some space in the multitenant container databases Oracle metadata, redo logfile, controlfile, and some tablespaces such as undo. Each of the pluggable databases has its own SYSTEM, SYSAUX, TEMP, and USERS tablespaces. There is a common location for the Automatic Diagnostic Repository feature of Oracle Database for the multitenant container database; the pluggable databases do not have independent Automatic Diagnostic Repository locations. Therefore, John explains, if there were 50 independent databases as mentioned earlier, after the consolidation into 1 multitenant container database, the DBAs would need to manage only the multitenant container database. There is just 1 instance and 1 pmon process instead of 50, reducing the amount of CPU and memory required. All of this, John points out, dramatically reduces the cost of both infrastructure and operation. Next, John moves on to creating the users required for the application. The application needs a user named MORTENGAGE. John creates that user in
each of the pluggable databases. To create the user in the PLUG1 pluggable database, he first sets the CONTAINER session parameter to the pluggable database name and then creates the user.
SQL> alter session set container = plug1; Session altered. SQL> create user mortengage identified by plug1pass; User created.
To create the same username in the other pluggable database, he issues the following commands:
SQL> alter session set container = plug2; Session altered. SQL> create user mortengage identified by plug2pass; User created.
After John issues the commands, he confirms that the users exist by checking a viewnew in Oracle Database 12ccalled CDB_USERS:
SQL> select con_id, username, common 2 from cdb_users;
51
CON_ID
USERNAME
COMMON
3 4 1 2 3 4
John draws everyones attention to this output. There are two users named MORTENGAGE, but they are in two different pluggable databasescontainersdistinguished by CON_IDs 3 and 4. Because they are distinct in their respective pluggable databases, they are not visible across all the pluggable databases. They are called local or noncommon users, indicated by the NO value in the COMMON column in the output. In contrast, John points out, the SYSTEM user is visible in all the containers. However, unlike the MORTENGAGE user, the SYSTEM user is the same user in all the pluggable databases in a multitenant container database. SYSTEM is known as a common user, and the SYSTEM users COMMON column value is YES. Connection I see that there is a MORTENGAGE user in each of the pluggable databases, offers one DBA, but how does an application connect to a specific pluggable database? Exactly as it used to connect in the past, replies John. By using the appropriate TNS connect string. He puts the entries in the TNSNAMES.ORA file, located in the network\ admin directory under Oracle Home on the client machines where the applications run; Listing 1 shows the TNSNAMES.ORA entries. The service names in each connect string specify the pluggable database to connect to. Each pluggable database, John explains, has a unique service name that is the same as the pluggable database name. So the PLUG1 pluggable database has the default service name PLUG1, which cannot be defined in any other pluggable database in a multitenant container database. The applications connect to the database as they always did. For a simple demo, John connects to the PLUG1 pluggable database by using SQL*Plus:
sqlplus mortenagage/plug1pass@plug1
The application running against the PLUG2 pluggable database uses the plug2 connect string, so nothing changes from the perspective of the applications or the typical users. Instead of connecting to separate independent databases, applications and application users now connect to multiple pluggable databasescontainersin a single multitenant container database. To the applications, the containers are independent databases. This is music to the ears of the CIO. To identify which pluggable database a user is connected to, John demonstrates a new user environment variable called CON_ NAME in the SYS_CONTEXT function:
SQL> select sys_context('userenv', 'con_name') 2 from dual;
database parameter is set to TRUE to take advantage of the baselines, whereas in other databases, the parameter is set to FALSE. Now that the multitenant container database is the same for all these pluggable databases, her concern is that all the pluggable databases will have the same value for the parameter and that therefore some application installations may have serious issues. Its a valid concern, John concedes, but he announces that fortunately it is possible to set different values for different pluggable databases. He demonstrates this by setting the value of the parameter in the PLUG2 pluggable database to false.
$ sqlplus sys/oracle@plug2 as sysdba SQL> alter system set optimizer_use_sql_ plan_baselines = false scope=memory;
SYS_CONTEXT('USERENV','CON_NAME')
Then he sets the value of the same parameter to true in the PLUG1 pluggable database.
$ sqlplus sys/oracle@plug1 as sysdba SQL> alter system set optimizer_use_sql_ plan_baselines = true scope=memory;
PLUG1
At this point, May, the lead developer responsible for application deployment and maintenance, expresses a concern. Different installations of the MortEngage application require different settings in the database to improve performance, she informs everyone. For example, in one database, the optimizer_use_sql_plan_baselines
John then logs in to the different pluggable databases as the MORTENGAGE user and checks for the value of the parameter. First, connecting to PLUG2, he checks for the value:
52
database Cloud
SQL> connect mortengage/plug2@plug2 SQL> show parameter optimizer_use_sql_ plan_baselines NAME optimizer_use_sql... TYPE boolean VALUE
FALSE
The value of the parameter is FALSE, as expected. Then, connecting to PLUG1, John confirms that the value is TRUE.
SQL> connect mortengage/plug4@plug1 SQL> show parameter optimizer_use_sql_ plan_baselines NAME optimizer_use_sql... TYPE boolean VALUE
output truncated
TRUE
The PLUG1 pluggable database is now shown as MOUNTED, John confirms. The other pluggable databases have not been affected. Similarly, to start the pluggable database, John issues the following commands:
SQL> conn sys/oracle@plug1 as sysdba Connected. SQL> startup Pluggable Database opened.
Administration Although the CIO is growing in confidence about the multitenant architecture, Jill, the DBA manager, appears skeptical. Well, she questions, if this is actually a single database, how do the DBAs manage the pluggable databases independently? For example, how does a DBA shut down one pluggable database but not the other? That is a genuine concern, John agrees, but he assures her that the pluggable databases can still be managed separately. To demonstrate, John first logs into the PLUG1 pluggable database as SYSDBA and shuts it down:
SQL> conn sys/oracle@plug1 as sysdba Connected. SQL> shutdown immediate Pluggable database closed.
scripts referencing the DBA_ prefixed views needs to be changed. In addition, Oracle Enterprise Manager 12c is also aware of the multitenant architecture, and the Acme DBAs can use the tool to manage the multitenant container database and the pluggable databases. Jill couldnt be happier. Cloning The beauty of the Oracle Database 12c multitenant architecture doesnt stop at just being able to run multiple pluggable databases within a multitenant container database, John adds. It is also possible to create another pluggable database as a copy of an existing one quicklyor clone the pluggable database. John demonstrates the procedure of cloning the PLUG2 pluggable database as a new pluggable database named PLUG3: 1. Connect to the multitenant container database as a sysdba user.
SQL> conn / as sysdba
After it is shut down, John checks the status of the pluggable databases:
SQL> conn / as sysdba Connected. SQL> select con_id, name, open_mode 2 from v$pdbs; NAME
CON_ID
OPEN_MODE
2 3 4
Because the database instance belongs to the multitenant container database and is shared between pluggable databases, the instance itself is not shut down when John shuts the pluggable database down. And given that the alert log is for a database instance, it is for the multitenant container database, and John displays the last part of it, as shown in Listing 2. From the lines in the output, John confirms that the PLUG1 pluggable database was closed and later reopened in read/write mode. Jill still isnt convinced that this consolidation would be a cakewalk for her team. We have a ton of scripts that use views with the prefix DBA_, such as DBA_USERS, to get a listing of all users, she explains. Do we have to change all those scripts to use the CDB_ prefixed views? Thats a lot of changes. Not at all, assures John. The CDB_ prefixed views, newly introduced in Oracle Database 12c, show the data across all the pluggable databases inside a container database. However, when the DBA is connected to a single pluggable database, the DBA_ prefixed views show the metadata of that specific pluggable database only. None of the
3. Open the PLUG2 pluggable database in read-only mode, because that is the status it should be in when it is cloned.
SQL> alter pluggable database plug2 open read only;
53
a copy of PLUG2. Because cloning creates new datafiles, John needs to indicate that the new datafile names should include PLUG3 wherever PLUG2 appears. The FILE_NAME_CONVERT clause takes care of that:
SQL> create pluggable database plug3 from plug2 file_name_convert = ('PLUG2','PLUG3');
The command succeeds, with the message Pluggable database created. 5. Open the newly created pluggable database.
SQL> alter pluggable database plug3 open;
pluggable database (which is now in read-only mode) and reopens it in read/write mode. Jill, the DBA manager, sees a lot of potential for this feature. The DBAs are often asked by the application team to clone QA and test databases for their testing and to drop them after the testing is completed. This activity not only demands a considerable effort from the DBAs but it also requires significant CPU and memory on the server to run the new database instances. With the multitenant architecture and cloning, John continues, Jill can immediately spin up another database for testing without consuming any additional CPU or memory. When the testing is completed, she can drop the newly created pluggable database by issuing the following SQL:
drop pluggable database plug3 including datafiles;
Jill also occasionally has to clone databases from another server. She asks whether the Oracle Database 12c multitenant architecture supports that. The cloning doesnt have to be within the same database, John answers. It is possible to clone a pluggable database from another multitenant container database as well, or plug a pluggable database from a remote multitenant container database into this multitenant container database. John demonstrates the technique with the following steps: 1. Close the pluggable database to be cloned in the source multitenant container database.
SQL> alter pluggable database plug4 close; Pluggable database altered.
Now the PLUG3 pluggable database is ready for business. 6. As a final step, John closes the PLUG2
Join Us.
OracleMagazine
Oracle Magazine
@OracleMagazine
Copyright 2013, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
54
DATABASE CLOUD
a new metadata file with information from the pluggable database. This metadata file is in XML format, and John names it pluginfo_plug4.xml. This file is created in the Oracle Home, under the database directory (in Windows) or dbs (in UNIX).
SQL> alter pluggable database plug4 2 unplug into 'pluginfo_plug4.xml';
The Oracle-hosted online version of this article at bit.ly/158fW4g includes the remaining steps required to clone the pluggable database as well as questions and answers on backups in the multitenant container database architecture. CONCLUSION Pluggable databases running in the multitenant architecture of Oracle Database 12c
offer the simplicity and familiarity of traditional databases while providing the flexibility to run multiple pluggable databases within one multitenant container database. The multitenant architecture enables many schemas with the same name to be created without the need to create many disparate databases. Because there is just one multitenant container database, there is just one database instance, eliminating the Oracle Database background process and memory areas such as SGA for separate databases. And running pluggable databases in the multitenant architecture of Oracle Database 12c requires no changes to applications. Acmes IT leaders are all nods and smiles, and there are no more questions about Oracle Database 12c, multitenant container architecture, pluggable databases, provisioning, cloning, or backups. The meeting is adjourned. t
NEXT STEPS
READ online-only article content bit.ly/158fW4g LEARN more about Oracle Database 12c oracle.com/database Oracle Multitenant concepts Oracle Database Concepts 12c Release 1 (12.1) bit.ly/13S7CZv DOWNLOAD Oracle Database 12c bit.ly/epBiUG
Polar Bears International is a trusted voice focused on funding scientific research for the survival of this magnificent animal. Polar Bears International also funds educational programs that are inspiring people to reduce their carbon emissions.
www.polarbearsinternational.org
55
PL/SQL Enhancements
oracle database
Oracle Database 12c enhances the PL/SQL function result cache, improves PL/SQL execution in SQL, adds a whitelist, and fine-tunes privileges.
racle Database 12c offers a variety of enhancements to the way you can define and execute PL/SQL program units. This article covers several new Oracle Database 12c features that enable you to do the following: Optimize invoker rights functions for the RESULT_CACHE clause Define and execute PL/SQL functions inside SQL statements Restrict access to program units through use of a whitelist, specified by the ACCESSIBLE BY clause Fine-tune privileges for a program unit by granting roles to that unit
Even in Oracle Database 11 g Release 2, however, you could not combine invoker rights (AUTHID CURRENT_USER clause) with the function result cache (RESULT_ CACHE keyword). An attempt to compile the following function:
CREATE OR REPLACE FUNCTION last_name ( employee_id_in IN employees.employee_id%TYPE) RETURN employees.last_name%TYPE AUTHID CURRENT_USER RESULT_CACHE IS l_return BEGIN employees.last_name%TYPE;
Invoker Rights and the PL/SQL Function Result Cache Oracle Database 11 g introduced the PL/SQL function result cache, which offers a very powerful, efficient, and easy-to-use caching mechanism. The main objective of this cache is to ensure that if a row of data hasnt changed since it was last fetched from the database, no SQL statement needs to execute for it to be retrieved again. This holds true across the entire database instance. In other words, suppose a user connected to schema USER_ONE executes a result-cached function to retrieve the row from the employees table for employee ID = 100. When a user connected to schema USER_TWO executes the same function call for the same employee ID, that row of information is retrieved directly from the cache and not by execution of a SELECT statement. If you are not already using this feature (and you are using Oracle Database 11 g), I strongly encourage you to investigate it and start applying itin close collaboration with your DBA so that the result cache pool is sized properly.
SELECT last_name INTO l_return FROM employees WHERE employee_id = employee_id_in; RETURN l_return; END; /
The reason for this restriction is the whole point of invoker rights. At runtime the PL/SQL engine uses the privileges of the current user to resolve references to database objects such as tables and views. But if such a function was compiled with RESULT_CACHE, then (using the example above) after USER_ONE executed the function, passing in 100, when USER_TWO makes the same function call, the body of the function would not be executed and the
reference to the EMPLOYEES table would not be resolved according to USER_TWOs privilege. This could have caused serious security issues. Well, the good news is that this restriction was temporary. In Oracle Database 12c, you can now compile functions such as last_ name (above) without errorand Oracle Database 12c does the right thing, of course. Behind the scenes, Oracle Database 12c passes the name of the current user as a hidden parameter; this value is cached along with the values of all the arguments passed to the function. So each time the last_name function is called, Oracle Database 12c checks to see if that function has been previously called with both the same employee ID and the same current user. This means that the result cache for an invoker rights function is (logically) partitioned by the name of the current user. Consequently, the result cache for an invoker rights function will improve performance only in situations in which the same user calls the function with the same argument values repeatedly. Another way of explaining this is to point out that in Oracle Database 11 g Release 2, I could have achieved the same effect, but only if I had changed the implementation of the last_name function, as shown in Listing 1. Note that the last_name function is defined in the package specification and is not result-cached. Instead, that public function (declared in the package specification) merely calls the private/internal version of the function, which has a second parameter: the user. So each time you call employee_api .last_name, Oracle Database 11 g Release 2 adds the name of the user to the set of values used by the database to determine whether there is a match in the result cache.
56
PL/SQL
This is no longer necessary; in Oracle Database 12c, you simply need to decide if you think it is worth adding RESULT_CACHE to invoker rights programs. Define PL/SQL Subprograms in a SQL Statement Developers have long been able to call their own PL/SQL functions from within a SQL statement. Suppose, for example, I have created a function named BETWNSTR that returns the substring between the specified start and end locations:
FUNCTION betwnstr ( string_in , start_in , end_in ) RETURN VARCHAR2 IS BEGIN RETURN ( SUBSTR ( string_in, start_in, end_in - start_in + 1 )); END; IN IN IN VARCHAR2 PLS_INTEGER PLS_INTEGER
Code Listing 1: Partitioned Oracle Database 11g Release 2 invokers rights function
CREATE OR REPLACE PACKAGE employee_api AUTHID CURRENT_USER IS FUNCTION last_name ( employee_id_in IN employees.employee_id%TYPE) RETURN employees.last_name%TYPE; END; / CREATE OR REPLACE PACKAGE BODY employee_api IS FUNCTION i_last_name ( employee_id_in IN employees.employee_id%TYPE, user_in IN VARCHAR2 DEFAULT USER) RETURN employees.last_name%TYPE RESULT_CACHE IS l_return employees.last_name%TYPE; BEGIN SELECT last_name INTO l_return FROM employees WHERE employee_id = employee_id_in; RETURN l_return; END; FUNCTION last_name ( employee_id_in IN employees.employee_id%TYPE) RETURN employees.last_name%TYPE IS l_return employees.last_name%TYPE; BEGIN RETURN i_last_name (employee_id_in, USER); END; END; /
This approach offers a way to both extend the SQL language with application-specific functionality and reuse (rather than copy) algorithms. A downside of userdefined function execution in SQL is that it involves a context switch between the SQL and PL/SQL execution engines. With Oracle Database 12c, you can now define PL/SQL functions and procedures in the WITH clause of a subquery and then use them as you would any other built-in or user-defined function. This feature enables me to consolidate the BETWNSTR function and query shown above into a single statement:
WITH FUNCTION betwnstr ( string_in start_in end_in IN VARCHAR2, IN PLS_INTEGER, IN PLS_INTEGER)
RETURN VARCHAR2 IS BEGIN RETURN (SUBSTR ( string_in, start_in, end_in - start_in + 1)); END;
Reference a Packaged Constant Although you can call a packaged function in SQL, you cannot reference a constant declared in a package (unless that SQL statement is executed inside a PL/SQL block). Heres an example of the constant reference limitation:
SQL> CREATE OR REPLACE PACKAGE pkg
2 3 4 5
So why would a developer want to copy logic from a PL/SQL function into a SQL statement? To improve performance. When I call my own PL/SQL function in a SQL statement, the SQL engine must perform a performance-affecting context switch to the PL/SQL engine. Moving the code inside the SQL statement means that that context switch no longer occurs.
Package created. SQL> SELECT pkg.year_number FROM employees 2 3 WHERE employee_id = 138 /
57
SELECT pkg.year_number FROM employees ERROR at line 1: ORA-06553: PLS-221: 'YEAR_NUMBER' is not a procedure or is undefined
10 11 12 /
END; END;
Package body created. SQL> SELECT pkg.year_number 2 3 4 / FROM employees WHERE employee_id = 138
The classic workaround to this limitation has been to define a function in the package and then call the function:
SQL> CREATE OR REPLACE PACKAGE pkg 2 3 4 5 END; IS FUNCTION year_number RETURN INTEGER;
2 3 4 5 6 7 8 9
IS c_year_number CONSTANT INTEGER := 2013; FUNCTION year_number RETURN INTEGER IS BEGIN RETURN c_year_number; YEAR_NUMBER 2013
c.
CREATE OR REPLACE PACKAGE plch_constants IS active CONSTANT VARCHAR2 (6) := ACTIVE ; closed CONSTANT VARCHAR2 (6) := CLOSED ; END; / WITH FUNCTION active RETURN VARCHAR2 IS BEGIN RETURN plch_constants.active; END; SELECT account_name FROM plch_accounts WHERE account_status = active
b.
CREATE OR REPLACE PACKAGE plch_constants IS FUNCTION active RETURN VARCHAR2; FUNCTION closed
58
PL/SQL
Thats a lot of code and effort simply to be able to reference the constants value in a SQL statement. And, with Oracle Database 12c, it is no longer necessary. I can, instead, simply create a function in the WITH clause:
WITH FUNCTION year_number RETURN INTEGER IS BEGIN RETURN pkg.year_number; END; SELECT year_number FROM employees WHERE employee_id = 138
Lets take a look at an example. First I create my public package specification, which is intended for use by other developers to build the application.
CREATE OR REPLACE PACKAGE public_pkg IS PROCEDURE do_only_this; END; /
BEGIN
Next, I create the specification of my private package. The package is private in the sense that I want to make sure that it can be invoked only from within the public package (public_pkg). So I add the ACCESSIBLE_BY clause:
CREATE OR REPLACE PACKAGE private_pkg ACCESSIBLE BY (public_pkg) IS PROCEDURE do_this; PROCEDURE do_that; END; /
You will also find in-SQL PL/SQL functions to be handy in standby read-only databases. Although you will not be able to create helper PL/SQL functions in such a database, you will be able to define that function directly inside the query. This WITH FUNCTION feature is a very useful enhancement to the SQL language. You should, however, ask yourself this question each time you contemplate using it: Do I need this same functionality in multiple places in my application? If you do need it, you should decide if the performance improvement of using WITH FUNCTION outweighs the potential downside of copying and pasting this logic into multiple SQL statements. Whitelists and the ACCESSIBLE BY Clause Most PL/SQL-based applications are made up of many packages, some of which are the top level API to be used by programmers to implement user requirements and others of which are helper packages that are to be used only by certain other packages. Before Oracle Database 12c, PL/SQL could not prevent a session from using any and all subprograms in packages to which that sessions schema had been granted EXECUTE authority. As of Oracle Database 12c, in contrast, all PL/SQL program units have an optional ACCESSIBLE BY clause that enables you to specify a whitelist of other PL/SQL units that can access the PL/SQL unit you are creating or altering.
I can now run the public packages procedure without any problem:
BEGIN public_pkg.do_only_this; END; / THIS THAT
Now its time to implement the package bodies. The public_pkg.do_only_this procedure calls the private_pkg subprograms:
CREATE OR REPLACE PACKAGE BODY public_pkg IS PROCEDURE do_only_this IS BEGIN private_pkg.do_this; private_pkg.do_that; END; END; / CREATE OR REPLACE PACKAGE BODY private_pkg IS PROCEDURE do_this IS BEGIN DBMS_OUTPUT.put_line ('THIS'); END; PROCEDURE do_that IS
But if I try to call a subprogram in the private package in an anonymous block, I see this error:
BEGIN private_pkg.do_this; END; / ERROR at line 2: ORA-06550: line 2, column 1: PLS-00904: insufficient privilege to access object PRIVATE_PKG ORA-06550: line 2, column 1: PL/SQL: Statement ignored
And the same error occurs if I try to compile a program unit that tries to call a subprogram in the private package:
SQL> CREATE OR REPLACE PROCEDURE use_private 2 3 4 5 6 / IS BEGIN private_pkg.do_this; END;
59
Warning: Procedure created with compilation errors. SQL> SHOW ERRORS Errors for PROCEDURE USE_PRIVATE: LINE/COL ERROR 4/4 4/4 PL/SQL: Statement ignored PLS-00904: insufficient privilege to access object PRIVATE_PKG
As the PLS error indicates, this issue is caught at compilation time. There is no runtime performance hit for using this feature. Grant Roles to Program Units Before Oracle Database 12c, a definers rights program unit (defined with the AUTHID DEFINER or no AUTHID clause) always executed with the privileges of the definer of that unit. An invokers rights program unit (defined with the AUTHID CURRENT_USER clause) always executed with the privileges of the invoker of that unit. A consequence of these two distinct AUTHID settings is that program units that need to be executed by all users would have to be created as definers rights units. The program units would then execute with all the privileges of the definer, which might not be optimal from a security standpoint. As of Oracle Database 12c, you can grant roles to PL/SQL packages and schema-level procedures and functions. Role-based privileges for program units enable developers to fine-tune the privileges available to the invoker of a program unit. You can now define a program unit as having invokers rights and then complement the invokers privileges with specific, limited privileges granted through the role. Lets walk through an example that shows how to grant roles to program units and the impact it has. Suppose that the HR schema contains the departments and employees tables, defined and populated with data as follows:
CREATE TABLE departments (
INSERT INTO departments VALUES (10, 'IT', 'Y'); INSERT INTO departments VALUES (20, 'HR', 'N'); COMMIT; END; /
And suppose that the SCOTT schema contains only an employees table, defined and populated with data as follows:
CREATE TABLE employees ( employee_id department_id last_name ) / BEGIN DELETE FROM employees; INSERT INTO employees VALUES (100, 10, 'Price'); INSERT INTO employees VALUES (104, 20, 'Lakshmi'); INSERT INTO employees VALUES (105, 20, 'Silva'); INSERT INTO employees VALUES (106, 20, 'Ling'); COMMIT; END; / INTEGER, INTEGER, VARCHAR2 (100)
CREATE TABLE employees ( employee_id department_id last_name ) / BEGIN DELETE FROM employees; INSERT INTO employees VALUES (100, 10, 'Price'); INSERT INTO employees VALUES (101, 20, 'Sam'); INSERT INTO employees VALUES (102, 20, 'Joseph'); INTEGER, INTEGER, VARCHAR2 (100)
60
PL/SQL
HR also contains a procedure that removes all employees from the specified department as long as the department does not have its staff frozen. I will first create this procedure as a definers rights unit, as shown in Listing 2. And SCOTT can execute this procedure:
GRANT EXECUTE ON remove_emps_in_dept TO SCOTT /
1. From a schema with the necessary privileges, create a role and grant it to HR:
CREATE ROLE hr_departments / GRANT hr_departments TO hr /
or function executes with the privileges of both its own roles and any other currently enabled roles. This feature will be of most use with invoker rights program units. You will likely consider granting roles to a definers rights unit when that unit executes dynamic SQL, because the privileges for that dynamic statement are checked at runtime. Up Next: PL/SQL Enhancements for Executing SQL Oracle Database 12c offers significant improvements in flexibility and functionality when it comes to defining and executing program units. Oracle Database 12c features enable PL/SQL developers to use invoker rights with the function result cache, define and execute PL/SQL subprograms in SQL statements, restrict access to program units by way of a whitelist, and grant roles to program units. Oracle Database 12c also enhances SQL execution in PL/SQL program units in a variety of ways, which I will cover in the next issue of Oracle Magazine.
2. Connected to HR, grant the desired privilege to the role and then grant the role to the procedure:
GRANT SELECT ON departments TO hr_departments / GRANT hr_departments TO PROCEDURE remove_emps_in_dept /
When SCOTT executes the procedure as shown below, it will remove three rowsbut from HRs employees table, because the procedure is a definers rights unit.
BEGIN HR.remove_emps_in_dept (20); END; /
I need to change this procedure so that it will remove rows from SCOTTs employees table, not HRs. That is precisely what invokers rights do. But if I change the AUTHID clause of this procedure to
AUTHID CURRENT_USER
And now when I execute the following statements from SCOTT, the rows are removed from the SCOTT.employees table:
SELECT COUNT (*) FROM employees WHERE department_id = 20 / COUNT(*) 3 BEGIN hr.remove_emps_in_dept (20); END; / SELECT COUNT (*)
Steven Feuerstein
(steven.feuerstein@ software.dell.com) is Dells PL/SQL evangelist. He is an Oracle ACE Director, widely read author, and creator of the PL/SQL Challenge, a quiz site for Oracle technologists. More information is available at plsqlchallenge.com.
Next Steps
DOWNLOAD Oracle Database 12c bit.ly/fherki TEST your PL/SQL knowledge plsqlchallenge.com READ PL/SQL 101, parts 112 bit.ly/omagplsql READ more about Oracle Database 12c oracle.com/database PL/SQL oracle.com/technetwork/database/ features/plsql
The problem is that Oracle Database is now using the privileges of SCOTT to resolve the references to two tables: HR.departments and SCOTT.employees. SCOTT has no privileges on HRs departments table, however, so Oracle Database raises the ORA-00942 error. Prior to Oracle Database 12c, the DBA would have had to grant the necessary privileges on HR.departments to SCOTT. Now, however, DBAs can take the following steps instead:
COUNT(*) 0
Roles granted to a program unit do not affect compilation. Instead, they affect the privilege checking of SQL statements the unit issues at runtime. Thus, the procedure
61
Our technologist improves default values, handles bigger datatypes, and FETCHes for the first time.
sually I take three or four usersubmitted questions from the past two months and present those questions and answers here in each Ask Tom column. In the next four columns, however, I will take a look at some key Oracle Database 12c features. These features are all part of the 12 Things About Oracle Database 12c presentation I gave at Oracle OpenWorld 2012 in San Francisco. (You can find the slides for that presentation on asktom.oracle.com on the Files tab). The first three Oracle Database 12c features Ill take a look at are Improved defaults Bigger datatypes Top-n queries
In addition to using a reference to a sequence to create a default column value, you can alternatively use an IDENTITY type, which will generate a sequence and associate that sequence with the table. For example, this CREATE TABLE statement
SQL> create table t
Table created. SQL> insert into t (x,y) 2 values ( default, 'hello' ); 1 row created. SQL> insert into t (y) 2 values ( 'world' ); 1 row created. SQL> select * from t; 2 3 4 5 6 7 ) / ( x int generated as identity primary key, y varchar2(30)
Table created.
Improved Defaults The ability to create a default column value has existed in SQL for a while. The functionality has been somewhat limited, however, with various restrictions. For example, you were restricted from using a SEQUENCE object to supply a default value. Additionally, if a default value was to be inserted into or updated in a table, you had to either use the DEFAULT keyword in the SQL statement or leave the column out of the INSERT statement entirely. Furthermore, adding a new column that permits NULL values with a default value was an offline operation. In Oracle Database 12c, however, these restrictions and functionality limitations have been removed. Removed Restriction: Generating a Default Value from a SEQUENCE. In Oracle Database 12c, you can now use the .NEXTVAL attribute of a sequence to create a default column value. For example, this code
I-HUa Chen
X 1 2
Y hello world
will result in the same datas being loaded into table T without your having to explicitly create a sequence (as you did in the CREATE TABLE statement that explicitly called DEFAULT S.NEXTVAL). You can see this sequence if you look at the schema:
SQL> select object_name, object_type 2 3 / OBJECT_TYPE TABLE SEQUENCE INDEX from user_objects
demonstrates that you can create a default column value for the primary key from the sequence valuewithout using a trigger, as you would have in the past. So in Oracle Database 12c, DEFAULT S.NEXTVAL in the CREATE TABLE statement will replace the following procedural code:
SQL> create trigger t 2 3 4 5 6 7 8 9 10 / end; before insert on t for each row begin if (:new.x is null) then :new.x := s.nextval; end if;
But note that if you drop the table and purge it from the recycle bin, the sequence will be removed as well:
SQL> drop table t purge; Table dropped. SQL> select object_name, object_type 2 from user_objects
Trigger created.
62
Ask tom
no rows selected
Because identity is using a sequence under the covers, you can also control all the settings of the underlying sequence. For example, this CREATE TABLE statement
SQL> create table t 2 3 4 5 6 7 8 9 10 ) / ( x int generated by default as identity ( start with 42 increment by 1000 ) primary key, y varchar2(30)
keyword or leave the column entirely out of the INSERT statement but also when you set the column value explicitly to NULL. In the past, if a column used a default value, you either had to use the DEFAULT keyword in the INSERT/UPDATE statement or leave the column entirely out of the INSERT/UPDATE statement. That meant that in order to use a default value at certain times and not others, you needed at least two INSERT/UPDATE statements with complicated if/then/else constructs. For example, if column X had a default value and you sometimes wanted to insert an overriding value and sometimes not, you would need code resembling the following:
if (x is_to_be_defaulted) then insert into t (x, ) values ( DEFAULT, ); else insert into t (x, ) values ( :x, ); end if;
SQL> insert into t (y) 2 values ( 'just y' ); 1 row created. SQL> insert into t (y,z) 2 values ( 'y with z set to null', null ); 1 row created. SQL> insert into t (y,z) 2 values ( 'y and z', 100 ); 1 row created. SQL> select * from t; X 1 2 3 Y just y y with z set to null y and z Z 42 42 100
Table created.
shows that you can control the START WITH and INCREMENT BY values. Additionally, by using the GENERATED BY DEFAULT statement instead of just GENERATED, you can override the default identity value. Here I demonstrate this by inserting the value 1 and then two more rows, enabling identity to generate the default values:
SQL> insert into t (x,y) 2 values ( 1, 'override' ); 1 row created. SQL> insert into t (x,y) 2 values ( default, 'hello' ); 1 row created. SQL> insert into t (y) 2 values ( 'world' ); 1 row created. SQL> select * from t; X 1 42 1042 Y override hello world
As you can see, the Z column value is created with the default value 42 in both cases now. Also, the declaration for Z had the effect of defining it as NOT NULL, even though I did not explicitly state that:
SQL> select column_name, nullable 2 3 4 5 from user_tab_columns where table_name = 'T' order by column_id / N N Y N
Now, that might be OK if you sometimes had to create a default value for one column, but what if you have two or three or more columns? Think of how many combinations of INSERTs or UPDATEs you would need with complex if/then/else blocks to support that. In Oracle Database 12c, you can now create a default column value when you explicitly put a NULL value into that column. Heres an example:
SQL> create table t 2 3 4 5 6 7 8 ) / ( x number generated as identity primary key, y varchar2(30), z number default ON NULL 42
COLUMN_NAME X Y Z
Table created.
Improved Functionality: Create a Default Value for a NULL Column. In Oracle Database 12c, you can now create a default column value not only when you use the DEFAULT
By using z number default ON NULL 42, Ive specified that column Z will receive the default value not only when I explicitly set it to DEFAULT or leave it out of the INSERT statement but also when I explicitly insert NULL into it, as in
More Online Operations: Better Column Addition. In Oracle Database 11 g you were able to perform a fast add of a column to a table if it had a default value and was defined as NOT NULL. (Arup Nanda has written about this at bit.ly/16tQNCh). However, if you attempted to add a column with a default value and that column permitted null values, the ADD COLUMN operation could take a significant amount of time, generate a large amount of undo and redo, and lock the entire table for the duration of the operation. In Oracle Database 12c, that time, volume, and locking are no longer part of the process.
63
To demonstrate this, I copy ALL_OBJECTS into a table and measure its spacein blocks and bytesusing the show_space utility, posted on asktom.oracle.com:
SQL> create table t 2 3 4 as select * from all_objects;
OFFSET
o set
ROW ROWS
rowcount FIRST NEXT percent PERCENT ROW ROWS ONLY WITH TIES
FETCH
Table created. SQL> exec show_space('T') Full Blocks .... 1,437 1,536 12,582,912 12 SQL> exec show_space('T') Full Blocks .... 1,437 1,536 12,582,912 12 LENGTH(X) 32000 SQL> select length(x) from t; Total Blocks........... Total Bytes............ Total MBytes........... PL/SQL procedure successfully completed. PL/SQL procedure successfully completed. SQL> insert into t values ( rpad('*',32000,'*') ); 1 row created. Total Blocks........... Total Bytes............ Total MBytes...........
Now I add a column to table T, and this column will have a large default value. Because the column Im adding is a CHAR(2000), it will always consume the full 2,000 bytes, given that the CHAR type is always blank-padded and fixed-width. Table T has more than 87,000 records, so adding a column would typically take a significant amount of time, but as you can see, the addition is practically instantaneous in Oracle Database 12c:
SQL> set timing on SQL> alter table t add (data char(2000) default 'x'); Table altered. Elapsed: 00:00:00.07
I see that the table did not grow at all. However, running the same test in Oracle Database 11 g shows that the table will grow from about 9 MB to 192 MB. Additionally, in Oracle Database 11 g, almost every row in the table was a migrated row, because the row grew by orders of magnitude. That table probably would be due for a reorganization in the prior releases but not in Oracle Database 12c. Bigger Datatypes Oracle8 Database provided a big increase in the size of VARCHAR typesfrom 255 bytes (in Oracle7) to 4,000 bytes. Now the Oracle Database 12c release increases the size from 4,000 bytes to 32 K, bringing the SQL VARCHAR2, NVARCHAR2, and RAW datatypes in line with their PL/SQL counterparts. By default, this new capability is not enabled and would have to be enabled by the DBAs setting the new MAX_STRING_ SIZE init.ora parameter to EXTENDED. Once thats done, youll be able to issue statements such as
SQL> create table t ( x varchar(32767) );
In the past, RPAD and other string builtin functions would have been able to return only 4,000 bytes, but now they can return up to 32 K for a VARCHAR2 return type. Under the covers, Oracle Database 12c is using a large object (LOB) to store these larger strings and raw types. If the inserted string is up to 4,000 bytes, the database will store the data in the table database block just as it does with a legacy VARCHAR2 type; if the string exceeds 4,000 bytes, however, the database will transparently store it out of line in a LOB segment and index. Top-N Queries and Pagination Out of the many thousands of questions on Ask Tom (asktom.oracle.com), a couple of the most popular are, How do I get rows N through M of a result set (how to paginate through a result set) and How do I get the first N records of a result set. In fact, Ive written more than one article in Oracle Magazine over the years to address these questions (On Top-n and Pagination Queries [bit.ly/Z6nxLL] and On ROWNUM and Limiting Results [bit.ly/16jAvdf]). These articles demonstrated how to accomplish these feats, but the methods demonstrated are cumbersome, nonintuitive, and not necessarily portable.
I perform the identical operation in Oracle Database 11 g and observe the following timing:
SQL> set timing on SQL> alter table t add (data char(2000) default 'x'); Table altered. Elapsed: 00:00:28.59
Clearly, thats a significant difference in runtimes. Plus, when I look at the size of the table with the additional column in Oracle Database 12c
Table created.
and then use string functions such as RPAD, LPAD, and TRIM :
64
Ask tom
only need to add a FETCH FIRST N ROWS to the SQL query, as shown in Listing 1. As you can tell by the predicate information in Listing 1, the row limiting clause is using ROW_NUMBER() transparently under the covers, rewriting the query to use analytics. The row limiting clause, in short, is making it much easier to do something you would have done manually in the past. To paginate through a result setto get N rows at a time from a specific page in the result setI add the OFFSET clause. In Listing 2, I skip the first five rows and get the next five rows from a result set. As you can see in Listing 2, the database, under the covers, is rewriting the query to use inline views and analytics once again automating something that was previously nonintuitive and complex. Note that in real life, you would use bind variables instead of hard-coded literals, so instead of using the number 5 as I did, you would have bound in the number 5.
Next Steps
ASK Tom Tom Kyte answers your most difficult technology questions. Highlights from that forum appear in this column. asktom.oracle.com FOLLOW Tom on Twitter @OracleAskTom READ more Tom bit.ly/omagasktom DOWNLOAD Oracle Database 12c bit.ly/epBiUG LEARN more about Oracle Database 12c oracle.com/database FOLLOW Oracle Database on Twitter @oracledatabase on Facebook facebook.com/oracledatabase
Oracle Database 12c includes support for the ANSI-standard FETCH FIRST/NEXT and OFFSET clausestogether called the row limiting clause. This clause enables you to easily retrieve the first N records from a result set or, alternatively, the first N records after skipping over a set of records, so you can easily paginate through a result set. The diagram in Figure 1 shows the syntax for the row limiting clause. The row limiting clause is simply added to the end of any SQL SELECT statement to fetch a specific set of recordsthere is no need for multiple layers of inline views and WHERE clauses that have to be carefully
positioned, as there was with ROWNUM and ROW_NUMBER(). For example, if I have a table T
SQL> create table t 2 3 as select * from all_objects;
and I want to retrieve the first five rows after sorting by OWNER and OBJECT_NAME, I
65
Time to Upgrade
racle Database 12c, the muchanticipated new release of Oracle Database, is now available, and it comes with the first major database structure change since Oracle8i Database. There are so many new features for consolidating, managing, and securing database environments that everyone must be planning the upgrades already, right? How do I know? Members of the Independent Oracle Users Group (IOUG) were involved in beta testing upgrades to Oracle Database 12c. Armed with earlier releases of Oracle Database, several of our members went to Oracles Redwood Shores, California, headquarters to test upgrades for their environments. Oracle Database 12c features were tested, including the new Oracle Multitenant option. Based on the results, I am already planning to upgrade to Oracle Database 12c. The cost and work involved in a database upgrade are always a major consideration, but Oracle Database 12c includes features that can save time and cut costs. Here are some Oracle Database 12c features that save time and the cost of that time. Any DBA who has had to create a small one-off database instance because of a different maintenance window, application availability, or a security concern can take advantage of the new Oracle multitenant architecture. It allows for separate security and can be composed of one or more schemas and applications while using the multitenant container database for the system resources. One multitenant container database can support several pluggable databases, which makes it easier to manage and consolidate many databases. I immediately thought of security-patching critical patch updates and patch set updates, and for those of us used to creating a new ORACLE_HOME and migrating the
Members of the Independent Oracle Users Group (IOUG) were involved in beta testing upgrades to Oracle Database 12c.
whole database instance over, this is almost the same concept. A new multitenant container database can be created and patched, and then each of the pluggable databases can be migrated over with a simple unplug and plug into the new container. This is probably not exactly what Oracle was thinking when developing the concept for consolidating databases, but if patching and maintenance windows are an issue in your environment and are the reason you have several instances created on a server, the multitenant container database and pluggable databases lay the foundation for an excellent business case to upgrade to Oracle Database 12c. Also, think about the manageability aspect of maintaining one container database instead of several small instances. Security is another reason to start planning an Oracle Database 12c upgrade. Oracle Database 12c is packed with several new and enhanced security features. A great new security feature is privilege analysis, which allows DBAs to get to the bottom of what permissions are really needed and used. How much time is that going to save in audit reports and managing the security for least privilege? Redaction is another security feature that is easy to implement and probably will save a lot of time previously spent having to mask data in different environments or code solutions to hide private data and information.
Setting up a comprehensive redaction policy for users, applications, and environments can further protect sensitive data. Hopefully you can start to see valuable reasons to think about upgrading to Oracle Database 12c. It is always difficult to balance the cost of moving to a new release with the potential savings in resources, management, and efficiencies of processes. Looking at environments that can be consolidated and secured to simplify auditing is a good place to start. IOUG is here to help back you up, too. With members of the IOUG community already understanding the details about new Oracle Database 12c features and having had the opportunity to experience the upgrade process, you have a resource to help make this planning less challenging. Be on the lookout for articles and webinars from IOUG at its website (ioug.org).
Michelle Malcher (michelle_malcher@ioug .org) is president of IOUG. She is an Oracle ACE Director with more than 15 years of experience in database development, security, design, and administration. Malcher is the author of Oracle Database Administration for Microsoft SQL Server DBAs (Oracle Press, 2010) and a coauthor of Oracle Database 11g: A Beginners Guide (Oracle Press, 2008). She has written articles for IOUGs SELECT Journal and given many presentations on database topics to Oracle user group communities. Next Steps
JOIN IOUG ioug.org LEARN more about Oracle Database 12c oracle.com/database READ more Malcher Oracle Database Administration for Microsoft SQL Server DBAs amzn.to/18lhS9V
66
Organizations look for multitenancy and management simplicity as they ramp up database-as-a-service deployments.
racle Magazine spoke with Carl Olofson, research vice president of application development and deployment at International Data Corporation (IDC), about the latest innovations in database management technology. Oracle Magazine: What are the key capabilities organizations look for in an enterprise database? Olofson: Availability, scalability, manageability, and performance are always important, but what really differentiates todays database products is simplicity of management. Any features that make it easier for database administrators to do their jobs in less time with less complexity are extremely important. Todays data centers often host hundreds of applications, each with a database and storage array, so you want to reduce the number of systems and the amount of storage you have to manage. Every routine task is an opportunity to make a mistake. Automation and simplicity are essential. Oracle Magazine: How are software vendors reducing complexity for database operations? Olofson: One way is with cloud computing environments. These environments have three salient characteristics: elastic scalability, which lets you expand and contract databases at will; virtualization, so that you can move resources around in a fairly transparent way, such as from one server to another; and multitenancy, in which database servers can dynamically host multiple virtual database instances. Private clouds let you manage your data center to obtain much higher utilization rates than you would with a traditional data center environment, where every database generally has its own server and storage envi-
Thats the essence of the DBaaS concept. You pay for what you use.
ronment. In those traditional cases, you have to allocate server resources to handle peak performance over the life of those servers, typically three to five years. If you have the flexibility to move computers and databases around so that you can pack them together or break them apart as needed, you can achieve utilization rates of 80 or 90 percent throughout the depreciation cycle. You get much more value for your hardware when you use this kind of cloud capability. Oracle Magazine: How is multitenancy addressed at the database level? Olofson: It isnt very effective to combine multiple databases at the operating system level. The hypervisor doesnt know what the database is doing and the database doesnt know that its sharing resources with other databases or other processes, which leads to resource collisions. It is very tricky to obtain decent performance on a consistent basis. If the database is aware of the fact that its in an environment with other databases, then it can streamline the internal allocation of resources, including the way it handles database connections, the way storage is provisioned, and so forth. Oracle Magazine: What is the state of database as a service [DBaaS], and how is this market evolving? Olofson: Were starting to see some DBaaS offerings on the public cloud. DBaaS is also useful for private clouds because most com-
panies already have chargeback models for the resources that they offer to their users. This gives them a fairly straightforward way to associate database usage with the actual cost to the enterprise. They can offer fair provisions based on the actual resources consumed, whether its installed on big servers or small ones. Thats the essence of the DBaaS concept. You pay for what you use. Oracle Magazine: How is the information explosion affecting database design, deployment, and performance? Olofson: Many data warehouses are growing rapidly because we are putting more data into them than ever, and often bringing it in from other sources. You need a database that can support those characteristicsthat can grow and shrink easily. In addition, since intensive query activities are usually focused on new data, its useful to have a database that automatically keeps frequently accessed data in memoryor in some nearline storage like flashand less frequently accessed data on disk.
David Baum (david@dbaumcomm.com) is a freelance business writer based in Santa Barbara, California.
IDC (idc.com) is a global provider of market intelligence, advisory services, and events for the information technology, telecommunications, and consumer technology markets.
Next Steps
READ more about Oracle Database 12c oracle.com/us/products/database/overview DOWNLOAD Oracle Database 12c bit.ly/13sSL1n
Join the Lawrence Hall of Science in inspiring and preparing kids from all backgrounds to do science.
lawrencehallofscience.org/brilliant
68
Time Capsule
BY RICH SCHWERIN
1899-1930
The Lipton Era
Sir Thomas Lipton, the Irish/Scottish tea baron, challenges five times for the Americas Cup between 1899 and 1930. While Lipton doesnt win the Cup, he becomes one of the first to introduce the idea of sports sponsorship. Tea, anyone?
1982
2010
1983
Southern Cross
Off the wind on this heading / Lie the Marquesas / We got eighty feet of the waterline / Nicely making way. Stephen Stills, Crosby, Stills & Nash, from the song Southern Cross on the album Daylight Again (Atlantic). The Americas Cup would also soon be sailing south.
Australia II
After 132 years and 26 challenges, the New York Yacht Club loses the Americas Cup, as Australia II, sporting a boxing kangaroo flag and a winged keel, wins.
YOUR TURN
Not a sports fan? No problem. Maybe youre more of a digital games type. If so, what was the earliest computer game you played? Any Pong veterans? Or maybe you dropped a lot of quarters on Pac-Man down at the local arcade? Visit Facebook/ OracleMagazine and let us know. bit.ly/orclmagfb
COURTESY OF THE PEABODY COLLECTION; LIBRARY OF CONGRESS; ORACLE TEAM USA / PHOTO: GUILAIN GRENIER; HARTMANN STUDIOS
2013
Oracle Cloud
Applications, Platform, Infrastructure
Oracle Cloud Oracle Managed Private Cloud
and
Run some of your applications in the Oracle Cloud and others in your Private Cloud. You Choose.
Copyright 2012, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates.