Sie sind auf Seite 1von 80

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

See where its been and where its going

Oracle Magazine at 25

Trusted Trusted Future Future Protection Protection

Fujitsu's SPARC ENTERPRISE Fujitsu's SPARC ENTERPRISE delivers Trust and Business Continuity delivers Trust and Business Continuity
Fujitsu and Oracle together are creating UNIXUNIX history through progressive delivery of Fujitsu and Oracle together are creating history through progressive delivery of server solutions with with SPARC ENTERPRISE. customer commitment is reflected in in server solutions SPARC ENTERPRISE. Our Our customer commitment is reflected overwhelming performance and excellent reliability that that protect, grow, and expand, overwhelming performance and excellent reliability will will protect, grow, and expand, the unique value of your your business assets. the unique value of business assets. Please visit visit : www.fujitsu.com/oracle/ Please : www.fujitsu.com/oracle/
2011 FujitsuFujitsu Limited. All reserved. Fujitsu, the FujitsuFujitsu logo and SPARC Enterprise are registered trademarks or trademarks of 2011 Limited. All rights rights reserved. Fujitsu, the logo and SPARC Enterprise are registered trademarks or trademarks of FujitsuFujitsu Limited UnitedUnited and other countries. UNIX isUNIX is a registered trademark of open in the UnitedUnited and and Limited in the in the States States and other countries. a registered trademark of open group group in the States States other countries. Oracle Oracle and Java are registered trademarks of Oracle and/or its affiliates. All SPARC trademarks are used under other countries. and Java are registered trademarks of Oracle and/or its affiliates. All SPARC trademarks are used under licenselicense and are registered trademarks of SPARC International. the UnitedUnited and other countries. and are registered trademarks of SPARC International. Inc. in Inc. in the States States and other countries.

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 worlds 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 userswhile saving time and moneyon its private cloud. By David Baum

Oracle Magazine at 25 / 47
Oracle Magazine has been published for 25 years. See how far its come . . . and where its going. Plus, get a look at the people behind Oracle Magazine. By Tom Haunert

NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE

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 todays mobile work environmenttake thousands of the most current & critical technology resources with you wherever you go.

SEARCH LESS. DEVELOP MORE.


With the intelligent library in the cloud.

DEPARTMENTS VOLUME XXV - ISSUE 6

Up Front / 6
FROM OUR READERS / 6
Readers tell us what they think.

Community / 30
PARTNER NEWS / 30 BOOK BEAT / 30 ARCHITECT / 33
Out of the Tower, into the Trenches
Overcoming resentment toward architects and architecture Bob Rhubart

Technology / 51
BUSINESS INTELLIGENCE / 51
Automating Oracle Business Intelligence Administration

Comment / 76
IN THE FIELD / 76
Oracle Exadatas Organizational Impact
With Oracle Exadata, consolidation isnt just for information and applications. Andy Flower

FROM THE EDITOR / 8


Virtual and Physical
Tom Haunert

MASHUP / 10
News, views, trends, and tools

Use the Oracle BI Systems Management API to automate administrative tasks. Mark Rittman

New Territory

UP CLOSE / 34
A user group founder teaches the value of peer-to-peer learning in India. Jeff Erickson

ORACLE ADF / 53 Put on a Friendly Face


Build a custom look and feel for your Oracle ADF Faces applications. Frank Nimphius

PEER-TO-PEER / 35

PL/SQL 101 / 59

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

Working with Numbers in PL/SQL

Part 4 in a series of articles on understanding and using PL/SQL Steven Feuerstein

ASK TOM / 63

RESOURCES / 15
Your guide to Oracle Webcasts, podcasts, white papers, and more

On Collaboration, Testing, When, and Why

Our technologist learns from you, is tested on testing, and propagates errors. Tom Kyte

BRIEFS / 18
The latest product news

INSIDE OCP / 69 Certify Your Expertise


Test your Oracle WebLogic Server mettle, and gain valuable credibility. TJ Palazzolo

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

SQL 101 / 71 Modeling and Accessing Relational Data


Part 2 in a series on the basics of the relational database and SQL Melanie Caffrey

INTERVIEW / 27
Strategic Storage
Oracle storage solutions deliver optimized performance for all types of I/O. Tom Haunert

NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE

editorial editor in chief Tom Haunert tom.haunert@oracle.com Senior managing editor caroline Kvitka caroline.kvitka@oracle.com contributing editor and Writer blair campbell editor in chief, oracle technology network Justin Kestelyn justin.kestelyn@oracle.com 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 merchn 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.

PuBliShing Publisher Jeff Spicer jeff.spicer@oracle.com Production director and associate Publisher Jennifer Hamilton jennifer.hamilton@oracle.com +1.650.506.3794 Senior manager, audience development and operations Karin Kinnear karin.kinnear@oracle.com +1.650.506.1985 advertiSing SaleS associate Publisher Kyle Walkenhorst kyle@sprocketmedia.com +1.323.340.8585 northwest and central u.S. Tom cometa thomas.cometa@sbcglobal.net +1.510.339.2403 Southwest u.S. and lad Shaun mehr shaun@sprocketmedia.com +1.949.923.1660 northeast u.S. and emea/aPac mark makinney mark.makinney@sprocketmedia.com +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 oracle@halldata.com fax +1.847.763.9638 Phone +1.847.763.9635 Privacy oracle Publishing allows sharing of its mailing list with selected third parties. If you prefer that your mailing address or e-mail address not be included in this program, contact customer Service at oracle@halldata.com.
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 oracles 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.

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.

