NOVEMBER/DECEMBER 2011
Application-Driven Virtualization Oracle VM 3.0 delivers virtualization performance and management /25 Strategic Storage Oracle storage solutions deliver optimized performance for all types of I/O /27 Put on a Friendly Face Build a custom look and feel for your Oracle ADF Faces applications /53 On Collaboration, Testing, When, and Why Our technologist learns from you, is tested on testing, and propagates errors /63 Modeling and Accessing Relational Data Part 2 in a series on the basics of the relational database and SQL /71
MANAGING THE VIRTUAL WORLD Oracle VM 3.0 consolidates servers and makes applications more available, reliable, and manageable
Flying High in the Database Cloud
Sabre consolidates applications on a shared IT platform based on Oracle Database 11g and Oracle Real Application Clusters
Oracle Magazine at 25
See where it’s been and where it’s going
Trusted Trusted Future Future Protection Protection
Fujitsu's Fujitsu's SPARC SPARC ENTERPRISE ENTERPRISE delivers delivers Trust Trust andand Business Business Continuity Continuity Fujitsu Fujitsu and Oracle and Oracle together together are creating are creating UNIXUNIX history history through through progressive progressive delivery delivery of of server server solutions solutions with with SPARC SPARC ENTERPRISE. ENTERPRISE. Our customer Our customer commitment commitment is reflected is reflected in in overwhelming overwhelming performance performance and excellent and excellent reliability reliability that that will protect, will protect, grow,grow, and expand, and expand, the unique the unique valuevalue of your of your business business assets. assets. Please Please visit visit : www.fujitsu.com/oracle/ : www.fujitsu.com/oracle/ 2011 Fujitsu 2011 Fujitsu Limited. Limited. All rights All reserved. rights reserved. Fujitsu,Fujitsu, the Fujitsu the Fujitsu logo and logo SPARC and SPARC Enterprise Enterprise are registered are registered trademarks trademarks or trademarks or trademarks of of FujitsuFujitsu LimitedLimited in the United in the United States and States other andcountries. other countries. UNIX isUNIX a registered is a registered trademark trademark of openofgroup open in group the United in the United States and States and other countries. other countries. Oracle Oracle and Java and are Java registered are registered trademarks trademarks of Oracle of Oracle and/or and/or its affiliates. its affiliates. All SPARC All SPARC trademarks trademarks are used areunder used under licenselicense and areand registered are registered trademarks trademarks of SPARC of SPARC International. International. Inc. in the Inc. United in the United States and States other andcountries. other countries.
2
FEATURED CONTENT VOLUME XXV - ISSUE 6
CONTENTS
MANAGING THE VIRTUAL WORLD /36
In an era of tight IT budgets, complex multitier computing infrastructures, and dynamic business and user needs, server consolidation is the killer app for virtualization. But IT organizations are also looking to virtualization to make business applications more available, reliable, and manageable. Find out how Pella Corporation and Lawrence Livermore National Laboratories are reaping the benefits of virtualization solutions based on Oracle VM. —By Philip J. Gill
Cover: Jaime Ferrand
Flying High with a Private Database Cloud / 42 Sabre Holdings has always been an innovator. It built the first airline passenger reservation system in 1960, and is now embracing private database cloud technology as the world’s largest software-as-aservice provider to the airline industry. Read how Sabre relies on Oracle Database 11g, Oracle Real Application Clusters, Oracle Enterprise Manager, and other Oracle technologies to support more than 100 projects and 700 users—while saving time and money—on its private cloud. —By David Baum
NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE
Oracle Magazine at 25 / 47 Oracle Magazine has been published for 25 years. See how far it’s come . . . and where it’s going. Plus, get a look at the people behind Oracle Magazine. —By Tom Haunert
Stay sharp and get ahead of the competition with Safari Books Online
Use your QR code reader to see our video and to access information for a group trial or visit safaribooksonline.com/freeoracletrial Work smarter and faster in today’s mobile work environment—take thousands of the most current & critical technology resources with you wherever you go.
SEARCH LESS. DEVELOP MORE. With the intelligent library in the cloud.
4
DEPARTMENTS VOLUME XXV - ISSUE 6
Up Front / 6
Community / 30
Technology / 51
Comment / 76
FROM OUR READERS / 6
PARTNER NEWS / 30 BOOK BEAT / 30 ARCHITECT / 33
BUSINESS INTELLIGENCE / 51
IN THE FIELD / 76
Readers tell us what they think.
FROM THE EDITOR / 8 Virtual and Physical
—Tom Haunert
MASHUP / 10 News, views, trends, and tools
Out of the Tower, into the Trenches
Overcoming resentment toward architects and architecture —Bob Rhubart
UP CLOSE / 34
New Territory
A user group founder teaches the value of peer-to-peer learning in India. —Jeff Erickson
PEER-TO-PEER / 35
At Oracle / 13 EVENTS / 13 Find out about upcoming technology and industry events.
Learn As You Go
Ricardo Portilho Proni, Lisa Dobson, Zhang Leyi —Blair Campbell
RESOURCES / 15
Automating Oracle Business Intelligence Administration
Use the Oracle BI Systems Management API to automate administrative tasks. —Mark Rittman
ORACLE ADF / 53 Put on a Friendly Face Build a custom look and feel for your Oracle ADF Faces applications. —Frank Nimphius
PL/SQL 101 / 59
Working with Numbers in PL/SQL
Part 4 in a series of articles on understanding and using PL/SQL —Steven Feuerstein
ASK TOM / 63
On Collaboration, Testing, When, and Why
Your guide to Oracle Webcasts, podcasts, white papers, and more
Our technologist learns from you, is tested on testing, and propagates errors. —Tom Kyte
BRIEFS / 18
INSIDE OCP / 69 Certify Your Expertise
The latest product news
NEWS / 22 Simple. Reliable. Affordable. Oracle unveils Oracle Database Appliance. —Fred Sandsmark
NEWS / 25 Application-Driven Virtualization Oracle VM 3.0 delivers virtualization performance and management, from hardware to applications. —Fred Sandsmark
INTERVIEW / 27 Strategic Storage
Oracle storage solutions deliver optimized performance for all types of I/O. —Tom Haunert
NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE
Test your Oracle WebLogic Server mettle, and gain valuable credibility. —TJ Palazzolo
SQL 101 / 71 Modeling and Accessing Relational Data Part 2 in a series on the basics of the relational database and SQL —Melanie Caffrey
Oracle Exadata’s Organizational Impact
With Oracle Exadata, consolidation isn’t just for information and applications. —Andy Flower
5
Editorial Editor in Chief Tom Haunert
[email protected] Senior Managing Editor Caroline Kvitka
[email protected] Contributing Editor and Writer Blair Campbell Editor in Chief, Oracle Technology Network Justin Kestelyn
[email protected] Technology Advisor Tom Kyte Contributors Marta Bright, Jeff Erickson, Fred Sandsmark, Rich Schwerin, Leslie Steere DESIGN Senior Creative Director Francisco G Delgadillo Design Director Richard Merchán Contributing Designer Jaime Ferrand Production Designer Sheila Brennan 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 subscription card found in each issue or online 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.
United States Postal Service Statement of Ownership, Management, and Circulation. Oracle Magazine, ISSN 1065-3171, is published bimonthly (six issues each year) with a free subscription price by Oracle Corporation. The office of publication and the general business office are located at 500 Oracle Parkway, Redwood City, CA 94065. The publisher is Jeffrey Spicer; the Editor is Thomas Haunert; the Managing Editor is Caroline Kvitka; and the owner is Oracle Corporation, all at the above address. Known stockholders owning or holding 1 percent or more of the total amount of stock is Lawrence J. Ellison at the above address. There are no known Bondholders, Mortgagees, or Other Security Holders Owning or Holding 1 Percent or More of Total Amount of Bonds, Mortgages, or Other Securities. The Issue Date for the following data is September/October 2011. Average No. Copies Each Issue During Preceding 12 months: Total Number of Copies (Net press run): 390,448; Paid/Requested Outside-County Mail Subscriptions stated on Form 3541: 203,643; Sales Through Dealers and Carriers, Street Vendors, Counter Sales, and Other Non-USPS Paid Distribution: 146,338; Total Paid and/or Requested Circulation: 349,981; Free Distribution by Mail: 4,168; Free Distribution Outside the Mail: 34,780; Total Free Distribution: 38,948; Total Distribution: 388,929; Copies Not Distributed: 1,519; Total: 390,448; Percent Paid and/or Requested Circulation: 89%. No. Copies of Single Issue Published Nearest to Filing Date: Total Number of Copies (Net press run): 359,071; Paid/Requested Outside-County Mail Subscriptions Stated on Form 3541: 185,419; Sales Through Dealers and Carriers, Street Vendors, Counter Sales, and Other Non-USPS Paid Distribution: 131,016; Total paid and/or Requested Circulation: 316,435; Free Distribution by Mail: 4,126; Free Distribution Outside the Mail: 36,992; Total Free Distribution: 41,118; Total Distribution: 357,553; Copies not Distributed: 1,518; Total: 359,071; Percent Paid and/or Requested Circulation: 88.5%. This Statement of Ownership, Management, and Circulation was filed September 19, 2011, by Karin Kinnear, Senior Manager, Audience Development and Operations.
Publishing Publisher Jeff Spicer
[email protected] Production Director and Associate Publisher Jennifer Hamilton
[email protected] +1.650.506.3794 Senior Manager, Audience Development and Operations Karin Kinnear
[email protected] +1.650.506.1985 Advertising sales Associate Publisher Kyle Walkenhorst
[email protected] +1.323.340.8585 Northwest and Central U.S. Tom Cometa
[email protected] +1.510.339.2403 Southwest U.S. and LAD Shaun Mehr
[email protected] +1.949.923.1660 Northeast U.S. and EMEA/APAC Mark Makinney
[email protected] +1.805.709.4745 Mailing-List Rentals Contact your sales representative. Resources Oracle Products +1.800.367.8674 (U.S./Canada) Oracle Services +1.888.283.0591 Oracle Press Books oraclepressbooks.com Magazine Customer Service
[email protected] Fax +1.847.763.9638 Phone +1.847.763.9635 Privacy Oracle Publishing allows sharing of its mailing list with selected third parties. If you prefer that your mailing address or e-mail address not be included in this program, contact Customer Service at
[email protected]. Copyright © 2011, 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 Oracle’s products remains at the sole discretion of Oracle. Oracle and Java are registered trademarks of Oracle Corporation 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.
Printed by Brown Printing
oracle magazine November/December 2011
6
FROM OUR READERS
Your corrections, your opinions, and your requests: Here’s your forum for telling us what’s right and wrong in each issue of Oracle Magazine, and for letting us know what you want to read.
SPACE SAVER I think it is a waste of valuable space to put static content in a magazine that should be focused on new developments. It would be very useful, therefore, for Oracle Magazine to have a resources section with categories such as “Learning Oracle,” with subsections such as PL/SQL: Beginner, Intermediate, and Advanced. Other sections could be DBA, Security, Storage Solutions, Web Development, and so on. This would give me one place to look for and find learn/training/tutorial resources, and the authors could improve, correct errors, and add to their material without having to worry about what month a certain thing might be published and how much space it might take. Someone interested in learning would have the advantage that all the relevant material would be accessible in one place and not scattered across many Oracle Magazine issues. The magazine could then alert readers to updates or additions that might have recently occurred much like the Resources (“What’s New at Oracle”) section tries to keep us up-todate on Oracle developments. Along these same lines, portions of the Ask Tom column are often online due to space restrictions. Why not put the whole article online and give a brief summary of the topics covered? This approach would also encourage people to use the electronic version. Chris Avery START AT THE BEGINNING I just started to read Oracle Magazine, and “What’s Wrong and What’s Missing” (From the
Editor, September/October 2011), rang some bells for me. There actually is a subject I’d like to get some introductory information on: Oracle Application Express. If you choose to write something about Oracle Application Express, please start at the very beginning since I have no clue (yet) about this technology. Silvio Marghitola A COLLECTOR IN NEED I’ve been a collector and reader of Oracle Magazine since 1992. I began my career as a graduate consultant with Oracle in Ireland. At that stage, Oracle Magazine seemed to be published every four to six months, but around 1995 it moved to being published every two months. Over the past couple of days I have been doing a reorganization of my bookcase. I thought that I had a full collection of Oracle Magazine from 1993 on, but I have a number of missing issues. Perhaps these gaps are due to my good nature of lending them to other people, or maybe I just lost them somewhere. I was wondering if you might be able to help me complete my collection. Brendan Tierney The editors reply: Brendan, you surely are our #1 fan. Unfortunately, we have only a limited supply of back issues dating back to 2010. However, our online archives (bit.ly/pAOQOu) date back to 2006 and our digital archives date back to 2005. If others readers out there would like to help, please see Brendan’s missing issue details at brendantierneydatamining.blogspot.com.
NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE
iPAD PLEAS Is there a way to download Oracle Magazine to my iPad, so I can read it offline? Kevin Kerrigan The editors reply: We now have an iPad edition of Oracle Magazine, which you can download from the Apple App Store. I am an Oracle Magazine subscriber. I keep receiving e-mails to check out the September/ October 2011 issue. This issue was still not available on the iPad as of September 1. Why is that? Is it that difficult to keep the iPad edition in sync with the other ones? Plamen Petrov The editors reply: You caught us—we had some technical difficulties with the September/ October iPad edition, but had published it by mid-September. As far as the e-mails that you are receiving, those are pointing you to the digital—not iPad—edition. We are glad to hear you are reading (or trying to read) our iPad version and we will do better in the future.
SEND MAIL TO THE EDITORS Send your opinions about what you read in Oracle Magazine, and suggestions for possible technical articles, to
[email protected]. Or click the Write the Editors link on our Website, oracle .com/oraclemagazine. You can also follow our @magazineoracle Twitter feed or join us on Facebook at bit.ly/cpY2Z9. Letters may be edited for length and clarity and may be published in any medium. We consider any communications we receive publishable.
Analyze, Illustrate, Fix and Run It
Grasp Legacy PL/SQL Supporting legacy applications, documenting old and unfamiliar code or digging into someone else‘s code - a difficult and time-consuming task. Is there a solution?
Yes, Conquest‘s database tools for Oracle are the solution. WORLD CLASS TOOLS FOR EVERYBODY’S BUDGET
ClearSQL 6 Analyze, Format, Illustrate and Fix PL/SQL Unfamiliar PL/SQL code? Analyze 1000s of PL/SQL scripts with a single click. Create PL/SQL flowcharts, call tree diagrams, CRUD matrices to quickly understand your code. It‘s a unique code review and quality control tool. New in version 6
• • • • •
New Versions Download Your FREE Trial w w w.conquest-us.com
supports PL/SQL in Oracle Forms v6 - v10 command line support with integrated scheduler supports pseudocode for describing algorithms quickly summarizes 1000s of PL/SQL scripts and more...
ClearDB 3 Advanced Oracle DB Documenter Documents 54 Oracle database object types, their statuses and dependencies, the structure, and source code modules. Includes PL/SQL flowcharts, call tree diagrams, code metrics, CRUD matrices and an observation report. New in version 3
• • • • •
compares two sets of documentation compares database with documentation command line support with integrated scheduler extracts database DDL from documentation and more...
Download the full version of ClearDB 2.5 - it‘s FREE!
8
From The Editor
Virtual and Physical Virtualization and database appliances are both winners.
T
he cover feature of the August 15, 2011, issue of InformationWeek, “Virtual Vs. Physical,” posited, “In the battle for data center supremacy, virtualization doesn’t always win. The top challenger: high-end database appliances.” The article sets up virtualization and database appliances as direct competitors, describes the flexibility and economy of virtualization that makes it a winner, and then goes on to discuss the opportunity for database appliances and some winning database appliance offerings. In a little more than a month after this head-to-head challenge article was published, Oracle had announced major virtualization and database appliance releases—different winners for the datacenter.
Next Steps LEARN more about Oracle VM 3.0 oracle.com/virtualization the Oracle Database Appliance oracle.com/us/products/database/ database-appliance READ “Virtual Vs. Physical” bit.ly/r2UMC9
Virtualization 3.0 On August 23, 2011, Oracle announced the release of Oracle VM 3.0, Oracle’s server virtualization and management software solution. Server consolidation has driven the adoption of virtualization in the datacenter, but Oracle VM 3.0 makes virtualization more than a consolidation enabler. With its focus on application-driven virtualization and management features—including Oracle VM Manager 3.0, Oracle VM Templates, and VM Storage Connect—Oracle VM 3.0 simplifies the deployment and management of applications. Oracle VM 3.0 enables automated end-to-end virtual machine provisioning, which streamlines IT processes and helps to reduce costs. Oracle VM 3.0 is engineered for use with Oracle software and hardware and is more scalable than other virtualization offerings. (See “Application-Driven Virtualization,” page 25, for more information.) CONNECT:
November/December 2011 Oracle.com/oraclemagazine
bit.ly/aVgo69
bit.ly/orclmagfb
Enter the Appliance The August 15 InformationWeek article mentioned that Oracle does not refer to any of its current engineered systems as appliances. On September 21, however, Oracle introduced a true appliance: the Oracle Database Appliance. The appliance hardware includes two dual-socket servers, 24 processor cores, 192 GB of main memory, 292 GB of solid-state storage, and 12 TB of disk storage. The appliance software includes Oracle Linux; Oracle Database, Enterprise Edition 11g; Oracle Real Application Clusters; and Appliance Manager, a software feature that provides one-button automation for provisioning, patching, and diagnosing database servers. Simple, reliable, and affordable, the Oracle Database Appliance is an engineered system for consolidating databases and replacing aging database servers for midsize companies and departmental systems. Appliance Manager delivers simple but complete management for the appliance’s hardware and software. Oracle Real Application Clusters, redundant hardware, and a single vendor for appliance support deliver reliability. And payas-you-grow licensing for the Oracle Database Appliance means that you license only the processor cores that you use—from 2 cores to 24. (See “Simple. Reliable. Affordable.” page 22, for more information.) Winners Oracle VM 3.0 and the Oracle Database Appliance are different solutions for different business needs. With these solutions, there’s no battle in the datacenter. Everybody wins. Tom Haunert, Editor in Chief
[email protected] twitter.com/oraclemagazine
linkd.in/orclmag
9 of the 10
Top SaaS Providers Are Powered by Oracle
oracle.com/cloud or call 1.800.ORACLE.1
Copyright © 2011, 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.
MashUp FOOD AND BEVERAGE APPS
10
News. Views. Trends. Tools.
In much of the world, it’s holiday time. These apps help get the party started.
Epicurious Recipes & Shopping List
Mixology
Want to serve eggnog made from scratch? Or offer a specialty cocktail Search 30,000 such as a Sidecar recipes, create shopping lists (and at your next party? These recipes, and check them off as those of nearly you shop), save favorite recipes, and 8,000 other drinks, are in this app. Or share favorites via punch in what you social media. iPad have on hand and version has fullfind out what drinks screen cookbook you can make. Free. layout. Free. digitaloutcrop.com epicurious.com
VintageChart+
Created by Wine Spectator magazine, this app helps you choose the right wine, whether you are shopping or dining out. It also lets you know whether you should open, hold, or dump that bottle lurking in your cupboard or cellar. Free. apps .winespectator.com
OpenTable
When it’s time to dine out rather than celebrate at home, this app helps you reserve a table at more than 15,000 restaurants in the U.S., U.K., and Canada. View menus; refine results by cuisine, price, or time; and map your destination. Free. opentable.com/ mobile
THE KEY TO TABLET
PRODUCTIVITY
Love your iPad but dislike typing on the screen? Belkin’s Keyboard Folio for iPad 2 has a slender built-in keyboard with springy, responsive keys. The keyboard pairs with your iPad using Bluetooth, and the case holds the tablet at a variety of angles for easy viewing. When you’re not typing, the case folds over to protect the iPad. US$99.99. belkin.com
“Every one of us has the capacity for genius. Any one of us could achieve or discuss or express something so extraordinary that it could change the world.” —Gina Amaro Rudan, author of Practical Genius: The Real Smarts You Need to Get Your Passions and Talents Working for You (Touchstone, 2011)
58% of employees born in the 1980s and 1990s—sometimes called Millennials— prefer chat or text messaging to the telephone when getting IT support. 60% say that 10 minutes or less is an acceptable IT support response time, and nearly 75% give their IT departments a positive rating.
Millennials Want to Chat with IT
Source: Bomgar, bomgar.com
SECURITY FAILURES MORE DANGEROUS THAN NATURAL DISASTERS C-level executives, general counsels, and risk managers were asked what sorts of crises would have the biggest negative impact on their companies. They could choose three, so percentages total more than 100. 62% Data breach/security failure 51% Natural disaster (hurricane, earthquake, or tornado) 40% Power outage/blackout/terrorist attack 22% Sexual harassment or other employee-related suit 20% Worker accident/death 13% Compromised research results 13% Epidemic 11% Employee strike/walkout
Major product recall Hazmat leak 2% Drought/water access 7%
4%
Source: Pillsbury Winthrop Shaw Pittman, and Levick Strategic Communications, pillsburylaw.com
NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE
A BACKUP
WITH BACKUP
A personal backup disk is no good if the drive itself fails. Seagate acknowledges this truth by bundling two years of SafetyNet data recovery service with its GoFlex Turbo performance drive. (Disclaimer: you get one data recovery attempt in those two years, and results aren’t guaranteed.) The GoFlex Turbo has a speedy USB 3.0 interface, spins at 7,200 rpm, and comes in 500 GB and 750 GB versions. US$119.99–US$139.99. seagate.com
Oracle Day 2011 Coming to a City Near You!
Register Now for
Oracle Day 2011 1-Day, Free Event Covering: Cloud Computing Optimized Hardware & Software Applications Unlimited Partner Solutions Exadata, Exalogic & More
Register at oracle.com/goto/oracleday2011
Platinum Sponsor
Copyright © 2011, 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.
Events
Technology Events
Conferences and sessions to help you stay on the cutting edge
Oracle Day 2011
October 17–November 30, throughout Europe, the Middle East, and Africa Oracle Day is coming to a range of cities, including Prague, Czech Republic (pictured); Lagos, Nigeria; Istanbul, Turkey; and Casablanca, Morocco. It features C-level, functional, and technology tracks demonstrating how simplicity can make IT a force that drives business innovation. Topics include Oracle’s public and private cloud computing solutions; best practices and case studies on deploying an integrated, engineered technology stack; and Oracle’s integrated and open business applications. Get the complete list of cities and dates at oracle.com/goto/oracleday2011.
Oracle User Groups Southeastern Oracle Users Conference November 3–4, Raleigh/Durham, North Carolina
seouc.com
Quest International Users Group Midwest Conference November 7–9, Rosemont, Illinois
questdirect.org/content/view/ midwestmain Northern California Oracle Users Group 100th Quarterly Conference, held at the Computer History Museum November 9, Mountain View, California
nocoug.org
Western Canada Regional User Group Conference November 9–10, Vancouver, British Columbia, Canada
wcrug.ca
Java User Group Chennai
November 12 and December 10, Chennai, Tamilnadu, India
jugchennai.in
JAX London 2011 October 31–November 2, London, England fjaxlondon.com JAX is a comprehensive Java ecosystems conference that covers Java, enterprise, Web, agile, Android, and cloud computing. The event provides software developers, project managers, and architects with a forum to learn about the latest technology, architecture, and agile methodologies. Tracks include Java Tech and Tools, Big Data and Cloud Day, Java Core Day, Java EE Day, Agile Day, Spring Day, Android Day, and Architecture Day.
HRO Summit Europe 2011 November 2–4, Barcelona, Spain fhrosummits.com/hrosummiteu Learn how to manage global operations and improve the business value of human resources at this three-day summit through keynotes, case studies, workshops, interactive discussions, and a focused exhibition covering HR solutions and technologies. The summit is presented in conjunction with the HR Outsourcing Association (HROA).
Getty Images
EMEA Oracle PartnerNetwork Days Executive Forums: November 2, 8, 17, 22, and 23; Satellite Events: November 8, 9, and 10. In cities across Europe. fbit.ly/pwYSl9
At these one-day regional events, Oracle partners will hear the latest Oracle product and sales strategies, connect directly with Oracle executives, and find new business opportunities with other partners. The program incorporates two types of one-day events: Executive Forums are customized for a partner executive audience, while Satellite Events are tailored for salespeople and consultants.
Java2Days November 3–4, Sofia, Bulgaria fjava2days.com Now in its third year, Java2Days is focused on Java and Java development tools. The conference includes more than 30 technical sessions and offers Java developers the opportunity to connect with the latest technologies, participate in the global Java community, and learn from the best.
Oracle with 20:20 Foresight November 3–4, Perth, Australia fausoug.org.au/2020 More than 300 Oracle practitioners from three independent user organizations (Australian Oracle User Group, Oracle Applications Users Group, and Oracle Development Tools User Group) share their skills and experiences. End users, independent professionals, Oracle employees, and Oracle partners present case
South African Oracle User Group Conference
November 13–15, Sun City, South Africa
saoug.co.za
Northwest Regional Users Group Fall Conference November 15, Portland, Oregon
questdirect.org/events/2418956 OAUG Connection Point—EPM/BI November 15–16, Atlanta, Georgia
connectionpoint.oaug.org/2011/ epmatlanta German Oracle User Group (DOAG) Conference
November 15–17, Nürnberg, Germany
doag.de
Rocky Mountain Oracle Users Group Quarterly Educational Workshop November 18, Denver, Colorado
rmoug.org
Bulgarian Oracle User Group Autumn 2011 Conference November 18–20, Hisarya, Bulgaria
bgoug.org/en/events/details/86.html Sangam11—All India Oracle Users Group December 9–10, Bangalore, India
aioug.org
New York Oracle Users Group Special Winter Meeting December 13, New York, New York
nyoug.org
oracle magazine November/December 2011
13
Events
business outcomes, and how effective datacenter management can improve sustainability, uptime, and recoverability. Other topics at this summit include storage trends and strategic vendor management.
Gartner Application Architecture, Development, and Integration Summit
Buenos Aires, Argentina, hosts RubyConf Argentina 2011, November 8–9.
studies, strategies, and techniques covering Oracle technology and applications.
Insurance and Technology’s 13th Annual Executive Summit November 6–9, Carefree, Arizona finsurancetech.com/summit2011 Learn how top insurance carriers are incorporating trends and technologies—such as mobility and cloud computing—that drive growth, profitability, and compliance.
Cloud Expo November 7–10, Santa Clara, California fcloudcomputingexpo.com Through keynotes, general and breakout sessions, and an expo floor, this event delivers resources, ideas, and examples that can immediately maximize performance, minimize cost, and improve scalability of cloud computing endeavors.
RubyConf Argentina 2011 November 8–9, Buenos Aires, Argentina frubyconfargentina.org This conference focuses on the Ruby programming language and related Web technologies and offers content for both new Ruby developers and long-time Ruby experts.
Oracle’s JD Edwards Update November 10, Rotterdam, Netherlands fbit.ly/pDN3WN Learn about the latest developments in Oracle’s JD Edwards solutions and hear from customers and partners about their experiences. Find out about new products and features announced at Oracle OpenWorld, and network with other JD Edwards users.
AHIP Fall Forum November 14–16, Chicago, Illinois fahip.org/links/fallforum2011 Healthcare and business leaders discuss broad trends shaping the healthcare system, the ways health reform implementation will affect health insurance plans, health IT, and more.
DEVOXX 2011 Java Community Conference November 14–18, Antwerp, Belgium fdevoxx.com This annual European Java conference is organized by the Belgian Java User Group. It features a two-day in-depth Devoxx University program, followed by three days of conference sessions. Demos of Java tools, hands-on labs, birds-of-a-feather sessions, and opportunities for attendees to give quick presentations are also on the agenda.
QCon International Software Development Conference November 14–18, San Francisco, California fqconsf.com This practitioner-driven conference is designed for team leads, architects, and project managers. It includes two tutorial days and three conference days with 18 tracks and more than 80 speakers covering relevant and emerging topics in software development.
Gartner Data Center and IT Operations Summit November 28–29, London, England fbit.ly/ncwiPQ Learn how cloud computing, infrastructure innovation, and virtualization can create positive
November/December 2011 Oracle.com/oraclemagazine
November 29–December 1, Las Vegas, Nevada fbit.ly/qcOQAm Learn from and interact with analysts, peers, and solution leaders on topics including cloud computing; SOA, Web-oriented architecture, and event-driven architecture; application modernization and governance; agile and application lifecycle management; and middleware, B2B, and data integration.
Gartner Data Center Conference December 5–8, Las Vegas, Nevada fbit.ly/pyebYU The 30th anniversary of this gathering of datacenter professionals provides advice and strategic recommendations related to servers, mobility, operating systems, storage, facilities, business continuity, and disaster recovery. Virtualization and cloud computing, Information Technology Infrastructure Library, and fabric computing are also on the agenda.
IANS Pacific Information Security Forum December 6–7, San Francisco, California fbit.ly/rpH5iI This forum for information security professionals is organized in four tracks: Information Protection in a Borderless World; Security 2.0: The Proactive Security Organization; Next Generation Security Operations; and Strategy 2.0: Anticipating Legislation, Mitigating Risk. The event includes keynotes, strategic roundtable discussions, networking events, and information on emerging technologies.
Events locator Oracle Events oracle.com/events Locate User Groups oracle.com/technology/community/user_groups
Getty Images
14
Resources
What’s New at Oracle
The latest videos, podcasts, blogs, and more
VIDEOS Oracle Exadata: Are You Ready? fbit.ly/nyYnRP See how the Oracle Exadata Database Machine solves data storage challenges and brings extreme performance to your enterprise. Single Point of Contact and Support Across the IT Stack fbit.ly/pJQeeI International Data Corporation’s Matt Healey examines why Oracle is uniquely positioned to deliver complete stack support.
Oracle Database 11g outperforms IBM DB2 9.7 in both administrator productivity savings and manageability. High Availability for Business-Critical IT Services Using Oracle’s SPARC Enterprise M-Series Servers fbit.ly/nnnijm Read how Oracle’s SPARC Enterprise M-Series servers can increase revenue opportunities, lower costs, improve flexibility in responding to changing business conditions, and increase ROI.
Texas A&M Researchers Innovate and Engage with Oracle WebCenter fbit.ly/p1bXK4 With Oracle WebCenter, researchers at Texas A&M University spend more time innovating and less time on administration, allowing them to collaborate better and make new discoveries.
A Comparison Between IBM/POWER and Oracle/SPARC Servers: Customer Perspectives bit.ly/qFAH64 Get the results of an IT customer survey comparing strengths and weaknesses, factors affecting TCO, and key differentiators between IBM’s POWER and Oracle’s SPARC servers.
High Availability with Oracle Advanced Monitoring and Resolution fbit.ly/ohk6lA Learn how Oracle Advanced Customer Support Services helps to maximize availability and performance of mission-critical environments with Oracle Advanced Monitoring and Resolution.
Cost of Ownership Analysis: Oracle WebLogic Server Costs versus JBoss Application Server fbit.ly/nabYie Crimson Consulting Group provides research findings from a five-year TCO comparison between Oracle WebLogic Server and JBoss.
Oracle Configuration Manager fbit.ly/ngUMg9 See how Oracle Configuration Manager can enable proactive capabilities of My Oracle Support such as health checks and patch plans. Oracle Sun Blade 6000 Modular System fbit.ly/qQIMup Oracle’s Marc Shelley demonstrates how to configure Oracle’s Sun Blade modular systems.
WHITE PAPERS Database Manageability and Productivity Cost Comparison Study fbit.ly/q5ijpE This study by ORC International reveals how
WEBCASTS Mastering Oracle Business Process Management Suite 11g Webcast Series fbit.ly/qTEclN This seven-part series covers the use, deployment, and best practices for Oracle Business Process Management Suite 11g. Improve Datacenter Efficiency by Refreshing Sun SPARC/Solaris Servers fbit.ly/rkli5t Learn how your company can gain increased performance and computing density, robust security, and higher availability and system utilization by replacing older Sun servers with new M-Series and T-Series SPARC servers from Oracle.
Data Integration Webcast Series fbit.ly/rdXPNm This series on Oracle’s data integration solutions includes data integration for private clouds; Oracle Data Integrator and Oracle GoldenGate; and more. MySQL Essentials Webinar Series fbit.ly/djroSo This series covers installing, developing, deploying, scaling, managing, and securing your MySQL databases and applications. Oracle’s Enterprise Storage Webcast Series foracle.com/goto/storagewebcast Learn how you can improve storage efficiency, cut costs, and simplify data management.
Oracle Direct
For Oracle product information, call the number for your region. Country U.S. and Canada Australia Austria Belgium Brazil China Denmark Finland France Germany Greece Hong Kong India Indonesia Ireland Italy Japan Malaysia Mexico The Netherlands New Zealand Norway Philippines Portugal Singapore South Africa South Korea Spain Sweden Switzerland Taiwan Thailand Turkey U.K.
Phone Number 1.800.367.8674 1800.735.467 0800.29.7626 0800.73280 0800.901.985 800.810.0161 8088.1068 0800.113.573 0800.905.805 0800.1.810.111 00800.353.12020 3002.1246 1600.44.6725 001.800.1.672.253 1850.672253 8008.74720 0120.155.096 1800.80.1837 01800.221.7321 0800.0827 0508.555.215 800.14411 811.5831 800.853.021 1800.6722.531 0800.994.225 080.2194.114 900.952900 020.798798 0800.55.2574 0800.672.253 001800.441.0545 00800.353.90014 0870.5.332200
oracle magazine November/December 2011
15
16
Resources
overHEARD
“Oracle WebCenter has been very effective in reducing the amount of time that I spend tracking administrative details, reporting requirements, and budget, and that’s one of the factors that’s allowed me to double my research volume in the last five years.” —Dr. John L. Junkins, Distinguished Professor of Aerospace Engineering, Texas A&M University, in the Texas A&M Researchers Innovate and Engage with Oracle WebCenter video (bit.ly/p1bXK4)
Oracle Auto Service Request for Sun Systems fbcove.me/z33fjz93 See how you can save time and money while improving system availability with Oracle Auto Service Request for Sun Systems.
The Oracle Support Advantage—Maximizing the Value of Your x86 Infrastructure fbit.ly/nO7aQY Find out how Oracle Premier Support can help you gain control of the unintended cost and complexities of server and virtualization sprawl.
Oracle Upgrade Advisors fbcove.me/3bmba46h See how Oracle Upgrade Advisors help you take maximum advantage of what you need, when you need it, throughout the upgrade lifecycle.
Oracle Solaris and SPARC Server Integration fbit.ly/mTOPKu Hear a discussion of the benefits of Oracle Solaris running on Oracle’s SPARC Enterprise M-Series and T-Series servers.
Oracle’s Sun Blade Systems Webcast Series fbit.ly/qhwkY3 Learn about Oracle’s integrated blades infrastructure solutions that can be deployed, managed, and supported as a single system.
What’s New in InnoDB? fbit.ly/nZU05J Get an update on the InnoDB-specific improvements in MySQL 5.5 and the MySQL 5.6 development milestone release.
Virtualize Your Linux Deployments with Lower Cost fbit.ly/nHPLw2 Oracle virtualization experts discuss the benefits of virtualizing Linux systems using Oracle VM.
Latest Btrfs Updates fbit.ly/pgbK32 Chris Mason, director of software development at Oracle and the principal author of the Btrfs file system, discusses Btrfs developments.
E-BOOK The Next Page in Innovation—Extreme Performance foracle.com/goto/ebook3 This interactive Oracle Exadata e-book contains customer success stories and video interviews, analyst reports on the latest trends in data warehousing and online transaction processing, a 3-D demo, and detailed product information.
PODCASTS Apps-to-Disk Integration with Oracle’s Optimized Solutions fbit.ly/r00xgg Hear about the benefits of Oracle Optimized Solutions for organizations seeking to quickly deploy high-performance solutions.
Author Sten Vesterli on Oracle ADF fbit.ly/oQWDxZ Sten Vesterli discusses his book Oracle ADF Enterprise Application Development—Made Simple (Packt, 2011). Oracle ACE Michael Rosenblum on PL/SQL fbit.ly/r9A5AP Michael Rosenblum, an author of Expert PL/SQL Practices for Oracle Developers and DBAs (Apress, 2011), discusses server-side development.
CALCULATORS Tiered Storage Savings Calculator fbit.ly/n3xl3m Calculate your potential savings with Oracle’s flash, disk, and tape approach.
November/December 2011 Oracle.com/oraclemagazine
Linux Cost Calculator fbit.ly/mX94rf Compare the cost of Oracle Linux to that of Red Hat Enterprise Linux.
Upgrade Program Systems Upgrade foracle.com/hardwarerefresh Discover the advantages of replacing your older hardware with faster, more-efficient equipment and learn about Oracle’s trade-in program.
EDUCATION/TRAINING Navigating in R12.1 Oracle Applications
fbit.ly/oydAks Get started with Oracle E-Business Suite applications with this free Oracle University lesson. Siebel CRM Business Automation— Getting Started
fbit.ly/qUhdyk
Learn how to automate business processes in Oracle’s Siebel Customer Relationship Management (Siebel CRM) applications with this free self-study lesson from Oracle University.
PeopleSoft Human Resources Implementation—Getting Started fbit.ly/p1Uqiw Get the basics on setting up Oracle’s PeopleSoft Human Resources 9.1 with this free Oracle University lesson.
web locator Oracle Blog Center oracle.com/blogs Oracle Consulting oracle.com/consulting Oracle Events and Webcasts oracle.com/events Oracle Podcast Center oracle.com/podcasts Oracle Newsletters oracle.com/newsletters Oracle University oracle.com/education Oracle on Twitter twitter.com/oracle Oracle Support oracle.com/support My Oracle Support myoraclesupport.com My Oracle Support Communities communities.oracle.com
Imagine
PROJECT SOLUTIONS this easy
Imagine a company that actually understands your business challenges. One that knows that selecting and deploying project management software can be mind-boggling. Now imagine a company that exists to make your job easier. That company is LOADSPRING—your —your ideal hosting provider and software problem-solver. We deliver the undeliverable. We solve the unsolvable. And we do it fast...really fast. With LOADSPRING, you’ll get the worldwide software access you demand. Along with incredibly high levels of security, support and yes, confidence. In other words, we’ll make the complex simple. And the hard seem easy. Imagine that. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SOFTWARE
Copyright 2011 LoadSpring is a trademark of LoadSpring Solutions, Inc.
ACCESS
Visit us on Facebook
SECURITY
SUPPORT
www.loadspring.com
18
Product Resources
DEMO MySQL Enterprise Edition
This three-minute demo shows you how MySQL Enterprise Edition reduces the risk, cost, and time required to develop, deploy, and manage business-critical MySQL applications. bit.ly/opHThK
TUTORIALS Setting Up a Multiuser Development Environment (MUDE) Using the Oracle BI 11g Administration Tool This tutorial illustrates how to create and test a multiuser development environment using the Oracle Business Intelligence 11g administration tool. Specifically, it covers how to set up the development environment to support two users. bit.ly/qPhsNR
Oracle Application Express Release 4.1 Series
This eight-part series provides instructions on how to use Oracle Application Express 4.1. Topics include manipulating database objects, using interactive report regions, creating a data load wizard, and more. bit.ly/os3Znh
Implement a Simple Network Design for Oracle VM for x86 This series of five tutorials outlines the steps to implement a simple network infrastructure for your Oracle VM x86 environment. These steps can then be reused to modify the initial network design or to grow your network infrastructure. bit.ly/r31XSQ
DOWNLOADS New Downloads
Oracle Database, Express Edition 11g Release 2 bit.ly/pOX8Nn Oracle Application Express 4.1 bit.ly/p8YHxh Java Platform, Standard Edition 7 bit.ly/pKRnQh
Top Downloads
bit.ly/cazuFb Java Platform, Standard Edition Oracle Database 11g Release 2 Oracle Database, Express Edition 11g Oracle Enterprise Manager 11g Oracle Fusion Middleware 11g
Oracle Exadata Runs Oracle Solaris Oracle Solaris 11 Express is now available on Oracle’s Exadata Database Machine X2-2 and Exadata Database Machine X2-8. Organizations can take advantage of the reliability, scalability, and security of Oracle Solaris to run their online transaction processing, data warehousing, and consolidated workloads on x86-based Oracle Exadata machines. This combination offers organizations continuous uptime with the Oracle Solaris Predictive Self Healing feature to diagnose,
isolate, and recover from hardware and applications faults as well as the ability to analyze, tune, and troubleshoot applications with little or no performance impact using the Oracle Solaris DTrace feature. “Over the past year, we’ve worked very closely with the Oracle Database and Oracle Exadata teams to enhance Oracle Solaris to deliver unmatched performance and availability for Oracle customers’ database workloads,” says Markus Flierl, vice president of Oracle Solaris core engineering. “Coupled with intensive system and patch testing, we offer an Oracle Solaris on Oracle Exadata Database Machine that’s highly robust and ready to deploy out of the box.” bit.ly/nX0CMz bit.ly/pvurvm
Oracle User Productivity Kit Gets a Refresh The latest releases of Oracle User Productivity Kit and Oracle User Productivity Kit Professional are now available to speed the deployment, adoption, and ROI of business applications. Oracle User Productivity Kit 11 and Oracle User Productivity Kit Professional 11 are easy-to-use and comprehensive content development, deployment, and maintenance platforms for increasing productivity and adoption for Oracle, thirdparty, and custom applications projects. With Oracle User Productivity Kit and Oracle User Productivity Kit Professional, teams can create, access, and share content tailored for all phases of the project lifecycle, dramatically reducing deployment and
adoption time to drive IT project success. The new releases of both products enable organizations to condense project timelines, optimize business processes, and promote user acceptance of enterprise applications. “Enterprises are always looking for ways to reduce project timelines and increase acceptance of their enterprise applications to maximize ROI,” says Trish Trolley, senior director of Oracle User Productivity Kit product management. “New features in Oracle User Productivity Kit Professional 11.0 target the challenges traditionally associated with user adoption, helping customers achieve IT project success.” bit.ly/nZ9Wuw
Oracle VM VirtualBox 4.1 Revealed Oracle has unveiled Oracle VM VirtualBox 4.1, the latest release of its open source, cross-platform virtualization software that enables desktop and laptop computers to run multiple guest operating systems simultaneously. This release features a new virtual machine cloning facility, enhanced large-system support, improved remote access, and expanded platform and application support. Oracle VM VirtualBox supports a variety of host operating systems, including Windows, Mac OS X, Oracle Solaris, Oracle Linux, and other popular flavors of Linux.
NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE
“By significantly enhancing the world’s most popular cross-platform virtualization software for the second time within a year, Oracle is clearly demonstrating its commitment to both the desktop virtualization market and the open source community,” says Wim Coekaerts, senior vice president of Linux and virtualization at Oracle. “With the enhancements that have been introduced in Oracle VM VirtualBox 4.1, customers can benefit from significant usability and flexibility improvements.” bit.ly/pGDTC7
BRIEFS
Oracle Modifies User Engagement Platform
Oracle Buys InQuira
Oracle has restructured Oracle WebCenter, its complete, open, and integrated portfolio of portal, Web experience management, and content and social computing technology. Oracle WebCenter’s four components include Oracle WebCenter Sites, Oracle WebCenter Portal, Oracle WebCenter Content, and Oracle WebCenter Connect. Oracle WebCenter Sites is a set of tools that allow business users to quickly create, deploy, target, and measure multichannel online marketing. These tools allow business users to deliver relevant, optimized, and content-rich contextual Web experiences and extend brand engagement and Web presence to mobile and social channels. Oracle WebCenter Portal is a set of portal and composite applications that deliver intuitive, personalized, and contextual user experiences for enterprise applications. A prebuilt library of components can be used to enhance existing enterprise applications and to create new composite applications. Oracle WebCenter Content is a unified
Oracle has acquired InQuira, a provider of knowledge management software that supports Web self-service and agent-assisted service. InQuira’s solutions help customers find more-relevant answers to questions online or from a service agent guided by a scalable knowledge management platform. “The acquisition of InQuira provides Oracle with a complete knowledge management suite, integrated with self-service support, online customer forums, and agent-assisted CRM [customer relationship management],” says Anthony Lye, senior vice president of Oracle CRM. oracle.com/inquira
content management capability that ensures seamless access to the right information in the appropriate business context. This component helps organizations implement a strategic content infrastructure for managing documents, images, and rich media files while delivering contextual integration with enterprise applications. Oracle WebCenter Connect is a set of social tools that accelerates business processes by allowing users to collaborate on activities and connect with internal experts to address business challenges. “Organizations are seeking ways to boost customer loyalty and improve business performance by maximizing engagement with internal and external constituents,” says Andy MacMillan, vice president of product management at Oracle. “The latest evolution of Oracle WebCenter represents the convergence point for all products under Oracle’s Enterprise 2.0 portfolio, making it easier for customers to achieve that goal.” bit.ly/oM4Wns
I-HUA CHEN
Oracle Updates In-Memory Data Grid Oracle has unveiled Oracle Coherence 3.7.1, the latest release of its in-memory data grid. Oracle Coherence provides users with greater flexibility in data grid client languages, reduced latency, and increased throughput of network communication when deployed on Oracle Exalogic Elastic Cloud and significant performance improvements for seamlessly managing data across memory and disk-based solutions. Oracle Coherence features a new REST API that allows users to leverage popular client languages, such as PHP and Python, to access, manipulate, and report on data stored in the Oracle Coherence data grid. REST support complements the existing Java, .NET, and C++ support in Oracle Coherence, giving users flexibility in their application design, environment, and development choices. Oracle Coherence leverages Oracle’s Exabus high-speed communication feature in Oracle Exalogic Elastic Cloud to increase scalability and lower the latency of data grid operations. Combined with Exabus technology, Oracle Coherence provides the next
generation of massively scalable, low-latency data and state management for middleware applications. Enhancements to the Oracle Coherence Elastic Data feature provide more-efficient memory and disk-based storage and improve data access performance, giving users greater flexibility, expanded capacity, and more efficiency in their existing infrastructure. Also new is the ability to analyze the efficiency of queries against data in Oracle Coherence by generating an explain plan to explain the calculated effectiveness of each element of an Oracle Coherence query. “Oracle Coherence 3.7.1 continues to reduce complexity, ease integration, and accelerate time to market of scalable solutions through new features, such as Query Explain Plan and REST support,” says Cameron Purdy, vice president of development at Oracle. “At the same time, when running on an Oracle Exalogic engineered system, Oracle Coherence 3.7.1 leverages Oracle’s Exabus technology to achieve the lowest latencies and highest throughput.” oracle.com/goto/coherence
Java SE 7 Released Java Platform, Standard Edition 7 (Java SE 7), the first release of the Java platform under Oracle’s stewardship, is now available. The release is the result of industrywide development involving open review, weekly builds, and extensive collaboration between Oracle engineers and members of the worldwide Java ecosystem via the OpenJDK Community and the Java Community Process. Key enhancements in Java SE 7 include language changes to help increase developer productivity and simplify common programming tasks by reducing the amount of code needed, clarifying syntax, and making code easier to read; improved support for dynamic languages (including Ruby, Python, and JavaScript), resulting in substantial performance increases in the Java virtual machine; and a new multicore-ready API that enables developers to more easily decompose problems into tasks that can then be executed in parallel across arbitrary numbers of processor cores. “We’re very excited about Java SE 7; this is a great release with strong technology updates. I’m pleased that the Java community has come together in favor of technical progress and that we have a clear path forward for Java SE 8,” says Hasan Rizvi, senior vice president of Oracle Fusion Middleware and Java products. bit.ly/qqM4AV
ORACLE MAGAZINE NOVEMBER/DECEMBER 2011
19
BRIEFS
MySQL Installer Does Windows Now available, MySQL Installer for Windows simplifies, streamlines, and speeds the installation process for MySQL users running on Microsoft Windows platforms. The installer features an intuitive graphical interface that guides users through the installation process. It also offers the capability of installing all MySQL products that are required at once and provides an integrated update system for all MySQL products installed. Oracle has also completed certification of MySQL Enterprise Edition for Windows Server 2008 R2 Failover Clustering, enabling
Oracle Buys Ksplice Windows users to deploy business-critical applications that demand high availability. “Oracle continues to invest in MySQL to address the evolving needs of Windows users,” says Tomas Ulin, vice president of MySQL engineering at Oracle. “With MySQL’s new installer for Windows and failover clustering certification, enterprise users and independent software vendors can improve management, reduce cost, and power business-critical applications with MySQL Enterprise Edition.” dev.mysql.com/downloads/installer/5.5.html
Oracle Unified Directory 11g Unveiled Oracle has released Oracle Unified Directory 11g, a unified directory solution that organizations can use to manage the critical identity information that drives their business applications. Oracle Unified Directory features highly integrated storage, synchronization, and proxy capabilities. These capabilities meet the evolving needs of enterprise architectures that must support an increasing number of mobile computing and cloud computing requirements. The solution enables organizations to lower the cost of administration and ownership by maintaining a single directory for all of their enterprise needs, while also simpli-
fying their enterprise architecture. It is optimized for mobile and cloud computing environments because it can scale by dynamically adding more directory instances. “Oracle Unified Directory significantly changes the directory market landscape by providing a unified solution in a fragmented marketplace that addresses enterprise, internet, and cloud requirements,” says Amit Jasuja, vice president of Oracle Identity Management. “By implementing a single integrated offering, customers no longer have to compromise between speed and features.” bit.ly/n2Nq8D
Oracle Application Testing Suite 9.3 Released The latest release of Oracle’s advanced application testing solution for Web, SOA, and Oracle Applications, Oracle Application Testing Suite 9.3, is available. It features a test starter kit for Oracle’s Siebel Customer Relationship Management (Siebel CRM) that provides prebuilt scripts for functional and load testing for easier and more-efficient testing of Siebel CRM implementations. Oracle Application Testing Suite 9.3 also provides deeper integration with Oracle Enterprise Manager’s middleware and database diagnostics features. This improves testing efficiency and productivity by enabling testers to detect performance bottlenecks faster and with less effort. The suite supports structured, businessdriven testing based on Capgemini Group’s Test Management Approach, a risk-based
approach for structured software testing that helps organizations more effectively manage and standardize test processes. “Real-time application performance is an increasing requirement for customers across many industries, as performance interruptions and delays can lead to lost business, productivity, and often revenue,” says Richard Sarwal, senior vice president of product development at Oracle. “Oracle continues to deliver new innovations in Oracle Application Testing Suite that enable testers and QA managers to easily perform and track real-world testing and diagnostics on their applications to help ensure optimal performance.” bit.ly/re50Io
NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE
Oracle has acquired Ksplice, the creator of zero downtime update technology for Linux. The addition of Ksplice’s technology will increase the security, reliability, and availability of Oracle Linux by enabling customers to apply security updates, diagnostic patches, and critical bug fixes without rebooting. “More than 7,000 customers have chosen Oracle Linux for mission-critical systems because of our world-class support offerings,” says Wim Coekaerts, senior vice president of Oracle Linux and virtualization. “The addition of Ksplice’s zero downtime update technology further extends our Linux technology leadership.” oracle.com/ksplice
Oracle Business Intelligence Gets a Boost Oracle has introduced new releases of Oracle Business Intelligence Applications and Oracle Real-Time Decisions. New product capabilities span out-of-the-box iPad and iPhone support, extended online analytical processing and in-memory platform support, enhanced real-time decision management features, and new certifications. Oracle Business Intelligence Applications 7.9.6.3 provides alerts, dashboards, and reports via iPad and iPhone and features a new user interface with interactive charting and prompting capabilities, including map visualization options directly linked to spatial data. Oracle Real-Time Decisions 3.1 introduces Decision Manager, an application to manage, monitor, refine, and optimize operational decisions across customer interaction channels. Decision Manager offers a collaborative user interface for business stakeholders to author their targeting logic; search and manage their catalogs; and analyze the results of their operational decisions. “According to IDC research, worldwide demand for business analytics software continues to grow, and Oracle is positioned to help organizations benefit from the analysis of the vast amounts of data they generate,” says Dan Vesset, vice president of business analytics solutions at International Data Corporation (IDC). bit.ly/pGZxEq bit.ly/r3Bol8
I-HUA CHEN
20
21
Oracle Enterprise Data Quality Unveiled
Oracle Previews MySQL 5.6
Oracle has released Oracle Enterprise Data Quality, which combines the recently acquired Datanomic data quality products and Oracle Product Data Quality to provide data quality capabilities for any data domain, including purpose-built capabilities for customer and product data. Oracle Enterprise Data Quality is integrated with Oracle’s core master data management solutions, including Oracle Customer Data Hub and Oracle Product Hub, to provide timely, accurate, and consistent high-quality data sharing across disparate heterogeneous systems. The product addresses independent data quality requirements and is also a critical component of Oracle’s data integration solutions, including Oracle Data Integrator. Oracle Enterprise Data Quality is also integrated and certified with Oracle’s Siebel Customer Relationship Management. The product is designed to enable pre-
An early access release MySQL 5.6 is now available for the MySQL community to test, deploy, and provide feedback. The features in this release will be included in future development milestone and general availability releases. These new features in the early access release focus on better scalability, performance, and flexibility. They include enhancements to the InnoDB storage engine and improvements in MySQL replication. InnoDB updates provide support for full text search, greater performance for writeintensive applications, and better scalability under high-concurrency/user loads. New and improved MySQL replication features help with performance, scale-out, and data integration. “Oracle continues to advance MySQL to address the evolving needs of application developers,” says Tomas Ulin, vice president of MySQL engineering at Oracle. labs.mysql.com
built data quality–based applications such as watchlist compliance screening that can be delivered both by Oracle and by Oracle’s partner community. “Oracle Enterprise Data Quality sets a new bar with class-leading, purpose-built capabilities for the major data types of customer, supplier, and product data,” says Hasan Rizvi, senior vice president of Oracle Fusion Middleware product development. In a related development, Oracle introduced Oracle Watchlist Screening, an application that leverages Oracle Enterprise Data Quality to provide a best-of-breed solution to the highly topical challenges that companies, such as financial institutions, face in managing their Know Your Customer and Enhanced Due Diligence obligations, which are due diligence requirements for banks and financial organizations. bit.ly/ojJVw1 bit.ly/nMI31v
You Want Increased Performance. You Want Reduced Price per User. You Want Better Performance/Watt. You Want Less Space.
YOU NEED SOLUTIONS. Turn to the most qualified solutions experts to solve your data center challenges: solution providers backed by Avnet Technology Solutions. Whether you want to reduce power consumption or need to address a security breach in your network, you need a solution provider with unmatched data center knowledge, expertise and advanced training in a wide range of data center solutions. You need an Avnet partner.
By working with one of Avnet’s solution providers to leverage Oracle’s new solutions you’ll experience: • Increased overall data center efficiencies—by up to 200% • Greater cost-efficiency • Precise strategy for successful day-to-day operation • Support by superior targeted services and programs with great capacity and less downtime • Maximized ROI • Minimized investment and risk • The right solution at the right time
To learn how to ensure data center efficiency and effectiveness with Avnet Technology Solutions Partners, visit
specializeddatacenter.com avnet-horiz.indd 1
11/22/10 10:24 AM
ORACLE MAGAZINE NOVEMBER/DECEMBER 2011
22
NEWS BY FRED SANDSMARK
Simple. Reliable. Affordable. Oracle debuts Oracle Database Appliance, a pay-as-you-grow engineered system.
O
racle has unveiled Oracle Database Appliance, putting its end-to-end engineered systems within reach of midsize companies and enterprise departments. Oracle Database Appliance is “the simple, reliable, and affordable addition to our engineered systems product family,” said Judson Althoff, senior vice president of worldwide alliances and channels and embedded sales at Oracle, in a September 21, 2011, launch Webcast. The engineered system appliance of software, servers, storage, and networking features Oracle Database 11g Release 2 and Oracle Real Application Clusters on a two-node Sun Fire server cluster running Oracle Linux. SIMPLY CONFIGURED The hardware and software components of Oracle Database Appliance are simple to set up and operate. “We try to make the experience as simple as possible from the time the box comes into your shop,” said Andy Mendelsohn, senior vice president of database server technologies at Oracle. That simplicity begins with a single hardware configuration: a four-unit rackmountable chassis containing two Oracle Linux server nodes, each with two 6-core Intel Xeon processors and 96 GB of memory, interconnected via redundant GbE networking. The chassis also contains 12 TB of raw storage, triple-mirrored to yield 4 TB of usable storage, four 73 GB solid-state disks, and built-in redundant networking, power, and cooling. When Oracle Database Appliance is first powered up and connected to the network, its wizard-driven Appliance Manager feature makes configuration a matter of answering a series of questions. In minutes, the hardware is configured for the customer’s workload, and the appropriate Oracle software— including Oracle Database 11g Release 2—is downloaded and configured.
Because of this simplicity, Oracle Database Appliance can move from shipping crate to production in just hours. “The time to value is amazing,” Mendelsohn said. RELIABLY AVAILABLE The reliability of Oracle Database Appliance is ensured because the hardware and software are engineered together by Oracle, and because many of Oracle’s proven high-availability technologies are built in, Mendelsohn said.
Oracle Database Appliance
Oracle Database Appliance can be configured in three ways using the Appliance Manager: a single-node configuration, Oracle Real Applications (Oracle RAC) One Node for active-passive failover, and Oracle RAC for full active-active failover. Customers choose a configuration at setup but can change it as requirements evolve. “You can start simple and then reboot the server into a higheravailability configuration,” Althoff explained. FLEXIBLY AFFORDABLE Oracle Database Appliance is available direct from Oracle or through its channel partners. The software component licensing is flexible and affordable, thanks to a unique “payas-you-grow” licensing arrangement, also known as “subcapacity licensing.” With pay-as-you-grow, customers decide how much of the appliance’s capacity they use—from two processor cores to all 24—
NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE
and license the Oracle software accordingly. Customers can start with just two cores and then add more processing power as business requirements or availability needs dictate, without disruptive or time-consuming hardware upgrades. Customers’ current Oracle licenses can also be transferred to Oracle Database Appliance, making consolidation and upgrades less costly. “We’re making this as flexible an environment as we can,” explained Oracle President Mark Hurd. The combination of simplicity, reliability, and affordability makes Oracle Database Appliance a solid choice for most online transaction processing (OLTP) or database workloads, Althoff said, with applicability to customers of all sizes. “Companies are spending tens of thousands of dollars and countless hours to buy, build, and customize database solutions,” Mendelsohn concluded. “With Oracle Database Appliance, customers get the power of the world’s leading database in a highly available system from a single vendor. We’ve taken the risk out of designing and deploying database infrastructures, which makes it ideal for small and midsize companies or enterprise departments that want higher availability for their application databases.” t
Fred Sandsmark is a regular contributor to Oracle Magazine.
NEXT STEPS LEARN more about Oracle Database Appliance bit.ly/owNoW0 WATCH the launch event Webcast bit.ly/o9nDLe SEE the product demo bit.ly/pGEx90
Two Million Database Professionals Count on One Solution. Simply the best for Oracle database professionals - Toad 11. Supported by over a decade of proven excellence, only Toad combines the deepest functionality available, extensive automation, and a workflow that enables database professionals of all skill and experience levels to work efficiently and accurately. Countless organizations empower their database professionals with Toad. The best just got better. Watch the video at www.quest.com/Toad11SimplyBetter.
© 2011 Quest Software, Inc. ALL RIGHTS RESERVED. Quest, Quest Software and the Quest Software logo are registered trademarks of Quest Software, Inc. in the U.S.A. and/or other countries. All other trademarks and registered trademarks are property of their respective owners. ADD_Toad_FullPage_US_INK_201108
Great minds don’t think alike. To continue to lead the way in technology and science, we must develop the next generation of innovators. Steps we take today can empower young people to develop and test their own ideas and approach science, technology, engineering, and math not just as fields of study in school but as ways of understanding our world. Join the Lawrence Hall of Science in inspiring and preparing kids from all backgrounds to do science. lawrencehallofscience.org/brilliant
News By Fred Sandsmark
Application-Driven Virtualization
Oracle VM 3.0 delivers virtualization performance and management, from hardware to applications.
H
Saul Lewis
eralding a new era of “applicationdriven virtualization,” Oracle announced Oracle VM 3.0, the latest release of its virtualization solution, which integrates with Oracle’s applications-to-disk stack and improves virtualization management at lower cost than competing solutions. Oracle VM 3.0 is optimized “up” to the application level and “down” to the hardware level—a strategy mandated by the marketplace, according to Edward Screven, chief corporate architect at Oracle. “The virtualization solution our customers need is one in which they can manage the application and all of the dependent technology components,” Screven said at the August 23, 2011, Oracle VM 3.0 launch event.
In addition to running large VMs, Oracle VM 3.0 also improves application support within VMs. “Most of the vendors that provide virtualization solutions or products are focused on the VMs alone,” explained Wim Coekaerts, Oracle’s senior vice president for Linux and virtualization engineering, at the launch event. Competitors require their customers to license and install an operating system; license and install (and patch) applications; and then manage it all. By contrast, Oracle VM offers more than 90 preconfigured templates, called Oracle VM Templates, that include the operating system, database, and applications. “You download a file, start it up, use your Web browser, and log in,” Coekaerts explained. “That saves days, if not weeks, of time in a very complex environment.” This simplicity extends to cloning virtual machines. “Other virtualization vendors have no knowledge of what’s running inside the VM,” Coekaerts said. A cloned operating system might be able to handle a new IP address and host name, but applications
APPLICATION-AWARE Organizations today want virtualization for all their applications—not only test and development instances but also large, business-critical applications—and Oracle VM 3.0 delivers it, Screven said. “We enable customers to virtualize every database if they choose, and that means running large VMs [virtual machines],” he explained. Oracle VM 3.0 can create a virtual machine with up to 128 virtual CPUs (vCPUs)—making it four times more scalable than VMware vSphere 5, which supports only 32 vCPUs. And each Oracle virtual machine can handle up to a terabyte of memory. “The things we’ve done to make Oracle VM more scalable, more reliable, and to have lower overhead benefit all kinds of server software,” Screven said. “Oracle VM is an excellent choice for Oracle software, for non-Oracle software, and for Wim Coekaerts, Oracle’s senior vice president for Linux and customer-written software.” virtualization engineering, discusses Oracle VM 3.0.
usually can’t, so customers must manually find and fix these parameters. Oracle VM Templates automate the complex, errorprone process of cloning virtual machines. These templates can be created by Oracle, by internal developers at an organization, or by third parties such as independent software vendors or solution providers. SPANNING THE STACK Oracle’s virtualization strategy extends across the complete technology stack, from applications to disk. Oracle tests all of its applications and technologies in virtual environments, on Oracle hardware, in its own datacenters; it also runs the entire Oracle On Demand hosted application service—more than 6,000 virtual machines—using Oracle VM. “We make sure that every new piece of hardware shipped from Oracle is tested with Oracle VM,” Coekaerts said. Indeed, support contracts for Oracle’s Sun server and storage systems, which are preloaded with Oracle VM, include support for Oracle VM at no extra charge. And while Oracle VM is tuned for full-stack Oracle workloads, it also works well with non-Oracle operating systems (including Windows and other Linux distributions) and supports standard x86 hardware— Oracle’s and others’—in addition to Oracle’s SPARC servers. POWERFUL MANAGEMENT Oracle VM Manager 3.0, the browserbased virtualization management application included with Oracle VM 3.0, is more interactive and capable than its predecessor, Coekaerts said. It leverages Oracle Application Development Framework and Oracle
oracle magazine November/December 2011
25
26
NEWS
WebLogic Server 11g to simplify administrative operations via a Web-browser-based user interface. “If you have a Web browser, you can connect to our management console,” he said, where you can discover and manage thousands of virtual machines and physical servers, configure virtual networks, and create server pools. Oracle VM Manager is also used to access VM Storage Connect, Oracle’s plug-in architecture that leverages native capabilities, such as snapshots and cloning, in third-party storage systems. Other features of Oracle VM Manager 3.0 include dynamic power management, which automatically consolidates virtual servers and powers down hardware when workloads are low, and reverses the process when demand increases; dynamic resource scheduling, which ensures that adequate network and CPU resources are available to keep VMs running optimally; and high availability, which can reboot a crashed VM
automatically or migrate a mission-critical VM to another physical server if hardware fails. Oracle VM Manager 3.0 also includes an improved live migrate feature and an enhanced Oracle Virtual Assembly Builder. TYING IT ALL TOGETHER Oracle VM’s pricing is based solely on support costs. Oracle VM support for a twosocket server with unlimited memory costs US$599 per server; servers with more than two sockets cost US$1,199 per server. For example, based on 250 two-socket servers with 96 GB of memory, Oracle VM costs more than US$2.5 million less than VMware vSphere 5 over three years, when VMware’s license and support costs are totaled. “We’re very low cost compared to our competitors,” Coekaerts said. “We have all the features that people need, and we’re tying in stuff that others can’t because we have all the components in-house.”
Oracle VM is simply the best choice, Screven said, whether you’re virtualizing an Oracle workload or a non-Oracle workload. Wrapping up the event, he concluded: “We’re more scalable, certainly less expensive, and very focused on making sure that our customers can use virtualization in an application-driven way.” t
Fred Sandsmark is a regular contributor to Oracle Magazine.
NEXT STEPS LEARN more about Oracle virtualization solutions oracle.com/us/technologies/virtualization WATCH the launch event Webcast oracle.com/us/corporate/events/oraclevmlaunch CALCULATE your savings with Oracle VM 3.0 oracle.com/us/media/calculator/vm
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. Conservation through Research and Education
www.polarbearsinternational.org
Help Us Help the Polar Bear Photo © R&C BuChanan
NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE
Interview by Tom Haunert
Strategic Storage
Oracle storage solutions deliver optimized performance for all types of I/O.
Bob Adler
T
om Haunert, Oracle Magazine editor in chief, recently sat down with Michael Brown, director of storage product marketing at Oracle, to talk about Oracle’s storage strategy and strategic storage solutions. The following is an excerpt from that interview. Download the full podcast at oracle.com/magcasts. Oracle Magazine: The type of I/O is a key differentiator in storage solutions. What are the main I/O choices available in storage solutions today? Brown: Every vendor has its own variation on the theme, but there are basically four types of storage in today’s datacenter. There’s traditional block I/O, which can be either connected to the system or through a storagearea network [SAN]. Block I/O can have very low latency, but it entails higher overhead on the server to run the file system. Next, there is network-attached storage [NAS], or file I/O, which offloads the lower levels of the I/O stack to separate NAS controllers. NAS or file I/O can reduce the amount of work on your application or database server, but can increase latencies because there’s an extra network and controller for data to pass through. Third, there’s database I/O, where database servers offload lower-level queries, compression, security, and other features to the storage servers. This takes the offloading concept found in NAS environments several steps further, and both increases database query parallelism and reduces the amount of data that is actually sent back to the database server by more than 90 percent. And finally, there’s tape storage, which is used for long-term data protection, as well as governance, regulation, and compliance. And tape can also be used as a high-capacity, costeffective, and energy-efficient tier in online storage environments, where it can use more than 230 times less energy than disks.
Sun ZFS Storage Appliance . . . is a real workhorse when it comes to NAS I/O. Oracle Magazine: How does Oracle address these different I/O types? Brown: Different applications and databases have different requirements to access data, so a one-size-fits-all approach just doesn’t work. Oracle has a complete product line where products are optimized for the different database, NAS, SAN, and tape storage requirements of a modern datacenter. The individual Oracle products are often the most powerful in their class and incorporate key intelligent storage features that allow them to integrate with Oracle’s complete solution stack. Oracle Magazine: How does Oracle optimize database I/O?
Michael Brown, Director of Storage Product Marketing, Oracle
Brown: Our database storage offering is the Oracle Exadata Storage Server, which is part of the Oracle Exadata Database Machine. Of course, Oracle Exadata offers much more than just storage, but a lot of its breakthrough capabilities come from how storage is optimized within the system. At the architectural level, Oracle Exadata uses parallel database servers and an even larger number of parallel storage servers, and connects them together using a switched 40 Gb/sec InfiniBand fabric. This allows queries to progress in parallel on multiple storage servers and reduces data access latencies. At the software level, Oracle Exadata Storage Servers offload processing from the database servers using the Exadata Smart Scan, Exadata Smart Flash Cache, and Exadata Hybrid Columnar Compression features in Oracle Exadata to accelerate performance and increase efficiencies by 10 times or greater. In addition, Oracle Exadata Storage Server offers an I/O Resource Management feature, which ensures that different users and tasks within a database are allocated the correct relative amount of I/O bandwidth. This is a critical factor that helps enable Oracle Exadata to consolidate multiple databases into a private database cloud. Oracle Magazine: How does Oracle optimize network-attached storage—NAS I/O? Brown: Oracle’s NAS product offering is the Sun ZFS Storage Appliance, and it’s a real workhorse when it comes to NAS I/O. It combines a high-performance, high-bandwidth design with fast disks and even faster flashbased caches to provide industry-leading performance and price performance. Modern high-performance and highbandwidth NAS controller designs, like those in the Sun ZFS Storage Appliance, enable applications to run faster by eliminating bottlenecks and allow system administrators
oracle magazine November/December 2011
27
28
Interview
to consolidate storage from multiple applications onto a single server and increase overall storage efficiency. For example, some NAS products have limited CPU power, memory, and bandwidth. However, a Sun ZFS Storage 7420 appliance from Oracle has up to 64 cores, 1 TB of memory, and enormous memory bandwidth. The Sun ZFS Storage 7420 can use these capabilities to run more queries in parallel, support more data services in real time, and create an easier-to-understand and easierto-manage storage environment. Another example is how the Sun ZFS Storage Appliance works with the Oracle Exadata Database Machine for data protection purposes. The Sun ZFS Storage Appliance is the only NAS appliance that can connect to the Oracle Exadata InfiniBand network, and it is highly optimized to work with Oracle Recovery Manager. This combination allows it to run up to three to four times faster than alternative solutions. Again, our goal is to enable Oracle software to run faster and more efficiently on Oracle storage, and these are a few of the ways that already make that happen. So stay tuned for some really exciting new NAS announcements, which will be coming up shortly. Oracle Magazine: How does Oracle optimize storage-area network, or block I/O? Brown: Oracle’s premier offering for the SAN environment is the Pillar Axiom storage system. It’s a next-generation SAN storage platform with a scalable quality-of-servicebased architecture with multiple storage tiers that deliver fast, predictable performance for multiple applications sharing a single storage system. Pillar Axiom is scalable because it can be configured with up to 8 storage controllers and 128 rate controllers. This is in stark contrast to traditional SAN designs, which use two monolithic storage controllers with integrated RAID and which can be costly and lead to unexpected bottlenecks. Pillar Axiom storage and RAID controllers are separate devices, so you can independently increase the number of storage con-
listen to the podcast oracle.com/magcasts
Pillar Axiom Storage Domains . . . enable physical isolation of specific file systems and data sets within the system while still maintaining quality-of-service capabilities. trollers to increase throughput rates or the number of RAID controllers to increase the amount of solid-state disks, performanceoptimized disks, and capacity-optimized disks. This allows you to purchase only what you need, when you need it, and to fully utilize everything you purchase. Pillar Axiom’s patented quality-ofservice capabilities enable applications to deliver fast, dependable performance in consolidated storage environments and in the presence of dynamic workloads. Using quality-of-service functionality, applications can reserve the required compute, cache, storage capacity, and bandwidth throughout the Pillar Axiom SAN storage system, and administrators can define automated management policies that enable multiple applications to coexist without starving each other for resources. We have numbers of customers that run tens to hundreds of applications off a single Pillar Axiom storage system without restricting performance of their business-critical environments. A new software option in Pillar Axiom storage systems is called Pillar Axiom Storage Domains, which enable physical isolation of specific file systems and data sets within the system while still maintaining quality-of-service capabilities. Pillar Axiom is the only system that enables this physical separation, which is critical when maximum security is required in multitenant cloud computing and storage environments. Oracle Magazine: In a world where storage is optimized to different types of I/O, how does tape storage fit in the mix? Brown: Tape is absolutely critical in today’s modern datacenter. It acts as the last line of defense against data corruption and loss. It supports long-term archival needs of governance, regulation, and compliance, and it uses the lowest amount of energy of any storage medium—up to 230 times less than disks. The use of online storage for backup, recovery, and compliance is fine, but you
November/December 2011 Oracle.com/oraclemagazine
shouldn’t make it your only solution. If you only use online storage, it’s possible that errors can propagate from one device to its shadow copy. However, this can’t happen if you use tape, which is not continuously connected to your system but which can be quickly accessed when needed through an automated tape library. You may recall earlier this year that a major internet mail provider lost all of its customers’ e-mails during a software upgrade. They were able to restore their customers’ accounts because they had tape backups of all of them. On the compliance side, current tape media is designed for more than a 30-year lifetime and is actually replaced, in most datacenters, every 8 to 10 years, which gives it about three times longer lifetime than disk storage. It has a much lower unrecoverable bit error rate than disk, and the option of nonerasable media supports all compliance procedures. And Oracle’s StorageTek tape products and automated tape libraries are absolute leaders in the industry in capacity, density, and throughput. Oracle Magazine: What do you see in the future of I/O support in storage, and how will it impact enterprise IT? Brown: I think we’re really just seeing the tip of the iceberg in terms of what’s possible for the integration of applications and storage. Because different applications require different capabilities from their storage, we will see much more, if you will, applicationaware storage and storage-aware applications. This will apply to both structured and unstructured data and impact performance, capacity, security, and the management of the datacenter.
Next Steps LEARN more about Oracle storage oracle.com/storage
30
Book Beat Oracle Database 11g and MySQL 5.6 Developer Handbook By Michael McLaughlin Oracle Press oraclepressbooks.com Oracle Database 11g and MySQL 5.6 Developer Handbook is a comparative reference to support developers moving from MySQL to Oracle Database or vice versa. The book compares and demonstrates development environments, architecture, security, transactions, and referential integrity concepts. It compares and contrasts SQL dialects and approaches across the spectrum of SQL commands and discusses their portability. The book also compares and contrasts stored programs in both databases and discusses their design portability. The author provides clear examples, instructions, and explanations for porting dialects between Oracle Database and MySQL and offers best practices throughout the chapters.
Oracle Information Integration, Migration, and Consolidation By Tom Laszewski, Jason Williamson, and Prakash Nauduri Packt packpub.com This book covers data migration, consolidation, and integration, the three components that are usually part of the information integration lifecycle. Organizations typically find themselves migrating data to Oracle Database and at the same time or later, consolidating multiple database instances into a single global instance for a department or even an entire company. This book discusses the business and technical benefits of data consolidation and shows you how to use Oracle technologies to achieve them. The authors offer readers hands-on advice using tools and best practices.
Expert PL/SQL Practices By Michael Rosenblum and 14 others Apress apress.com Expert PL/SQL Practices is a book of collected wisdom on PL/SQL programming. Each chapter is a deep dive into a specific problem, technology, or feature set. The path to PL/SQL mastery begins with syntax and the mechanics of writing statements to make things happen. If you’ve reached that point with PL/SQL, this book will show you how to combine syntax and mechanics
with features and techniques to really make the language sing. You’ll learn to do more with less effort, to write code that scales and performs well, and to eliminate and avoid defects. The 15 authors cover when to use PL/SQL, employment in large projects, unit testing, debugging, contract-oriented programming, performance, bulk operations, and much more.
Oracle Database 11g Performance Tuning Recipes By Sam Alapati, Darl Kuhn, and Bill Padfield Apress apress.com Oracle Database 11g Performance Tuning Recipes is a ready reference for DBAs in need of immediate help with performance issues relating to Oracle Database. The book takes an example-based approach in providing proven solutions to real-life Oracle performance problems. Relevant background and theory are provided to support each solution. Whatever the task, if it’s performance-related, you’ll probably find a recipe and a solution in this book. However, performance problems are rarely “problems” per se. They are more often “crises” during which you’re pressured for quick results. That’s when you need a book of solutions, such as those included in this book.
Effective MySQL: Optimizing SQL Statements By Ronald Bradford Oracle Press oraclepressbooks.com The first book in the new Oracle Press Effective MySQL series, Effective MySQL: Optimizing SQL Statements takes readers through critical and exacting elements of MySQL optimization, offering educational insights, tips, and revelations. Oracle ACE Director and MySQL expert Ronald Bradford drills down into the real-world problems and solutions that DBAs, developers, and architects face daily using MySQL. He prescribes succinct, proven formulas for succeeding faster and with greater overall understanding of the systems—no matter what level of experience the reader possesses. Readers will learn to identify the essential analysis commands for gathering and diagnosing issues, how different index theories are applied and represented in MySQL, and how to plan and execute informed SQL optimizations.
Look for other Oracle books at oracle.com/ technetwork/community/bookstore.
NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE
Accenture Expands AFPO Oracle Diamond Partner Accenture has rolled out version two of its Accenture Foundation Platform for Oracle (AFPO), a software tool for integrating and developing solutions on Oracle Fusion Middleware. AFPO now supports Oracle SOA Suite 11g, Oracle Business Intelligence Suite 11g, and Oracle Identity Management 11g products, and also integrates and supports Oracle Database 11g Release 2, Oracle Enterprise Manager 11g, and Oracle Data Integrator 11g. AFPO provides a reference application architecture, implementation accelerator, and common services framework for Oracle Fusion Middleware. It was developed in collaboration with Oracle, using experience and knowledge Accenture has gained through hundreds of implementations of Oracle products. AFPO can be delivered as a fully integrated architecture, or in sections—such as SOA or security—depending on an organization’s client’s needs. It is available either on premises or through the cloud. AFPO is the cornerstone of Accenture’s Fusion Readiness Program, which helps organizations anticipate the architectural and business needs of Oracle Fusion Applications. Currently, nine Accenture clients are using the first version of AFPO through a pilot program launched in December 2010. accenture.com
Mythics Opens Center for Public Sector Cloud Computing Mythics, an Oracle Platinum Partner and Oracle GSA Schedule Holder, has opened the Mythics Public Sector Technology Briefing Center in the Oracle Cloud Computing Center of Excellence in Reston, Virginia. There, Mythics and Oracle customers and partners can access hands-on demos, training, and specialized proofs-of-concept for Oracle public sector technologies and solutions. Since 2000, Mythics has provided Oracle licensing, training, and consulting services across the entire Oracle product portfolio. Mythics provides technology solutions within the U.S. Department of Defense, federal civilian agencies, intelligence agencies, and state and local governments, as well as the commercial and healthcare sectors. mythics.com
PARTNER NEWS
DLT Solutions and Groupware Technology Achieve Oracle Exadata Specialization Two Oracle Platinum partners, DLT Solutions and Groupware Technology, have achieved Specialized status in Oracle Exadata. The certification process to achieve Oracle Exadata specialization consists of seven prerequisite specializations, including Oracle Data Warehousing, Oracle Database 11g, Oracle Database Performance Tuning, Oracle Exadata, Oracle Real Application Clusters, Oracle Linux, and Oracle Solaris. DLT Solutions has been an Oracle PartnerNetwork member for nearly two decades, and has been recognized by Oracle several times for its sales excellence, busi-
ness competency, and technical acumen. Based in Herndon, Virginia, it serves federal, state, and local governments and provides hardware, software, and technical support. For IT solution provider Groupware Technology, Oracle Exadata specialization allows the company to deliver end-to-end solutions for data warehousing, business intelligence, and online transaction processing. dlt.com groupwaretechnology.com
Cintra Achieves Specialization Status for Three Oracle Solutions Oracle partner Cintra has completed three Oracle specializations—Oracle Database Performance Tuning, Oracle Real Application Clusters, and Oracle GoldenGate—via the Oracle PartnerNetwork Specialized program, and has also achieved Platinum Partner status. To attain Platinum status, partners must achieve any combination of five specializations, Oracle Exastack Ready applications, or Oracle Validated Integrations. Cintra’s other specializations include Oracle Database and Oracle
Business Intelligence Foundation. To achieve Specialized status, Cintra professionals completed stringent course material proving competency development, business results, and expertise. Cintra worked with Avnet Technology Solutions and its “Under Our Wing” program to achieve specialization; under this program, Avnet guided Cintra through its selected Oracle specialization tracks from start to finish. cintra.com avnet.com
Brainware Achieves Validated Integration Oracle Gold Partner Brainware’s intelligent data capture software for business process automation, Brainware Distiller 5.3, has achieved Oracle Validated Integration with Oracle E-Business Suite 12.1. Brainware Distiller allows Oracle E-Business Suite
users to leverage advanced data extraction capabilities to process documents quickly and accurately into their Oracle enterprise applications. It also provides insight into key business processes. brainware.com
dignum Gains SPARC and Oracle Solaris Specializations Oracle Gold Partner dignum, of Seefeld, Germany, has achieved Specialized status in Oracle’s entry-level and midrange SPARC Enterprise M-Series servers through Oracle PartnerNetwork. The company simultaneously earned specialization in Oracle Solaris. To achieve these specializations, dignum demonstrated technical
skill and knowledge, business results, and proven success in Oracle’s entry-level and midrange SPARC Enterprise M-Series servers and Oracle Solaris. Specialization assures dignum’s customers that the company is a knowledgeable partner that can develop and implement solutions incorporating those technologies. dignum also holds a specialization in Oracle Linux. dignum.de
CSC Achieves Diamond Status CSC has been named an Oracle Diamond Partner. The company, which employs 91,000 professionals and serves clients in more than 90 countries, demonstrated its expertise in implementation and management of Oracle products in order to achieve this status. To attain Diamond status, a partner must achieve a total of 20 specializations, or have a combination of up to five Oracle Exastack Ready applications or Oracle Validated Integrations plus 15 or more specializations. Additionally, five of the specializations must be advanced specializations. CSC has achieved 15 Oracle specializations and five advanced specializations. It has more than 1,650 certified Oracle specialists with expertise in Oracle Database, Oracle E-Business Suite supply chain management, Oracle Solaris, Oracle’s PeopleSoft Enterprise human capital management solutions, PeopleSoft PeopleTools, and Oracle CRM On Demand, in addition to Oracle solutions for the professional services, aerospace and defense, oil and gas, and consumer goods industries. csc.com
Capgemini Group Named a Diamond Partner Capgemini Group has been named an Oracle Diamond Partner. By achieving Diamond status, Capgemini Group has proven its expertise in implementing Oracle software and its ability to help customers worldwide leverage technology to accelerate growth and create business success. To attain Diamond status, a partner must achieve a total of 20 specializations, or have a combination of up to five Oracle Exastack Ready applications or Oracle Validated Integrations plus 15 or more specializations. Additionally, five of the specializations must be advanced specializations. To date, Capgemini Group has achieved more than 22 Oracle specializations and five advanced specializations. Its more than 2,700 Oracle specialists have expertise in products including Oracle Database; Oracle E-Business Suite; Oracle’s PeopleSoft, Siebel, JD Edwards, Agile, and Demantra solutions; Oracle Enterprise Taxation Management, and Oracle Policy Automation. capgemini.com
ORACLE MAGAZINE NOVEMBER/DECEMBER 2011
31
PARTNER NEWS
AdaptiveMobile Picks Oracle Berkeley DB Dublin, Ireland–based AdaptiveMobile, an Oracle Gold Partner, will embed Oracle Berkeley DB in its Network Protection Platform. The AdaptiveMobile Network Protection Platform helps mobile operators and service providers protect their subscribers from viruses, spam, malware, fraud, and inappropriate content, and it’s used by more than 600 million subscribers worldwide. AdaptiveMobile selected Oracle Berkeley DB for its data retrieval speed, reliability, scal-
ability, availability, and ability to integrate with the company’s existing application environment. By using Oracle Berkeley DB, AdaptiveMobile reduced its development time and hardware and administration costs, and is now able to resolve content and access control challenges without impacting the user experience. adaptivemobile.com
Kalypso Gets Specialized in Oracle’s Agile Solutions Oracle Gold Partner Kalypso has achieved Specialized status in Oracle’s Agile product lifecycle management (PLM) applications. Kalypso, with headquarters in Ohio and the Netherlands, has extensive implementa-
tion experience with Agile PLM applications and Agile Product Lifecycle Management for Process, providing guidance in Agile PLM strategy, implementation, and optimization. kalypso.com
Partners Announce Oracle Accelerate Solutions Through the Oracle Accelerate for Midsize Companies (Oracle Accelerate) program, several Oracle partners have created new Oracle Accelerate solutions—Oracle application bundles developed to be implemented quickly to maximize ROI. Partners in the program have access to rapid implementation tools, templates, and process flows that enable their customers to realize immediate benefit from their Oracle Applications. Oracle Platinum Partner Akademi Consulting of Turkey has launched an Oracle Accelerate solution for Oracle’s JD Edwards EnterpriseOne aimed at the food and beverage industry. Its target customers are midsize companies wishing to replicate the enterprise resource planning–based success of larger companies with bigger budgets. Business & Decision Group, an Oracle Platinum Partner with offices in 19 countries, has introduced a new Oracle Accelerate solution for the high-tech industry that leverages Oracle CRM On Demand. The new solution supports process-driven selling, triangulated forecasting, customer asset management, and other business processes used by hightech companies. DAZ Systems, an Oracle Platinum Partner serving the small and midsize business market, has expanded its North American Oracle enterprise performance management
practice by adding an Oracle Accelerate solution for the Oracle Hyperion Planning Suite of products. IBM Global Services France, a unit of Oracle Diamond Partner IBM, has developed an Oracle Accelerate solution for contract management in the business services industry. The new solution is based on Oracle E-Business Suite. Oracle Gold Partner ICP Solution of Hamburg, Germany, announced an Oracle Accelerate solution for manufacturers based on Oracle’s Agile product lifecycle management solution. ICP’s solution brings a comprehensive, enterprise-class product data management application to midsize businesses at a fixed price. Inspirage, an Oracle Platinum Partner based in the U.S., has become an Oracle Accelerate solution provider for Oracle value chain planning applications. It has launched two Oracle Accelerate solutions: one for Demantra Demand Management and one for Oracle Advanced Supply Chain Planning and Oracle Inventory Optimization. jdturkiye.com businessdecision.com www.dazsi.com ibm.com icpsolution.com inspirage.com
NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE
Neit Consulting Achieves Oracle Hyperion Specialization Oracle Gold Partner Neit Consulting is the first company in the Czech Republic to achieve Specialized status in Oracle Hyperion Planning solutions. Attaining this specialization demonstrates Neit’s expertise in implementing Oracle planning solutions. neit.cz
Emulex Supports Oracle VM 3.0 Oracle Gold Partner Emulex’ portfolio of OneConnect Universal Converged Network Adapters and LightPulse Host Bus Adapters now supports Oracle VM 3.0, the latest release of Oracle’s server virtualization platform. Emulex will provide Oracle VM 3.0 customers with high-performance protocol offload support for 10 GbE, iSCSI, and Fibre Channel over Ethernet, as well as 4 Gb/sec and 8 Gb/sec FC connectivity. emulex.com
Qualogy Opens Oracle Exalogic Elastic Cloud Demo Center Oracle Gold Partner Qualogy has opened an Oracle Exalogic Elastic Cloud demonstration center in Rijswijk, the Netherlands. Qualogy is the first company in the Benelux region to deploy the Oracle Exalogic Elastic Cloud system, and is making it available to its customers as a riskmitigated, proof-ofconcept service. In addition to operating its Oracle Exalogic Elastic Cloud demo center, Qualogy’s 150 specialists deliver customized Oracle and Java application development; Oracle E-Business Suite services ranging from audits and implementations to upgrades and migrations; database and application management; business intelligence; Web 2.0 consulting; and agile development. The company serves clients in publishing, telecom, industry, healthcare, government, retail, and finance sectors. qualogy.com
LINDY GROENING
32
Architect By Bob Rhubart
Out of the Tower, into the Trenches
Overcoming resentment toward architects and architecture
I
f you walk into project meetings and are greeted with welcome smiles, hearty handshakes, and appreciative nods, the chances are pretty good that (a) you’re not an IT architect, and (b) the room isn’t full of developers. IT architects face many challenges, not the least of which is that among developers, architects are often seen as ineffectual and disconnected impediments to meeting project deadlines. Architects get no respect. What they do get is resentment and resistance. Oracle ACE Director Lonneke Dikmans, managing partner at Vennster and an experienced architect, runs into that resentment in almost every project. “Usually it is resentment toward my role as an architect, the one who makes all solutions difficult,” Dikmans says. “It is sometimes hard to deal with, because not everybody is overt in their resentment.” So what did architects do to deserve this treatment? “It’s often based on the fact that the architect group is viewed as issuing technical edicts to the developers, while the architects have little or no accountability for specific projects,” says SOA architect and developer Jeff Davies, a senior principal product manager at Oracle. That view of architects has roots in the differences in scope and responsibility that separate architects and developers. “Architects may have a broader set of concerns than developers, who are usually under pressure to deliver functionality and resist impediments to that goal,” says Randy Stafford, an architect with the Oracle Fusion Middleware A-Team. Although the different roles have different goals, that difference in perspectives is not necessarily a bad thing. “It ensures that all the angles are covered,” says Dikmans. “If there were only architects, we would be stuck in Utopia. If there were only developers, we could end up with a mess because of a lack of
“To avoid the ivory tower reputation, be sure to contribute to each project and add value by direct participation.” —Jeff Davies, Senior Principal Product Manager, Oracle cohesion and direction.” So what can architects do to bring the two sides together? One obvious bit of advice is to avoid fulfilling a stereotype. “Resentment or anger from developers could be a sign that the architect is of the ‘ivory tower’ type,” says Stafford. “He may not be respected by the developers because he’s not shoulder to shoulder in the trenches with them facing the real consequences of his decisions, and he may not have the technical chops to deal with details confronting the developers.” So, architects, get down in those trenches. “To avoid the ivory tower reputation, be sure to contribute to each project and add value by direct participation,” says Davies. “Architects can be great mentors, but only if they are truly helping developers and the business meet their respective goals.” Becoming a great mentor means developing people skills that can transcend the organizational chart. “The architect’s leadership skills become important,” says Stafford. “Architects need to be able to convince developers to implement their guidance through some kind of rhetorical influence, because they probably don’t have managerial authority over them.” Bottom line: if you’re not prepared to be a leader, you’re not prepared to be an archi-
tect. “Software development is a fundamentally social endeavor, more than a technical endeavor,” says Stafford. “I would advise aspiring architects to study seriously the literature on leadership.” But even with top-notch communication, leadership, and technical skills, the gap between architects and developers may simply be a fixture of the IT landscape. “I don’t think you can head off the problem,” Dikmans says. “It is part of the game.” But that game can be won—with clear objectives and an open mind. “Make sure you pick your battles,” advises Dikmans. “Developers can be right, too! Beware of ivory tower architecture and be willing to go into details and into the content, not just the rules and concepts. We are not the IT police. We are supposed to guide IT.” So be that guide. Put these recommendations into practice, and in time you may find that your share of welcome smiles, hearty handshakes, and appreciative nods is on the rise.
Bob Rhubart (bob.rhubart@oracle .com) is manager of the architect community on Oracle Technology Network, the host of the Oracle Technology Network ArchBeat podcast series, and the author of the ArchBeat blog (blogs.oracle.com/archbeat).
Next Steps LISTEN to ArchBeat podcasts feeds2.feedburner.com/otnarch2arch bit.ly/9X6j2T GET more architect information oracle.com/technetwork/architect
oracle magazine November/December 2011
33
34
Up Close By Jeff Erickson
New Territory
A user group founder teaches the value of peer-to-peer learning in India.
urali Vallath splits his time between the U.S. and India, and that explains his user group situation. Vallath is the founder and president of the All India Oracle Users Group (AIOUG), a four-year-old effort that is now going strong but one that has had its share of growing pains. “I’ve had to sell the idea of a user group in a place where they have no history with such things,” says Vallath. “My fellow Indian Oracle users couldn’t see the value.” Vallath relies on Western user groups to grow his network and sharpen his technical skills. An Oracle ACE Director and Oracle Certified DBA, he regularly speaks on Oracle Real Application Clusters and Oracle Database performance and tuning at Oracle OpenWorld, United Kingdom Oracle Users Group events, and other user group events. “I had all these resources and smart people available to me for a ridiculously small price, and I had the opportunity to share my expertise,” he says. “I thought, ‘This should take off in India.’” So in 2007 Vallath founded AIOUG, but he soon met cultural roadblocks. “User groups have been in the West for a long time, and people have an easy time seeing the value in the experiences of their fellow users,” says Vallath. “In India, people are used to getting their information from the top down,” he adds. “They would ask, ‘Why get information from some user with no credentials when I can get it directly from the experts at Oracle?’ People didn’t get the idea of a user group.” Vallath and AIOUG have found ways to make this top-down mentality work for them. The group’s Website acts as a clearinghouse for official Oracle training, such as Oracle University classes and Oracle Developer days. AIOUG events also get mentioned in Oracle newsletters, and Vallath notes that the group still gets more sign-ups from official Oracle e-mails than from its own invitations.
AIOUG Founder and President Murali Vallath
Seeking—and Finding—SUCCESS Vallath studies how other regions have grown their user groups, and he is particularly impressed by the Latin American OTN Tour—during which a collection of small user groups pool their resources and schedule meetings in quick succession to entice top speakers to the region. Earlier this year, Vallath was a featured speaker at a similar series of events in Asia: the APAC OTN Tour, which brought top speakers to user groups in China, Thailand, the Philippines, New Zealand, and Australia. The experience convinced Vallath that a similar tactic would work in India, and he’s now doing the initial planning for an India OTN Tour in 2012. Four years after the group’s formation, Vallath and AIOUG are succeeding. “There are a huge number of talented Oracle technologists in India, and they need a way to network and pass on their knowledge,” says Vallath. Whether technologists’ interests lie in Oracle technology, Oracle Applications, or Java, they will find compatriots in AIOUG. And the group has grown steadily. “Members
November/December 2011 Oracle.com/oraclemagazine
are renewing their memberships, and that’s always a good sign,” says Vallath. “That means they’re finding value.” December 9 through 10, 2011, will see AIOUG’s largest event to date: Sangam11. “We’re expecting 600 members to attend,” says Vallath. “We’re getting papers on everything from Java and Oracle Applications to middle tier, database, and Oracle Exadata. This is an opportunity for Oracle users to share their expertise with the big user base in India.” The event will also feature speakers of note such as Arup Nanda, a frequent contributor to Oracle Magazine. Vallath talks of moving to India full time “to get the user group to be the largest in the world,” he says. But his family’s life is rooted in the U.S. His high school–age daughter recently participated in a U.S. National Aeronautics and Space Administration (NASA) project on the use of space-based solar cells to power high-altitude aircraft, and his son and wife are active in the Sangamithra Foundation, a U.S.-based effort to bring better infrastructure to Indian schools. “We can’t leave now,” he says. “So I’m learning to use technology to reach across to the Oracle user community and grow AIOUG from here.”
Jeff Erickson (jeffrey.x.erickson@ oracle.com) is a senior editor with Oracle Publishing.
Next Steps Learn more about AIOUG aioug.org Learn about the Sangamithra Foundation sangamithra.org WATCH the interview oracle.com/oramag/upclose
Bob Adler
M
Peer-To-Peer by Blair Campbell
Learn As You Go
How testing, writing, reading, and connecting can be tools for self-instruction
Ricardo Portilho Proni
Company: Nerv Informática, a consulting company focused mainly on Oracle solutions for database tuning, recovery, and high availability Job title/description: Consultant and instructor, providing support and helping customers define new projects Location: São Paulo, Brazil Oracle credentials: Oracle Certified Associate (Oracle Database 10g), Oracle Certified Professional (Oracle Database 10g, MySQL 5), Oracle Certified Expert (Oracle Real Application Clusters 10g, Managing Oracle on Linux) What advice do you have for those just getting into database development? After you discover how to do something new, post about it on your blog—even if it happens in the middle of the night. This doesn’t just help others; when you blog about something you’ve learned, you have to test it intensely, and in the process you discover new aspects of the technology. If you were going to the International Space Station for six months and could only take one Oracle reference book, what would it be? Oracle Wait Interface: A Practical Guide to Performance Diagnostics and Tuning [Oracle Press, 2004]. If you read only one book on Oracle tuning, read this one. What green practices do you use in your DBA work? Our clients are always concerned about needing more storage and energy. With the new Advanced Compression feature in Oracle Database 11g Release 2, we are helping them save energy, because SQL commands actually take less time to complete—thereby consuming much less CPU and causing fewer wait events.
Lisa Dobson
Company: Durham University, an educational institution serving undergraduate and graduate students and postdoctoral researchers Job title/description: Oracle DBA, responsible for the creation, management, and maintenance of Oracle databases Location: Newcastle upon Tyne, England Length of time using Oracle products: 14 years How did you get started in IT? Quite by accident! I was working in a finance department as an accounts clerk. The company was upgrading Oracle Financials, and the IT department needed an end user from the business side to join the project team. At the end of the project, I moved to the second-line support team for financial applications and then went on to become a UNIX sys admin and Oracle DBA. If you were going to the International Space Station for six months and could only take one Oracle reference book, what would it be? Oracle RMAN 11g Backup and Recovery, by Robert Freeman [Oracle Press, 2010]. I used to think Oracle RMAN [Oracle Recovery Manager] was too complex, but this book changed all that. It’s so clearly written, with do-it-yourself exercises that really drive the concepts home. What’s your favorite thing to do that doesn’t involve work? Being vice president of the U.K. Oracle User Group [UKOUG]. I’ve been volunteering with UKOUG since 2005, and it’s not something I consider work. I relied on the user group so much when I was a beginner and feel strongly about giving back.
Zhang Leyi (Kamus)
Company: Enmo Tech, a technology solution, remote database management, and outsourcing company Job title/description: Technical director, handling all database tasks for Enmo customers as well as new software product design Location: Beijing, China Oracle credentials: Oracle Certified Professional (Oracle8i Database, Oracle9i Database), with 10 years of experience using Oracle products
What’s your favorite tool on the job? I’m an avid fan of Oracle SQL Developer, and I think it has a lot of potential for growth in China. What makes it tick is its powerful reporting features, plus performance monitoring graphics—it’s just as good as commercial software in terms of functionality. Which new features in Oracle Database are you currently finding most valuable? The SecureFiles LOB [large object] in Oracle Database 11g Release 2 performs very well. No longer do we need to store unstructured data such as graphics on file systems—we can now store them in the database. What technology has most changed your life? Computer science and database technology. My major was Japanese, and after graduation I went to work for an offshore IT company with most of its contracts from Japan, translating the specs from Japanese to Chinese. I was put on the testing team, and purely out of interest, I started to teach myself the programming language—back then it was Microsoft Visual Basic. Soon enough I formally entered into IT as a professional.
Learn more about the Oracle ACE program at oracle.com/technetwork/community/oracle-ace. oracle magazine November/December 2011
35
Jaime Ferrand
ORACLE VM CONSOLIDATES SERVERS AND MAKES APPLICATIONS MORE AVAILABLE, RELIABLE, AND MANAGEABLE.
VV
V VV
MANAGING THE VIRTUAL WORLD In an era of tight IT budgets, complex multitier computing infrastructures, and dynamic and fast-changing business and user needs, virtualization offers many potential benefits: lower hardware and maintenance costs, higher CPU utilization, simplified systems management, high reliability, and easy deployments, to name a few. IT organizations have deployed virtualization technology to realize server consolidation, but they’re also looking for the benefits that virtualization can deliver to their business applications. “The killer app for virtualization has been server consolidation,” says Al Gillen, program vice president for systems software at market research firm International Data Corporation (IDC).
BY PHILIP J. GILL
Beginning in the 1990s, Gillen explains, the availability of inexpensive commodity server hardware, combined with capable but not always sophisticated server operating systems, created what he dubs “server sprawl” in many IT shops. The end result of this sprawl was often large, unwieldy, difficult-to-manage infrastructures whose costs were threatening to spiral out of control. Gillen sees server consolidation through virtualization as a solution to server sprawl. “The virtualization layer allows users to ramp up the density of their applications, staging more applications on the same physical server,” he explains. “Because each set of applications is partitioned off into a separate virtual machine with a separate operating system, you get the best of both worlds. You get the density you need, but you don’t increase your dependency on any single operating image. So if you have a system that fails, it only affects the one virtual machine, not all of them.” Gillen also sees virtualization as a way to improve application deployment and manageability. “Over time, we expect that enterprises will need to deliver internal IT resources more like an external service provider would, allowing for rapid deployment and efficient management of business-critical applications,” says Gillen. “By using application-centric virtualization solutions like Oracle VM 3.0, organizations are deploying a strong foundation that will support an operational transformation in their datacenters, when the time is right for their business.” Window of Opportunity Founded in 1925, Pella Corporation saw virtualization as a way to reduce hardware purchase and software maintenance costs, but
November/December 2011 Oracle.com/oraclemagazine
management has been pleasantly surprised by additional savings and benefits. The company, based in Pella, Iowa, has 8,000 employees at 12 manufacturing locations and 200 Pella Window and Door Showrooms in the U.S. and Canada. As a leading national manufacturer of windows and doors, the privately held company has been particularly challenged by the state of the real estate and construction industries. “The reality is it’s a harsh economy out there,” says James Thomas, director of IT operations at Pella. Back in late 2008, Thomas and other IT staffers at Pella began to investigate ways to control or even reduce costs. “The money we were spending just on hardware and software maintenance was getting very high,” explains John McConeghey, IT manager at Pella. Indeed, after analyzing costs and savings, the IT staff realized it could recover the cost of a move to virtualization, including new servers and software, in 11 months. Using Oracle VM, Pella’s updated hardware infrastructure now supports 70 virtual machines (VMs), with another 20 already configured and reserved in standby mode, according to Dale Nelson, advanced administrator at Pella. Although it considered other vendors’ virtualization offerings, Pella chose Oracle VM because of its tight integration with the rest of the Oracle software stack, including Oracle Linux, Oracle WebLogic Server, Oracle E-Business Suite, and Oracle Database. This integration not only makes it easier to deploy Oracle VM but also makes it easier to run business-critical applications efficiently in a virtual environment, says Nelson. For the IT staff at Pella, if problems should arise, there’s only one point of contact and one service call for the entire stack. The Oracle VM–based VMs run in the middle tier, where Pella
Mark Luinenburg
Before virtualization, Pella was running at 35 to 40 percent CPU utilization. “With new hardware and Oracle VM, we’re running at about 5 percent utilization for each VM,” says Dale Nelson, advanced administrator at Pella (right), pictured with John McConeghey, IT manager (left), and Jim Thomas, director of IT operations (center).
39
Application-Driven Virtualization In modern datacenters, mainframes have been replaced by server farms, and just about everything from CPUs and operating systems to databases and storage devices can be deployed in a virtual state. Virtualization is also becoming a key enabler for rapid application deployment and provisioning, says Wim Coekaerts, senior vice president for Linux and virtualization engineering at Oracle. “Virtualization makes the infrastructure more fluid, so you don’t really have to care anymore about how many physical servers you have and what the storage assigned to each server is,” he says. “The goal is that the entire infrastructure is all accessible as a large pool of resources. That is important as IT adopts cloud computing.”
To make this goal a reality, however, requires that virtualization environments have better integration with applications and more-sophisticated management tools, he adds. Each time a virtual machine (VM) is deployed, there are a myriad of parameters that must be set and connections to other parts of the IT infrastructure that must be made as part of the provisioning, Coekaerts notes. With Oracle VM 3.0, users can rapidly deploy enterprise software in a virtual machine using Oracle VM Templates, which automatically create the needed connections to other components of the application stack. Moreover, they can also manage their VMs and the applications running in them by using Oracle Enterprise Manager, the same management tool that they use to manage
Oracle Database, Oracle E-Business Suite, and other components of the integrated Oracle software stack. “Our focus at Oracle is to simplify and accelerate provisioning of large production environments—for example, Oracle E-Business Suite, Oracle’s Siebel Customer Relationship Management, and Oracle Database. Configuring these can be time consuming,” says Coekaerts, “but we’re tying the applications into the operating system and the operating system into the virtualization software to make deploying and managing those environments easier. If you use Oracle products with Oracle virtualization, we make these connections and configurations for you.”
employees use various modules of Oracle E-Business Suite— including Oracle Financials and Oracle Manufacturing—to perform the day-to-day tasks that support Pella’s back-office business operations and manufacturing shop floor. Besides the 11-month payback, Pella’s IT department has also realized significant savings in reduced power consumption, reduced administration costs, and greater server utilization. “On the old hardware, without virtualization, we were running at 35 to 40 percent CPU utilization,” says Nelson. “With new hardware and Oracle VM, we’re running at about 5 percent utilization for each VM.” Other benefits aren’t so easily monetized, but they are substantial nonetheless. “A lot of our virtual servers are purpose-built for the applications that run on them,” adds McConeghey. Because a VM runs a single application, Pella’s IT infrastructure provides higher availability than before. Today, if a physical server fails, Oracle VM allows for live migration of the VM and its applications to a different server without interrupting service to the users. And in the unlikely event that a VM fails, Pella has standby VMs configured and ready. Building a Star on Earth Scientists at the National Ignition Facility (NIF)—the world’s largest laser, located at the Lawrence Livermore National Laboratory (LLNL), a U.S. Department of Energy (DOE) facility—are using an Oracle VM–enabled virtualized server farm to recreate the physical environment and conditions that exist at the inside of the sun. The scientific understanding that results from NIF’s experiments could lead to an alternative to carbon-based energy sources that promises clean, sustainable, and essentially limitless energy based on nuclear fusion. The system is called LIFE—for Laser Inertial Fusion Energy. “Fusion is the energy that powers the universe,” explains Tim Frazier, associate project manager of NIF at LLNL in Livermore, California. “In laymen’s terms, what we like
to say is that fusion is what powers the stars. Everything that you see when you look at our sun or the stars in the night sky is essentially an extremely large version of NIF, where miniature stars will be smaller than the diameter of your hair.” At NIF, a large, laser-based inertial confinement fusion device heats and compresses hydrogen fuel to the point at which a nuclear fusion reaction takes place. The device “ignites” the hydrogen particles and causes them to fuse together, creating heat and helium. This heat is the energy that can boil water to drive turbines that generate electricity for homes and businesses, all without creating carbon or fission waste products. Each time NIF runs an experiment, cameras, oscilloscopes, and an array of instrumentation collect a series of measurements of the event that are stored initially in Oracle Database 11g. Later the researchers download those measurements into a variety of custom applications to study the results. For example, the analysis code can find the significance and meaning of the content of a picture of an event. “From the raw data, scientists can compute the physical environment that occurred during the experiment,” Frazier says. “For example, from a picture of the ‘bright spot’ that resulted during a shot, the scientists can determine how much energy the brightness of the spot represents.” To store and manage this information, snapshots NIF’s server farm consists of 70 physical Pella Corporation servers—a mix of SPARC and x86-based pella.com Location: Pella, Iowa systems—running Oracle Solaris, Oracle Industry: Industrial manufacturing Linux, Oracle WebLogic Server, and Oracle VM. Employees: 8,600 Being scientists, Frazier explains, the Oracle products: Oracle VM, Oracle WebLogic people at NIF conducted a series of experiServer, Oracle Linux, Oracle Database, Oracle ments on competing virtualization software Financials, Oracle Manufacturing, Oracle Procurement, Oracle Sales, Oracle Marketing before choosing Oracle VM. These experiments consisted of creating a number of Lawrence Livermore National server configurations, both real and virtual, Laboratory/National Ignition Facility and coupling them with simulated workloads llnl.gov that reflect NIF’s ongoing experiments. In Location: Livermore, California Industry: Government research the end, NIF chose Oracle VM because its Employees: 6,800 VMs provided essentially the same perforOracle products: Oracle VM, Oracle WebLogic mance as NIF’s existing physical servers. Server, Oracle Linux, Oracle Database Performance testing was especially impor-
oracle magazine November/December 2011
“Virtualization is the way for us now at NIF, and we expect it to be for LIFE in the future.” —Tim Frazier, Associate Project Manager of the National Ignition Facility, Lawrence Livermore National Laboratory
Deploying Oracle VM–based virtualization has reduced risk at the National Ignition Facility (NIF), says Tim Frazier, associate project manager of NIF at Lawrence Livermore National Laboratory. “It has also normalized a heterogeneous computing infrastructure and given us a better disaster recovery story,” he says.
Up to the Desktop In addition to the Oracle VM 3.0 solution for server virtualization, Oracle offers a set of integrated client- and server-based desktop virtualization solutions that deliver secure, “anytime, anywhere” access from any device: • Oracle Virtual Desktop Infrastructure provides a complete solution for managing, hosting, and providing access to virtualized Microsoft Windows, Oracle Linux, and Oracle Solaris desktops hosted in the datacenter. • Oracle’s Sun Ray Clients are low-power, low-cost devices that enable access to the same complete desktop environment from many different client devices and locations. • Oracle Secure Global Desktop software provides secure access to server-hosted Windows, UNIX, mainframe, and midrange applications on a single PC. • Oracle VM VirtualBox enables users to run multiple independent operating systems on their PCs. In July 2011, Oracle announced Oracle Virtual Desktop Client for iPad, available at the Apple App Store, which gives users secure access to virtual desktops managed by Oracle’s Sun Ray Software and Oracle Virtual Desktop Infrastructure.
November/December 2011 Oracle.com/oraclemagazine
VM on a disk array. CPU utilization rates have also improved, allowing NIF to get the most out of its existing hardware investments because no new servers needed to be purchased. “Virtualization has reduced risk,” says Frazier. “It has also normalized a heterogeneous computing infrastructure and given us a better disaster recovery story. This translates directly to greater availability of our infrastructure.” Most of all, server virtualization was an economically feasible path to simplifying the computing infrastructure needed to support NIF’s highly compute-intensive applications. For NIF, it wasn’t so much a matter of cost cutting as cost avoidance. “It’s not like we had 700 servers before,” Frazier notes. “It’s only because of virtualization that we’ve been able to dedicate machines to specific workloads. In the old days of ‘bare metal,’ that would have been too wasteful, and we couldn’t have afforded it. Virtualization is the way for us now at NIF, and we expect it to be for LIFE in the future.”
Philip J. Gill is a San Diego, California–based freelance writer. Next Steps LEARN more about virtualization oracle.com/virtualization Oracle VM 3.0 oracle.com/oraclevm
Phil Saltonstall
tant because the user community of NIF scientists and researchers had reservations about the move to virtualization. They feared it would negatively affect the performance of their applications. The physical servers at NIF now support 700 Oracle VM–based VMs that scientists and researchers use to analyze the results of their experiments. Virtualization has brought higher availability and quicker recovery from system faults, largely because NIF stores a mirror image of each
CritiCal Workloads. All DAy, EvEry DAy. intel® Xeon® Processors. Dependability for Oracle solutions that simply can’t go down.
tuesday, oCtoBer 4 1:15 PM Novellus theater at yerba Buena Center for Arts, 700 Howard Street at Third Join Intel and the U.S. Department of Homeland Security as they discuss Datacenter 2015 and the Impact of Intelligent Devices. Presented by Kirk Skaugen, vP & GM Intel Datacenter and Connected Systems Group
Download the white paper “reducing Operational Costs and Improving Quality of Service at the U.S. Department of Homeland Security:” intel.com/xeon
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Copyright © 2011 Intel Corporation. All rights reserved. Intel, the Intel logo, and Xeon Inside are trademarks of Intel Corporation in the U.S. and other countries. *Other names and brands may be claimed as the property of others.
Visit intel Booth #711 and register to win a BMW motorcycle
42
FLYING HIGH WITH A PRIVATE DATABASE CLOUD Sabre consolidates applications on a shared IT platform based on Oracle Database 11g and Oracle Real Application Clusters. BY DAVID BAUM
>>> Sabre Holdings built the first passenger reservation system in 1960, and the company has continued to transform airline industry technology. The Southlake, Texas–based company is now the world’s largest software-as-aservice provider to the aviation industry, providing revenue management, pricing, flight scheduling, cargo, flight operations, and crew scheduling to 300 airlines and more than 100 airports around the world. Having blazed the e-commerce trail for the travel industry—pioneering online travel agencies, corporate booking tools, revenue management, and Web and mobile itinerary tools, to name just a few—Sabre continues to develop solutions that define the travel and transportation marketplace.
NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE
Jaime Ferrand
44
snapshot
Sabre Holdings sabre-holdings.com Headquarters: Southlake, Texas Industry: Travel technology services Employees: 10,000 Oracle products: Oracle Database 11g, Oracle Real Application Clusters, Oracle Enterprise Manager, Oracle Data Guard, Oracle GoldenGate
Today, with its pioneering use of Oracle Real Application Clusters (Oracle RAC), Oracle Database 11g, and Oracle Enterprise Manager, Sabre is building on its history of innovation with a private database cloud that supports more than 100 projects and 700 users. “It only took a couple of projects to justify the investment in the private cloud,” says Marshall Romberg, an enterprise data architect at Sabre. “As we ramp up to 10, 20, 50, 100 projects, the savings just keep rolling in.” As an enterprise data architect, Romberg is responsible for devising standard IT solutions, especially in the areas of databases and replication. His objective with Sabre’s private database cloud is to standardize on a common set of building blocks and to deploy predefined configurations that can be scaled using modular components. “Consolidation involves turning large, complex, difficult-tomanage systems into condensed systems,” he explains. “Less hardware and software means fewer moving parts and easier management. Instead of having to back up, troubleshoot, or patch 100 systems, we maintain only one system.” Architecture Ingredients Consolidating databases onto a private cloud is a proven way to deliver scalable, efficient, and cost-effective database services to a large user base. When properly deployed, a private database cloud enables an IT department to reduce the number of servers and storage devices onto a shared hardware and software platform. The higher the consolidation density, the greater the return on investment. According to Sohan DeMel, vice president of product strategy and business development at Oracle, a consolidated database on a private database cloud makes the best use of the available resources. “A consolidated database consists of one or more application schemas that span one or more servers running Oracle Database 11g and Oracle Real Application Clusters,” DeMel explains. “When a new project is provisioned, a new schema is created, with its own set of tablespaces and corresponding service name.” Each application represents a different schema within a consolidated database, DeMel continues, with its own named database service spanning the available server resources. Resources are isolated at the service level. Sabre’s private database cloud uses the Automatic Workload Management and Quality of Service Management features of Oracle Database 11g to ensure that sufficient resources are available to Oracle Database, Oracle RAC, and Oracle Exadata Oracle Database 11g and Oracle Real Application Clusters (Oracle RAC) enable private cloud database consolidation. Oracle Database 11g and Oracle RAC are also key software components of the Oracle Exadata Database Machine, making it the ideal private database cloud consolidation platform. Oracle Exadata Database Machine provides a preintegrated configuration of hardware and software components engineered to work together, and optimized for a mix of demanding online transaction processing and data warehousing applications on a private database cloud.
November/December 2011 Oracle.com/oraclemagazine
meet application needs, even as the workload changes. In order to keep costs low, Sabre built its private database cloud on standardized, commodity-priced servers, storage pools, and network components. When more processing power is needed, Sabre can add another server without taking users offline. Oracle RAC transparently scales the database across pools of servers, providing fault tolerance from hardware failures. If a node in a server pool fails, Oracle Database 11g continues to run on the remaining servers in the pool. Currently about 100 projects are running on Sabre’s private database cloud, supporting between 600 and 700 users, who collectively access between 1 and 2 TB of data. The projects mostly involve custom travel applications that support airlines along with rail, hotel, and other travel industry applications. “We tell people, you can set up your own database servers, which is expensive and takes some effort. Or, if you prefer, you can come to the centralized farm. There’s no cost associated with it. It’s already there. This afternoon I can have your schema ready for you. It is a pretty easy sell,” says Romberg.
Better Utilization, Easier Management Previously Sabre’s project owners were responsible for their own hardware and software, including the database. Each of them went through the same basic procedures whenever they wanted to deploy a new database application: figuring out which hardware to use and then getting it deployed, tested, and configured. “In many cases, their standard-issue hardware included 24-core, 64-gigabyte blades, but most projects couldn’t really drive any sizable load on these servers,” recalls Romberg. “We found lots and lots of nearly idle systems, some with 5 percent CPU usage. There were many opportunities to consolidate projects and utilize less hardware.” Deploying these project databases on a consolidated private cloud enabled Sabre to improve quality-of-service levels—as measured in terms of database performance, availability, and data security—and reduce capital and operating costs in many areas. “Our development farm has been in operation for three years. The certification and production farms have each been in operation for two years. We already have easily recouped the costs—many, many times over,” Romberg contends. Because it’s all shared, the hardware and operational costs are incrementally very low. It’s much simpler as well, since Sabre now maintains just a couple of servers instead of several dozen. “We have been recommissioning lots of hardware and eliminating extra databases,” adds Romberg. “We are standardizing on blade servers running a standardized Oracle environment. Operationally it is much simpler overall.” As Sabre needs more resources, administrators can easily add nodes. However, compared to before, they don’t have to add as much capacity because they aren’t individually scaling every project. Having a big pool of capacity improves service for everyone. Even
45
“Instead of having to back up, troubleshoot, or patch 100 systems, we maintain only one system.” —Marshall Romberg, Sabre Holdings small applications get to enjoy the added reliability and availability of an Oracle RAC solution—which would be difficult to justify for dozens of individual projects outside of a Sabre’s investment in a private database cloud based on Oracle technologies started to pay off after just a shared environment. few projects, says Marshall Romberg, an enterprise data architect at Sabre. “The savings just keep rolling in.” It’s much faster to ramp up new projects as well. Instead of having to procure, certify, and deploy hardware database clusters—either for shared or for standalone applications. and software, and then build databases, configure runtime param“When we install Oracle RAC and Oracle Database 11g, we do it eters, and so forth, the entire infrastructure is already implemented, the same way every time,” he concludes. “Configuration, monitested, and ready to provision. “It’s a simple matter of creating a toring, alerting, backup—it just comes automatically. We have one schema, which takes about half an hour,” Romberg says. “We let standard solution that we know how to run really, really well.” people focus on servicing our customers and solving business problems, rather than worrying about the database. If and when we see Easy Cloud Management resource contention, our plan is to put certain services on certain Sabre uses Oracle Enterprise Manager to monitor its private datanodes and use the Oracle Database Resource Manager feature to base cloud, including receiving alerts, scheduling backups, moniguarantee minimum levels of service to each of the areas.” toring database activity, and investigating performance problems. “The Oracle RAC environment is really easy to manage,” Romberg Cloud Exceptions says. “We have used Oracle RAC for a long time and have seen steady Romberg cautions that a shared database cloud isn’t ideal for every improvement from Oracle9i Database to Oracle Database 10g to project or application. Oracle Database 11g, especially in the area of self-management. For example, Sabre’s private database cloud is optimized to provide Oracle RAC is much simpler to operate and run with Oracle Database the best overall performance for every project across the board, rather 11g. It’s working really well for us.” than being specifically optimized for a single application. In general, Sabre’s private database cloud is appropriate for any David Baum (
[email protected]) is a freelance business writer project requiring half a server or less of capacity. If a project needs based in Santa Barbara, California. multiple servers, Sabre will not recommend that it be a part of the shared environment because that application drives enough capacity Next Steps to efficiently use its own dedicated hardware. One such project is the Air Travel Shopping Engine, which is implemented as a primary LEARN more about master Oracle RAC cluster of four nodes, and a replicated four-node Oracle Database 11g Oracle RAC cluster. Oracle GoldenGate replicates the master data to a oracle.com/us/products/database “reader farm” of 8 two-node Oracle RAC clusters. Oracle Real Application Clusters oracle.com/us/products/database/options/real-application-clusters In the past Sabre used large symmetric multiprocessing systems Oracle Enterprise Manager for this type of application—which, according to Romberg, are much oracle.com/us/products/enterprise-manager more expensive than an equivalent Oracle RAC environment. “The Oracle cloud computing solutions more you need to scale, the quicker the cost curve goes up,” he oracle.com/us/technologies/cloud states. “With Oracle RAC, we have been able to achieve the same READ more about private database clouds levels of performance and reliability. We’re able to scale very easily by Database Consolidation onto Private Clouds (white paper) bit.ly/qZxQEm adding blades as we need them.” Database Consolidation onto Private Clouds (slide show) Thanks to the standards that Romberg and other enterprise archibit.ly/o04p0p tects have established, it’s relatively easy to create and scale these
oracle magazine November/December 2011
Your Destination for oracle anD Java expertise Written by leading technology professionals, Oracle Press books offer the most definitive, complete, and up-to-date coverage of Oracle products and technologies available.
effective MysQl: optimizing sQl statements Ronald Bradford Improve database and application performance
oracle Business process Management suite 11g Handbook Manoj Das, Manas Deb, and Mark Wilkins Implement successful business process management projects
Java programming Poornachandra Sarang Learn advanced skills from a Java expert
oracle Hyperion financial Management tips and techniques Peter John Fugere, Jr. Consolidate financial data and maintain a scalable compliance framework
E-BOOKS: Go to OraclePressBooks.com for Adobe Digital Editions (PDF) or Amazon for Kindle Editions. Join the Oracle Press Community: www.OraclePressBooks.com Follow us @OraclePress
47
Oracle Magazine at 25 See where it’s been and where it’s going. BY TOM HAUNERT
I
n 1987, a newsletter became a magazine. Oracle Magazine, Volume 1, Number 1, was published and distributed to subscribers of the newsletter it replaced. That first issue was still a newsletter at heart, however; it was 12 printed pages—including the front and back covers—in black and white (and various shades of green). And there were no ads. What happened next was even more dramatic: the second issue of Oracle Magazine. Oracle Magazine, Volume 1, Number 2, could also have been called Oracle Magazine 2.0. The first issue of Oracle Magazine had reported the news of the release of ORACLE RDBMS 5.1, but the second issue didn’t have a similar scoop. What the second issue did have was 48 printed pages. There was news. There were stories about Oracle customers. There
were stories about Oracle partners. There was information on how to use Oracle technology. There were ads. There was distribution to new readers and would-be subscribers. And there were subscription cards, to help officially turn readers into subscribers. ORACLE MAGAZINE NOVEMBER/DECEMBER 2011
As of that second issue, the Oracle Magazine community of contributors, Oracle customers, partners, subject matter experts, and subscribers was in place, and has remained for 25 years. Oracle Magazine celebrates 25 years of publication in 2011, and extends its most sincere thanks to the community that made it all possible. Magazine Design Evolution The printed Oracle Magazine has continued to evolve over 25 years, although some evolutionary steps are more apparent than others. For example, as the number of pages in the magazine increased, the staple-bound format (saddle stitch, for those interested in the publishing term) gave way to a square binding (perfect bound is the publishing term). As demand grew and simply increasing the magazine’s page count was not enough to cover everything, the frequency of the magazine went from two issues in the first year to four issues in the next, and then in 1995 to the current frequency of six bimonthly issues per year. In terms of design, that green accent color in the first few issues of Oracle Magazine gave way to different colors assigned to different content in 1988. The Oracle corporate logo was also the Oracle Magazine logo from 1987 until 2000, when it was replaced by a version of the current, taller Oracle logo (based on the TradeGothic typeface, for those interested in typefaces). And the now ubiquitous Oracle red (also known as Pantone 485) has appeared on every cover since 2000. There have also been periodic redesigns of the magazine’s interior— the latest was in 2010.
Magazine Content Continuum Logo and redesign changes aside, the biggest changes from issue to issue of Oracle Magazine are in the magazine’s content. The content is constantly changing, even when the appearance of the content remains the same. A regular publication schedule means that magazine issues cannot wait to cover the next big database release announcement or sea-change technology innovation. Because they can’t wait, magazines create ongoing sections and types of content to fit those sections and then plug the best and most timely content possible into each magazine issue. For example, Oracle Magazine dedicates space for news and covers what’s new at the time of editorial and publishing deadlines. In its 133 issues (through November/December 2011), Oracle Magazine has covered the news of Oracle Database releases—from the aforementioned ORACLE RDBMS 5.1 in 1987 through Oracle Database 11g Release 2 in 2009. The magazine has also covered release announcements for Easy*SQL, SQL*Calc, SQL*Forms, Oracle SQL Developer, Oracle Application Express, Oracle JDeveloper, Oracle E-Business Suite, Oracle Fusion Middleware, Oracle Fusion Applications, Oracle Exalogic Elastic Cloud, the Oracle Exadata Database Machine, Oracle server and storage hardware, and many more Oracle products and technologies over 25 years. Oracle customer stories have also been a constant in Oracle Magazine for 25 years. These stories have evolved with Oracle technology, moving from stories about a customer’s use of Oracle
Readers have technology questions, and Oracle Magazine has technology answers.
Oracle Magazine TEAM
Caroline Kvitka Senior Managing Editor
Justin Kestelyn Senior Director, Oracle Technology Network
November/December 2011 Oracle.com/oraclemagazine
Tom Haunert Editor in Chief
Leslie Steere Senior Editorial Director
Jennifer Hamilton Production Director and Associate Publisher
Francisco G Delgadillo Senior Creative Director
Bob Adler
Jeff Spicer Publisher and Vice President, Oracle Marketing
Database to stories about the use of Oracle Database as well as Oracle Applications, Oracle Fusion Middleware, Oracle Enterprise Manager, the Oracle Exadata Database Machine, and much more. As organizations adopt the newest Oracle products and technologies, Oracle Magazine includes stories on the customers using those products, enabling those early adopters to share their experiences with the rest of the Oracle Magazine community. Articles on how to use Oracle technology have evolved in 25 years, from tips and tricks to white papers to hands-on, how-to pieces by industry experts including Tom Kyte, Steven Feuerstein, Arup Nanda, and Mark Rittman. Readers have technology questions, and Oracle Magazine has technology answers. The question-and-answer format in Tom Kyte’s Ask Tom series is the most obvious Q&A example, but all of the magazine’s technology content is designed to answer questions about Oracle technology. Most recently, readers have asked for beginner content, and the magazine responded by adding two article series for beginners: SQL 101 and PL/SQL 101. The Oracle Magazine community is diverse, so community content is also segmented. Oracle partners describe their offerings in Partner News. The Oracle Technology Network Community Bulletin is for members of that community. The Architect column is for software and enterprise architects. User group members are featured in the Up Close column and video series, and user group presidents cover user group topics in the In the Field columns. In 2007, Oracle Magazine added the Interview column and podcast series. In 2008, the magazine added the aforementioned Up Close article and video series. In 2011, Oracle Magazine prototyped its first animated technical illustration. And more audio, video, and animation ideas are in the works, so stay tuned.
Richard Merchán Design Director
Karin Kinnear Senior Manager, Audience Development and Operations
Jaime Ferrand, Contributing Designer Sheila Brennan, Production Designer
Jeff Erickson Senior Editor
Interactivity Subscribers and readers have asked not only for different types of content in the magazine but also for different ways to access that content. Since the 1990s, Oracle Magazine has been more than print on paper. In the mid-1990s, the magazine’s content was briefly available on CD, and then more widely available on the Web—as it still is today. In 2006, Oracle Magazine introduced a digital distribution option for subscribers. And in 2010, the magazine arrived on the iPad and iPhone. With these digital, iPad, and iPhone distributions, Oracle Magazine continues to be portable, beyond print, to reach and respond to new audiences on new devices. As a print publication, Oracle Magazine has always been portable. And while reading, answering, and printing letters to the editor also makes it interactive on some level, by 2010 Oracle Magazine was also on Facebook, Twitter, and LinkedIn, taking magazine interactivity to another level. Oracle Magazine’s distribution and interactivity will continue to evolve to meet the needs of subscribers. Thanks again to the Oracle Magazine community of contributors, Oracle customers, partners, subject matter experts, and subscribers. And thank you all for driving the magazine to do more.
Next Steps READ more Oracle Magazine oracle.com/oramag SUBSCRIBE to Oracle Magazine oracle.com/us/corporate/publishing/subscribe LEARN more about the Oracle Magazine community oracle.com/technetwork/oramag/magazine/communities
Sprocket Media, Advertising Sales Kyle Walkenhorst, Mark Makinney, Cindy Elhaj, Tom Cometa, and Shaun Mehr
Marta Bright Senior Editor
Rich Schwerin Senior Manager
oracle magazine November/December 2011
TOGETHER ORACLE AND NATIONAL GEOGRAPHIC EDUCATION ARE
Leading the Way in Ocean Education and Marine Research
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.
Support our work today. Visit nationalgeographic.org/education.
National Geographic is a 501(c)(3) organization. PHOTOGRAPH BY ENRIC SALA
Database Developer
Business Intelligence by Mark Rittman
Oracle Business Intelligence Enterprise Edition 11g
Automating Oracle Business Intelligence Administration
Use the Oracle BI Systems Management API to automate administrative tasks.
I
f you are a systems administrator responsible for an Oracle Business Intelligence Enterprise Edition 11g deployment, you probably use Oracle Enterprise Manager to perform your management tasks. Using Oracle Enterprise Manager, you can deploy new repositories and catalogs to your Oracle Business Intelligence Enterprise Edition instance and can make configuration changes that update performance parameters, enable query caching, and add extra components to handle system load. In some cases, it’s more useful to create scripts to handle these tasks. Using scripts, you can apply postinstall changes to a system, deploy changes in bulk across many environments, and automate time-consuming operations to reduce the chance of human error. With Oracle Business Intelligence Enterprise Edition 11g, two new features now make scripting these tasks possible: the Oracle BI Systems Management API and Oracle WebLogic Server's WebLogic Scripting Tool. The Oracle BI Systems Management API is a set of Java Management Extensions (JMX) Administration MBeans that provide systems management functionality for a business intelligence domain. WebLogic Scripting Tool is a scripting technology that enables administrators to monitor Oracle WebLogic Server instances and domains. This article explores how to use these two tools to automate business intelligence tasks. The Oracle BI Systems Management API Oracle Enterprise Manager Fusion Middleware Control enables administrators to perform system administration
tasks. Behind the scenes, this tool works by accessing a set of JMX Administration MBeans. These MBeans handle a wide range of Oracle Fusion Middleware administration tasks, and the subset specifically associated with business intelligence tasks is called the Oracle BI Systems Management API. Using this API ensures that configuration changes are always applied correctly across every affected component in the cluster. You can take a closer look at these MBeans and their various attributes and operations by using Oracle Enterprise Manager’s System MBean Browser. 1. In your Web browser, navigate to http://:7001/em, where “host” is the host name of the server where you have installed Oracle Business Intelligence Enterprise Edition 11g. 2. When prompted, enter the username and password for a valid Oracle WebLogic Server administration user (for example, weblogic/welcome1). 3. After you log in, use the navigation tree on the left-hand side of the page to expand the WebLogic Domain folder and then the bifoundation_domain folder. Right-click the AdminServer entry and select System MBean Browser from the context menu. 4. The System MBean Browser shows a navigation tree displaying all the administration MBeans available from the administration server. Within this list, navigate to Application Defined MBeans -> oracle.biee.admin -> Domain: bifoundation_domain to see a list of all the JMX MBeans available within the Oracle BI Systems Management API.
To view the full API, including descriptions of JMX MBean methods and attributes, consult the Oracle Fusion Middleware System Administrator’s Guide for Oracle Business Intelligence Enterprise Edition, which can be accessed in Javadoc format at ORACLE_ HOME/doc/javadoc/bifoundation/jmxapi/ index.html. So what can you do with the API, and how do you use WebLogic Scripting Tool to work with the JMX MBeans? In this article, I'll use these MBeans to perform a common systems management task: uploading a new business intelligence repository and restarting the server component so that the new repository becomes available for queries. Using JMX Administration MBeans to Upload a New Repository The Oracle BI Systems Management API contains three JMX MBeans you need to use to upload a new repository and make it available to users: • BIDomainMBean (BIDomain in the System MBean Browser) • BIInstanceMBean (BIDomain.BIInstance in the browser) • ServerConfigurationMBean (BIDomain .BIInstance.ServerConfiguration in the browser) The BIDomainMBean is used to lock, activate, or roll back configuration changes to the Oracle business intelligence domain. This MBean is used to implement the Lock and Edit Configuration, Activate Changes, and Release Configuration buttons in Oracle Enterprise Manager. The BIInstanceMBean contains details of an instance within a business intelli-
oracle magazine November/December 2011
51
52
Business Intelligence
gence domain. An instance corresponds to a collection of servers, presentation servers, and other system components within an Oracle Business Intelligence Enterprise Edition 11g system. The ServerConfigurationMBean actually performs the repository upload. It is one of several MBeans within the Oracle BI Systems Management API that handle a variety of administrative tasks, such as managing the query cache, managing e-mail configurations, adding components to and removing them from the cluster, and configuring security. To make use of these particular JMX MBeans, you can either invoke their methods manually from the System MBean Browser graphical interface or call them from within a Java application. The latter is what actually happens when you use the Oracle Enterprise Manager console to manage your instance. To implement these same functions from a script, you use WebLogic Scripting Tool.
copy the SampleAppLite.rpd file (which you can usually find at ORACLE_HOME/ instances/instance1/bifoundation/ coreapplication_obis1/repository/ SampleAppLite.rpd) to the same temporary directory on the server. Rename this file SampleAppLite_test.rpd. 8. Ensure that your business intelligence domain is available and that the Oracle WebLogic Server administration console is running, and then open a command-line terminal on the same server. Navigate to the ORACLE_HOME/ Oracle_BI1/common/bin directory, and run the RPDUpload.py WebLogic Scripting Tool script using the command below, substituting your own host name, administration server port, and administration username and password: wlst c:\temp\RPDUpload.py localhost 7001 weblogic welcome1 c:\temp\SampleAppLite_test.rpd Admin123
Scripting the Oracle BI Systems Management API WebLogic Scripting Tool is a command-line tool for performing administration functions and viewing the configuration state of an Oracle WebLogic Server domain. You can use WebLogic Scripting Tool “online,” typing commands for immediate execution, or “offline,” writing a script for later execution in batch form. You write scripts in a language called Jython, which is an implementation of the Python language in Java. WebLogic Scripting Tool is installed automatically as part of the Oracle Business Intelligence Enterprise Edition 11g initial setup. The following example shows how to use WebLogic Scripting Tool, along with the JMX Administration MBeans identified earlier, to perform the repository upload task. 5. Use a text editor on the server hosting Oracle Business Intelligence Enterprise Edition 11g to create the WebLogic Scripting Tool script in Listing 1, available with the online version of this article at bit.ly/nv4n7U. 6. Save the script as RPDUpload.py, and copy it to a temporary directory such as c:\temp on the server. 7. To create a test repository to upload,
9. The script will run and output comments at various stages of the process. To check that your new repository uploaded successfully, use your Web browser to navigate to the Oracle Enterprise Manager site at http://:7001/em. Log in using the same Oracle WebLogic Server administration username and password as above, and then use the navigation tree on the left-hand side of the screen to navigate to Business Intelligence -> coreapplication. Using the tabs on the right-hand side of the screen, click Deployment and then Repository, and check that your new repository is listed as the default online repository for your domain. Restarting Components and Completing the Task Looking at the repository in Oracle Enterprise Manager, you may notice the warning message “Restart to apply recent changes.” Oracle Enterprise Manager displays this message when you need to restart one or more system components after a configuration change. You can perform the restart by clicking the Restart All button on the Capacity Management -> Availability tab, or
November/December 2011 Oracle.com/oraclemagazine
you can modify your WebLogic Scripting Tool script by moving the final exit() command to the end of the script and adding the lines shown in Listing 2, available with the online version of this article at bit.ly/nv4n7U. You can download the final RPDUpload .py WebLogic Scripting Tool script, including the additional step for restarting the instance, at bit.ly/qw2VPF. In Summary Performing system administration tasks for an enterprisewide distributed Oracle BI system can involve making changes to many components spread over multiple servers. The Oracle BI Systems Management API, part of Oracle Business Intelligence Enterprise Edition 11g, together with WebLogic Scripting Tool, provides a handy command-line environment for managing and propagating changes either interactively or through Jython-based scripts. Use the Oracle BI Systems Management API when you need to deploy repositories, catalogs, or other metadata as part of a systems rollout or when you need to script changes across several environments in a controlled and repeatable manner.
Mark Rittman is an Oracle ACE Director, cofounder of Rittman Mead Consulting, and an executive board member of the Oracle Development Tools User Group. He writes for the Rittman Mead blog at rittmanmead.com/blog. Next Steps READ online-only article content bit.ly/nv4n7U READ more Rittman bit.ly/nMo8CG LEARN more about Oracle Business Intelligence Enterprise Edition 11g bit.ly/ihRSZR Oracle BI Systems Management API bit.ly/piMtDE DOWNLOAD the Oracle WLST script for this article bit.ly/qw2VPF
Java Developer
Oracle ADF By Frank Nimphius
Oracle JDeveloper and Oracle Application Development FRAMEWORK
Put on a Friendly Face
Build a custom look and feel for your Oracle ADF Faces applications.
A
n ancient Chinese proverb says, “He who does not have a friendly face should not run a business.” An application’s look and feel can be the friendly face your company shows its customers to help generate a positive impression of the business. Oracle ADF Faces—the Oracle Application Development Framework (Oracle ADF) view technology based on JavaServer Faces (JSF)—provides an integrated framework for styling user interface components to fit your corporate branding and UI standards. Oracle ADF Faces skinning enables developers to change an application’s look and feel—including color scheme, font size and style, component borders, default label text, images, and more—without changing the application’s UI code. This column provides an overview of skinning and explains the workflow for putting a fresh smile on your applications by using the Oracle ADF Faces skin editor, introduced in Oracle JDeveloper 11g Release 11.1.2. Then, as an exercise, you’ll create a new skin for a sample application. To begin, download the Summit ADF Project application and schema from bit.ly/oHIdkY and unzip the SummitADFV1_0_08072011.zip file. Ensure that you’re using the studio edition of Oracle JDeveloper 11g Release 11.1.2 (or later), available as a free download from Oracle Technology Network at oracle .com/technetwork/developer-tools/ jdev/downloads. In Oracle JDeveloper, open the Summit_Schema.jws project, located in the Schema folder in the SummitADFV1_0_08072011 folder. In the Application Navigator, expand the Database node’s Resources folder, and double-click build_summit_schema.sql. On the SQL Worksheet tab, click the Run Script button (or press the F5 key). When prompted to
select a database connection, select a connection for a user who has the privileges necessary to create a new user and schema and click OK to run the script. (If you do not have a connection in Oracle JDeveloper for such a user, click the plus sign in the Select Connection dialog box, create a new connection for an appropriately privileged user—such as SYSTEM—and select that new connection.) When the script finishes, close the Summit_Schema project. Oracle ADF Faces Skinning 101 Skinning uses the standard Cascading Style Sheets (CSS) language to specify colors, fonts, icons, and images for Oracle ADF Faces components. The style definitions are decoupled from the generated HTML component output, which makes custom look-and-feel definitions easy to write and maintain. The style definitions are dynamically added to the generated HTML page output at runtime. When used for conventional Web page development, CSS uses selectors to address HTML elements on a page. Similarly, Oracle ADF Faces skinning uses specific skin selec-
tors to address Oracle ADF Faces components (such as af:inputText) or areas within a component (such as the label or data portion). The most-common selectors are • Global selector aliases. Global skin selectors apply CSS definitions to all or a group of components. Global selector names are suffixed with the :alias string, as in .AFDefaultFont:alias. • Component type selectors. Component selectors apply to all instances of a specific component type, such as af:inputText or af:commandButton. The component type selector name is similar to the tag name of the component that it skins. The difference is that the type selector uses a pipe symbol, whereas the component tag name has a colon. For example, the component type selector for the af:inputText component tag is af|inputText. • Component pseudo-elements. Pseudoelements point to specific areas in a component. For example, to style the data portion of a text input field, you use the af|inputText::content selector and element. • Descendant selectors. To style a component based on its location on a page, you
Figure 1: Oracle ADF Faces skin editor
oracle magazine November/December 2011
53
54
Oracle ADF
use descendant selectors. For example, to apply a different style to an af:goButton located in a toolbar, you use the af|toolbar af|goButton descendant selector. • Pseudo-classes. To visually indicate component state (such as disabled) or behavior state (such as mouse hover), you use standard CSS pseudo-classes. The skin editor helps you discover and style pseudo-classes for the component you are skinning. • Resource selectors. In addition to changing a component’s look and feel, you can change its default labels. In this instance, Oracle ADF Faces skinning goes beyond what is possible in traditional CSS. For example, to change the OK label in af:dialog to Accept, you add af_dialog .LABEL_OK : Accept to the resource properties file. See the Oracle ADF Faces skin tag documentation (part of the Oracle Fusion Middleware API documentation) at bit.ly/ nNImZC for a complete list of components and their resource selectors. To respond to differences in how browsers render CSS, Oracle ADF Faces skinning provides the @agent, @version, and @platform selectors. For example, to add padding to text component labels only when they are displayed in Mozilla Firefox 3.6 on Microsoft Windows, you use the following style construct: @platform windows{ @agent gecko and (version: 3.6*){ af|inputText::label{ paddingright:2px;} } }
Similarly, the @locale selector uses the browser locale setting on the client to specify look-and-feel changes. For example, you can use this style construct to change the af:infputText component’s colors only for the Germany (de) locale: @locale de{ af|inputText::label{backgroundcolor:yellow;} af|inputText::content{backgroundcolor:black; color:red;} }
Figure 2: Oracle ADF Summit sample application with fusionFx look and feel
Figure 3: Custom look and feel applied to the Oracle ADF Summit application
The skin displayed in an Oracle ADF application is configured in the trinidadconfig.xml file, located in the WEB-INF folder of the ViewController project. By default, the <skin-family> XML element in this configuration file is set to one of the skins shipped with Oracle JDeveloper. The skins an application can use must be defined in the trinidad-skins.xml configuration file—either in the application itself or referenced from an Oracle ADF library. Oracle ADF Faces Skin Editor Overview The Oracle ADF Faces skin editor, shown in Figure 1, hides the CSS configuration details from the skin designer by exposing a visual and declarative development environment. In the skin editor, you edit style definitions via the Property Inspector (CtrlShift-I). Properties with a blue arrow icon
November/December 2011 Oracle.com/oraclemagazine
on their left, such as the Background Image property in Figure 1, inherit their style definitions. When you move the mouse over the icon, a tool tip shows information about the parent skin CSS file. A green icon, such as the one to the left of the Background Color property in Figure 1, indicates that a property value in the custom skin overrides an inherited value. Using the context menu in the Property Inspector, you can reset a property to its inherited value. The main area of the Oracle ADF Faces skin editor shows a preview of how a style added to a skin selector—for example, af|inputText::content in Figure 1—renders for different component states and themes. Clicking one of these areas—for example, af|inputText::content:busy—enables you to change colors for the selected component area and state in the Property Inspector.
55
Figure 4: Skin creation dialog box
Themes—indicated by several theme tabs—are attribute selectors for distinguishing nested layout components of the same type. For example, to visually separate two nested af:panelBox components, you set the theme attribute to a different value for one of them. Themes are inherited by components contained in those layout areas, which is why the skin editor shows the theme tabs for all components. The component tree on the left-hand side of the skin editor in Figure 1 shows the available components and selector aliases that developers can change in a skin. You expand the component entry to see the component selector, available pseudo-elements, style classes, and descendant selectors. You can switch the component tree view between the Available Selectors view and the Updated Selectors view. The plus sign next to the view switcher enables you to create custom :alias classes or new CSS style classes. Skinning Workflow A basic workflow for building custom skins using the Oracle ADF Faces skin editor is as follows: 1. Create a skin project. Because skins are reusable components, they should be created in their own project or workspace. 2. Create a new skin by extending an existing skin. Oracle ADF Faces provides simple default skins that are specifically designed to be extended by custom skins. 3. Analyze the application for the components to skin. Identify the components on a page that you want to skin, and map them to skin selectors with the skin editor. 4. Identify global selector aliases to
skin first. Selector aliases do the proverbial 20 percent of the work that affects 80 percent of the components in an application. 5. Define custom :alias definitions. Custom :alias definitions simplify maintenance of style definitions used on multiple components. You apply custom :alias definitions via the –tr-rule-ref selector. 6. Generate images and icons. Use the skin editor to generate custom colored versions of Oracle ADF Faces component images and icons. 7. Edit the skin CSS file with the skin editor. Use the skin editor to discover skin selectors for the components and behavior you want to skin, and apply the changes via the Property Inspector. 8. Deploy the skin in an Oracle ADF library. Skins can and should be reused. For this purpose, create an Oracle ADF library deployment profile from the skin project and deploy the skin in a Java Archive (JAR) file. 9. Frequently test your custom skin in a browser. Reference the skin JAR file from the ViewController project of the target application. Set the custom skin family name in the <skin-family> element of the target application’s trinidad-config.xml file. 10. Deploy the skin as a shared library to Oracle WebLogic Server. Optionally, if a custom skin is shared among applications, deploy the skin Oracle ADF library JAR file as a shared library to Oracle WebLogic Server and edit the application’s weblogic-application.xml file to reference it. Hands-On Skinning Exercise Now that you have an overview of skinning and the skin editor, you’re ready for some hands-on practice. In a simple exercise, you’ll skin the Oracle ADF Summit sample application to give it a new color scheme. Before you can start the skinning project, you must migrate the Oracle ADF Summit application to Oracle JDeveloper 11g Release 11.1.2. In Oracle JDeveloper, open the SummitADF.jws workspace, located in the Application folder in the SummitADFV1_0_08072011 folder. Click
Next to accept the migration changes suggested by Oracle JDeveloper, and click Finish to save them. Start by taking a look at the Oracle ADF Summit application’s current look and feel, shown in Figure 2. In the Application Navigator, expand the ViewController project and double-click the index.jspx file in the Web Content folder to open it in the design view. Right-click in the page design, and choose Preview in Browser. The Preview in Browser option shows the page in a layout-only view with no data queried from the business services and without starting Oracle WebLogic Server. (If you want to see the page with live data, as in Figure 2, choose the Run option instead.) After you complete the skinning exercise, the Oracle ADF Summit application will have the new custom look shown in Figure 3. Back in Oracle JDeveloper, begin to create a new skin project by choosing File -> New. Select the All Features tab. Under Categories, choose General -> Projects. Under Items, select Custom Project and click OK. In the open dialog box, enter OraBlogsRedSkin as the Project Name and shuttle the ADF Faces library entry from the list of available libraries to the list of selected libraries. This automatically also adds the Java, JSF, JavaServer Pages and servlets, Trinidad, and XML library dependencies to the list of selected libraries. Click Next to access the dialog box for configuring Java settings. Leave its values unchanged, and click Finish. In the Application Navigator, right-click the OraBlogsRedSkin project node and choose New. On the New Gallery dialog box’s Current Project Features tab, select Web Tier -> JSF/Facelets and then ADF Skin. Click OK to open the Create ADF Skin File dialog box. Enter OraBlogsRedSkin .css in the File Name field, as shown in Figure 4, to configure it as the skin definition file that will hold the skin selector and styling information. The skin Family name automatically changes to the same base name as the CSS file’s. If it’s not selected by default, select fusionFx-simple-v2.desktop from the Extends list. The fusionFx simple skin is a
oracle magazine November/December 2011
56
Oracle ADF
default skin that is specifically designed as a starting point for new skin-development projects. In contrast to the full fusionFx skin, the fusionFx simple skin uses fewer color definitions on the individual UI components and has fewer global alias selectors to override. Click OK to close the skin creation dialog box, after which Oracle JDeveloper 1. Creates the trinidad-skins.xml configuration file in the skin project’s WEB-INF directory. The new skin is configured in this file. 2. Updates the trinidad-config.xml file for the <skin-family> element to reference the OraBlogsRedSkin skin family name. 3. Creates a skinBundle.properties file to enable you to change the default component label strings if necessary. 4. Adds the OracleBlogsRedSkin.css file to the Web Content folder. 5. Opens the skin editor (shown in Figure 1) so that you can edit the CSS file with your custom style definitions. (If you closed the skin editor, you can reopen it by double-clicking the CSS file.) The next step is to configure the global component selectors aliases according to the color scheme for the OraBlogsRedSkin skin, which is inspired by the look of the blogs.oracle.com/jdevotnharvest site. If you don’t own the color scheme for a site, you can use tools such as the I Like Your Colors tool at redalt.com to generate one. The scheme then needs to be refined and mapped to the colors and the global selector aliases of the fusionFx simple skin. Figure 5 shows the fusionFx colors and the replacement colors used by the OraBlogsRedSkin skin. The hex-code values are the color codes of the OraBlogsRedSkin color scheme. To skin global selectors according to the color scheme shown in Figure 5, expand the Global Selector Aliases -> Color entry in the skin editor, as shown in Figure 6. Locate each of the selector names listed in Figure 5, and use the Property Inspector to apply the color hex code to the Background Color property for background selector aliases or the Color property for foreground selector aliases. Text and label selector aliases are located in Global Selector Aliases -> Text,
and link selector aliases are in Component Group -> Links. The skin editor preview screen refreshes for each change of a style property, even if there is no immediate change to show in the preview. Note that the skin editor doesn’t yet show the AFLabelTextForeground:alias selector. To skin this selector, click the Source tab at the bottom of the skin editor and add the following definition: .AFLabelTextForeground:alias{ color: #4b4b4b; }
Click the Design tab to return to the visual editor view. The View As list in the skin editor toolbar enables you to see the color change on different Oracle ADF Faces components styled by the global alias. For example, if you expand the Global Selector Aliases -> Component Group : Link node and select the .AFActiveLinkBorder:alias selector, you can see how changes you applied to the global selector aliases appear on a select-choice component, a list component, and the Oracle ADF Faces shuttle for this selector. The Oracle ADF Summit application contains components, such as af:panelTab, that use images to render componentspecific shapes, such as rounded edges or tab items. To skin those images, you can provide your own images or use the Oracle ADF Faces skin editor to add default images to the skin project. To generate images according to the color definitions added to the global selector aliases, open the OraBlogsRedSkin.css file in the skin editor and select the Images tab at the bottom of the editor to open the imagegenerator view. Click the Apply To Skin button above the image preview, as shown in Figure 7, to create the images and copy them to your custom skin project. The Oracle ADF Faces skin editor also adds the skin selector changes to the skin CSS file so that the components use the custom images instead of the default images. Click the Source tab at the bottom of the Oracle ADF Faces skin editor to see the actual skin selector changes defined for this custom skin.
November/December 2011 Oracle.com/oraclemagazine
Figure 5: Mapping of fusionFx selector alias colors to custom colors
Click the Design tab to see the skin preview. Select the af|inputText -> PseudoElements -> content node to see a preview of the applied skin changes for the af:inputText component. In the Property Inspector, move the mouse over the blue arrow icon next to the Color property to see where the foreground color is inherited from. Test the Skin So far you’ve customized only global selector alias settings and created new images. This is a good time to check how the new skin looks in a browser, but before testing the skin, you need to deploy it as an Oracle ADF library to the ViewController project of the Oracle ADF Summit application. In the Application Navigator, doubleclick the OraBlogsRedSkin project node and select Deployment in the Project Properties dialog box. Click New to create a new Oracle ADF library JAR file. Enter OraBlogsRedSkin as the deployment profile name, and click OK. Then click OK in the opened Library Dependencies dialog box without editing any properties. Click OK again to exit the project properties. In the Application Navigator, right-click the OraBlogsRedSkin project node and choose Deploy -> OraBlogsRedSkin. Click Next and Finish to create the JAR file in the file system. Next, expand the ViewController project and double-click the trinidad-config .xml file, located in the Web Content -> WEB-INF folder. In the file source, change the <skin-family> element value from fusion to OraBlogsRedSkin. This
57
ADF library before testing the changes in the ViewController project.
Figure 6: Skin editor and Property Inspector view for configuring global component selectors
Conclusion This column has shown you how easy it is to put a fresh smile on your Oracle ADF Faces application by using the Oracle ADF Faces skinning framework and the declarative Oracle ADF Faces skin editor in Oracle JDeveloper 11g Release 11.1.2. The skin editor is also available in a standalone version, for the benefit of developers who want to build a custom look and feel for Oracle JDeveloper 11g Release 11.1.1.x applications. The standalone skin editor enables you to select an Oracle JDeveloper target version when you create a skin. (Note that because some of the default skins available in Oracle JDeveloper 11g Release 11.1.2 are not available in previous Oracle JDeveloper versions, the skin editor hides the default skins that are unavailable in a target version.)
Frank Nimphius is a senior principal product manager for Oracle JDeveloper and Oracle Application Development Framework. He is a coauthor of Oracle Fusion Developer Guide: Building Rich Internet Applications with Oracle ADF Business Components and Oracle ADF Faces (McGraw-Hill, 2010). Figure 7: Skin editor image and icon generation dialog box
setting will apply the custom skin when you run the application. To ensure that the custom skin is found at design time and runtime, you need to reference the skin Oracle ADF library from the View Controller library settings. In the Application Navigator, double-click the ViewController project and select Libraries and Classpath in the Project Properties dialog box. Click Add JAR/Directory, and navigate to the OraBlogsRedSkin -> Deploy folder. Expand the folder, select the OraBlogsRedSkin.jar file, click Select,and click OK. In the Application Navigator, expand the DOWNLOAD Oracle JDeveloper 11g Release 2 oracle.com/technetwork/developer-tools/jdev/ downloads
Web Content folder in the ViewController project and double-click the index.jspx file to open it in the design view. You should see the new skin colors when the design renders. To runtime-test the custom skin in a browser, right-click the index.jspx page in the design view and choose either Preview in Browser or Run. If your skin is behaving correctly, you can refine the OraBlogsRedSkin definition now—for example, by adding styles to individual component selectors. (If you haven’t successfully completed the exercise, you can download and use the completed Oracle ADF Summit sample application from oracle.com/technetwork/issuearchive/2011/11-nov/o61adf-444917.zip.) When making further refinements, be sure to redeploy the OraBlogsRedSkin skin Oracle
Next Steps READ more about Oracle ADF bit.ly/hUMKrB Oracle ADF and skins bit.ly/qQ7n3W the tag reference for skin selectors bit.ly/nNImZC Apache Trinidad skinning bit.ly/qYd9eA READ Oracle Fusion Middleware Skin Editor User’s Guide for Oracle Application Development Framework 11g Release 2 (11.1.2.0.0) bit.ly/ptupdb LEARN more about Oracle ADF and skins Changing an Application’s Look and Feel by Using Skins tutorial on Oracle Technology Network bit.ly/qxyMqt DOWNLOAD the Oracle ADF Summit application project bit.ly/oHIdkY the completed Oracle ADF Summit application bit.ly/rnhcJn
oracle magazine November/December 2011
Create cutting edge reports with the complete set of tools from Altova® Experience how the Altova MissionKit®, the integrated suite of XML, database, and data integration tools, lets you display and analyze data through enhanced chart and report generation.
Report generation is finally easy – and affordable – with Altova MissionKit reporting tools: StyleVision® – stylesheet and report design tool • Consolidated reporting based on XML, database and/or XBRL data • Dynamic data selection and rendering • HTML, Microsoft Word, PDF, and e-Form report creation
s Visit u
!
orld OpenW Oracle #106 Booth
XMLSpy® – advanced XML editor • Instant creation of charts to analyze XML data • One-click export of charts to XSLT, XQuery, or image files MapForce® – any-to-any data mapping tool • Integration with StyleVision for rendering attractive reports • Report generation for virtually any data format: XML, databases, EDI, flat files, Excel 2007+, and more
Download a 30 day free trial! Try before you buy with a free, fully functional, trial from www.altova.com
Scan with your smartphone to learn more about these products
Database Application Developer | PL/SQL
PL/SQL 101 BY STEVEN FEUERSTEIN
ORACLE DATABASE
Working with Numbers in PL/SQL Part 4 in a series of articles on understanding and using PL/SQL
T
I-HUA CHEN
he previous article in this introductory PL/SQL series focused on working with strings in PL/SQL-based applications. Without a doubt, strings are the most common type of data with which PL/SQL developers will work, but it is certainly a very rare application that does not also rely on numbers. You need to keep track of the quantities of items, and much more. As a result, you will quite often need to • Declare variables and constants for numbers • Use built-in functions to modify values, such as the rounding of numbers This article gives you all the information you need in order to begin working with numbers in your PL/SQL programs. NUMBERS IN PL/SQL PL/SQL offers a variety of numeric datatypes to suit different purposes: • NUMBER. A true decimal datatype that is ideal for working with monetary amounts. NUMBER is the only one of PL/SQL’s numeric types to be implemented in a platform-independent fashion. • PLS_INTEGER. Integer datatype conforming to your hardware’s underlying integer representation. Arithmetic is performed with your hardware’s native machine instructions. You cannot store values of this type in tables; it is a PL/SQLspecific datatype. • SIMPLE_INTEGER. Introduced as of Oracle Database 11g Release 1. The SIMPLE_ INTEGER datatype results in significantly shorter execution times for natively compiled code. This datatype is not explored in this article. • BINARY_FLOAT and BINARY_DOUBLE. Single- and double-precision, IEEE-754, binary floating-point datatypes. These
BINARY datatypes are highly specialized and are useful when you need to improve the performance of computation-intensive operations. These datatypes are not explored in this article. In practice, you may encounter other numeric types, such as FLOAT, INTEGER, and DECIMAL. These are subtypes of the four core numeric types in the preceding list. Now let’s take a closer look at NUMBER and PLS_INTEGER. The NUMBER datatype. The NUMBER datatype is by far the most common numeric
datatype you’ll encounter in the world of Oracle and PL/SQL programming. Use it to store integer, fixed-point, or floatingpoint numbers of just about any size. Prior to Oracle Database 10g, NUMBER was the only numeric datatype supported directly by the Oracle Database engine; now you can use BINARY_FLOAT and BINARY_DOUBLE as well. NUMBER is implemented in a platform-independent manner, and arithmetic on NUMBER values yields the same result no matter what hardware platform you run on.
Code Listing 1: Demonstration of the range of NUMBER datatype values DECLARE tiny_nbr NUMBER := 1e-130; test_nbr NUMBER; --big_nbr
1111111111222222222233333333334 1234567890123456789012345678901234567890 NUMBER := 9.999999999999999999999999999999999999999e125;
-1111111111222222222233333333334444444 -1234567890123456789012345678901234567890123456 fmt_nbr VARCHAR2(50) := '9.99999999999999999999999999999999999999999EEEE'; BEGIN DBMS_OUTPUT.PUT_LINE( 'tiny_nbr =' || TO_CHAR(tiny_nbr, '9.9999EEEE')); /* NUMBERs that are too small round down to zero. */ test_nbr := tiny_nbr / 1.0001; DBMS_OUTPUT.PUT_LINE( 'tiny made smaller =' || TO_CHAR(test_nbr, fmt_nbr)); /* NUMBERs that are too large throw an error: */ DBMS_OUTPUT.PUT_LINE( 'big_nbr =' || TO_CHAR(big_nbr, fmt_nbr)); test_nbr := big_nbr * 1.0001; -- too big DBMS_OUTPUT.PUT_LINE( 'big made bigger =' || TO_CHAR(test_nbr, fmt_nbr)); END; And here is the output from this block: tiny_nbr tiny made smaller big_nbr big made bigger
= 1.0000E-130 = .00000000000000000000000000000000000000000E+00 = 9.99999999999999999999999999999999999999900E+125 =#################################################
ORACLE MAGAZINE NOVEMBER/DECEMBER 2011
59
60
PL/SQL 101
What About BINARY_INTEGER? BINARY_INTEGER enables you to store signed integers in binary format. In Oracle9i Database Release 2 and earlier releases, BINARY_INTEGER differed from PLS_INTEGER in that Oracle implemented it with platformindependent library code. The semantics of this datatype changed in Oracle Database 10g Release 1. Beginning with that release, BINARY_INTEGER is equivalent to PLS_INTEGER. I recommend using PLS_INTEGER and not BINARY_INTEGER. BINARY_INTEGER is a “carryover” from earlier database versions and should be avoided.
To work with numbers in PL/SQL programs, you declare variables to hold the number values. The following declares a variable using the NUMBER datatype: DECLARE l_salary NUMBER;
Such a declaration results in a floatingpoint number. Oracle Database will allocate space for a maximum of 40 digits, and the decimal point will float to best accommodate whatever values you assign to the variable. NUMBER variables can hold values as small as 10–130 (1.0E – 130) and as large as 10126 – 1 (1.0E126 – 1). Values smaller than 10–130 will get rounded down to 0, and calculations resulting in values larger than or equal to 10126 will be undefined, causing runtime problems but not raising an exception. This range of values is demonstrated by the code block in Listing 1. (TO_CHAR and format masks are described later in this article.) If you try to explicitly assign a number that is too large to your NUMBER variable, you’ll raise a numeric overflow or underflow exception, but if you assign calculation results that exceed the largest legal value, no exception will be raised. If your application really needs to work with such large numbers, you will need to write validation routines that anticipate out-of-range values or consider using BINARY_DOUBLE. Using binary datatypes has rounding implications, so be sure to check the Oracle documentation on binary datatypes for details. For most uses, the chance of encountering these rounding errors will probably lead you to choose the
NUMBER datatype. Often when you declare a variable of type NUMBER, you will want to constrain its precision and scale, which you can do as follows: NUMBER (precision, scale)
For example, I want to declare a variable to hold a monetary amount of up to $999,999 and that consists of dollars and cents (that is, just two digits to the right of the decimal point). This declaration does the trick: NUMBER (8,2)
Such a declaration results in a fixedpoint number. The precision is the total number of significant digits in the number. The scale dictates the number of digits to
the right (positive scale) or left (negative scale) of the decimal point and also affects the point at which rounding occurs. Both the precision and scale values must be literal integer values; you cannot use variables or constants in the declaration. Legal values for precision range from 1 to 38, and legal values for scale range from –84 to 127. When declaring fixed-point numbers, the value for scale is usually less than the value for precision. The PLS_INTEGER datatype. The PLS_ INTEGER datatype stores signed integers in the range of –2,147,483,648 through 2,147,483,647. Values are represented in your hardware platform’s native integer format. Here is an example of declaring a variable of type PLS_INTEGER: DECLARE loop_counter PLS_INTEGER;
Code Listing 2: Calls to ROUND BEGIN DBMS_OUTPUT.put_line DBMS_OUTPUT.put_line DBMS_OUTPUT.put_line DBMS_OUTPUT.put_line DBMS_OUTPUT.put_line DBMS_OUTPUT.put_line END;
(ROUND (ROUND (ROUND (ROUND (ROUND (ROUND
(10.25)); (10.25, 1)); (10.23, 1)); (10.25, 2)); (10.25, -2)); (125, -2));
And here is the output from this block: 10 10.3 10.2 10.25 0 100
Code Listing 3: Calls to TRUNC BEGIN DBMS_OUTPUT.put_line DBMS_OUTPUT.put_line DBMS_OUTPUT.put_line DBMS_OUTPUT.put_line DBMS_OUTPUT.put_line END;
(TRUNC (TRUNC (TRUNC (TRUNC (TRUNC
And here is the output from this block: 10.2 10.2 10.2 120 100
November/December 2011 Oracle.com/oraclemagazine
(10.23, 1)); (10.25, 1)); (10.27, 1)); (123.456, -1)); (123.456, -2));
61
The PLS_INTEGER datatype was designed for speed. When you perform arithmetic with PLS_INTEGER values, the Oracle software uses native machine arithmetic. As a result, it’s faster to manipulate PLS_INTEGER values than it is to manipulate integers in the NUMBER datatype. Consider using PLS_INTEGER whenever your program is compute-intensive and involves integer arithmetic (and the values will never fall outside of this type’s range of valid integers). Bear in mind, however, that if your use of PLS_INTEGER results in frequent conversions to and from the NUMBER type, you may be better off using NUMBER to begin with. You’ll gain the greatest efficiency when you use PLS_INTEGER for integer arithmetic (and for loop counters) in cases in which you can avoid conversions back and forth with the NUMBER type.
integer equal to or greater than the specified number. The following block and its output demonstrate these two functions: BEGIN DBMS_OUTPUT.put_line (FLOOR (1.5)); DBMS_OUTPUT.put_line (CEIL (1.5)); END; / 1 2
MOD and REMAINDER. MOD and REMAINDER both return the remainder of one number divided by another, but that remainder is calculated differently for each function. The formula used by Oracle Database for MOD is MOD (m, n) = m - n * FLOOR (m/n)
Numeric Built-in Functions Oracle Database includes an extensive set of built-in functions for manipulating numbers and for converting between numbers and strings. The following are some of the most commonly needed functions. ROUND. The ROUND function accepts a number and returns another number rounded to the specified number of places to the right of the decimal point. If you do not specify that number, ROUND will return a number rounded to the nearest integer. Listing 2 includes some examples of calls to ROUND. Note that a negative value for the second argument rounds to the nearest 10 (to the left of the decimal point). TRUNC. TRUNC is similar to round, in that you can specify the number of digits to the right or left of the decimal point. The difference is that TRUNC simply removes or truncates digits. And, like ROUND, you can specify a negative number, which truncates digits (makes them zero) to the left of the decimal point. Listing 3 includes some examples of calls to TRUNC. FLOOR and CEIL. The FLOOR function returns the largest integer equal to or less than the specified number. The CEIL function returns the smallest
whereas the formula used for REMAINDER is REMAINDER (m, n) = m - n * ROUND (m/n)
Listing 4 includes a block that demonstrates the effect of and differences between these two functions. TO_CHAR. Use TO_CHAR to convert a number to a string. In its simplest form, you pass a single argument (the number) to TO_CHAR and it returns the string representation of that number, exactly long enough to contain all of its significant digits. Listing 5 includes a block that shows some TO_CHAR examples. As you can see, leading and trailing zeros are not in the string representation of the number. Often, when you have to convert a number to a string, you need that number to fit a certain format. You might, for example, want to display the number as a currency, so that even if there are no cents, you need to include the “.00”—in such cases, you will need to add a second argument in your call to TO_CHAR: the format mask. To specify a format for the string to which the number is converted, provide as the second argument to TO_CHAR a string that contains a combination of special format elements. Suppose, for example, that I want
Code Listing 4: Calls to MOD and REMAINDER BEGIN DBMS_OUTPUT.put_line DBMS_OUTPUT.put_line DBMS_OUTPUT.put_line DBMS_OUTPUT.put_line END; /
(MOD (15, 4)); (REMAINDER (15, 4)); (MOD (15, 6)); (REMAINDER (15, 6));
And here is the output from this block: 3 -1 3 3
Code Listing 5: Calls to TO_CHAR BEGIN DBMS_OUTPUT.put_line (TO_CHAR (100.55)); DBMS_OUTPUT.put_line (TO_CHAR (000100.5500)); DBMS_OUTPUT.put_line (TO_CHAR (10000.00)); END; And here is the output from this block: 100.55 100.55 10000
oracle magazine November/December 2011
62
PL/SQL 101
to display large numbers with a “1000s” delimiter. In other words, I want to display “10,000” instead of “10000” so I would use the following format:
result, the output from this block is Amount=
10,000
If I want to have zeros appear instead of blanks, I can use 0 instead of 9, as in
BEGIN DBMS_OUTPUT.put_line ( 'Amount='|| TO_CHAR (
BEGIN DBMS_OUTPUT.put_line (
10000
'Amount=' ||
, '9G999G999'));
TO_CHAR (
END;
10000 , '0G000G999'));
The G element indicates where in the string I would like to place the group separator. (The character used for the separator is determined by the National Language Settings database parameter NLS_ NUMERIC_CHARACTERS.) The 9 element tells Oracle Database to put a significant digit or a blank space in that location. As a
END; Amount= 0,010,000
If I do not want any leading zeros, extra blanks, or white space appearing in my converted number, I will use the FM element, as in BEGIN
Take the Challenge! Each of my PL/SQL 101 articles offers a quiz to test your knowledge of the information provided in the article. The quiz questions are shown below and also at PL/SQL Challenge (plsqlchallenge.com), a Website that offers online quizzes for the PL/SQL language. You can read and take the quiz here in Oracle Magazine and then check your answers in the next issue. If, however, you take the quiz at PL/SQL Challenge, you will be entered into a raffle to win your choice of an e-book from O’Reilly Media (oreilly.com). Question 1 Assuming that the number passed to this function is neither NULL nor 0, what value will it always return? CREATE OR REPLACE FUNCTION plch_ceil_and_floor (number_in IN NUMBER) RETURN PLS_INTEGER IS BEGIN RETURN CEIL (number_in) - FLOOR (number_in); END; /
Question 2 Which of these statements about MOD and REMAINDER are correct? a. They both return the remainder of one number divided by another. b. Given the same argument, the value returned by REMAINDER will never be larger than that returned by MOD. c. The values returned by MOD and REMAINDER are always integers.
It is outside the scope of this article to explain all of the many elements available for use in number formats (there are, for example, at least four elements just for denoting monetary units). Check Oracle Database SQL Language Reference 11g Release 2 (11.2), at bit.ly/rtO8a9, for a complete description.
DBMS_OUTPUT.put_line ( 'Amount=' || TO_CHAR ( 10000 , 'FM9G999G999')); END;
Dates, Time Stamps, and Intervals in PL/SQL Most applications require the storage and manipulation of dates and times. Unlike strings and numbers, dates are quite complicated: not only are they highly formatted data, but there are also many rules for determining valid values and valid calculations (leap days and years, daylight saving time changes, national and company holidays, date ranges, and so on). Fortunately, Oracle Database and PL/SQL provide a set of true date and time datatypes that store both date and time information in a standard internal format and also have an extensive set of built-in functions for manipulating the date and time. I will cover dates, time stamps, and intervals in the next PL/SQL 101 article.
Amount=10,000
Suppose that my number is actually a monetary unit consisting of dollars (or euros) and cents and I want to show the currency symbol as well as the cents portion. I can use the following format: BEGIN DBMS_OUTPUT.put_line ( 'Salary=' || TO_CHAR (
Steven Feuerstein (steven.feuerstein@ quest.com) is Quest Software’s PL/SQL evangelist. He has published 10 books on Oracle PL/SQL (O’Reilly Media) and is an Oracle ACE Director. More information is available at stevenfeuerstein.com.
14500.77 , 'FML999G999D99'));
Next Steps
END; Salary=$14,500.77
The L element specifies the location of the local currency symbol (such as $ or €) in the return value (the NLS_CURRENCY parameter specifies the local currency symbol). The D element indicates the location of the decimal point. (The character used for the decimal point is specified by the database parameter NLS_NUMERIC_CHARACTERS.)
November/December 2011 Oracle.com/oraclemagazine
DOWNLOAD Oracle Database 11g bit.ly/fherki LEARN more about PL/SQL datatypes bit.ly/nrpGAw built-in functions bit.ly/qbrR7I TEST your PL/SQL knowledge plsqlchallenge.com READ PL/SQL 101, Parts 1, 2, and 3 bit.ly/fc0uoJ
Database Application Developer and DBA
Ask Tom by Tom Kyte
Oracle Database 11g
On Collaboration, Testing, When, and Why
Our technologist learns from you, is tested on testing, and propagates errors.
I
am often asked how I got to know so much about Oracle Database. The answer is quite simple: I learned everything I know because of you—the readers of Ask Tom. It is through the questions—and the research necessary to answer those questions—that my knowledge of the database has grown and continues to grow. I’ve said many times that I learn something new about Oracle Database almost every day, but another thing I’ve learned is that sometimes the best answers come from the readers of Ask Tom, not from me. Below is one of those cases, and it shows how the open forum approach—with the give and take from readers—leads to the best answer possible. Recently I was asked this question: I have a varchar2 column in a table, and its values contain only numbers and dots (.). There are never two or more consecutive dots, and the values represent versions. The column data looks like this: 1 1.1 1.2 1.10.2 1.1.1 … I want to sort this column by number separated by dots. This is the result I want: 1 1.1 1.1.1 … 1.2 … 1.10.2 Is there any easy way to do this? I don’t want to create a custom function to process the column and then sort the values in the SELECT statement, such as SELECT * FROM
TableA ORDER BY functionA(ColumnA). Here is my test data: create table t ( col varchar2(75) ); insert into t values ('1'); insert into t values ('1.1'); insert into t values ('1.1.1'); insert into t values ('1.1.2');
insert into t values ('1.2'); insert into t values ('1.2.4'); insert into t values ('1.2.5'); insert into t values ('1.2.10'); insert into t values ('1.10.1'); insert into t values ('1.10.2'); insert into t values ('2'); insert into t values ('2.1'); insert into t values ('22.333.1' )
Code Listing 1: First regular expression solution for sorting numbers and dots SQL> select col, 2 regexp_replace 3 (col,'(^|\.)([[:digit:]]{3})','\1 \2') p1, 4 regexp_replace( 5 regexp_replace 6 (col,'(^|\.)([[:digit:]]{3})','\1 \2'), 7 '(^|\.)([[:digit:]]{2})','\1 0\2') p2, 8 regexp_replace( 9 regexp_replace( 10 regexp_replace 11 (col,'(^|\.)([[:digit:]]{3})','\1 \2'), 12 '(^|\.)([[:digit:]]{2})','\1 0\2'), 13 '(^|\.)([[:digit:]])','\1 00\2') p3 14 from t 15 order by 16 regexp_replace( 17 regexp_replace( 18 regexp_replace 19 (col,'(^|\.)([[:digit:]]{3})','\1 \2'), 20 '(^|\.)([[:digit:]]{2})','\1 0\2'), 21 '(^|\.)([[:digit:]])','\1 00\2'); COL ————————————————————————————— 1 1.1 1.1.1 1.1.2 1.2 1.2.4 1.2.5 1.2.10 1.10.1 1.10.2 2 2.1 22.333.1
P1 —————————————————————— 1 1.1 1.1.1 1.1.2 1.2 1.2.4 1.2.5 1.2.10 1.10.1 1.10.2 2 2.1 22. 333.1
P2 —————————————————————— 1 1.1 1.1.1 1.1.2 1.2 1.2.4 1.2.5 1.2. 010 1. 010.1 1. 010.2 2 2.1 022. 333.1
P3 ———————————————————— 001 001. 001 001. 001. 001 001. 001. 002 001. 002 001. 002. 004 001. 002. 005 001. 002. 010 001. 010. 001 001. 010. 002 002 002. 001 022. 333. 001
13 rows selected.
oracle magazine November/December 2011
63
64
Ask Tom
I came up with an initial solution that would work for a fixed number of elements —initially three—in the version field. That number could be extended to four or five or more elements by modification of the query. So I came up with a much more complex query (you can see my original answers at bit.ly/qbBQ4C) that would work for any number of elements (well, up to 100,000 of them, anyway!). It was very generic and solved the problem, but I don’t think anyone would call it a simple or elegant solution. Enter the readers of Ask Tom. Oracle ACE Laurent Schneider (laurentschneider.com) was the first to comment with an alternative approach. He developed an approach using regular expressions. His solution is in Listing 1. In real life, you would need only the REGEXP calls in the ORDER BY statement; I’ve included the three calls to REGEXP in the SELECT list only to demonstrate how this works. The first call to REGEXP would take any three-digit number and convert it into a fixed-width, four-character field, as demonstrated in the last line of the output. The second call to REGEXP would take any two-digit number and likewise convert it into a fixed-width, four-character field—adding leading zeros to the number. The third call to REGEXP would convert a single-digit number, placing it in a fixed-width fourcharacter field with leading zeros. That would construct a string of the digits that would sort correctly. This approach suffered from one drawback: it was limited to three digits per element. If you wanted a fourth digit, you had to add another REGEXP call. Enter Brendan from London. He generalized Laurent’s approach and came up with the solution in Listing 2. As you can see, that solution works in a similar manner: converting the elements into fixed-width fields and then trimming them all to the same length, resulting in a string that is again sortable. Another frequent Ask Tom reader who goes by the name Sokrates then posted a nice use case for this query—against one of the Oracle Database V$ tables—as shown in Listing 3. As you can see, sorting by software version (or IP address!) is now pretty easy.
Code Listing 2: Generalized regular expression solution for sorting numbers and dots SQL> SELECT col, 2 RegExp_Replace 3 (col || '.', '(\d+\.)', '00000000\1') p1, 4 RegExp_Replace( 5 RegExp_Replace 6 (col || '.', '(\d+\.)', '00000000\1'), 7 '0+(........)\.', '\1') p2 8 FROM t 9 ORDER BY 10 RegExp_Replace( 11 RegExp_Replace 12 (col || '.', '(\d+\.)', '0000000\1'), 13 '0+(........)\.', '\1'); COL ————————————————————————— 1 1.1 1.1.1 1.1.2 1.2 1.2.4 1.2.5 1.2.10 1.10.1 1.10.2 2 2.1 22.333.1
P1 —————————————————————————————————————————————————— 000000001. 000000001.000000001. 000000001.000000001.000000001. 000000001.000000001.000000002. 000000001.000000002. 000000001.000000002.000000004. 000000001.000000002.000000005. 000000001.000000002.0000000010. 000000001.0000000010.000000001. 000000001.0000000010.000000002. 000000002. 000000002.000000001. 0000000022.00000000333.000000001.
P2 ———————————————————————————————————— 00000001 0000000100000001 000000010000000100000001 000000010000000100000002 0000000100000002 000000010000000200000004 000000010000000200000005 000000010000000200000010 000000010000001000000001 000000010000001000000002 00000002 0000000200000001 000000220000033300000001
13 rows selected.
And that was just one more new thing I’ve learned about Oracle Database. Testing My team runs a large number of Java test cases every night, one after another. All the tests execute against the same schema, and in order to make sure the initial data is known, each test drops and re-creates all the objects in the schema and repopulates the default data. We’re also using an ORM [object relational mapping] to generate much of the DDL [data definition language] code for us. Our schema contains about 150 tables, with no more than a few hundred rows in each table. It takes about 30 minutes to get the schema and test data set up. Most of our test cases execute within a few seconds, aside from the schema preparation, so I’m looking for a way to speed this up, because the preparation limits how many tests we’re able to run each night. I am wondering if there is a way of quickly reverting a schema to a known state. Many of the test cases use multiple transactions, so we can’t simply roll back. I’ve tried using exp/imp, and my understanding of flashback is that it
November/December 2011 Oracle.com/oraclemagazine
affects the entire database (not just a single schema), in which case it’s not an option for us. There are a couple of ways to achieve this. Depending on the number of changes, you might be able to use the flashback table statement: flashback table t1, t2, t3, t4, .... to <point in time>;. If you have a reasonable number of tables, this single statement would use the flashback query capability to place all tables back at that same point in time. Beware, however, that it will be accomplished as one large transaction, so it might generate much UNDO and REDO. Also, it would put the tables back the way they looked logically but not physically. The ordering of the rows on disk would change, the size of the tables might change, and so on. It would enable you to perform functional testing (does the code still work?), but it might cause some queries to run with different performance characteristics after a flashback. See bit.ly/ps056J for details. Another very viable approach would be to set up the test tablespace(s) and “transport” it/them. By transporting, you would have a copy of the necessary datafiles.
65
Then whenever you wanted to restore the schema data, you would simply drop that tablespace—including its contents and datafiles—and reattach the old datafiles (transport them in). See bit.ly/qSqaYz for details on that approach, which would bypass the UNDO/REDO issue and would restore the data in a manner ensuring that the bits and bytes on disk are identical from test run to test run. This would enable you to perform functional testing and compare query performance from run to run, because you would know that the data on disk is laid out exactly the same each time. Dynamic Spool Filenames I am running a SQL script and want to produce a spool file with a name such as script_output||datetime—that is, the filename with the date and time appended to it. This is pretty easy in SQL*Plus, as long as you know about the NEW_VAL option. With NEW_VAL, you can have SQL*Plus store the last returned value of some column from a query in a substitution variable and then you can use that substitution variable in the SPOOL command. For example SQL> column filename new_val filename
Code Listing 3: Use case for regular-expression sorting solution SQL> SELECT optimizer_feature_enable, bugno, 2 description 3 FROM v$system_fix_control 4 ORDER BY 5 RegExp_Replace ( 6 RegExp_Replace 7 (optimizer_feature_enable || '.', '(\d+\.)', '0000000\1'), 8 '0+(........)\.', '\1'), 9 bugno 10 / OPTIMIZER —————————————
... 8.0.0 ... 8.0.0 8.1.6 8.1.7 8.1.7 9.2.0 9.2.0 ... 9.2.0.8 9.2.0.8 9.2.0.8
BUGNO ———————————— 2194204
2663857
Use extended index caching discount
9785632 1403283 2324795 2660592
disallow slave group reuse in parallel query CBO do not count 0 rows partitions add(remove) cluster index for push view do not trigger bitmap plans if no potential domain index driver push into table with RLS use OR'ed predicates in index filter
2320291 2492766 3118776 4904838 5005866
Check for obj# for named view estimated card allow index skip scan with no index keys remove null first element from multicolumn inlist if possible
... 10.1.0
3056297
10.1.0 10.1.0
3151991 4550003
10.1.0.3
3120429
10.1.0.5
4308414
10.1.0.5 10.2.0.1 ... 11.1.0.6 ... 11.1.0.7
4569940 3335182
No selectivity for source transitive equality join predicates use cost cutoff for first_rows do not consider no sel predicates in join selectivity sanity account for join key sparsity in computing NL index access cost outer query must have more than one table unless lateral view Use index heuristic for join pred being pushed use fkr_1 for (NOT) EXISTS subquery
4168080
Eliminate unneeded bitmap conversion
8557992
11.2.0.1 .. 11.2.0.2
399198
Enhance functional index checks when considering OR-expansion ORDER BY sort elimination with OR expansion
SQL> select 'my_script_name_' || to_char(sysdate, 'yyyymmdd' ) filename from dual; FILENAME ——————————————————————————————— my_script_name_20110624
That select statement built the script name, and the COLUMN command had SQL*Plus store the value in a substitution variable named FILENAME. Now you can simply use SQL> spool &filename
And you are done. When to Partition What is a good size—in number of records— for a table partition? Is 200,000 records too small? It might be 100; it might be 1,000,000. There is no reason to base this decision on the
DESCRIPTION ————————————————————————————————————————————————————————————————————————————————————— disable push predicate driven by func. index into partition view
9912503
Remove having clause subquery at all levels
551 rows selected.
number of rows or even the size of the table. It all comes down to what are you trying to do and whether partitioning can help. Let’s say you have a table with 10,000 records in it. Further, assume that there is a status code field in there, you have only two values for that status field, and the values are fairly evenly distributed. Do you frequently run aggregation queries that return one row, and does the predicate always contain the
text WHERE status = ? If so, that will require a full scan of the table, but it could require a full scan of only 50 percent of the table data if you partitioned the table by status. Partitioning is a tool you might use at 100 records and might not use at 1,000,000 records. And vice versa. So, depending on what you do with those 200,000 records, it may be a really good idea, a really bad idea, or neither good nor
oracle magazine November/December 2011
66
Ask Tom
bad. It depends. Before you apply the tool that is doing the partitioning, you need to understand the goal for using partitioning in the first place to see if it makes sense. Why You Really Want to Let Exceptions Propagate I’ve seen a programming pattern (antipattern is probably more descriptive) that frequently causes a large number of bugs in developers’ code. That programming pattern involves the use of exception handling and many developers’ irrational fear of allowing an exception to propagate out of their code. The fact is that most exceptions should never be caught in PL/SQL, or if they are, they should be immediately reraised. However, in real life, I see the opposite happening in many cases. Developers often code something like this: procedure p (
…, return_code
Code Listing 4: Missing RAISE or RAISE APPLICATION ERROR returning compilation warnings SQL> alter session set 2 PLSQL_Warnings = 'enable:all' 3 / Session altered. SQL> create or replace procedure some_proc( p_str in varchar2 ) 2 as 3 begin 4 dbms_output.put_line( p_str ); 5 exception 6 when others 7 then 8 -- call some log_error() routine 9 null; 10 end; 11 / SP2-0804: Procedure created with compilation warnings SQL> show errors procedure some_proc Errors for PROCEDURE P: LINE/COL ———————————— 1/1
ERROR ———————————————————————————————————————————————————————————————————————————————————————————————————————— PLW-05018: unit SOME_PROC omitted optional AUTHID clause; default value DEFINER used
6/8
PLW-06009: procedure "SOME_PROC" OTHERS handler does not end in RAISE or RAISE_APPLICATION_ERROR
in out number ) begin return_code := 0; … exception when others then log_the_error; return_code := -1; end;
That is, they wrap all their code in a WHEN OTHERS exception handler to catch any error, log it using some generic routine, and then output a return code. This is a very wrong way to deal with exception handling— for two main reasons. The first reason is that it is far too easy for someone who invokes this procedure to ignore the return code. There is nothing forcing the user to check the code, and it is just too easy to forget—especially if you are calling a procedure that “cannot fail” (and anything that cannot fail will almost certainly fail). Return codes are error-prone. The second reason is far more important. It has to do with the A in the ACID properties of relational databases. The A stands for atomicity. Transactions are atomic in Oracle Database, meaning that either all the statements that constitute the transaction are committed (made permanent) or all of them are rolled back. This atomic protec-
tion is extended to individual statements as well. Either a statement entirely succeeds, or it is entirely rolled back. Note that I said that the statement is rolled back. The failure of one statement does not cause previously executed statements to be rolled back. (Their work is preserved and must either be committed or rolled back.) This atomicity extends to anonymous blocks as well. Consider this table and stored procedure:
SQL> begin 2
p;
3
end;
4
/
begin * ERROR at line 1: ORA-02290: check constraint (OPS$TKYTE.SYS_C0018095) violated ORA-06512: at "OPS$TKYTE.P", line 5 ORA-06512: at line 2
SQL> create table t ( x int check ( x>0 ) );
SQL> select * from t;
Table created.
no rows selected
SQL> create or replace procedure p
As you can see, Oracle Database treated the stored procedure call as an atomic statement. The client submitted a block of code—BEGIN P; END;—and Oracle Database wrapped a SAVEPOINT around it. Because P failed, Oracle Database restored the database back to the point right before it was called. Note: the preceding behavior—statementlevel atomicity—relies on the assumption that the PL/SQL routine itself will not perform any commits or rollbacks. In my opinion, COMMIT and ROLLBACK should generally not be used in PL/SQL; the invoker
2
as
3
begin
4
insert into t values ( 1 );
5
insert into t values (-1 );
6
end;
7
/
Procedure created.
So, you have a procedure you know will fail, and the second INSERT will always fail in this case. Let’s see what happens if I run that stored procedure:
November/December 2011 Oracle.com/oraclemagazine
67
of the PL/SQL stored procedure is the only one who knows when a transaction is complete. It is a bad programming practice to issue a COMMIT or a ROLLBACK in PL/SQL routines you develop. Now, if I submit a slightly different block, I will get entirely different results: SQL> begin 2
p;
3
exception
4
when others then
5
dbms_output.put_line(
'Error!!!! ' || sqlerrm ); 6
end;
7
/
Error!!!! ORA-02290: check constraint (OPS$TKYTE.SYS_C0018095) violated PL/SQL procedure successfully completed. SQL> select * from t; X ————————————— 1
Here, I ran a block of code that ignored any and all errors, and the difference in outcome is huge. Whereas the first call to P effected no changes, this time the first INSERT succeeds and remains in the database. Oracle Database considered the statement to be the block the client submitted, but this statement succeeded by catching and ignoring the error! Hence, the partial work performed by P was preserved. The reason this partial work was preserved in the first place is that there is statement-level atomicity within P—each statement in P is atomic. P becomes the client of Oracle Database when it submits its two INSERT statements. Each INSERT either succeeds or fails entirely. I consider virtually all code that contains a WHEN OTHERS exception handler that does not also include a RAISE or RAISE_ APPLICATION_ERROR to reraise the exception to be a bug. It silently ignores the error, and it changes the transaction semantics. Catching WHEN OTHERS and translating the exception into an old-fashioned return code changes the way the database is supposed to behave. In fact, I believe this so strongly that when Oracle Database 11g Release 1 was still on
the drawing board and I was permitted to submit three requests for new features in PL/SQL, I jumped at the chance. My first suggestion was simply, “Remove the WHEN OTHERS clause from the language.” My reasoning was simple: the most common cause of developer-introduced bugs I see is a WHEN OTHERS that is not followed by a RAISE or a RAISE_APPLICATION_ERROR. I felt that the world would be a safer place without this language feature. The PL/SQL implementation team could not honor my request, of course, but it did the next-best thing. It made it so that PL/SQL will generate a compiler warning if you have a WHEN OTHERS that is not followed by a RAISE or RAISE_APPLICATION_ERROR call. Listing 4 demonstrates the compiler warning. So, if you include WHEN OTHERS in your code and it is not followed by a RAISE or a RAISE_APPLICATION_ERROR, be aware that you are almost certainly looking at a bug in the code you developed, a bug placed there by you. The difference between code with and without a WHEN OTHERS exception block is subtle—and something you must consider in your applications. Adding an exception handler to a block of PL/SQL code can radically change its behavior. The following is a different way to run the P stored procedure, one that restores the statement-level atomicity to the entire PL/SQL block:
2
savepoint sp;
3
p;
4
exception when others then
6
rollback to sp;
7
dbms_output.put_line(
'Error!!!! ' || sqlerrm ); 8
end;
9
/
SQL> begin 2
p;
3
end;
4
/
During your code reviews, you should regard all WHEN OTHERS exception blocks with suspicion and really investigate the code if the WHEN OTHERS is not followed by a RAISE or a RAISE_APPLICATION_ERROR!
Tom Kyte is a database evangelist in Oracle’s Server Technologies division and has worked for Oracle since 1993. He is the author of Expert Oracle Database Architecture (Apress, 2005, 2010) and Effective Oracle by Design (Oracle Press, 2003), among other books.
Next Steps
SQL> begin
5
explicitly code what Oracle Database already provides in terms of transaction semantics. By mimicking the work Oracle Database normally does with the SAVEPOINT in this example, I can restore the original behavior of P—the procedure fails, and SELECT * FROM t returns no rows—while still catching and “ignoring” the error. Note, however, that the correct, “bad-practice free” block of code submitted to the database should simply be
Error!!!! ORA-02290: check constraint (OPS$TKYTE.SYS_C0018095) violated PL/SQL procedure successfully completed. SQL> select * from t; no rows selected
Caution: The preceding code represents an exceedingly bad practice! In general, you should neither catch a WHEN OTHERS nor
ASK Tom Tom Kyte answers your most difficult technology questions. Highlights from that forum appear in this column. asktom.oracle.com READ more Tom Oracle Database Concepts 11g Release 2 (11.2) bit.ly/aonqPP Expert Oracle Database Architecture: Oracle Database 9i, 10g, and 11g Programming Techniques and Solutions, Second Edition amzn.to/ckGXaR READ more about sorting by number bit.ly/qbBQ4C FLASHBACK TABLE bit.ly/ps056J transporting tablespaces bit.ly/qSqaYz DOWNLOAD Oracle Database 11g Release 2 bit.ly/epBiUG
oracle magazine November/December 2011
Exadata Replaces Teradata 36 Teradata Racks
3 Exadata Racks
Consumed 10x Energy
8x Faster
At Teradata’s Largest Asian Customer
Save The Planet, Dump Your Teradata For more information visit oracle.com/savetheplanet
System Administrator | Certification
Inside OCP By TJ Palazzolo
Oracle WebLogic Server Enterprise Edition
Certify Your Expertise
Test your Oracle WebLogic Server mettle, and gain valuable credibility.
O
racle WebLogic Server Standard Edition application server technology implements the latest Java Platform, Enterprise Edition (Java EE) standards and offers choice in development frameworks and tooling. Oracle WebLogic Server Enterprise Edition includes all the features and benefits of Oracle WebLogic Server Standard Edition plus proven clustering technology, crossdomain management, and comprehensive diagnostic tooling. With the flexibility and variety of features built into Oracle WebLogic Server products, certification is a valuable way to validate the expertise of Oracle WebLogic Server system administrators. Oracle now offers IT professionals the opportunity to earn the Oracle Certified Associate: Oracle WebLogic Server 11g System Administrator certification. To receive this recognition, a candidate must achieve a passing score on the Oracle WebLogic Server 11g: System Administration I exam. This exam addresses all Oracle WebLogic Server core job tasks, from basics such as installation, creating domains, starting servers, and deployment to the configuration of more-advanced infrastructure features such as clustering, datasources, and messaging. This column utilizes sample questions to review Oracle WebLogic Server concepts and capabilities and also to help provide some insight into the types of questions you can expect to see on the Oracle WebLogic Server 11g: System Administration I exam. Node Manager A single physical environment, or “machine,” can host one or more Oracle WebLogic Server instances, each of which is a Java Virtual Machine process. Although you can start and stop these individual server processes by using scripts from the command line, you can also run a separate dedicated process using Oracle WebLogic Server’s Node Manager,
which facilitates the starting and stopping of servers from a remote location. Depending on how you have configured Node Manager, you can issue these remote start and stop commands from either Oracle WebLogic Server’s Administration Console, a script using Oracle WebLogic Server’s WebLogic Scripting Tool, or a Secure Shell (SSH) session. Which two statements about Node Manager are true? A. By default, Node Manager binds to port 5556. B. Each cluster is assigned a separate Node Manager process. C. Node Manager cannot be used to start an administration server. D. You must create a nodemanager .properties file to run Node Manager. E. You can configure Node Manager to automatically restart a failed server. The correct answers are A and E. Unless overridden in the nodemanager .properties file or from the command line, a Node Manager process listens for commands on port 5556. And by default, if a Node Manager process starts a server and the process later fails, Node Manager will attempt to restart it. Answer B is incorrect because a Node Manager process always has a one-to-one relationship with a machine, not a cluster. Answer C is incorrect because you can certainly use Node Manager to remotely control both admin and managed servers. And finally, answer D is incorrect because even though Node Manager does, in fact, require a nodemanager.properties file, you do not need to explicitly create one. If one is not found, Node Manager will generate one. Session Persistence Applications often keep working data in server memory. Consider application users adding items to shopping carts. If the server
running the application fails, all users on that server will lose this “session” data by default. For applications running in a cluster, however, Oracle WebLogic Server supports various session persistence options for avoiding such application failure scenarios. The most commonly used session persistence option is in-memory replication, which ensures that each user session is automatically backed up on one other server in the cluster. After a server failure, application users are redistributed to the remaining servers, which can then obtain the backup copy of each user session. Identify two tasks required for successful use of Oracle WebLogic Server in-memory replication for a Web application. A. Add the persistence.xml file to the application. B. Configure a Web proxy that supports session cookies. C. Configure the cluster for multicast communication. D. Deploy a JDBC datasource to the cluster. E. Deploy the application to a cluster. The correct answers are B and E. For in-memory replication to function as designed, users should be redirected to the same server whenever possible. In-memory replication does this by using an intermediate proxy (hardware or software) and cookies to map users to their preferred servers. Answer E is also correct in that replication features are available only to clusters, not to individual servers. Answer A is incorrect because even though you must use a deployment descriptor file to enable session persistence for an application, the correct file is weblogic .xml, not persistence.xml. Similarly, answers C and D are both valid Oracle WebLogic Server activities, but neither multicast communication nor a JDBC datasource is required for in-memory replication. Note,
oracle magazine November/December 2011
69
70
Inside OCP
however, that other types of session persistence do require a datasource for accessing a relational database. Deployment Plans Suppose you have an application running on Oracle WebLogic Server that requires a JDBC datasource referenced in the application’s deployment descriptor files. You want to first deploy this application to a test environment and then deploy it to the final production environment. However, for some reason, the JDBC datasources in these two environments use different names. Java EE deployment plans provide an elegant solution to this common dilemma. A deployment plan is a file, residing outside of the application, that you associate with the application at deployment time. A plan can augment and even override configuration settings in the application’s descriptors. But where do these plans come from?
Identify three ways to create a deployment plan. A. Edit an application’s settings from the Oracle WebLogic Server Administration Console. B. Run the Plan Generator commandline tool. C. Enable the script generator in the Administration Console. D. Author an XML file by hand. E. Run the Oracle WebLogic Server Deployer tool. The correct responses are A, B, and D. The easiest way to create and update a deployment plan is through the Administration Console. The Plan Generator (weblogic .PlanGenerator) command-line tool can also create a deployment plan. And, of course, you can alternatively create a deployment plan with a text editor. The reason answer C is incorrect is that although the Administration Console does
include a feature that can record WebLogic Scripting Tool scripts based on your activities, it does not produce deployment plans. And answer E is incorrect because even though you can certainly use the Deployer command-line tool to associate a deployment plan with an application, it cannot create the plan file.
TJ Palazzolo is a senior principal curriculum developer at Oracle who creates educational and certification content for Oracle’s middleware products.
Next Steps LEARN more about the Oracle Certification Program bit.ly/nGkUjZ Oracle Certified Associate: Oracle WebLogic Server 11g System Administrator bit.ly/r5y1yk READ Inside OCP columns bit.ly/q53ZaE
Every
69 SECONDS a woman DIES of breast cancer.
Susan G. Komen for the Cure® is working to change this. Last year alone we funded more than 600,000 breast screenings. We helped 100,000 people financially through treatment. We educated 4 million about breast cancer. We invested more than $60 million in breast cancer research. And we did it in more than 50 countries around the world. Komen for the Cure is the only organization fighting breast cancer on every front.
Don’t wait another 69 seconds to save a life. We’re making progress, but there’s much more to do, and we need your help.
Learn how to help today. Visit komen.org. This space provided as a public service. ©2011 Susan G. Komen for the Cure ® The Running Ribbon is a registered trademark of Susan G. Komen for the Cure.
Komen-69Sec-Oracle-HalfPg.indd 1
November/December 2011 Oracle.com/oraclemagazine
Find us 6/23/11 4:18 PM
Database Application Developer and DBA
SQL 101 By Melanie Caffrey
Oracle Database
Modeling and Accessing Relational Data Part 2 in a series on the basics of the relational database and SQL
P
Lindy Groening
art 1 in this series, “Get Your Information in Order” (Oracle Magazine, September/ October 2011), introduced readers to relational databases and the language chiefly used to interact with them: structured query language (SQL). Building on the material I presented in Part 1, this article explains relationship concepts in more depth and outlines the process of designing a new database. Then it introduces you to three tools available at no charge that you can use for viewing and managing the data in an Oracle Database instance via SQL. (Although I’ll briefly review the concepts covered in Part 1, I encourage you to read that installment before starting this one.) Relating in Different Ways Data is organized in a relational database as tables—two-dimensional matrices made up of columns and rows. A table’s primary key, enforced by a primary key constraint (which will be defined in a future article in this series), is a column or combination of columns that ensures that every row in a table is uniquely identified. Two tables that have a common column are said to have a relationship between them; the common column is the foreign key in one table and the primary key in the other. The value (if any) stored in a row/column combination is a data element. The cardinality of a relationship is the ratio of the number (also called occurrences) of data elements in two tables’ related column(s). Relationship cardinality can be of three types: one-to-many, oneto-one, or many-to-many. One-to-many (1:M). The most common type of relationship cardinality is a 1:M relationship. Consider the relationship between the EMPLOYEE and DEPARTMENT tables shown in Figure 1. The common column is
DEPARTMENT_ID (which is the primary key in the DEPARTMENT table and the foreign key in the EMPLOYEE table). One individual DEPARTMENT_ID can relate to many rows in the EMPLOYEE table. This represents the business rule that one department can relate to one or many employees (or even no employees) and that an employee is associated with only one department (or, in some cases, no department). This business rule can be restated as follows: Each employee in a department may be in one and only one department, and that department must exist in the department table. . One-to-one (1:1). A 1:1 relationship between the DEPARTMENT table and the MANAGER table is depicted in Figure 2. For every row in the DEPARTMENT table, only one matching row exists in the MANAGER table. Expressing this as a business rule: Every department has at least one and at most one manager, and, conversely, each manager is assigned to at least one and at most one department. One-to-one data relationships can exist, but they are not typically implemented as
two tables (though they may be modeled that way). Instead, the data is combined into one table for the sake of simplicity. Many-to-many (M:M). Consider the EMPLOYEE and PROJECT tables in Figure 3. The business rule is as follows: One employee can be assigned to multiple projects, and one project can be supported by multiple employees. Therefore, it is necessary to create an M:M relationship to link these two tables. To support the relational database model, an M:M relationship must be resolved into 1:M relationships. Figure 4 illustrates this resolution with the creation of an associative table (also sometimes called an intermediate or intersection table) named EMPLOYEE_PROJECT. In this example, the associative table’s primary key—a composite of its Employee_ID and Project_ID columns—is foreign-key-linked to the tables for which it is resolving an M:M relationship. It reflects that one employee can be assigned to multiple projects—and, in this example, that one employee can be assigned multiple and
EMPLOYEE Employee_ID
First_Name
Last_Name
Hire_Date
37
Frances
Newton
14-SEP-2005
Manager
Department_ID
1234
Donald
Newton
24-SEP-2006
28
10
7895
Matthew
Michaels
16-MAY-2007
28
10
(M) DEPARTMENT Department_ID
Name
10
Accounting
20
Payroll
(1) Figure 1: EMPLOYEE and DEPARTMENT tables with a 1:M relationship
oracle magazine November/December 2011
71
72
SQL 101
different responsibilities for each project to which that person is assigned. Note that the employee with an EMPLOYEE_ID value of 1234 is assigned to two projects but that his responsibilities are different for each project.
(Primary Key (1)) DEPARTMENT Department_ID
Name
10
Accounting
20
Payroll
(Primary and Foreign Key (1)) MANAGER Department_ID
Name
10
Eckhardt
20
Dovichi
Figure 2: DEPARTMENT and MANAGER tables with a 1:1 relationship EMPLOYEE Employee_ID
First_Name
37
Frances
Last_Name Newton
1234
Donald
Newton
PROJECT Project_ID
Project_Name
10
Online Market Research
20
Flight Booking
Figure 3: EMPLOYEE and PROJECT tables requiring an M:M relationship
Rendering Relational Roadmaps For conceptual purposes, it is helpful to display table relationships of different types by using database schema diagrams. (A schema is typically a grouping of objects, such as tables, that serve a similar business function.) Schema diagrams—also known as physical data models—can use several types of standard notation. The schema diagram in Figure 5 uses a convention called crow’s-foot notation—the standard notation used by Oracle SQL Developer Data Modeler, a database modeling and design tool. With crow’s-foot notation, a crow’s foot, or fork, indicates the “many” side of the relationship and a single line with an arrowhead indicates the “1” side of the relationship. The schema diagram in Figure 5 shows a mandatory relationship between the EMPLOYEE table and the DEPARTMENT table. A mandatory relationship—indicated by the solid line between the crow’s foot and the arrowhead—is one in which a value must be present in a foreign key column. In Figure 5, this means that every employee must be assigned to at most one department and at least one department. If the relationship were optional, the relationship line would be dotted instead of solid, indicating that an employee can be assigned to one or no department. (In Figure 5, the P in the left margin indicates the primary key, and the F indicates a foreign key.)
Primary Key
Primary Key
EMPLOYEE Employee_ID
PROJECT First_Name
Last_Name
Project_ID
Project_Name
37
Frances
Newton
10
Online Market Research
1234
Donald
Newton
20
Flight Booking
Foreign Key
Foreign Key EMPLOYEE_PROJECT Employee_ID
Project_ID
Assigned_Project_Task
37
10
Project Management
1234
10
DB Development
1234
20
Lead Architect
Primary Key Figure 4: Associative EMPLOYEE_PROJECT table that resolves the M:M relationship
November/December 2011 Oracle.com/oraclemagazine
Paving the Way with Analysis and Design Before developers, DBAs, or database architects create tables—or even schema diagrams—they gather data requirements that identify the needs of the system users. Among other things, requirements gathering should result in a list of individual data elements the users consider important and need to store. The developer or DBA then groups what the users consider to be the most important data elements in this list into entities. The individual data elements are known as the entities’ attributes. This creation of entities and their attributes, along with the necessary entity relationships based on business rules, is often referred to as logical data modeling. It is “logical” because it doesn’t take into consideration a specific technical (or physical) implementation. Entity is the logical term for a physical implementation’s table. And attribute (or, sometimes, field) is the logical term for column. A diagram depicting a logical data model is known as an entityrelational diagram (ERD). Specialized tools such as Oracle SQL Developer Data Modeler facilitate the generation of ERDs. After you have created a logical data model and chosen your physical technical implementation, such as Oracle Database 11g, you are ready to create your database schema diagram (the physical model). When you create the schema diagram, you assign a datatype to each of your tables’ columns. The datatype specifies the type of data (such as numeric, character, or date) that can be stored in each column. Normalization Versus Denormalization Data normalization is the process, based on widely accepted rules, that developers and DBAs use for tables to eliminate redundancy from data. Conversely, denormalization is the act of adding redundancy to data. When designing a physical database model, database designers must weigh the advantages of eliminating all redundancy— resulting in data that is split into many tables—against possible reduced query (data retrieval) performance when some or many of these tables are joined together
73
via SQL. (You’ll learn more about the role of the JOIN clause in SQL queries later in this series.) Only experienced database designers should denormalize. Increasing redundancy might marginally improve query performance, but it will always increase the overall programming effort and complexity, because multiple copies of the same data must be kept in sync. The process of syncing multiple copies of data threatens data integrity. Data Access and the SQL Execution Environment Oracle software runs on many different hardware architectures and operating systems. The computer on which the Oracle Database software resides is known as the Oracle Database server. Additionally, Oracle Database server can refer to the Oracle Database software and its data. (The remainder of this article refers to the latter definition.) Specialized tools installed on users’ computers enable them to access data on the Oracle Database server. These tools—called clients, or front ends—are used to send SQL commands to the server, or back end. Three such tools are Oracle SQL Developer, Oracle’s SQL*Plus, and Oracle Application Express SQL Workshop. SQL commands instruct the server to perform certain actions in the database. A command can create a table, query a table, change a table, add new data, or update existing data, among other things. In response to a query request, for example, the server returns a result set to the client, which then displays it to the user. Before you can begin to use any of these tools to communicate SQL requests to the Oracle Database server, you must create a database connection. If you are using SQL Developer, read the “1.4 Database Connections” section in the Oracle SQL Developer User’s Guide Release 2.1, at bit.ly/ quzezk, to learn how to set up a connection to your database. If you are using SQL*Plus or SQL Workshop within Oracle Application Express, ask your database administrator to create a database connection for you. You also need a database administrator to create a username and a password for you, with appropriate permissions that
Figure 5: A database schema diagram showing a mandatory foreign key relationship between the EMPLOYEE and DEPARTMENT tables
enable you to create your own objects. See the “CREATE USER” section of the Oracle Database SQL Language Reference 11g Release 2 (11.2) at bit.ly/qbCmy0. Using Oracle SQL Developer Once you are connected to the database, viewing data in the Oracle SQL Developer environment is relatively straightforward. Figure 6 shows the Tables node within the Connections Navigator, a tree-based objectbrowser pane in Oracle SQL Developer. To view the details of any of your tables, expand the Tables node by clicking the plus sign and then double-clicking the individual table name. Figure 7 shows the result of double-clicking the EMPLOYEE table in the Connections Navigator. The table’s column names are displayed vertically in the Connections Navigator pane, and several tabs that provide details about the table are displayed to the right of that pane. Columns and Datatypes By default, the Columns tab is displayed first. It lists the table’s column names and datatypes. It also shows which columns allow null values (that is, the absence of a value), which column or columns are defined as the table’s primary key, and any column comments. (You can see that no primary key has been defined for the EMPLOYEE table in Figure 7. You’ll learn how to create a primary key later in this article series.) Every column has a datatype, chosen during physical modeling and defined
Figure 6: Tables node in the Oracle SQL Developer Connections Navigator
when the table was created. For example, the datatype for the SALARY column in the EMPLOYEE table is NUMBER. Any column defined with the NUMBER datatype permits only numeric data. No text and no alpha characters such as monetary symbols may be stored in a column defined with this datatype. Note that the SALARY column’s datatype is defined as NUMBER(9, 2). The first number in the parentheses (9 in this example) is referred to as the precision, and the second number (2 in this example) is known as the scale. This precision and this scale mean that the SALARY column can have a maximum of nine digits before the decimal point and two digits after it (useful for columns containing monetary data). If a value with more than two digits after the decimal point is inserted into the SALARY column, no error will occur; the value will simply be automatically rounded by the Oracle Database server. As you might have guessed, columns defined with the VARCHAR2 datatype store variable-length alphanumeric data (including text, numbers, and special characters). The maximum length of the data is specified in the parentheses. VARCHAR2 is the most
oracle magazine November/December 2011
74
SQL 101
Figure 7: Column list and detail tabs of the EMPLOYEE table in Oracle SQL Developer
Figure 8: SQL*Plus environment immediately after login
Figure 9: Output of the DESCRIBE command in SQL*Plus
Workshop contains several subutilities. One of them is the Object Browser, which behaves similarly to the Connections Navigator in Oracle SQL Developer. Doubleclicking a table name in a list displays the details for that table in the right-hand pane. Figure 10 shows the output for the EMPLOYEE table and column details displayed in SQL Workshop. Conclusion Analyzing requirements, planning how data entities should relate to one another, and modeling those entities and their relationships both logically and physically are all essential steps in database design. Knowing your users’ business needs can help you create meaningful entities and relationships and define appropriate attributes with reasonably sized, well-chosen datatypes. Once you’ve defined and created your physical tables, you have many data access options to choose from, including the three no-cost tools from Oracle you’ve learned about in this article. The next installment of SQL 101 will look at the anatomy of a SQL SELECT statement and explain how to use multiple data access tools to construct SQL statements.
Figure 10: Output of the EMPLOYEE table’s details in Oracle Application Express’ SQL Workshop
commonly used datatype and can store up to 4,000 bytes. In contrast, the CHAR datatype (not shown in Figure 7) allows for fixedlength alphanumeric data only and stores a maximum of 2,000 bytes. I recommend choosing VARCHAR2 over CHAR when you select an alphanumeric datatype to define text columns. With VARCHAR2, particularly if you choose an appropriate maximum length for your columns, you won’t waste storage space. (Choosing a maximum of 4,000 bytes makes sense only if you truly believe that your column will ever contain data values that reach that size limit.) CHAR can waste storage space, because the data is always padded with blank space to the specified fixed length before it is stored. SQL*Plus and SQL Workshop It’s a good idea to familiarize yourself with multiple data access tools so that you can
decide which one works best for you—and so that you can access Oracle Database data in settings (such as a client site, if you are a consultant) where your preferred tool might not be available. SQL*Plus—a commandline-based utility that’s the tool of choice for many old-school Oracle Database programmers and DBAs—is always available, because it is included with every Oracle Database installation. When invoked, the SQL*Plus environment looks like the output shown in Figure 8. To view a table’s columns and each column’s datatype in SQL*Plus, you use the DESCRIBE command (desc for short), as shown in Figure 9. If you’re using Oracle Application Express, you can use any data access tool you’d like, but Oracle Application Express does have its own built-in data access functionality, called SQL Workshop. SQL
November/December 2011 Oracle.com/oraclemagazine
Melanie Caffrey is a senior development manager at Oracle. She is a coauthor of Expert PL/SQL Practices for Oracle Developers and DBAs (Apress, 2011) and Expert Oracle Practices: Oracle Database Administration from the Oak Table (Apress, 2010). Next Steps READ more about relational database design and concepts Oracle Database Concepts 11g Release 2 (11.2) bit.ly/aonqPP Oracle Database SQL Language Reference 11g Release 1 (11.1) bit.ly/jYXQZn Oracle SQL Developer User’s Guide Release 2.1 bit.ly/nldMjl READ SQL 101 Part 1 bit.ly/oHanfn
Print. Digital. Mobile.
Read Your Favorite Technology Magazines on Your Favorite Device.
3G
Download the most recent issue FREE on Apple iTunes. Or get your FREE print or digital subscription. Go to: oracle.com/us/corporate/publishing/subscribe
9:41 AM
76
In the Field By Andy Flower
Oracle Exadata’s Organizational Impact
With Oracle Exadata, consolidation isn’t just for information and applications.
B
y now you have all heard many pronouncements about why Oracle Exadata provides a technical and business advantage: data warehousing, big data, consolidation, private clouds, and so on. What I want to discuss in this column, however, is the impact Oracle Exadata has on the team that supports it. In most organizations, there are three distinct roles to administer your database, server, and storage environments. Often these three roles belong to separate teams with different line management. In rare cases (I’ll let you define how frequent “rare” is), this leads to organizational politics and finger-pointing, particularly when you are experiencing issues with one or more of your database servers. Enter Oracle Exadata. When you have a new server that integrates, consolidates, and streamlines the administration of your data servers, how do you allocate resources? Which team—DBA, systems administration, or storage—takes on the primary responsibility for the Oracle Exadata Database Machine? Further still, have you introduced a new role to your organization? These are interesting questions that may not yet have definitive answers. At the Independent Oracle Users Group (IOUG), we have a fairly DBA-centric view of things. DBAs make up a significant part of our history and the roots of our organization. So when first presented with the Oracle Exadata challenge, we looked at it through the DBA prism. We’ve since discovered that we needed to—and here I’ll paraphrase Tom Kyte from the membership lunch at the IOUG Forum at COLLABORATE—“unlearn what we know as DBAs.” Managing a database on Oracle Exadata
truly changes what a DBA needs to manage for performance and storage optimization. And if the responsibility for Oracle Exadata changes how a DBA needs to work, is which team should have primary responsibility for Oracle Exadata still the best question? Or do we in fact need a new kind of administrator: an Oracle Exadata administrator? I think there is a tendency to assume that today’s Oracle DBAs will acquire the skills to become Oracle Exadata administrators (EAs), so let’s assume that the EA role will come from the DBA team. Then what about systems and storage admins? Since many of the new skills required to be an EA include systems and storage administration, it seems possible—even natural—to cross-train these individuals to also be EAs. Why should DBAs be the only ones given the opportunity to evolve their skill set with Oracle Exadata? So with Oracle Exadata, where we previously needed three different roles to support one database server, we now need only one role—the EA. With Oracle Exadata, the old DBA, sys admin, and storage roles are gone, replaced by this notional EA role. Managers and technicians alike need to prepare for this reality. As a manager, if you’ve made an investment in Oracle Exadata, you certainly don’t want to understaff its support. Having multiple hands at the ready, from different core skills backgrounds, will help build a team of EAs to provide better, more-consistent database deployments and administration. As a technician, if Oracle Exadata is in your future, whether you are a DBA or a systems or storage administrator, you need to prepare by acquiring the skills you need to be an EA. IOUG is here to help with this transi-
November/December 2011 Oracle.com/oraclemagazine
tion for both technology and organizational change. We have launched specific programs on Oracle Exadata for our members, in partnership with our IOUG Oracle Exadata special interest group (SIG). The programming includes • Our Oracle Exadata—Start to Finish Webinar series • A ResearchWire study on data warehousing with a focus on Oracle Exadata • An Oracle Exadata certification program (being prototyped at the time this column was written, with a launch date still to be determined) • An event model that brings Oracle Exadata–specific training and educational events closer to you, year-round If you are a DBA, you are probably aware of these programs and have begun to take advantage of the lessons being shared by your peers. If you are not a DBA, this is a great time to find out what Oracle Exadata means to systems and storage management professionals.
Andy Flower (
[email protected]) is president of IOUG and has been an active volunteer with the organization since 1998. In his day job, he is an information management and business intelligence consultant with Right Triangle Consulting.
Next Steps LEARN more about IOUG Oracle Exadata programs and the IOUG Oracle Exadata SIG ioug.org
Oracle VM 4x More Scalable *
Than VMware Oracle VM VMware 32 CPUs
64 CPUs
96 CPUs
128 CPUs
*But are you ready to spend 4x less?
oracle.com/virtualization or call 1.800.ORACLE.1 Scalability compares maximum number of virtual CPUs supported by Oracle vs. by VMware.
Copyright © 2011, 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.