Printed by brown Printing

oracle magazine November/December 2011

FROM OUR READERS

Your corrections, your opinions, and your requests: Heres your forum for telling us whats 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 (Whats 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 Whats Wrong and Whats Missing (From the

Editor, September/October 2011), rang some bells for me. There actually is a subject Id 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 Ive 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 Brendans missing issue details at brendantierneydatamining.blogspot.com.

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 uswe 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 digitalnot iPadedition. 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 opubedit_us@oracle.com. 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.

NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE

Grasp Legacy PL/SQL


Supporting legacy applications, documenting old and unfamiliar code or digging into someone elses code - a difficult and time-consuming task. Is there a solution?

Analyze, Illustrate, Fix and Run It

Yes, Conquests database tools for Oracle are the solution.


WORLD CLASS TOOLS FOR EVERYBODYS 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. Its a unique code review and quality control tool.
New in version 6

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

New Versions Download Your FREE Trial w w w.conquest-us.com

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 - its FREE!

FrOm The ediTOr

Virtual and Physical


virtualization and database appliances are both winners.

he cover feature of the August 15, 2011, issue of InformationWeek, Virtual Vs. Physical, posited, In the battle for data center supremacy, virtualization doesnt 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 releasesdifferent winners for the datacenter. VirTualizaTion 3.0 On August 23, 2011, Oracle announced the release of Oracle VM 3.0, Oracles 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 featuresincluding Oracle VM Manager 3.0, Oracle VM Templates, and VM Storage ConnectOracle 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.)

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

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 appliances 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 usefrom 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, theres no battle in the datacenter. Everybody wins. Tom haunert, Editor in chief tom.haunert@oracle.com
twitter.com/oraclemagazine linkd.in/orclmag

CONNECT: November/December 2011 Oracle.cOm/Oraclemagazine

bit.ly/avgo69

bit.ly/orclmagfb

Top SaaS Providers


Are Powered by Oracle

9 of the 10

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.

10

MashUp
FOOD AND BEVERAGE APPS

News. Views. Trends. Tools.

In much of the world, its holiday time. These apps help get the party started.

Epicurious Recipes & Shopping List

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

Mixology

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 its 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? Belkins 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 youre 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 1990ssometimes 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

WITH BACKUP

A BACKUP

Major product recall Hazmat leak 2% Drought/water access


7% 4% Source: Pillsbury Winthrop Shaw Pittman, and Levick Strategic Communications, pillsburylaw.com

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 arent 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.99US$139.99. seagate.com

NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE

Select Specialized Partners


70+ Oracle Product Specializations Skills Certified by Independent Testing Successful Implementations Confirmed by Customers

2,500 Partners with 70,000 Specialists

oracle.com/specialized

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

13

technology Events

oraclE UsEr groUPs


southeastern oracle Users conference
November 34, raleigh/Durham, North carolina

conferences and sessions to help you stay on the cutting edge

seouc.com

oracle Day 2011

Quest international Users group midwest conference


November 79, rosemont, Illinois

october 17november 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 oracles public and private cloud computing solutions; best practices and case studies on deploying an integrated, engineered technology stack; and oracles integrated and open business applications. Get the complete list of cities and dates at oracle.com/goto/oracleday2011.

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 910, vancouver, british columbia, canada

wcrug.ca

Java User group chennai jugchennai.in

November 12 and December 10, chennai, Tamilnadu, India

JaX london 2011


october 31november 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.

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.

south african oracle User group conference saoug.co.za

November 1315, Sun city, South Africa

northwest regional Users group Fall conference


November 15, Portland, oregon

questdirect.org/events/2418956 oaUg connection PointEPm/Bi


November 1516, Atlanta, Georgia

Java2Days
november 34, 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.

connectionpoint.oaug.org/2011/ epmatlanta german oracle User group (Doag) conference doag.de

November 1517, Nrnberg, Germany

Hro summit Europe 2011


november 24, 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).

rocky mountain oracle Users group Quarterly Educational Workshop


November 18, Denver, colorado

rmoug.org

oracle with 20:20 Foresight


november 34, 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

Bulgarian oracle User group autumn 2011 conference


November 1820, Hisarya, bulgaria

bgoug.org/en/events/details/86.html sangam11all india oracle Users group


December 910, bangalore, India

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
GeTTY ImAGeS

aioug.org

new York oracle Users group special Winter meeting


December 13, New York, New York

nyoug.org

oraclE magazinE November/December 2011

14

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


november 29December 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.

Buenos aires, argentina, hosts rubyconf argentina 2011, november 89.

studies, strategies, and techniques covering oracle technology and applications.

aHiP Fall Forum


november 1416, 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.

insurance and technologys 13th annual executive summit


november 69, carefree, arizona finsurancetech.com/summit2011 Learn how top insurance carriers are incorporating trends and technologiessuch as mobility and cloud computingthat drive growth, profitability, and compliance.

gartner Data center conference


December 58, 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.

DevOXX 2011 Java community conference


november 1418, 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.

cloud expo
november 710, 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.

ians Pacific information security Forum


December 67, 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.

rubyconf argentina 2011


november 89, 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.

Qcon international software Development conference


november 1418, 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.

Oracles JD edwards Update


november 10, rotterdam, netherlands fbit.ly/pDn3Wn Learn about the latest developments in oracles 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.

gartner Data center and it Operations summit


november 2829, london, england fbit.ly/ncwiPQ Learn how cloud computing, infrastructure innovation, and virtualization can create positive

events lOcatOr
Oracle events oracle.com/events locate User groups oracle.com/technology/community/user_groups

November/December 2011 Oracle.cOm/Oraclemagazine

GeTTy ImAGeS

ResouRces

15

Whats new at oracle


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 corporations matt Healey examines why oracle is uniquely positioned to deliver complete stack support. 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. 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. 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 oracles marc Shelley demonstrates how to configure oracles Sun blade modular systems.

The latest videos, podcasts, blogs, and more

oracle Database 11g outperforms Ibm Db2 9.7 in both administrator productivity savings and manageability. High Availability for Business-Critical IT Services Using Oracles SPARC Enterprise M-Series Servers fbit.ly/nnnijm read how oracles SPArc enterprise m-Series servers can increase revenue opportunities, lower costs, improve flexibility in responding to changing business conditions, and increase roI. 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 Ibms PoWer and oracles SPArc servers. 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.

Data Integration Webcast Series fbit.ly/rdXPnm This series on oracles 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. Oracles Enterprise Storage Webcast Series foracle.com/goto/storagewebcast Learn how you can improve storage efficiency, cut costs, and simplify data management.

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 Direct

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.

WHiTe PaPeRs
Database Manageability and Productivity Cost Comparison Study fbit.ly/q5ijpe This study by orc International reveals how

oRacle magazine November/December 2011

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 thats one of the factors thats 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)

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 oracles trade-in program.

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. 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. Oracles Sun Blade Systems Webcast Series fbit.ly/qhwkY3 Learn about oracles integrated blades infrastructure solutions that can be deployed, managed, and supported as a single system. Virtualize Your Linux Deployments with Lower Cost fbit.ly/nHPlw2 oracle virtualization experts discuss the benefits of virtualizing Linux systems using oracle vm.

The Oracle Support AdvantageMaximizing 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 Solaris and SPARC Server Integration fbit.ly/mTOPKu Hear a discussion of the benefits of oracle Solaris running on oracles SPArc enterprise m-Series and T-Series servers. Whats 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. 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. Author Sten Vesterli on Oracle ADF fbit.ly/oQWDxz Sten vesterli discusses his book Oracle ADF Enterprise Application DevelopmentMade 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.

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 oracles Siebel customer relationship management (Siebel crm) applications with this free self-study lesson from oracle University. Peoplesoft Human resources implementationgetting started fbit.ly/p1uqiw Get the basics on setting up oracles 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

e-BOOK
The Next Page in InnovationExtreme 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 Oracles Optimized Solutions fbit.ly/r00xgg Hear about the benefits of oracle optimized Solutions for organizations seeking to quickly deploy high-performance solutions.

calculaTOrs
Tiered storage savings calculator fbit.ly/n3xl3m calculate your potential savings with oracles flash, disk, and tape approach.

November/December 2011 Oracle.cOm/Oraclemagazine

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 LOADSPRINGyour ideal hosting provider and software problem-solver. your We deliver the undeliverable. We solve the unsolvable. And we do it fast...really fast. With LOADSPRING, youll get the worldwide software access you demand. Along with incredibly high levels of security, support and yes, con dence. In other words, well make the complex simple. And the hard seem easy. Imagine that.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

SOFTWARE

ACCESS

SECURITY

SUPPORT

Copyright 2011 LoadSpring is a trademark of LoadSpring Solutions, Inc.

Visit us on Facebook

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

Oracle Exadata Runs Oracle Solaris


Oracle Solaris 11 Express is now available on Oracles 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, weve 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 thats highly robust and ready to deploy out of the box. bit.ly/nX0CMz bit.ly/pvurvm

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

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

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

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. By significantly enhancing the worlds 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

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

NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE

BRIEFS

19

Oracle Modifies User Engagement Platform


Oracle has restructured Oracle WebCenter, its complete, open, and integrated portfolio of portal, Web experience management, and content and social computing technology. Oracle WebCenters 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 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 Oracles Enterprise 2.0 portfolio, making it easier for customers to achieve that goal. bit.ly/oM4Wns

Oracle Buys InQuira


Oracle has acquired InQuira, a provider of knowledge management software that supports Web self-service and agent-assisted service. InQuiras 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

Java SE 7 Released
Java Platform, Standard Edition 7 (Java SE 7), the first release of the Java platform under Oracles 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. Were very excited about Java SE 7; this is a great release with strong technology updates. Im 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 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 Oracles 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 Oracles Exabus technology to achieve the lowest latencies and highest throughput. oracle.com/goto/coherence

I-HUA CHEN

ORACLE MAGAZINE NOVEMBER/DECEMBER 2011

20

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 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 MySQLs 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 Buys Ksplice


Oracle has acquired Ksplice, the creator of zero downtime update technology for Linux. The addition of Ksplices 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 Ksplices zero downtime update technology further extends our Linux technology leadership. oracle.com/ksplice

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

Oracle Application Testing Suite 9.3 Released


The latest release of Oracles 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 Oracles 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 Managers 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 Groups 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

I-HUA CHEN

21

Oracle Enterprise Data Quality Unveiled


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 Oracles 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 Oracles data integration solutions, including Oracle Data Integrator. Oracle Enterprise Data Quality is also integrated and certified with Oracles Siebel Customer Relationship Management. The product is designed to enable prebuilt data qualitybased applications such as watchlist compliance screening that can be delivered both by Oracle and by Oracles 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

Oracle Previews MySQL 5.6


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

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 Avnets solution providers to leverage Oracles new solutions youll experience: Increased overall data center efficienciesby 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.

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 customers workload, and the appropriate Oracle software including Oracle Database 11g Release 2is 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 Oracles 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 appliances capacity they usefrom two processor cores to all 24

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. Were 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 worlds leading database in a highly available system from a single vendor. Weve 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

NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE

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

25

application-Driven Virtualization

oracle vm 3.0 delivers virtualization performance and management, from hardware to applications.

eralding a new era of applicationdriven virtualization, Oracle announced Oracle VM 3.0, the latest release of its virtualization solution, which integrates with Oracles 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 levela 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.

APPLICATION-AWARE Organizations today want virtualization for all their applicationsnot only test and development instances but also large, business-critical applicationsand 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 weve 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, oracles senior vice president for linux and customer-written software. virtualization engineering, discusses oracle Vm 3.0.

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, Oracles 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 whats running inside the VM, Coekaerts said. A cloned operating system might be able to handle a new IP address and host name, but applications

usually cant, 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 Oracles 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 servicemore than 6,000 virtual machinesusing 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 Oracles 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 Oracles and othersin addition to Oracles 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

Saul lewiS

oracle magaziNe novemBer/decemBer 2011

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, Oracles 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 VMs 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 VMwares license and support costs are totaled. Were very low cost compared to our competitors, Coekaerts said. We have all the features that people need, and were tying in stuff that others cant because we have all the components in-house.

Oracle VM is simply the best choice, Screven said, whether youre virtualizing an Oracle workload or a non-Oracle workload. Wrapping up the event, he concluded: Were 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.

www.polarbearsinternational.org

Conservation through Research and Education

Help Us Help the Polar Bear


Photo R&C BuChanan NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE

IntervIew by Tom HaunerT

27

Strategic Storage

oracle storage solutions deliver optimized performance for all types of I/o.

om Haunert, Oracle Magazine editor in chief, recently sat down with Michael Brown, director of storage product marketing at Oracle, to talk about Oracles 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 todays datacenter. Theres 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 theres an extra network and controller for data to pass through. Third, theres 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, theres 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 doesnt 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 Oracles 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 storageNAS I/O? Brown: Oracles NAS product offering is the Sun ZFS Storage Appliance, and its 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

bob aDler

oracle magazIne november/December 2011

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: Oracles premier offering for the SAN environment is the Pillar Axiom storage system. Its 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-

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 Axioms 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 todays 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 mediumup to 230 times less than disks. The use of online storage for backup, recovery, and compliance is fine, but you shouldnt make it your only solution. If you only use online storage, its possible that errors can propagate from one device to its shadow copy. However, this cant 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 Oracles 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 were really just seeing the tip of the iceberg in terms of whats 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

lISten to the podcast oracle.com/magcasts

November/December 2011 Oracle.cOm/OraclemagazIne

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. with features and techniques to really make the language sing. Youll 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.

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 sectionssuch as SOA or securitydepending on an organizations clients needs. It is available either on premises or through the cloud. AFPO is the cornerstone of Accentures 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

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 its performance-related, youll 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 youre pressured for quick results. Thats when you need a book of solutions, such as those included in this book.

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.

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

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

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 youve reached that point with PL/SQL, this book will show you how to combine syntax and mechanics

Look for other Oracle books at oracle.com/ technetwork/community/bookstore.

NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE

PARTNER NEWS

31

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, business 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

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, Oracles 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

Cintra Achieves Specialization Status for Three Oracle Solutions


Oracle partner Cintra has completed three Oracle specializationsOracle Database Performance Tuning, Oracle Real Application Clusters, and Oracle GoldenGatevia 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. Cintras 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

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; Oracles PeopleSoft, Siebel, JD Edwards, Agile, and Demantra solutions; Oracle Enterprise Taxation Management, and Oracle Policy Automation. capgemini.com

Brainware Achieves Validated Integration


Oracle Gold Partner Brainwares 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 Oracles 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 Oracles entry-level and midrange SPARC Enterprise M-Series servers and Oracle Solaris. Specialization assures dignums 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

ORACLE MAGAZINE NOVEMBER/DECEMBER 2011

32

PARTNER NEWS

AdaptiveMobile Picks Oracle Berkeley DB


Dublin, Irelandbased 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 its used by more than 600 million subscribers worldwide. AdaptiveMobile selected Oracle Berkeley DB for its data retrieval speed, reliability, scalability, availability, and ability to integrate with the companys 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

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 Neits 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 Oracles 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

Kalypso Gets Specialized in Oracles Agile Solutions


Oracle Gold Partner Kalypso has achieved Specialized status in Oracles Agile product lifecycle management (PLM) applications. Kalypso, with headquarters in Ohio and the Netherlands, has extensive implementation 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 solutionsOracle 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 Oracles JD Edwards EnterpriseOne aimed at the food and beverage industry. Its target customers are midsize companies wishing to replicate the enterprise resource planningbased 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 Oracles Agile product lifecycle management solution. ICPs 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

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, Qualogys 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

NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE

LINDY GROENING

Architect By BoB RhuBaRt

33

out of the tower, into the trenches

overcoming resentment toward architects and architecture

f you walk into project meetings and are greeted with welcome smiles, hearty handshakes, and appreciative nods, the chances are pretty good that (a) youre not an IT architect, and (b) the room isnt 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? Its 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 hes 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 architects 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 dont have managerial authority over them. Bottom line: if youre not prepared to be a leader, youre 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 dont think you can head off the problem, Dikmans says. It is part of the game. But that game can be wonwith 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

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. Ive 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 couldnt 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 didnt get the idea of a user group. Vallath and AIOUG have found ways to make this top-down mentality work for them. The groups 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

Seekingand FindingSUCCeSS Vallath studies how other regions have grown their user groups, and he is particularly impressed by the Latin American OTN Tourduring 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 hes now doing the initial planning for an India OTN Tour in 2012. Four years after the groups 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

are renewing their memberships, and thats always a good sign, says Vallath. That means theyre finding value. December 9 through 10, 2011, will see AIOUGs largest event to date: Sangam11. Were expecting 600 members to attend, says Vallath. Were 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 familys life is rooted in the U.S. His high schoolage 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 cant leave now, he says. So Im 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

November/December 2011 Oracle.cOm/Oraclemagazine

bob ADler

Peer-To-Peer by bLAir CAmpbELL

35

How testing, writing, reading, and connecting can be tools for self-instruction

learn as You go

ricardo PorTilho Proni

lisa dobson

zhang leYi (Kamus)

company: Nerv informtica, 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: So 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 blogeven if it happens in the middle of the night. This doesnt just help others; when you blog about something youve 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 completethereby consuming much less CPU and causing fewer wait events.

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. Its so clearly written, with do-it-yourself exercises that really drive the concepts home. Whats your favorite thing to do that doesnt involve work? Being vice president of the U.K. Oracle User Group [UKOUG]. Ive been volunteering with UKOUG since 2005, and its not something I consider work. I relied on the user group so much when I was a beginner and feel strongly about giving back.

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

Whats your favorite tool on the job? Im 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 graphicsits 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 systemswe 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 languageback 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

Jaime Ferrand

ORACLE VM CONSOLIDATES SERVERS AND MAKES APPLICATIONS MORE AVAILABLE, RELIABLE, AND MANAGEABLE.

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

VV

Before virtualization, Pella was running at 35 to 40 percent cPU utilization. With new hardware and Oracle Vm, were 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).

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

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 its 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, Pellas 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, theres only one point of contact and one service call for the entire stack. The Oracle VMbased VMs run in the middle tier, where Pella

November/December 2011 Oracle.cOm/Oraclemagazine

mark LuiNeNburg

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 dont 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 environmentsfor example, Oracle E-Business Suite, Oracles Siebel Customer Relationship Management, and Oracle Database. Configuring these can be time consuming, says Coekaerts, but were 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 Manufacturingto perform the day-to-day tasks that support Pellas back-office business operations and manufacturing shop floor. Besides the 11-month payback, Pellas 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, were running at about 5 percent utilization for each VM. Other benefits arent 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, Pellas 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 worlds largest laser, located at the Lawrence Livermore National Laboratory (LLNL), a U.S. Department of Energy (DOE) facilityare using an Oracle VMenabled virtualized server farm to recreate the physical environment and conditions that exist at the inside of the sun. The scientific understanding that results from NIFs 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 LIFEfor 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 laymens 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 NIFs server farm consists of 70 physical Pella corporation serversa mix of SPARC and x86-based pella.com location: Pella, Iowa systemsrunning 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 NIFs 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 NIFs 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 Vmbased 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.

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 VMbased 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 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. Oracles 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 Oracles Sun Ray Software and Oracle Virtual Desktop Infrastructure.

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 NIFs highly compute-intensive applications. For NIF, it wasnt so much a matter of cost cutting as cost avoidance. Its not like we had 700 servers before, Frazier notes. Its only because of virtualization that weve been able to dedicate machines to specific workloads. In the old days of bare metal, that would have been too wasteful, and we couldnt 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, californiabased freelance writer. next StePS


learn more about virtualization oracle.com/virtualization Oracle Vm 3.0 oracle.com/oraclevm

November/December 2011 Oracle.cOm/Oraclemagazine

Phil SaltoNStall

CritiCal Workloads.
All DAy, EvEry DAy.
intel Xeon Processors. Dependability for Oracle solutions that simply cant 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, Texasbased company is now the worlds 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 industrypioneering online travel agencies, corporate booking tools, revenue management, and Web and mobile itinerary tools, to name just a fewSabre continues to develop solutions that define the travel and transportation marketplace.

NOVEMBER/DECEMBER 2011 ORACLE.COM/ORACLEMAGAZINE

Jaime Ferrand

44

SnapSHOt

Sabre Holdings
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 Sabres 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. Sabres 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.

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

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 Sabres 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. Theres no cost associated with it. Its 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 Sabres 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 couldnt 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 levelsas measured in terms of database performance, availability, and data securityand 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 costsmany, many times over, Romberg contends. Because its all shared, the hardware and operational costs are incrementally very low. Its 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 dont have to add as much capacity because they arent individually scaling every project. Having a big pool of capacity improves service for everyone. Even

November/December 2011 Oracle.cOm/Oraclemagazine

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 solutionwhich would be difficult to justify for dozens of individual projects outside of a Sabres 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. Its much faster to ramp up new projects as well. Instead of having to procure, certify, and deploy hardware database clusterseither for shared or for standalone applications. and software, and then build databases, configure runtime paramWhen 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. Its a simple matter of creating a toring, alerting, backupit 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 isnt 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, Sabres 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. Its working really well for us. than being specifically optimized for a single application. In general, Sabres private database cloud is appropriate for any David Baum (david@dbaumcomm.com) 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 applicationwhich, 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. Were 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, its 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

Java programming Poornachandra Sarang Learn advanced skills from a Java expert

oracle Business process Management suite 11g Handbook Manoj Das, Manas Deb, and Mark Wilkins Implement successful business process management projects

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 its been and where its going.
BY TOM HAUNERT

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 pagesincluding the front and back coversin 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 didnt 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 magazines 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 magazines interior the latest was in 2010.

readers have technology questions, and Oracle Magazine has technology answers.

Magazine Content ContinuuM Logo and redesign changes aside, the biggest changes from issue to issue of Oracle Magazine are in the magazines 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 cant 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 whats 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 releasesfrom 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 customers use of Oracle

Oracle Magazine TeAm


Jeff Spicer Publisher and Vice President, Oracle marketing Tom Haunert editor in chief Jennifer Hamilton Production Director and associate Publisher

November/December 2011 Oracle.cOm/Oraclemagazine

bob ADLer

caroline Kvitka Senior managing editor

Justin Kestelyn Senior Director, Oracle Technology network

Leslie Steere Senior editorial Director

Francisco G Delgadillo Senior creative Director

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 Kytes Ask Tom series is the most obvious Q&A example, but all of the magazines 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.

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 magazines content was briefly available on CD, and then more widely available on the Webas 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 Magazines 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

richard merchn Design Director

Karin Kinnear Senior manager, audience Development and operations

Sprocket media, advertising Sales Kyle Walkenhorst, mark makinney, cindy elhaj, Tom cometa, and Shaun mehr

Jaime Ferrand, contributing Designer Sheila brennan, production Designer

Jeff erickson Senior editor

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

51

automating oracle Business intelligence administration

oracle bUSineSS intelligence enterPriSe eDition 11g

Use the oracle bi Systems Management aPi to automate administrative tasks.

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, its 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 Managers System MBean Browser. 1. In your Web browser, navigate to http://<host>: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 Administrators 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

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

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

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.

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://<host>: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

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

November/December 2011 Oracle.cOm/Oraclemagazine

Java Developer

Oracle aDF By Frank nimphius

53

Put on a Friendly Face

oracle JDeveloper anD oracle application Development FrameWork

Build a custom look and feel for your oracle aDF Faces applications.

n ancient Chinese proverb says, He who does not have a friendly face should not run a business. An applications look and feel can be the friendly face your company shows its customers to help generate a positive impression of the business. Oracle ADF Facesthe 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 applications look and feelincluding color scheme, font size and style, component borders, default label text, images, and morewithout changing the applications 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, youll 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 youre 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 nodes 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 usersuch as SYSTEMand 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

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 components 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;} } }

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

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 components colors only for the Germany (de) locale:
@locale de{ af|inputText::label{backgroundcolor:yellow;} af|inputText::content{backgroundcolor:black; color:red;} }

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

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 selectorfor example, af|inputText::content in Figure 1renders for different component states and themes. Clicking one of these areasfor example, af|inputText::content:busyenables you to change colors for the selected component area and state in the Property Inspector.

November/December 2011 Oracle.cOm/Oraclemagazine

55

Figure 4: Skin creation dialog box

Themesindicated by several theme tabsare 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 applications 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 applications weblogic-application.xml file to reference it. HAnDS-on Skinning ExErCiSE Now that you have an overview of skinning and the skin editor, youre ready for some hands-on practice. In a simple exercise, youll 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 applications 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 boxs 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 files. If its 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 projects 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 dont 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 doesnt 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; }

Figure 5: mapping of fusionFx selector alias colors to custom colors

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.

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

November/December 2011 Oracle.cOm/Oraclemagazine

57

ADF library before testing the changes in the ViewController project. 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.)

Figure 6: Skin editor and property inspector view for configuring global component selectors

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

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 Users 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 Applications 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

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 nowfor example, by adding styles to individual component selectors. (If you havent 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

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
orld OpenW Oracle #106 Booth

s Visit u

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

59

Working with Numbers in PL/SQL


Part 4 in a series of articles on understanding and using PL/SQL

ORACLE DATABASE

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/SQLs numeric types to be implemented in a platform-independent fashion. PLS_INTEGER. Integer datatype conforming to your hardwares underlying integer representation. Arithmetic is performed with your hardwares 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 lets take a closer look at NUMBER and PLS_INTEGER. The NUMBER datatype. The NUMBER datatype is by far the most common numeric

datatype youll 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 =#################################################

I-HUA CHEN

ORACLE MAGAZINE NOVEMBER/DECEMBER 2011

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.

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)

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 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 platforms native integer format. Here is an example of declaring a variable of type PLS_INTEGER:
DECLARE loop_counter PLS_INTEGER;

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 10130 (1.0E 130) and as large as 10126 1 (1.0E126 1). Values smaller than 10130 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, youll 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

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

(10.23, 1)); (10.25, 1)); (10.27, 1)); (123.456, -1)); (123.456, -2));

And here is the output from this block: 10.2 10.2 10.2 120 100

November/December 2011 OracLe.cOm/OracLemagazine

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, its 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 types 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. Youll 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. 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

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)

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 .00in 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:
BEGIN DBMS_OUTPUT.put_line ( 'Amount='|| TO_CHAR ( 10000 , '9G999G999')); END;

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 ( 10000 , '0G000G999')); END; Amount= 0,010,000

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

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 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 OReilly 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; /

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 DBMS_OUTPUT.put_line ( 'Amount=' || TO_CHAR ( 10000 , 'FM9G999G999')); END; 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 ( 14500.77 , 'FML999G999D99')); END; Salary=$14,500.77

Steven Feuerstein
(steven.feuerstein@ quest.com) is Quest Softwares PL/SQL evangelist. He has published 10 books on oracle PL/SQL (oreilly media) and is an oracle Ace Director. more information is available at stevenfeuerstein.com.

nexT STePS
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

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.

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

Database Application Developer and DBA

Ask Tom by Tom KyTe

63

on collaboration, Testing, When, and Why

oracle DaTabase 11g

our technologist learns from you, is tested on testing, and propagates errors.

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 youthe readers of Ask Tom. It is through the questionsand the research necessary to answer those questionsthat my knowledge of the database has grown and continues to grow. Ive said many times that I learn something new about Oracle Database almost every day, but another thing Ive 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 approachwith the give and take from readersleads 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 dont 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 13 rows selected. 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

orAcle mAgAzine November/December 2011

64

Ask Tom

I came up with an initial solution that would work for a fixed number of elements initially threein 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 dont 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; Ive 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 fieldadding 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 Laurents 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 queryagainst one of the Oracle Database V$ tablesas 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 13 rows selected. 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

And that was just one more new thing Ive 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. Were 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 Im looking for a way to speed this up, because the preparation limits how many tests were 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 cant simply roll back. Ive tried using exp/imp, and my understanding of flashback is that it

affects the entire database (not just a single schema), in which case its 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.

November/December 2011 orAcle.com/orAclemAgAzine

65

Then whenever you wanted to restore the schema data, you would simply drop that tablespaceincluding its contents and datafilesand 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||datetimethat 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 SQL> select 'my_script_name_' || to_char(sysdate, 'yyyymmdd' ) filename from dual; FILENAME my_script_name_20110624

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 BUGNO 2194204 DESCRIPTION disable push predicate driven by func. index into partition view Use extended index caching discount 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 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 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 Eliminate unneeded bitmap conversion Enhance functional index checks when considering OR-expansion ORDER BY sort elimination with OR expansion Remove having clause subquery at all levels

... 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 ... 10.1.0 10.1.0 10.1.0 10.1.0.3 10.1.0.5 10.1.0.5 10.2.0.1 ... 11.1.0.6 ... 11.1.0.7 11.2.0.1 .. 11.2.0.2

2663857 9785632 1403283 2324795 2660592 2320291 2492766 3118776 4904838 5005866

3056297 3151991 4550003 3120429 4308414 4569940 3335182 4168080 8557992 399198 9912503

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

551 rows selected.

And you are done. When to partition What is a good sizein 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

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. Lets 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 Ive 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 ( begin return_code := 0; exception when others then log_the_error; return_code := -1; end; , 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 PLW-06009: procedure "SOME_PROC" OTHERS handler does not end in RAISE or RAISE_APPLICATION_ERROR

in out number )
6/8

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 forgetespecially 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> create table t ( x int check ( x>0 ) ); Table created. SQL> create or replace procedure p 2 3 4 5 6 7 end; / as begin insert into t values ( 1 ); insert into t values (-1 );

SQL> begin 2 3 4 * 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> select * from t; no rows selected / p; end;

begin

Procedure created.

So, you have a procedure you know will fail, and the second INSERT will always fail in this case. Lets see what happens if I run that stored procedure:

As you can see, Oracle Database treated the stored procedure call as an atomic statement. The client submitted a block of codeBEGIN 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 behaviorstatementlevel atomicityrelies 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

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 3 4 5 6 7 end; / p; exception when others then dbms_output.put_line(

'Error!!!! ' || sqlerrm );

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 Peach 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 subtleand 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:
SQL> begin 2 3 4 5 6 7 8 9 end; / savepoint sp; p; exception when others then rollback to sp; dbms_output.put_line(

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 Pthe procedure fails, and SELECT * FROM t returns no rowswhile still catching and ignoring the error. Note, however, that the correct, bad-practice free block of code submitted to the database should simply be
SQL> begin 2 3 4 / p; end;

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

'Error!!!! ' || sqlerrm );

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

orAcle mAgAzine November/December 2011

Exadata
Replaces Teradata
36 Teradata Racks 3 Exadata Racks

Consumed 10x Energy

8x Faster

At Teradatas Largest Asian Customer

Save The Planet, Dump Your Teradata


For more information visit oracle.com/savetheplanet

System Administrator | Certification

InSIde OCP By TJ Palazzolo

69

Certify Your expertise

oraCle WeBlogiC Server eNTerPriSe eDiTioN

Test your oracle Weblogic Server mettle, and gain valuable credibility.

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 Servers 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 Servers Administration Console, a script using Oracle WebLogic Servers 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

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 applications 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 applications descriptors. But where do these plans come from?

Identify three ways to create a deployment plan. a. Edit an applications 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 oracles 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 cancer. of breast

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 nancially 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 ghting breast cancer on every front.

Dont wait another 69 seconds to save a life. Were making progress, but theres
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.

Find us
6/23/11 4:18 PM

Komen-69Sec-Oracle-HalfPg.indd 1

November/December 2011 OraCle.COm/OraClemagazIne

Database Application Developer and DBA

SQl 101 by melaNie caffrey

71

modeling and Accessing relational Data


Part 2 in a series on the basics of the relational database and SQl

oracle DatabaSe

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 Ill 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 tablestwo-dimensional matrices made up of columns and rows. A tables 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 tables primary keya composite of its Employee_ID and Project_ID columnsis 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 projectsand, in this example, that one employee can be assigned multiple and

emPloYee
employee_iD 37 1234 7895 First_name frances Donald matthew last_name Newton Newton michaels Hire_Date 14-SeP-2005 24-SeP-2006 16-may-2007 28 28 10 10 manager Department_iD

(m) DePArTmenT
Department_iD 10 20 name accounting Payroll

liNDy GroeNiNG

(1) Figure 1: emPloYee and DePArTmenT tables with a 1:m relationship

orAcle mAgAzine November/December 2011

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 10 20 name Accounting Payroll

(Primary and Foreign Key (1)) manager


Department_iD 10 20 name eckhardt Dovichi

Figure 2: DeParTmenT and manager tables with a 1:1 relationship emPLOYee


employee_iD 37 1234 First_name Frances Donald Last_name Newton Newton

PrOJecT
Project_iD 10 20 Project_name online market research 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 diagramsalso known as physical data modelscan use several types of standard notation. The schema diagram in Figure 5 uses a convention called crows-foot notationthe standard notation used by Oracle SQL Developer Data Modeler, a database modeling and design tool. With crows-foot notation, a crows 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 relationshipindicated by the solid line between the crows foot and the arrowheadis 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 emPLOYee


employee_iD 37 1234 First_name Frances Donald Last_name Newton Newton

Primary Key PrOJecT


Project_iD 10 20 Project_name online market research Flight booking

paving the Way With analysis and design Before developers, DBAs, or database architects create tablesor even schema diagramsthey 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 doesnt take into consideration a specific technical (or physical) implementation. Entity is the logical term for a physical implementations 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 tablesagainst possible reduced query (data retrieval) performance when some or many of these tables are joined together

Foreign Key emPLOYee_PrOJecT


employee_iD 37 1234 1234 Project_iD 10 10 20

Foreign Key
assigned_Project_Task Project management Db Development Lead Architect

Primary Key Figure 4: associative emPLOYee_PrOJecT table that resolves the m:m relationship

November/December 2011 OracLe.cOm/OracLemagazine

73

via SQL. (Youll 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 toolscalled clients, or front endsare used to send SQL commands to the server, or back end. Three such tools are Oracle SQL Developer, Oracles 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 Users 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 tables 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 tables 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 tables primary key, and any column comments. (You can see that no primary key has been defined for the EMPLOYEE table in Figure 7. Youll 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 columns 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

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 youve defined and created your physical tables, you have many data access options to choose from, including the three no-cost tools from Oracle youve 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 8: SQL*Plus environment immediately after login

Figure 9: Output of the DeScriBe command in SQL*Plus

Figure 10: Output of the emPLOYee tables 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 wont 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 Its a good idea to familiarize yourself with multiple data access tools so that you can

decide which one works best for youand 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*Plusa commandline-based utility thats the tool of choice for many old-school Oracle Database programmers and DBAsis 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 tables columns and each columns datatype in SQL*Plus, you use the DESCRIBE command (desc for short), as shown in Figure 9. If youre using Oracle Application Express, you can use any data access tool youd like, but Oracle Application Express does have its own built-in data access functionality, called SQL Workshop. SQL

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 Users Guide Release 2.1 bit.ly/nldmjl reaD SQL 101 Part 1 bit.ly/oHanfn

November/December 2011 OracLe.cOm/OracLemagazine

Print. Digital. Mobile.

Read Your Favorite Technology Magazines on Your Favorite Device.

3G

9:41 AM

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

76

in the Field by ANDy Flower

Oracle exadatas Organizational impact

with oracle exadata, consolidation isnt just for information and applications.

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 (Ill 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 teamDBA, systems administration, or storagetakes 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. Weve since discovered that we needed toand here Ill paraphrase Tom Kyte from the membership lunch at the IOUG Forum at COLLABORATEunlearn 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 todays Oracle DBAs will acquire the skills to become Oracle Exadata administrators (EAs), so lets 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 possibleeven naturalto 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 rolethe 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 youve made an investment in Oracle Exadata, you certainly dont 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-

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 ExadataStart 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 Exadataspecific 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
(andy_flower@ioug.org) 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

November/December 2011 Oracle.cOm/Oraclemagazine

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.

Das könnte Ihnen auch gefallen