Está en la página 1de 68

JULY/AUGUST 2011

First Line of Defense Oracle Database Firewall monitors database conversations /19 Upgrade to Oracle Business Intelligence Enterprise Edition 11g Take advantage of the latest OLAP analysis, mapping, KPI, and scorecard features /43 Add Advanced List Interaction Use model-driven LOVs in Oracle ADF to implement smart lists /47 Control the Flow of Execution Part 2 in a series of articles on understanding and using PL/SQL /50 On Better Loading and Fact-Checking Our technologist enjoys the rule of external tables and debunks index scan myths /57

STORAGE FROM A TO ZFS


Rise of the Machines

How organizations optimize storage with tiered Sun ash, disk, and tape solutions from Oracle and enable unied storage with the Sun ZFS Storage Appliance

One organization lays a foundation for shared services with Oracle Exalogic and Oracle Exadata

First Line of Defense

Oracle Database Firewall monitors database tra c and blocks unauthorized activity

SUN ZFS STORAGE 7420 APPLIANCE

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 4

cOntents

Storage from a to ZfS


most business users dont spend much time thinking about storage. they follow a few simple guidelines and expect their critical information to be saved, backed up, and duplicated. the vast storage infrastructure that automates these activities is largely behind the scenes. yet as the demand for information grows, so do storage infrastructures. strategic storage solutionsfrom tape libraries to flash and disk arrays to unified storagecan simplify the essential tasks of storing and managing enterprise data management. Find out how Novant Health and the Australian Bureau of meteorology manage terabytes of new data every day with business-ready storage systems from oracle. By David Baum

flash

/30

disc

rise of the machines / 36


oracle exalogic elastic Cloud is the worlds first engineered system specifically designed for implementing a private cloud computing environment that can host everything from small-scale departmental applications to large-scale enterprise resource planning systems. since its debut at oracle openWorld in september 2010, oracle exalogic has changed the cloud conversation as organizations explore how they can take advantage of this unique middleware machine. And the perfect datacenter partner for oracle exalogic? oracle exadata Database machine. together, these standards-based, engineered systems deliver extreme performance for data warehousing and online transaction processing applications. Read why PHH Corporation is consolidating disparate technology stacks into a shared services environment anchored by oracle exalogic and oracle exadata. By David Baum

July/August 2011 Oracle.cOm/Oraclemagazine

tape

WITH THE INTELLIGENT LIBRARY IN THE CLOUD.

SEARCH LESS. DEVELOP MORE.

REGISTER YOUR TEAM FOR A FREE TRIAL NOW


Find all the latest and most relevant resources for Oracle developers and IT professionals at Safari Books Online.

LEARN MORE AT:

and get access to the worlds most popular, fully searchable digital library.

safaribooksonline.com/oracle

Move your library to the cloud and get instant, unlimited, fully searchable access to the tech books you need including exclusive online access to books from OReilly Media, Addison-Wesley, Prentice Hall and more! See for yourself why more than 15 million IT and business professionals, developers and web designers from corporations, government agencies and academic institutions use Safari Books Online.

Departments Volume XXV - Issue 4

up Front / 6
FrOm Our reaDers / 6
Readers tell us what they think.

FrOm the eDitOr / 7


portable Development for the mobile Business
Tom Haunert

mashup / 8
News, views, trends, and tools.

at Oracle / 11
events / 11
Find out about upcoming technology and industry events.

resOurces / 13
your guide to oracle Webcasts, podcasts, blogs, and more

interview / 19

First line of Defense

BrieFs / 16
the latest product news

steve moyle, chief technical officer of oracle Database Firewall, talks about the products cutting-edge security features. Tom Haunert

community / 22
partner news / 22 BOOk Beat / 22 cOmmunity Bulletin / 25
oracle technology Network members weigh in on what they want more of. Justin Kestelyn

architect / 26
can you relate?
your success as a software architect depends on your relationships with stakeholders. Bob Rhubart

up clOse / 27 the translator


Hans Forbrich helps DBAs understand the broader technology stack. Jeff Erickson

peer-tO-peer / 28
On grids and groups
Bob mycroft, Julian Dontcheff, sheeri K. Cabral Blair Campbell

survey says

technology / 43
Business intelligence / 43
upgrade to Oracle Business intelligence enterprise edition 11g

Oracle aDF / 47 add advanced list interaction


use model-driven lists of values in oracle Application Development Framework to implement smart lists with autosuggest behavior. Frank Nimphius

pl/sQl 101 / 50

controlling the Flow of execution

ask tOm / 57

On Better loading and Fact-checking

take advantage of the latest olAP analysis, mapping, KPI, and scorecard features. Mark Rittman

Part 2 in a series of articles on understanding and using Pl/sQl. Steven Feuerstein

our technologist enjoys the rule of external tables and debunks index scan myths. Tom Kyte

comment / 63
in the FielD / 63
Build and Buy
An oracle technologist looks at the principles for integrating built and bought solutions. Andy Flower

make the next storage move

analysts cOrner / 64
organizations reduce costs by matching the right type of storage to their needs. David Baum

July/August 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. 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.

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

Printed by Brown Printing oracle Product indeX


Product name AutoVue Hyperion profitability and cost management solutions Java Java Platform, Enterprise Edition MysQl MysQl Enterprise Edition NetBeans Oracle Application Development Framework Oracle Application Development Framework Mobile Client Oracle Application Express Oracle business intelligence solutions Oracle Business Intelligence Enterprise Edition Oracle Business Intelligence foundation Oracle Business Process Management Oracle CRM On Demand Oracle Data Integrator Page Product name 18 Oracle Database 13 Oracle Database Firewall 14 Oracle Database Migration Assistant for unicode 16 Oracle Database, Express Edition 13, 14, 16, 24 Oracle E-Business suite 17, 23 Oracle Enterprise gateway 17 Oracle Enterprise Manager grid Control 47 Oracle enterprise performance management solutions 16 Oracle Exadata Database Machine 22, 63 Oracle Exalogic Elastic Cloud 23 Oracle Fusion Middleware 43 Oracle glassFish server 23 Oracle goldengate 16, 63 Oracle governance, risk, and compliance solutions 23, 24 Oracle Health sciences Clinical Development Center 13, 63 Oracle Hyperion Data Relationship Management Page Product name 14, 23, 24, 30, Oracle Hyperion Planning 50, 57, 63 19 Oracle JDeveloper 18 Oracle linux 13, 16, 25 Oracle On Demand 23, 24 Oracle On Demand strong Authentication service 17 Oracle Public sector 22 Oracle Real Application Clusters 14, 17 Oracle Retail 13, 14, 16, Oracle sOA suite 36, 64 14, 36 Oracle solaris 22, 63 Oracle solaris Cluster 13, 16 Oracle tuxedo 14 Oracle Validated Configurations 14 Oracle VM 18 Oracle WebCenter suite 16 Oracle Weblogic server Page Product name 22, 23 Peoplesoft Enterprise 47 Peoplesoft Enterprise human capital management solutions 13, 23 Peoplesoft Peopletools 13 siebel Customer Relationship Management 18 sPARC servers 23 storagetek Automated Cartridge system library software 23 storagetek sl8500 modular library system 24 storagetek t10000 63 sun Blade server 14 sun storage 6000 30 sun storage 6780 14 sun storage Archive Manager 18 sun x86 Rackmount servers 13, 22 sun ZFs storage Appliance 63 13, 14, 16 Page 24 23 23 23, 24 13 30 30 30 30 30 30 30 30 14, 17, 30

oracle magazine July/August 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.

iPAD POTENTIAL AND PROGRESS I downloaded the iPad version of Oracle Magazine with great enthusiasm. I was a bit disappointed to see it is just the magazine content moved onto the iPad with the same format. Im not comfortable reading with the default size. Anil Shafeeque The editors reply: We have been working to improve the user experience on our iPad application. In the current version of the Oracle Magazine iPad app, you will find a much more readable and interactive experience in portrait view. Not only is the default size larger, but weve broken the page elements apart for better readability. You can now zoom in on figures and code listings, too. Weve also added more interactive elements, including animated technical illustrations. We hope this will improve your experience with Oracle Magazine on the iPad. Let us know what you think. MORE JAVA! Im an enterprise architect and am well versed with the technology landscape in many industries. Given the depth of Javas penetration in the industry and its wide adoption by customers, it seems like a good opportunity to have one to two pages in Oracle Magazine dedicated to Java. Ramkumar (Ram) Jeyaraman The editors reply: We agree that Java needs more magazine coverage, but we also believe that one or two more pages per issue in this magazine is not enough. Thats why Oracle is

launching Java Magazine in late July 2011. This essential source of knowledge about Java technology, the Java programming language, and Java-based applications is for people who rely on Java in their careers (or who aspire to). The editors of Java Magazine invite you to subscribe to this free digital publication at bit.ly/javamagsub. ARE YOU EXCELLENT? Can a company submit a nomination for the Oracle Magazine Editors Choice Awards? Amanda Stewart The editors reply: The Oracle Magazine Editors Choice Awards have been renamed the Technologist of the Year awards, and they are now part of the Oracle Excellence Awards. You may nominate individuals at your company for the Technologist of the Year awards; nominations are due by June 30, 2011. Please refer to the Oracle Excellence Awards page at bit.ly/kVhJ3Z for more information. BROKEN BLOCKS I think the last block to run in the Name Those Blocks! section of Steven Feuersteins Building with Blocks article (March/April 2011, bit.ly/i9rSxd) has a typo. Steven asks us to create the function hello_message, creates a procedure (hello_place) that uses this function, and then says: I can also call the function from within a SQL statement. In the following block, I insert the message into a database table:

BEGIN INSERT INTO message_table (message_ date, MESSAGE_TEXT) VALUES (SYSDATE, hello_place ('Chicago')); END;

I think that the hello_place procedure should instead be the hello_message function, because I dont think a procedure will work here. (I get ORA-06550|00904.) So:
BEGIN INSERT INTO message_table (message_ date, MESSAGE_TEXT) VALUES (SYSDATE, hello_message ('Chicago')); END;

Either way, keep up the great articles! Alan Turnbull Steven Feuerstein replies: Alan, many thanks for pointing this out. Yes, you are right; the function must be called, not the procedure.

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.

JULY/AUGUST 2011 ORACLE.COM/ORACLEMAGAZINE

From The ediTor

Portable development for the mobile Business


Oracle software continues to support the latest cloud and mobile hardware.

ts funny to look back at some of the very large PCs of the 1980s that were called portableand at early mobile phones that were the size of bricks. Both portable computing and mobile communications devices have certainly evolved. Portable business software has also evolved, and it continues to support a variety of platformsfor use on a variety of datacenter, desktop, and mobile devices. And the demand continues for portable business software that can run on each new mobile device. Oracle has been developing portable software for more than 30 years, for a variety of hardware and software platforms that now live in the cloud and the datacenter and do business on the desktop, the laptop, and the newest mobile devices. And todays mobile devices are just the latest stop for portable Oracle enterprise technology and solutions. Portable oracle technology Oracle recently released Oracle Application Development Framework Mobile Client (Oracle ADF Mobile Client). With it, developers can define a device-independent representation of an application. They can build an application with Oracle ADF Mobile Client, deploy it to multiple devices, and extend it to new platforms without redevelopment. (For more information, see Oracle Releases Oracle ADF Mobile Client, page 16.) Oracle also recently announced Oracle Business Intelligence Enterprise Edition Release 11.1.1.5, which introduces support for Apples iPad and iPhone through the new Oracle Business Intelligence Mobile feature. Oracle Business Intelligence Enterprise Edition 11.1.1.5 content is optimized for use with the iPad and iPhoneno

design changes to existing reports and dashboards are required. Portable oracle content The Oracle mobile application for iPhone and iPad collects and delivers the latest information about all things Oracle, including the latest news, Oracle Technology Network content, videos, events, blogs, and investor and press information. It also collects and links to the latest Oracle mobile applications available for that platform, including Oracle Business Intelligence Mobile and Oracle WebCenter Spaces 11g Release 1, as well as Oracle Magazine and Profit: The Executives Guide to Oracle Applications. For the record, the printed Oracle Magazine has been portable and mobile since its beginnings in 1986, and it has been available in HTML format since the 1990s. A browser-based digital subscription has been available since 2006, and Oracle Magazine has been packaged as an application for mobile devices since 2010. Portable notes Registration for Oracle OpenWorld 2011, October 26 in San Francisco, California, is now open at oracle.com/openworld. . . . Java Magazine is coming. Subscribe now at bit.ly/ javamagsub. . . . The Oracle Magazine Editors Choice Awards program has been renamed the Technologist of the Year awards and is now part of the Oracle Excellence Awards program. Nominations for Technologist of the Year and all other Oracle Excellence Awards are now open at oracle.com/us/corporate/awards. tom haunert, editor in chief tom.haunert@oracle.com

neXT STePS
learn more about oracle Business intelligence enterprise edition release 11.1.1.5 oracle.com/us/corporate/press/392802 eXPlore oracle and the mobile enterprise oracle.com/us/technologies/mobile-enterprise read Oracle Magazine content online oracle.com/oraclemagazine SuBScriBe to Oracle Magazine oracle.com/us/corporate/publishing/subscribe Java Magazine bit.ly/javamagsub nominaTe candidates for oracle excellence awards oracle.com/us/corporate/awards

CONNECT:

bit.ly/aVgo69

bit.ly/orclmagfb

twitter.com/magazineoracle

linkd.in/orclmag oracle magazine July/August 2011

MashUp
W E AT H E R A P P S

News. Views. Trends. Tools.

Its tough to predict the weather, but these apps try.

Weather Alert USA

This app gives you weather reports and forecasts by location, but its best feature is push notification of National Oceanographic and Atmospheric Administration watches, warnings, and advisories for the U.S. US$3.99 (iPhone, iPad, iTouch). www.softpeas.com

Weather Channel

Bookmark your favorite locations or use the GPS feature to get a local forecast (hourly, 36-hour, or 10-day). Free (iPhone, Android); Ad-free Max version US$3.99 (iPhone); or by subscription (BlackBerry, Treo, Windows Mobile, Motorola Q). weather.com

Fahrenheit

Youll always know the temperature, because this app puts it on your home screen in real time. Also provides forecasts and radar maps for cities worldwide. Despite its name, it also speaks Celsius. US$0.99 (iPhone, iPad). itwcalculator.com

WeatherPro

Great worldwide coverage with global satellite images and animated radar maps. Available in 12 languages. Cost varies by platform and subscription (iPhone, iPad, Android, BlackBerry, Windows Phone 7). weatherpro.eu

SEEING DOUBLE
Want the interactivity of a tablet with the functionality of a notebook? Check out Acers Iconia-6120 Dual-Screen Touchbook, a dual 14-inch LCD touchscreen notebook. At 6.18 pounds, the Windows 7based twin tablet is loaded with an Intel Core i5 processor, 4 GB of RAM, a 640 GB hard drive, a 1.3-megapixel HD webcam, Wi-Fi, and USB 3.0, HDMI, VGA, and USB ports. It sports AppCards, a set of Iconia touch-based applications including a touch-based browser, a clipping tool, a social network aggregator, and tools for quick access to multimedia files. With the Touchbook you can use your finger for control, type on a virtual keyboard, or use a combination of both. You can also customize what is shown on each screenwatch a video on the top screen, browse your multimedia library on the bottom one, or view a single Web page across the two displays. US$1,199.99. us.acer.com.

Enchantment causes a voluntary change of hearts, minds, and actions. It transforms situations and relationships, converts hostility into civility, and changes skeptics and cynics into believers.
Guy Kawasaki, author of Enchantment: The Art of Changing Hearts, Minds, and Actions (Penguin Group, 2011)

HUMILITY IS IN

Employees who perceive themselves as honest and humble receive significantly higher job performance ratings from their supervisors.
Source: Baylor University, baylor.edu

MINI MIC

If you record podcasts, video blogs, conference sessions, or business meetingsor talk via Skypeenhance your sound quality with the i-Microphone from GoBiz. This compact microphone is perfect for travel and works with the iPad, MacBook, iPhone, and other smartphones. The i-Microphone features an omnidirectional condenser microphone that can record up to 12 dB louder than the microphones built into most mobile devices. Weighing less than 0.25 ounces, it offers RF shielding that reduces interference and feedback, a windscreen, and a weatherproof brass body. US$25.99. gobizcorp.com.

SEEK AND YE SHALL (EVENTUALLY) FIND


In a survey of 450 IT professionals and business managers, participants were asked how much time they spend each day filing and maintaining information and searching internal documents and systems for information they need. 5 minutes 7% 10 minutes 13% 20 minutes 21% 30 minutes 19% 45 minutes 11% 1 hour 1.5 hours 2 hours 3 hours 3+ hours 14% 6% 4% 3%
CHRIS STRACH

2%

Source: OpenText and AIIM, Capitalizing on Content: A Compelling ROI for Change, aiim.org, opentext.com.

JULY/AUGUST 2011 ORACLE.COM/ORACLEMAGAZINE

EvEnts

11

technology Events
insync11

oraclE UsEr groUPs


sacramento Java Users group meetings
July 12 and August 9, sacramento, California

Conferences and sessions to help you stay on the cutting edge


august 1617, sydney, australia this conference program, developed by Oracle customers for their peers, covers Oracle applications and technologies and features the largest number of Oracle users gathered in one place outside of Oracle OpenWorld. More than 140 speakers from Australia, New Zealand, and elsewhere provide updates, presentations, and reports. get all the details and sign up at bit.ly/hw8QgJ.

sacjug.org

Java metroplex Users group meetings


July 13 and August 10, Addison, texas

javamug.org

UKoUg DBms sig meeting


July 14, london, England

ukoug.org

oklahoma city oracle User group meetings okcity.oracle.ioug.org

July 19 and August 16, Oklahoma City, Oklahoma

Houston oracle Users group meetings


July 20 and August 10, Houston, texas

houg.org

latin american oracle technology network tour 2011


July 8, Quito, Ecuador fecuoug.org With information for DBAs, Oracle applications administrators, architects, developers, and other technology leaders, this daylong conference features a presentation by Oracles tom Kyte as well as information from Oracle representatives and partners.

oaUg connection Point release 12.1


July 1213, chicago, illinois fbit.ly/fgfXuz Presented by the Oracle Applications users group (OAug), the North Central Oracle Apps user group (NCOAug), and the OAug upgrade sIg, this conference helps attendees implement, upgrade to, or reimplement Oracle E-Business suite 12.1. Case studies and panels cover application and database tuning, security, and optimizing the upgrade process.

losUg-UKoUg solaris and open solaris sig meetings ukoug.org

July 20 and August 17, london, England

ohio oracle Users group meeting


July 21, Dublin, Ohio

ooug.org

Dallas oracle Users group Database Forums doug.org

July 21 and August 18, Richardson, texas

Hci international 2011


July 914, orlando, Florida fhcii2011.org the 14th International Conference on HumanComputer Interaction is a forum for the dissemination and exchange of scientific information on theoretical, generic, and applied areas of HCI. It opens with three days of tutorials and then shifts to three days of parallel sessions, poster sessions, and an exhibition. Presenters include Michele snyder and Jeff sauro, both usability engineers at Oracle.

southwest regional oracle applications User group meeting


July 22, Irvine, California

ber conf
July 1215, Denver, colorado fuberconf.com Dubbed the by its organizers, this conference offers 150 technically focused Java-related sessions, including 25 hands-on workshops on topics including architecture, cloud, security, enterprise Java, languages on the Java virtual machine, build/test, mobility, and agility.

sroaug.org

central Florida oracle Users group meetings cfoug.org

July 25 and August 22, Orlando, Florida

austin Java Users group meetings


July 26 and August 30, Austin, texas

austinjug.org

indiana oracle Users group training Day


July 28, Indianapolis area, Indiana

aga Professional Development conference and Exposition


July 1013, atlanta, georgia fagacgfm.org/pdc2011 this education and networking event for government financial managers and accountability professionals, sponsored by the Association of government Accountants (AgA), includes technical sessions, keynote presentations, an exhibit hall, and networking opportunities.

8th international Joint conference on E-Business and telecommunications


July 1821, seville, spain ficete.org this event brings together six different conferenceson topics ranging from e-business to security to multimediaand includes a worldwide roster of academic keynote speakers, specialized workshops, and dozens of topicspecific sessions.

inoug.org

new zealand oracle Users group committee meeting


August 5, online

nzoug.org

st. louis oracle Users group meeting


August 11, st. louis, Missouri

sloug.org

gEtty IMAgEs

Pittsburgh oaUg golf outing pittoaug.oaug.org

August 19, Pittsburgh, Pennsylvania

oraclE magazinE July/August 2011

12

events

cryptography, malware analysis, virtualization, vulnerability and exploit deployment, and more. Among the sessions is a two-day hands-on course that covers security problems related to Oracle Database, including unsecure Pl/sQl code, patch management, and weak passwords, and how to secure and harden databases using built-in Oracle Database features.

national Forum on criminal Justice and Public safety


Head to Portland, Oregon, for OscOn, July 2529.

2011 World congress in computer science, computer engineering, and applied computing (WOrlDcOmP11)
July 1821, las vegas, nevada fbit.ly/hneBbl this global congress includes 22 different academic conferences, all held at the same time and in the same location. specific topics include grid computing and applications, internet computing, and software engineering research and practice.

campus technology 2011


July 2528, Boston, massachusetts fbit.ly/gtowtF More than 40 concurrent sessions in six tracks and 10 half-day workshops provide information for faculty, administrators, and It professionals in higher education. topics include education applications, social software, immersive platforms, the digital campus, instructional design, and leadership.

July 31august 2, Jersey city, new Jersey fnational-forum.net this gathering showcases programs and technologies that help criminal justice practitioners and decision-makers in states, local communities, and tribal nations address important public safety issues in an era of tight budgets.

nrFtech: it leadership summit 2011


august 1416, lake tahoe, nevada fbit.ly/efPtsr the National Retail Federation (NRF) CIO Council sponsors this educational program that provides actionable information on the latest trends in retail technology, business-It alignment, and It governance.

OaUg connection Pointenterprise Performance management


July 2021, seattle, Washington fbit.ly/hse5Bq this in-depth regional forum covers Oracles enterprise performance management (EPM), business intelligence, and Hyperion solutions. Educational content includes customer success stories, partner tips and tricks, and information from Oracle executives across all Oracle EPM applications and tools.

Open source convention (OscOn)


July 2529, Portland, Oregon foscon.com More than a dozen tracksplus colocated conferences for Java and data managementmake OReillys annual OsCON the ideal place to see and evaluate new open source projects, tools, services, platforms, languages, and more.

Quest West
august 1617, san Diego, california fbit.ly/dloDib Quest partners with six regional user groups for an educational event focusing on networking and idea-sharing between customers, third-party vendors, and Oracle employees.

gartner catalyst conference


July 2629, san Diego, california fbit.ly/evr2qh this gathering focuses on the technologists role in identity and privacy, cloud computing, data management, security and risk management, network and telecommunications, and content and collaboration. the conference includes opportunities to network with analysts, vendors, and peers.

Quest northeast
July 2021, Uncasville, connecticut fbit.ly/h9cH9n Quest joins with five Northeast affiliate user groups and the Financial services Industry user group for two days of education geared toward Oracles Peoplesoft and JD Edwards customers.

innovation and technology management africa


august 2426, Pretoria, south africa fciipm.co.za/itm Participants in this event will examine the African experience and best practices in enterprise technology management. topics include government support and leadership and organizational culture.

Black Hat Usa 2011


July 30august 2, las vegas, nevada fbit.ly/jfKgaQ this conference for the information security community delivers timely, actionable security information in a vendor-neutral environment. training topics include auditing and assessment,

July/August 2011 Oracle.cOm/Oraclemagazine

gEtty IMAgEs

and JavaOne 2011 October 26, 2011 san Francisco, California oracle.com/openworld oracle.com/javaone

register for Oracle OpenWorld 2011

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

ResouRces

13

Whats new at oracle


ViDeos
TechCast Live: Oracle Database, Express Edition Goes to 11! fbit.ly/lpeQda Chris Rice, senior director for database tools at Oracle, tells you what you can expect from Oracle Database, Express Edition 11g, a free and redistributable version of Oracle Database (now in beta). TechCast: Oracle GlassFish Server and Oracle WebLogic Server Interoperability and Integration fbit.ly/lkYzQW learn about Oracles strategy for creating increasing integration between Oracle glassFish server and Oracle Weblogic server. Avea Improves Performance with Oracle Data Integrator and Oracle Exadata fbit.ly/gpHaag Hear why Avea selected Oracle Data Integrator and Oracle Exadata to implement a real-time data warehousing solution. Oracles Software as a Service fbit.ly/iaYRw7 learn about the software-as-a-service offerings available through Oracle On Demand.

the latest videos, podcasts, blogs, and more

business and It with expanded tools for simplifying communication and collaboration.

as 90 percent while increasing manageability and flexibility with MysQl on Windows. Boost Utilization, Cut Costs with SPARC Consolidation and Virtualization fbit.ly/gsQ3nB Find out how the built-in virtualization capabilities in Oracles sPARC servers can increase system utilization levels to as much as 90 percent. Improve Performance with Enhanced Insight into Profitability and Costs fbit.ly/jgscmz learn how Oracles Hyperion profitability and cost management solutions allow you to rapidly identify sources of profitability and increase transparency.

WeBcasTs
Cloud Computing Webcast Series fbit.ly/khcexa this four-part series will help you develop a strategy and roadmap for cloud computing. The Value of Linux in Todays Fast-Changing Computing Environments fbit.ly/mi3me1 IDC analysts discuss the evolution of linux as a solution for business-critical deployments and the new ways in which linux is being delivered. Securing High-Performance Web Applications fbit.ly/efezn2 learn how to optimize your mission-critical Web applications by balancing security and operational performance using Oracle technologies. Why Pella Corporation Deployed Oracle VM and Oracle Linux fbit.ly/kBTeYm Pellas datacenter managers and It administrators discuss why they virtualized their Oracle applications with Oracle VM and moved to Oracle linux. Oracle VM and Cloud Computing: A Reality Show fbit.ly/m9Dzux learn about the role of Oracle VM server virtualization in the cloud and what you need to know to run an efficient datacenter. Enterprise Storage Innovations fbit.ly/l8l28a Hear how Oracle, Intel, and other leading companies are dealing with skyrocketing amounts of data and other storage challenges. MySQL on Windows Online Forum fbit.ly/l8yzqm learn how to reduce database tCO by as much

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

PoDcasTs
Edward Whalen on Oracle VM fbit.ly/k5xKYr Edward Whalen discusses his new book, Oracle VM Implementation and Administration Guide (Oracle Press, 2011). Rick Greenwald on Oracle Exadata fbit.ly/jt7e2d Rick greenwald, lead author of Achieving Extreme Performance with Oracle Exadata (Oracle Press, 2011), discusses this new book. Oracle BPM Suite Overview: Social BPM fbit.ly/jP0yX4 Hear how social business process management (BPM) provides process lifecycle participants in

oRacle magazine July/August 2011

14

resOurces

OVerHearD

Training
self-study Training for Java foracle.com/education/sscd self-study training on CD-ROM is a convenient way to learn. New Java self-study courses include Web Component Development with servlets and JsPs, Java EE 6; and Developing Web Applications using JsF technologies. certification Value Packages fbit.ly/j4erzy save up to 20 percent and get the added advantage of a free certification retake when you purchase an all-in-one Certification Value Package, available for Java, Oracle solaris, Oracle Database 10g, Oracle Database 11g, and MysQl. Oracle exalogic elastic cloud Training fbit.ly/lxcKs3, bit.ly/jYVqp9 get up to speed on Oracle Exalogic with Oracle universitys Oracle Exalogic Elastic Cloud Overview seminar and Oracle Exalogic Elastic Cloud Administration course.

Today we have an Oracle exadata database and we have almost 25 terabytes. Our eTl [extract, transform, and load] batch window decreased by one-third. Our query performance is 10 times better than it was with the old system.
Hanife Keskin, Etl supervisor, BI solutions at Avea, in the Avea Improves Performance with Oracle Data Integration and Oracle Exadata video (bit.ly/gpHaag).

Pull the Plug on Your IBM Mainframe fbit.ly/egF7ek Find out how Oracle tuxedo and Oracle goldengate enable IBM mainframe customers to move to modern, efficient systems with minimized risk and cost. Upgrade Your Custom Java and Forms Applications to Oracle WebLogic Server fbit.ly/kl7cml Hear how upgrading to Oracle Weblogic server can help you improve your development productivity and flexibility and manage your production applications more efficiently. No Contest: Oracle WebLogic Outperforms IBM WebSphere fbit.ly/jepaoQ learn how Oracle Weblogic server outperforms IBM Websphere in tCO, performance, and cloud readiness.

of 200 It professionals about the storage-related challenges caused by server virtualization. gaining Business advantage Through storage management efficiency with Oracles sun zFs storage appliance fbit.ly/izyXln Edison group analysts provide the results of a manageability study comparing Oracles sun ZFs storage Appliance to a NetApp storage solution. in search of the long-Term archiving solution fbit.ly/ldBn7Y Clipper group analysts reveal why tape is the best solution for long-term storage of digital media.

TOur
Tour the Oracle utah compute Facility f1.800.633.0738 sign up through your Oracle license sales representative to tour Oracles newest datacenter. this datacenter exemplifies how Oracle uses its own technologies to deliver business results, solve It problems, and drive down costs.

resOurce cenTers
Oracle Optimized Datacenter foracle.com/goto/dc-optimize Explore the Oracle Optimized Datacenter, which features strategies and solutions to help you solve your datacenter challenges. Oracle Database 11g resource center foracledatabase11g.com Access the latest Oracle Database 11g tutorials, white papers, customer success stories, and more. Oracle exadata resource Kit fbit.ly/kaurce learn about Oracle Exadatas extreme performance for data warehousing and online transaction processing applications through videos, demos, analyst reports, and customer stories. enterprise Performance management and governance, risk, and compliance center fbit.ly/iKdahb learn about Oracles enterprise performance management and governance, risk, and compliance (gRC) solutions through videos, demos, white papers, data sheets, and podcasts.

e-BOOKs
The Most Complete and Integrated Virtualization ftek.io/lbbmng learn how a complete and integrated virtualization solution can provide end-to-end visibility and management to lower costs. Storage Tiering for Dummies, Oracle Special Edition fbit.ly/j5uHmi learn how to implement tiered storage in your organization and find out how it can intelligently improve storage performance, increase capacity, and drive costs down.

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

WHiTe PaPers
consolidated storage for Virtualized server environments fbit.ly/jaVdKc this report details the results from a recent survey

July/August 2011 Oracle.cOm/Oraclemagazine

Leaders Run
Oracle Storage
10 of the 10
Top Banks Top Telcos Top Pharmas Top Governments

Get Better Results

oracle.com/goto/storage 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.

16

Product Resources

DemOS
Oracle Hyperion Data Relationship management
learn how Oracle Hyperion Data Relationship Management models business rules and constraints of managing the business to streamline change management. fbit.ly/mgeSmz

Oracle Releases Oracle aDF mobile client


Oracle Application Development Framework Mobile Client (Oracle ADF Mobile Client), a component of Oracle Fusion Middleware that allows developers to create applications for mobile devices, is now available. Oracle ADF Mobile Client is based on the same programming paradigm as JavaServer Faces and uses a single Java user interface framework and tooling for all supported devices. Developers can build an application with Oracle ADF Mobile Client, deploy it to multiple devices, and extend it to new platforms without redevelopment. Developers using Oracle ADF Mobile Client can employ a mix of visual editing tools and Java code to define a deviceindependent representation of an application. Oracle ADF Mobile Client provides design tools and data synchronization services for offline data synchronization, as well as real-time data links via Web services. Data can also be cached locally for hybrid online/offline mobile applications. Applications created with Oracle ADF Mobile Client can access local device hardware (such as cameras, barcode readers, and GPS devices) through Java code embedded in the application. The increased adoption of mobile business applications requires Java developers to create and extend mobile applications faster than ever before, says Ted Farrell, chief architect and senior vice president of tools and middleware at Oracle. Oracle ADF Mobile Client enables developers to leverage their existing skill sets to efficiently deploy applications across mobile devices and platforms and address rapidly increasing mobility requirements within the enterprise. bit.ly/gKrPpm

Oracle Weblogic Server 10.3.4 zip Distribution

Find out why Oracle Weblogic server zip distribution reduces the download size of Oracle Weblogic server by more than 70 percent and enables faster download-torunning times for users. fbit.ly/lgjVSb

active cache for Oracle glassFish Server (Parts 1 and 2)

this two-part series on the Active Cache feature for Oracle glassFish server discusses concepts and basic deployment and setup, reviews the product feature set, and shows you how to configure Active Cache. fbit.ly/ijTaK9 fbit.ly/juSPSW

TUTORialS
Oracle BPm 11g Quick Start Series
this series of four short tutorials covers the essentials of using Oracle Business Process Management 11g to model and simulate, implement, participate in, and monitor a business process. fbit.ly/jQvfRa

Java ee 7 Java Specification Request approved


The Java Community Process (JCP) Executive Committee has approved the Java Specification Request (JSR) for JSR 342, the next release of Java Platform, Enterprise Edition (Java EE). Java EE 7 enhances the Java EE platform for cloud environments and will allow Java EE 7based applications and products to operate more easily in private and public clouds. Features such as multitenancy and elasticity will allow Java EE 7 applications to function as a service. The JCP also approved JSR 340 for Java Servlet 3.1, JSR 341 for Expression Language 3.0, JSR 343 for Java Message Service 2.0, and JSR 344 for JavaServer Faces 2.2. These submissions complement JSR 338 for Java Persistence API 2.1 and JSR 339 for Java API for RESTful Web Services. Java is already the most pervasive serverside development and deployment platform for the cloud, says Steven G. Harris, senior vice president of Oracle Fusion Middleware product development. With Java EE 7, enterprise developers and deployers will see additional cloud-specific innovation built into the standard and available across many vendor implementations. jcp.org/en/jsr/summary?id=342

Oracle exadata Database machine Best Practices Series

In this tutorial series, members of Oracles maximum availability architecture team share tips, tricks, and best practices for implementing, managing, and working with Oracle Exadata Database Machine. fbit.ly/kdnTKr

Respin Your Desktop application Using Java Web Start

learn how to respin your desktop application by converting it into a Java Web start application. fbit.ly/kJpKwP

mySQl 5.6 Development milestone Release available


Now available, the first development milestone release for MySQL 5.6 delivers increased performance, scalability enhancements, an improved InnoDB storage engine, and enhanced replication capabilities. MySQL 5.6 has an improved optimizer, for better query performance; more partitioning options, for faster access to relevant data; and better performance monitoring and tuning. InnoDB now offers more-predictable optimizer plans; more-efficient purge operations; and comprehensive resources information for tuning and troubleshooting. With this first MySQL 5.6 development milestone release, we are offering early access to new stable features for testing, says Tomas Ulin, vice president of engineering at Oracle. Oracle continues to innovate and enhance MySQL Database, delivering a higher-performing, more scalable, more reliable, and easier-to-use MySQL. dev.mysql.com

DOWnlOaDS
new Downloads
Oracle Database, Express Edition 11g fbit.ly/k1G8xB NetBeans IDE 7.0 fnetbeans.org

July/August 2011 ORacle.cOm/ORaclemagazine

I-HuA CHEN

BRIEFS

17

Oracle Enterprise Gateway 11g Secures SOA Deployments


To help enterprises secure their SOA deployments, Oracle has unveiled Oracle Enterprise Gateway 11g, which secures, accelerates, integrates, and routes XML, Web services, and other types of data. Oracle Enterprise Gateway offers out-ofthe-box integration with Oracle SOA Suite 11g, Oracle SOA governance, Oracle Identity Management 11g, and Oracle Enterprise Manager. It includes demilitarized-zone-class security for SOA and cloud environments; XML processing that enables SOA and cloud applications to offload resource-intensive operations; an open, standards-based architecture that plugs into third-party platforms and environments; and XML connectivity and security capabilities that safeguard traffic between heterogeneous environments. Oracle is the only SOA and identity management vendor to offer comprehensive threat mitigation, identity propagation, secure connectivity, and compliance for SOA environments, says Amit Jasuja, vice president of development, identity management, and security products at Oracle. Using Oracle Enterprise Gateway, our customers have enhanced security and flexibility to confidently extend their enterprise datacenter into the cloud. bit.ly/g1WIHg

Oracle Enhances MySQL Enterprise Edition


An update to MySQL Enterprise Edition 5.5 a subscription offering of MySQL that includes MySQL Database; monitoring, backup, and design tools; and 24/7 supportis now available. The update adds the Enterprise Backup feature, which enables hot online backup and full, partial, and incremental backups; and MySQL Workbench, which provides data modeling, SQL development, and comprehensive administration tools. MySQL Enterprise Edition 5.5 integrates with My Oracle Support, allowing MySQL customers to access the same support infrastructure as Oracle Database customers. With the enhancements to Enterprise Monitor and Enterprise Backup, along with streamlined, global support, DBAs and developers can speed their MySQL deployments while reducing total cost of ownership, says Tomas Ulin, vice president of engineering at Oracle. bit.ly/hVkPjb

Oracle Updates Enterprise Performance Management System


Oracle has unveiled release 11.1.2.1 of its Oracle enterprise performance management applications, which includes updates to Oracle Hyperion Disclosure Management and Oracle Hyperion Financial Close Management, as well as enhanced upgrade tools and expanded platform support. The update includes support for inline Extensible Business Reporting Language, enabling compliance with new U.K. financial reporting standards. The new release is also integrated with Oracles PeopleSoft Enterprise financial management applications, enabling organizations to streamline and manage closing activities. As regulatory bodies continue to mandate new global requirements for financial reporting, organizations need ways to simplify execution, while ensuring compliance, says Hari Sankar, vice president of product management at Oracle. Oracle continues to develop and enhance its performance management applications to support the changing needs of global businesses. bit.ly/k9Yvhh

NetBeans IDE 7.0 Released


Oracle has launched NetBeans 7.0, the newest edition of the NetBeans integrated development environment (IDE). It adds or improves support for several key technologies. In the area of Java Platform, Standard Edition, NetBeans 7.0 includes Java language support for the upcoming Java Development Kit 7 (JDK 7). It also features editor enhancements, support for Maven 3, integration with JUnit 4.8.2, and support for remotely hosted Javadoc. In server technologies, NetBeans 7.0 offers streamlined and faster deployment to Oracle WebLogic Server 11g and supports Oracle GlassFish Server 3.1. For Oracle Database, NetBeans 7.0 supports editing and deployment of stored procedures, simplifies the connection wizard, and offers guided installation to JDBC drivers. Oracle continues to enhance the NetBeans platform, providing developers with a feature-rich, open source IDE for the creation of Java-based mobile, Web, and desktop applications, says Ted Farrell, chief architect and senior vice president of tools and middleware at Oracle. bit.ly/iFFUoP

Oracle Expands Integrations for Sun ZFS Storage Appliance


Oracle has announced three new integrations with the Sun ZFS Storage Appliance, its family of high-performance, high-density storage systems. First, the appliance now directly connects to the Oracle Exadata InfiniBand fabric. This simplifies deployments and can accelerate backup and recovery times by more than 50 percent compared to traditional networkattached storage systems. Second, Oracle Virtual Desktop Infrastructure now integrates with the Sun ZFS Storage Appliance using rapid iSCSI provisioning. This automates desktop provisioning and accelerates virtual desktop deployments. Third, Oracle Secure Backup works with Sun ZFS Storage Appliance backup and recovery in conjunction with Oracles StorageTek tape libraries. This combination brings together unified storage backup and tape. Oracles Sun ZFS Storage Appliance delivers compelling value for customers on three major fronts: best-in-class management, with DTrace analytics and hybrid storage pools; a highly scalable architecture using integrated flash combined with the Oracle Solaris operating system; and seamless integration with Oracle applications, says Scott Tracy, senior director of flash and disk products at Oracle. Engineered with Oracle software, the Sun ZFS Storage Appliance offers customers a mature storage solution they can trust. bit.ly/hJGMKK

ORACLE MAGAZINE JULY/AUGUST 2011

18

BRIEFS

Oracle Delivers Validated Oracle Linux Configurations


Three new Oracle Validated Configurations, based on Oracle Linux and offering pretested, validated architectures, are now available. The configurations include Oracle Linux 5 with the Unbreakable Enterprise Kernel, Oracle Database 11g, Oracle Real Application Clusters, Oracles Sun ZFS Storage 7420 appliance, and one of the following servers: Oracles Sun Fire X4800 server (pictured), an 8-socket rackmount x86 system; Oracles Sun Fire X4470 server, a 4-socket rackmount x86 system; or Oracles Sun Fire X4270 M2 server, a 2-socket rackmount x86 system. The Oracle Validated Configurations are yet another example of Oracles commitment to engineering our hardware and soft-

Oracle Introduces AutoVue 20.1


Oracle has unveiled AutoVue 20.1, the latest release of its family of enterprise visualization solutions, which delivers a robust enterprise-class architecture that can serve an organizations complete document visualization needs within a single platform. The release includes new electronic computer-aided design features that support end-to-end, design-to-manufacture processes for customers in electronics and high technology; improved support for paper-based processes for customers in asset-intensive industries; and new integration capabilities that enable partners to build customized solutions. AutoVue 20.1 also includes performance, reliability, and stability enhancements and new tools to simplify deployment and administration. The value of enterprise visualization is to synthesize visual and nonvisual information in the context of specific business processes to increase efficiency and improve a companys bottom line, says Thierry Bonfante, senior director, AutoVue product strategy/ management at Oracle. We have implemented a rich hotspotting framework that can associate parts of drawings to any logic contained in enterprise systems and delivered several high-value business process solutions. bit.ly/eWCwYO

ware together to deliver high-performance application-to-disk solutions, says Ali Alasti, vice president of hardware engineering at Oracle. The tight integration between our x86 clustered systems, Sun ZFS Storage Appliance, and Oracle software takes out the guesswork for customers and delivers differentiated value unmatched in the market. bit.ly/dOgRRL

Oracle Database Migration Assistant for Unicode Unveiled


Oracle has released Oracle Database Migration Assistant for Unicode, a tool for migrating databases from legacy encodings to Unicode. Oracle Database Migration Assistant for Unicode simplifies the migration process and lessens the need for character set migration expertise by guiding DBAs through the migration process and automating many tasks. For databases that already use Unicode, Oracle Database Migration Assistant for Unicode has a validation mode that identifies data not correctly encoded and provides a health check on potential issues. Oracle Database Migration Assistant for Unicode is available free from Oracle Technology Network and My Oracle Support. The two download packages are identical, but the first is available under the Oracle Technology Network Developer License (which allows users to evaluate the tool), while the second is provided under the database support contract (which permits migration of production databases covered by the contract). This new tool makes it easy for customers to migrate their databases to Unicode, whether they are expanding the global reach of their database applications or consolidating their global databases, says Andy Mendelsohn, senior vice president of database server technologies at Oracle. It allows customers to quickly identify and cleanse problematic data to ensure a safe migration to Unicode, while its unique inplace conversion technology significantly reduces the migration downtime. bit.ly/fjD2t3

Oracle On Demand Adds Strong Authentication


Oracle On Demand has added strong authentication to its service portfolio. This addition addresses the growing number of security threats that target enterprises internetfacing applications. Powered by Oracle Adaptive Access Manager, Oracle On Demand Strong Authentication Service provides both implementation and managed services, eliminating the need to engage a third-party implementer. The service requires no changes to the protected application. [The new service] provides a unique value for Oracle cloud customers by combining the feature-rich Oracle Adaptive Access Manager product with the benefits of an Oracle managed service, says Monika Thakur, product manager for Oracle On Demand. bit.ly/f2GDmt

Oracle Health Sciences Clinical Development Center 3.1 Introduced


Now available, Oracle Health Sciences Clinical Development Center 3.1 is a solution for integrating, managing, and analyzing clinical trial information. It improves integration, increases automation, and expands data standardization to enable accelerated processing of clinical trial data from multiple sources in a variety of formats. The automated data load and new execution triggers in Oracle Health Sciences Clinical Development Center increase the timeliness and accuracy of data analysis. The software can rerun routines and programs automatically when new data arrives. Oracle Health Sciences Clinical Development Center 3.1 enables organizations to further accelerate data aggregation and reconciliation, streamline preparation for analysis, automate the downstream analysis process, and ensure control and compliance, says Neil de Crescenzo, senior vice president and general manager of Oracle Health Sciences. bit.ly/ikASyV

JULY/AUGUST 2011 ORACLE.COM/ORACLEMAGAZINE

IntervIew by Tom HaunerT

19

First line of Defense

oracle Database Firewall monitors database traffic and blocks unauthorized activity.

om Haunert, Oracle Magazine editor in chief, recently sat down with Steve Moyle, chief technical officer of Oracle Database Firewall, for an in-depth discussion of that products cutting-edge security features and functionality. The following is an excerpt from that interview. Download the full podcast at oracle.com/magcasts. Oracle Magazine: Lets start at the beginning. Our readers are likely familiar with the concept of a firewall, but whats different about a database firewall? Moyle: A database firewall has some similarities with a traditional network-based firewall, in that its about protecting and controlling items that flow across the network. But unlike a network-based firewall thats predominately focused on ensuring only the right destinations can connect to the right sources, a database firewall is entirely focused on the conversations that are flowing in and out of your databases. Oracle Database Firewall has a complete understanding of the database language SQLand its this database language that powers the firewall and ensures that only the conversations you want to have going into your database are permitted. All others can be blocked. Oracle Magazine: What are some other key features of Oracle Database Firewall? Moyle: The database firewall is there to monitor database activity and to help prevent unauthorized access to and particular attacks on databases, including SQL injections, privilege or role escalations, and illegal access to sensitive data. Oracle Database Firewall has a highly accurate approach to controlling interactions with the database, based on a SQL grammar analysis. This ensures that there are no costly false alarms triggered by the firewall. The product also provides a very flexible level of enforcement options based on

oracle Database Firewall reduces the risk profile of a database at the network level.
two different security paradigms: a positive security model known as white lists, and a negative security model known as black lists. Customers deploy the firewall using a combination of these two paradigms. Going beyond this, the firewall has a very scalable architecture that provides enterprise-level performance in many different deployment modes. The great news for database administrators and application authors is that it requires no configuration changes at either the application level or the database level to provide a very powerful level of protection in the environment. Oracle Magazine: You mentioned SQL injection, and thats of course something DBAs

Steve moyle, chief technical officer of oracle Database Firewall

and database developers must always be conscious of. How does Oracle Database Firewall address SQL injection and other threats? Moyle: SQL injection is a development-side error. Its an application-layer error, but its not just one single mistakeit can manifest in many different ways. Its also entirely application specific; each application that has a particular SQL injection vulnerability will appear different to its database than its operator. Since theres no one-size-fits-all way of looking for SQL injections, the technology for protecting against them needs to understand what is normal for each database and application in the operating environment. However, with this level of understanding comes protection against all manner of risks. So although a SQL injection is often caused by a malicious attacker on the outside, the same sorts of controls work for protecting against a malicious user on the inside or perhaps someone who has connected a piece of software to the network that is outside policy. All of these unauthorized access mechanisms can be protected against very powerfully by Oracle Database Firewall. Oracle Magazine: What are some other key risk areas that Oracle Database Firewall can address to ensure security in the enterprise? Moyle: Oracle Database Firewall reduces the risk profile of a database at the network level by ensuring that only permitted locations can connect through to the databaseonly permitted applications at permitted times of day with permitted users. For example, high-privilege users may only connect to the database from their workstations at particular times of day, which are their normal hours of business. Should the credentials for a high-privilege user become compromised, it would not be possible to use them from another location within the organizations network.

JoHn blyTHe

oracle magazIne July/augusT 2011

20

INTERVIEW

In addition to containing privileged-user access, a database firewall also ensures that only in-policy applications are allowed to connect to the database. It also provides the ability to control and enforce controls around access to sensitive data. Oracle Magazine: With the explosion of tablet computing and smartphones, mobile computing and specifically mobile enterprise computing are a much bigger part of IT than ever before. How does Oracle Database Firewall and its permission strategy address mobile computing? Moyle: The real extra risk with mobile computing is about the increase in the number of different applications that are calling for information from the database. Each of those applications should be restricted to

LISTEN to the podcast oracle.com/magcasts

interacting only with the data in approved methods, and Oracle Database Firewall enables administrators to create and guarantee a restriction so that only permitted database queries are allowed through, regardless of which application they come from. As customers demand more and more functionality from different devices to access their data, the firewall can guarantee that the data access is still limited to only those queries permitted within the organizations policy. In a sense, although Oracle Database Firewall is not aware of the tablet or the mobile application, it is aware of what a good and safe conversation looks like between the database, the application layers, and the end user. Oracle Magazine: Where does Oracle Database Firewall fit into the mix of Oracle database security solutions? Moyle: Oracle provides many layers of security products and technologiesits part of our defense-in-depth strategy. On the

outside, the first approach to the database as things travel across the network, we have the blocking and logging capability of Oracle Database Firewall. As we walk closer to the center of the database, there are auditing and monitoring products such as Oracle Audit Vault and Oracles configuration management tools. Then, as we get into the database itself, we have access control products: Oracle Label Security and Oracle Database Vault. Finally, for the actual secure storage of the data at risk itself, we have Oracle Advanced Security for encryption and other masking products. Oracle Database Firewall is the first layer of defense in this defense-in-depth architecture of products. t

NEXT STEPS
LEARN more about Oracle Database Firewall bit.ly/jW2cMC

ONE SOURCE FOR SIMPLIFIED SOLUTIONS


Oracle SPARC T3 Servers enhance performance of multi-threaded applications. Oracles F5100 Flash Arrays cut transaction times by half, while saving space and power. Oracles ZFS Storage Appliances consolidate and simplify data management across multiple data centers.

At Alliance Technology Group, we bring together our in-depth experience and knowledge of enterprise IT infrastructure with the power, performance and versatility of Oracle applications to develop solutions that will make your data center more productive and efcient.

From initial assessment to integration to service and support, Alliance Technology Group brings proven expertise to every aspect of your technology initiatives. We deliver powerful solutions that add value and lower costs, giving you higher return on your investment.

Alliance Technology Group and Oracle. Weve got the solution youre looking for. Visit

www.alliancespecialized.com
2011 Alliance Technology Group, Oracle and/or its afliates. All rights reserved. All company logos and product names mentioned herein may be trademarks and/or registered trademarks of their respective companies.

JULY/AUGUST 2011 ORACLE.COM/ORACLEMAGAZINE

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.

Managing oracle fusion applications Richard Bingham Best practices for a high-performance enterprise application management strategy

oracle vM implementation and administration Guide Edward Whalen Install, configure, and implement this powerful virtualization solution

oracle oracle Database 11g Building 11g xMl DB applications Jinyu Wang Best practices for using XML in Oracle applications

Java 7: the complete reference, the complete reference, eighth edition Herbert Schildt A fully updated edition of the definitive guide for Java programmers

Java 7: a Beginners Guide, fifth edition Herbert Schildt Essential Java programming skills made easy

Java 7 programming Poornachandra Sarang Learn advanced skills from a Java expert

Available in print and e-book format


Join the Oracle Press Community: www.OraclePressBooks.com Follow us @MHComputing

22

Book Beat
Oracle Fusion Middleware 11g Architecture and Management
By Reza Shafii, Stephen Lee, and Gangadhar Konduri
Oracle Press mhprofessional.com
This book provides best practices for deploying, securing, virtualizing, and managing enterprise-grade Oracle Fusion Middleware applications throughout their lifecycles. It is organized into two parts: Part 1 provides an end-to-end description of the architecture of Oracle Fusion Middleware componentsOracle WebLogic Server, Oracle SOA Suite, Oracle WebCenter, Oracle Application Development Framework, and Oracle Identity and Access Management Suite. A separate chapter introduces each component of the Oracle Fusion Middleware 11g stack and includes a sample use case showing how the chapters concepts apply to a real-life scenario. Part 2 focuses on provisioning, securing, optimizing, monitoring, and virtualizing applications built on Oracle Fusion Middleware. Express practitioners working today explain how to develop secure applications that can be deployed globally, both inside and outside of large enterprises. From their years of experience, the authors share insights into application development challenges including scalability, globalization, configuration, and lifecycle management. Readers will learn methods for debugging and improving performance, ways to customize an applications user interface, and techniques for securing applications from intrusion. Ideas are presented in a problem/ solution format, complete with examples that readers can copy and adapt.

Xsigo Certifies Oracle VM


Oracle Gold Partner Xsigo Systems has certified Oracle VM on its virtual I/O solutions. By using Oracle VM with Xsigos virtual I/O technology, organizations can create a flexible, high-performance, converged datacenter infrastructure. Benefits include the ability to guarantee bandwidth to specific virtual machines, resulting in performance equal to traditional hard-wired connections; the ability to move a server or virtual machine from one physical network to another without recabling; and high-speed, low-latency switching that allows servers to move traffic at speeds up to 40 Gb/sec using standard TCP/IP protocols. xsigo.com

Data Architecture: From Zen to Reality


By Charles Tupper
Elsevier elsevier.com
Data architecture is the blueprint for organizing and structuring information for services, service providers, and consumers of data. This book explains the principles underlying data architecture, how data evolves with organizations, and the challenges organizations face in structuring and managing their data. It also discusses the methods and technologies used today for dealing with data. The book uses a holistic approach, covering topics including data modeling and data model management, data quality, data governance, enterprise information management, database design, data warehousing, and data warehouse design.

Avnet Expands Oracle Relationship in Asia-Pacific


Avnet Technology Solutions, an IT solutions distribution company and an operating group of Avnet, Inc., has expanded its relationship with Oracle in the Asia-Pacific region. An Oracle Platinum Partner, Avnet will provide channel partners in Singapore, Vietnam, Australia, New Zealand, and India with a complete range of Oracle hardware and software solutions. Avnets expansion in the region is a result of acquisition and business growth. In January 2011, Avnet acquired itX, which distributed Oracle products in Australia; Avnet subsequently launched new franchises in India, New Zealand, and Association of Southeast Asian Nations (ASEAN) countries. Avnet will provide Oracle partners in these countries with channel support, including training, enablement, lead generation, comarketing, technical integration, services, and ongoing support. Avnet will also give partners access to its SolutionsPath practices, which allow partners to gain expertise in industries such as energy, financial, government, healthcare, and retail. Avnet also provides datacenter technology expertise related to mobility, networking, security, storage, and virtualization. avnet.com

Oracle Enterprise Manager Grid Control 11g R1: Business Service Management
By Ashwin Kumar Karkala and Govinda Raj Sambamurthy
Packt packtpub.com
This book is a pragmatic, hands-on guide to modeling and managing datacenters and their corresponding business services using Oracle Enterprise Manager 11g Release 1. It begins with a discussion of business service management, including the evolution of enterprise IT infrastructure and the modeling paradigms to manage it; the various techniques in modeling complex datacenters available in Oracle Enterprise Manager; and ways to model and define various composite targets such as groups, systems, and services. The book also helps readers understand active and passive modeling using beacons, service tests, and system targets, and provides information on monitoring through service levels and dashboards.

Getting Started with Oracle Hyperion Planning 11


By Enti Sandeep Reddy
Packt packtpub.com
This practical guide shows how to design, configure, and implement a robust planning, budgeting, and forecasting solution using Oracle Hyperion Planning. It walks the reader through installation of the product and then shows how to design planning applications and create planning objects. The book goes on to explain concepts related to Oracle Hyperion products such as data forms, task lists, business rules, validation rules, and workflowsall with the help of real-world examples. Finally, the book covers user provisioning, access rights, and budget process management. The book offers step-by-step instructions and detailed screenshots.

Expert Oracle Application Express


By John Scott and others
Apress apress.com
In this book, the authorssome of the top Oracle Application

JULY/AUGUST 2011 ORACLE.COM/ORACLEMAGAZINE

I-HUA CHEN

Look for other Oracle books at oracle.com/ technology/bookstore.

Partner news

23

syntellect to integrate computer telephony with oracle e-Business suite


Oracle Gold Partner Syntellect, the provider of the computer telephony integration platform Syntellect CT Connect, is working with Oracle to build and certify an adapter between the latest releases of Syntellect CT Connect and Oracle E-Business Suite. Currently, Syntellect CT Connect for Oracle E-Business Suite provides integration between Oracle Advanced Inbound Telephony and a variety of telephone switches. It enables agents answering calls to quickly understand the context of a call through screen pop-ups containing relevant information about the customer. Additionally, click-to-dial functionality allows agents to dial contacts directly from within business applications. All telephone interactions with customers are automatically logged. syntellect.com

Quest introduces Backup reporting tool


Oracle Platinum Partner Quest Software has released Quest Backup Reporter for Oracle. This lightweight desktop solution enables DBAs to view all of their Oracle database backups across an entire enterprise from a single screen and then drill down into individual databases for detailed reporting. Quest Backup Reporter for Oracle tracks a variety of reporting metrics, including backup performance, storage consumption and growth rates, and policy reporting. It can also provide customizable alerts and notifications, and it enables DBAs to plan and view scheduled Oracle backups across the entire datacenter. quest.com

clearPeaks and Projected consulting launch Partnership


Oracle partners ClearPeaks and Projected Consulting have joined forces to offer complete Oracle E-Business Suite and Oracle business intelligence (BI) solutions. The two companies, both providers of enterprise performance management and BI solutions, offer organizations the benefits of their combined experience, in-depth knowledge, and expertise. The partnership launched with the ClearPeaks BI Academy, held alongside the related Oracle E-Business Suite courses already offered by Projected Consulting at its Oracle Approved Education Center. Oracle Gold Partner ClearPeaks is a Specialized partner for Oracle BI solutions and an Oracle BI training partner. Projected Consulting is an Oracle Platinum Partner. clearpeaks.com projectedconsulting.com

schooner releases mysQl tool


Oracle Gold Partner Schooner Information Technology has unveiled Schooner Active Cluster for MySQL Enterprise Edition, which enables enterprises using MySQL to provide high-performance synchronous replication and automated failover among nodes in a MySQL cluster. Schooner Active Cluster complements MySQL technologies such as semisynchronous replication and the native MySQL Cluster by guaranteeing consistency of data among master and slaves; reducing downtime with immediate and automatic failover and recovery; and providing guaranteed synchronous replication performed in parallel with executing transactions. It provides full cluster management from a single console, one-click clustering, and integrated backup tools. schoonerinfotech.com

smartDog, centroid, eVerge achieve specializations


Three Oracle partners have achieved Oracle PartnerNetwork Specialized status in various disciplines: SmartDog Services has achieved Oracle Platinum Partner status and Oracle PartnerNetwork Specialized status in five separate Oracle disciplines: Oracle E-Business Suite financial management and supply chain management applications, Oracle Linux, Oracle Enterprise Manager, and Oracle Real Application Clusters. SmartDogs specializations and Platinum status are an acknowledgement of the companys expertise as measured by solutionspecific education and testing and through the endorsements of companies who have benefited from its services in those areas. SmartDog Services provides consulting services for Oracle products and solutions, ranging from full-scale implementations to ongoing support. Centroid, an Oracle Gold Partner and a provider of technology consulting and outsourcing services, has achieved Oracle PartnerNetwork Specialized status in Oracle Database 11g. To achieve this status, Centroid met stringent requirements for competency and business results, based on the needs and priorities of Oracles customer and partner communities. Centroid has also opened an Oracle Exadata Center of Excellence that offers deployment, implementation, and management services. eVerge Group, an Oracle Platinum Partner, has achieved Specialized status in six categories: Oracles Siebel Customer Relationship Management, Oracle CRM On Demand, Oracle Business Intelligence foundation, Oracles PeopleSoft Enterprise human capital management solutions, PeopleSoft PeopleTools, and Oracle Public Sector. Since 1993, eVerge Group has completed hundreds of successful projects in these areas and built a broad understanding of how various Oracle solutions work together. smartdogservices.com centroid.com evergegroup.com

mindstream analytics achieves Hyperion specialization


Oracle Gold Partner MindStream Analytics has achieved Oracle PartnerNetwork Specialized status for Oracle Hyperion Planning. The company, a consulting and managed services provider, was recognized for its expertise in delivering Oracle Hyperion Planning services through competency development and business results. mindstreamanalytics.com

I-HuA CHen

oracle magazine July/August 2011

24

PARTNER NEWS

Infogain and OLR to Collaborate on Oracle Retail Solutions


Infogain and OLR, both Oracle Gold Partners, have formed a strategic alliance to provide global Oracle Retail consulting and systems integration services. Infogain specializes in point-of-sale and store operations systems, while OLR works in merchandising, planning, and optimization. Together, the two companies will provide end-to-end solutions for all types of retailers. The partnership addresses the need among retailers for cost-effective crosschannel integration. The two companies will provide a holistic offering based on Oracle Retail products and solutions, while providing additional support that complements existing integrations. Infogain has more than 1,000 professionals serving some 300 clients, including more than 50 of the Fortune 500. OLR is an experienced Oracle Retail delivery partner with operations in more than 25 countries. infogain.com olrretail.com

WebNMS Framework Integrates with MySQL and Oracle Database


Oracle Platinum Partner WebNMS, a division of ZOHO Corporation, has integrated MySQL and Oracle Database 11g in its WebNMS Framework, a network and element management solution. WebNMS needed a relational database solution that would allow its management system to support the wideranging, complex requirements and standards of the communications industry. With the flexibility to integrate either MySQL or Oracle Database 11g in the WebNMS Framework, developers and network operators can accommodate the increasingly stringent demands for availability and performance on network management workloads, including the proliferation of nodes, higher bandwidth, and richer communication services. webnms.com

Fellow Consulting Enhances Oracle CRM On Demand


Oracle Gold Partner Fellow Consulting has updated CRM Gadget 2 Go, a client for Oracle CRM On Demand that allows users to access customer relationship management (CRM) information while offline and then synchronize it with Oracle CRM On Demand when back online. With the update, CRM Gadget 2 Go now supports barcode scanners; in one possible use case, this capability would enable service technicians to scan materials they use at customer sites and incorporate information about customer assets or replacement parts into a service request without performing manual data entry. crmgadget2go.com

C3i Opens Asia Language Center in Dalian, China


Oracle Gold Partner C3i, a provider of technology support and business process outsourcing (BPO) services for the pharmaceutical industry, has opened a global operations center in Dalian, China. The center will provide support to joint C3i and Oracle customers in Chinese, Korean, and Japanese languages. C3i works with Oracle to provide training, multilingual support, and BPO services to life science and pharmaceutical organizations worldwide. It also supports global pharmaceutical sales forces using Oracles Siebel Customer Relationship Management. Oracle and C3i currently have four joint customers in the Asian market and expect to add new customers and help existing ones in other markets expand into Asia. C3is Dalian center shares a single technology infrastructure, best practices, and a global management team with C3is other locations. The 1,200employee company provides end-to-end support solutions for more than 250,000 clinical users and 50,000 pharmaceutical sales representatives worldwide. c3i-inc.com

Partners Achieve Validated Integrations


Three Oracle partners have achieved validated integrations with Oracle solutions: Accept Corporation, an Oracle Platinum Partner, has achieved validated integration of its Accept360 Ideas product with Oracle CRM On Demand 18 and Oracle CRM On Demand for Partner Relationship Management. The integration adds social collaborationbased capabilities to Oracle CRM, enabling users to create internal and external social communities. This gives business leaders visibility into market needs and creates a single repository of ideas and product requirements. Companies using Accept360 Ideas with Oracle CRM can capture and streamline market, customer, and partner feedback in the context of CRM objects. Blue Coat Systems, an Oracle Gold Partner and a provider of Web security and widearea-network (WAN) optimization solutions, has achieved validated integration of its Blue Coat ProxySG version 6 Acceleration Edition appliance for WAN optimization with Oracle E-Business Suite 11.5.10 and Oracle E-Business Suite 12.1, as well as with Oracles Siebel Customer Relationship Management 7.8 and Siebel Customer Relationship Management 8.1. Blue Coat WAN Optimization appliances compensate for network bottlenecks and other conditions that cause centralized applications to perform slowly in branch and remote offices. The appliances optimize file access, e-mail, storage, and backup, as well as Web, cloud, and video applications. Solix, an Oracle Gold Partner, has achieved validated integration of Solix Enterprise Data Management Suite (Solix EDMS) with Oracles PeopleSoft Enterprise 9.1. Solix EDMS archives transactional business objects for PeopleSoft Enterprise applications using criteria based on business rules, corporate policies, and retention periods, and allows customers to preview which transactions will be archived. The validation testing included Solix EDMS features such as data referential integrity and secure data archiving. acceptsoftware.com bluecoat.com solix.com

JULY/AUGUST 2011 ORACLE.COM/ORACLEMAGAZINE

I-HUA CHEN

Community Bulletin by Justin Kestelyn

25

Survey Says

Oracle technology network community members weigh in on what they do and what they want more of, including discounts and free stuff.

ometimes you have to give people what they want; other times, you have to give them what they need. The Oracle Technology Network team has always prided itself on its ability to do both things. (Sometimes, if were lucky, wants and needs are actually the same things.) So although we are responsive to feedback from our community, we often also feel the need to lead by pushing our customers toward mindsets and approaches they may not have considered if left to their own devices. If you are an Oracle Technology Network regular, perhaps youve noticed that during the period between April 2010 and January 2011, an online survey was made available via our newsletters and Website. Although surveys are a routine process, this particular onewhich fell on the heels of the Sun Developer Network/Oracle Technology Network mergerwas more important than most. With the new blood that this combination brought to the Oracle Technology Network community, we wanted to identify what each respective program (Sun Developer Network and Oracle Technology Network) had done right and wrong, and then focus on the former going forward. We received nearly 400 responses from across the globe (10 percent of respondents were not yet Oracle Technology Network members)which is not a bad sample, considering that we decided not to offer incentives that would encourage mercenary participation. As I often like to say, participation is its own reward. So, heres some of what we learned. (Yes, these facts apply to the sample only, but as with all other surveys, they are assumed to be somewhat representative): Who you are. More than 90 percent of you are male. (We didnt need a survey to confirm

that, actually.) More than 63 percent of you, at the time of survey completion, had visited the Oracle Technology Network Website at least once in the past month. No surprise there; historically our repeat-visit rate is high. What you do. This is interesting: although 81 percent of you, unsurprisingly, are involved in database-related projects, 37 percent are also involved in Java-related ones, and 25 percent are involved in hardware systems related (servers and/or storage) ones. This data implies that a good chunk (although certainly not all) of the Sun Developer Network community has moved over to Oracle Technology Network. We like that. What you like. The most-popular services, by a wide margin, are free developer tools and software, discussion forums, newsletters, and sample code (in that order). In my opinion, too few of you have attended a Developer Day or Virtual Developer Day, and the existence of member discounts for books and other things is either underappreciated or not widely known. Also, interestingly, discussion forums are not as routinely used by hardware-oriented folks as other audiences. Whether this is a cultural artifact or lack of awareness is unclear. What you want more of. Youre itching for member discount pricing for events (presumably Oracle OpenWorld and JavaOne; Developer Day is free), contests and challenges (also surprising, since historically these have not been popular), and a rewards program to incentivize member interaction (yes, also surprisingthe reward points system in our discussion forums, when introduced, was not warmly welcomed). How we rate. This is my personal favorite data point: 87 percent of you rate Oracle Technology Network as good or better. While its a nice result, we dont take that

feedback to mean dont change a thing. Rather, well keep pushing. For example, our prebuilt developer virtual machines (based on Oracle VM VirtualBox) continue to roll out in different flavors and configurations. And Developer Day content is being completely rebaked, with new versions covering enterprise Java development, rich enterprise applications, and Java development with JDK 7. ExprESS DElivEry By the time you read this, Oracle Database, Express Edition 11g will be available for download as a production release. Yes, for the first time in years, the current release of Oracle Database is now available in an entry-level, small-footprint edition that is free to use, free to develop on, and free to distribute. Go get it!

Justin Kestelyn
(justin.kestelyn@oracle .com) is senior director, Oracle technology network and developer programs, as well as Oracle technology network editor in chief.

WeB loCator
oracle Database, express edition 11g oracle.com/technetwork/database/ express-edition Prebuilt Developer Virtual machines oracle.com/technetwork/community/ developer-vm Developer Day oracle.com/technetwork/community/ developer-day member Discounts oracle.com/technetwork/community/join/ member-discounts Discussion Forums forums.oracle.com

oraCle magazine July/August 2011

26

architect By BoB RhuBARt

can You relate?

your success as a software architect depends on your relationships with stakeholders.

eing a software architect is all about relationships. No, forgetting your anniversary or not getting along with your mother-in-law wont necessarily have any impact on your success as a software architect. But unless an architects relationships with project stakeholders are based on clear communication and a thorough understanding of expectations, the project is likely to end in a scene befitting a reality television show, with at least the possibility of flying furniture and crushed dreams. So if you want to succeed as a software architect, establishing a solid relationship with stakeholders and a crystal-clear understanding of their expectations must be job #1 on any project. The first step in that process is knowing whom youre dealing with. Identifying stakeholders is essential. You need to know who has the power to call an engagement a success or failure, says Pat Shepherd, enterprise architect at Oracle. But theres more to building relationships than memorizing names and rolesyou need to get inside stakeholders heads. Make sure you know the stakeholders and whats driving them, says Oracle ACE Director Ronald van Luttikhuizen, a solution architect and senior consultant at Approach Alliance, a Netherlands-based information and communications technology consultancy focusing on SOA and business intelligence. Randy Stafford, a software architect with the Oracle Coherence development group, agrees. The first thing I do is make sure I understand the motivation for the project, because it usually translates directly to measurable success criteria, Stafford says. Once you know what your stakeholders want, you need to make sure they understand what you bring to the table. Stakeholders should know you and understand your added value and what you want

the critical thing for an architects career is to build a good reputation.


Pat Shepherd, Enterprise Architect, Oracle to achieve with them in the project, says van Luttikhuizen. Stakeholders need to smell what youre cooking and like it, because the project has little chance of succeeding without their complete support. This may sound a bit trivial, adds van Luttikhuizen, but Ive seen too many ivorytower architects who just throw something out there. Without stakeholder support my architectural activities will not be followed and will just end up gathering dust. In order to earn that support, Brian Jimerson, a technical architect at Avantia in Cleveland, Ohio, sets up a project kickoff meeting with his internal customers. I want to ensure that project goals are understood, establish communication channels, identify stakeholders and roles, and discuss the high-level project schedule, Jimerson says. He also holds similar kickoff meetings with development teams to discuss project goals, milestones, and team structure. Once you and your stakeholders are on the same page, it is time to impress everyone by waving your architecture wand. In between the first steps and the project completion, a combination of creativity and engineering happens to identify and implement architectures that meet the goals, says Stafford. But there has to be some substance behind the magic. As the project progresses, its important to maintain your relationship with stakeholders by demonstrating your progress. I try to deliver something useful

as early as possible in the project, says van Luttikhuizen. Depending on the type of architecture assignmentwhether my role is software architect, solution architect, or enterprise architectthis can be a quick advice document, a working piece of software, or a guideline to help stakeholders. These project milestones are important not just as progress indicators but also as proof of the value of architecture. In the end, software architects are really only as good as their relationships with stakeholders. Lets face itthe critical thing for an architects career is to build a good reputation, says Shepherd. Good reputations dont spring from dysfunctional relationships with stakeholders. If you want to earn your stripes as a software architect, you cant relate to stakeholders by flinging furniture at them across the conference room. You need to understand what they want. They need to understand what you can deliver. Bring those two elements together through clear communication and everybody wins.

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

July/August 2011 Oracle.cOm/Oraclemagazine

Up Close By Jeff erickson

27

the translator

user group speaker helps DBAs understand the broader technology stack.

ace it, says Hans Forbrich: when youre an Oracle DBA and your company invests in another Oracle product, theres a good chance the company will throw that product to you too. For the past seven years, Forbrich, an Oracle consultant, Oracle ACE director, and sought-after speaker, has developed user group sessions to help DBAs deal with just this situation. A database customer will invest in a new technology such as Oracle Enterprise Manager Grid Control, Oracle WebLogic Server, LDAP, or Java EE [Java Platform, Enterprise Edition], and then they will say to the DBA, It says Oracle on ityou take it, says Forbrich. Thats where I come in. Drawing on his work as a DBA and longtime Oracle consultant, Forbrich delivers user group talks that quickly get DBAs up to speed. I help DBAs understand these other technologies well enough that they can take an Oracle University class or attend a user group session and keep up, says Forbrich. Because a session leader will assume a minimum level of knowledge. Even familiar terms can trip up DBAs as they aim to master a new technology. DBAs talk about entity and Java programmers talk about entity, but they mean very different things, Forbrich says. Because my experience is so broad, I can translate between the tech language they speak and the one the new technology speaks, he explains. I can break it down and see the solution the way my audience sees it, from their experience set. Sharing rEal-World ExpEriEncE Forbrich was part of Oracle Canada from 1996 to 2002, working as a consultant for the communications industry. As a consultant, he had to think on his feet and make sure a customers entire stack of Oracle technology worked as planned. Oracle University Canada teachers would often pull him into their

and Introduction to Middle-Tier Security for DBAs. Other popular sessions include How to Upgrade from Your Old Application Environment to a New Fusion Middleware Environment andan old favoriteHow Do You Find It in the Documentation? a USEr groUp TradiTion Forbrich strives to make his talks fit with whats best about user group events. You get straightforward presentations about what people have encountered with the technology, and those are very important, says Forbrich. More interesting to me, however, are those sessions that prepare people for the unusualbe it technical, legal, or cultural. Ive seen people bring pictures and diagrams of a server room to show their fellow DBAs, because many DBAs have never seen one! Forbrich, who backstops his technology business with a career as a semipro singer with the Edmonton Opera, is an expert at mastering different disciplines. Its a skill that many DBAs have also had to master. These days you can even have an Oracle DBA who gets put in charge of hardware or storage because the product says Oracle on it, he says. User groups, he adds, are a big part of how DBAs will meet the challenge.

Hans Forbrich, oracle ace Director, oracle University instructor, and oracle User group speaker

classes to share his real-world experience. When he opened his own consulting firm, he began teaching courses as an Oracle partner. In 2010 Forbrich was honored with the Oracle University Instructor of the Year award. When Forbrich hears the same questions over and over again in class, he begins formulating a user group talk on the subject. It is a great opportunity to get out and explain these things en masse, says Forbrich. Even such simple things as How does the Oracle listener really work? or Why doesnt the split block function impact Oracle RMAN? Forbrich started out delivering explanations at local Lunch and Learn sessions for the Edmonton Oracle Users Group in Canada and was asked to present at the Puget Sound Oracle Users Group in Seattle. From there his list of user group appearances grew to include other regional groups, the annual COLLABORATE conference, and two Oracle Technology Network Latin America tours. Forbrich has delivered talks such as Introduction to Oracle WebLogic Server for DBAs, Introduction to LDAP for DBAs,

Jeff erickson
(jeffrey.x.erickson@ oracle.com) is a senior editor with oracle Publishing.

curtis comeAu/getty imAges

next steps
reaD Forbrichs blog hansforbrich.blogspot.com WatCH the interview oracle.com/oramag/upclose

oraCle magazine July/August 2011

28

Peer-TO-Peer by bLAir CAmpbELL

three peers navigate trends in virtualization, database monitoring, and social media.

On grids and groups

BOB mycrOfT

Julian DOnTcheff

Sheeri K. caBral

company: Capgemini, an it services and business consultancy company Job title: senior Oracle DbA, working on the team overseeing Capgeminis u.K. Environment Agency account location: Leeds, England Oracle credentials: Oracle Certified professional (Oracle8i Database through Oracle Database 10g) and Oracle Certified Expert (Oracle real Application Clusters 10g), with 15 years of experience using Oracle products

company: Accenture, a management consulting, technology services, and outsourcing company Job title/description: Head of database management, overseeing a global team of DbAs location: Helsinki, Finland Oracle credentials: Oracle Certified master, Oracle Certified professional (Oracle8i Database through Oracle Database 11g), and Oracle Certified professional Developer (Oracle Forms 6, Oracle Forms 6i), with 23 years of experience using Oracle products

company: palominoDb, a remote database management company Job title/description: Community manager and DbA, working in the field to handle all database tasks for palominoDb clients location: boston, massachusetts Oracle credentials: mysQL 4.0 Core certified and Oracle Certified professional DbA (mysQL 5.0), with 10 years of experience using Oracle products

Which new features of Oracle Database are you currently finding most valuable? Im playing with the Flashback Data Archive and Flashback Transaction Query features at the moment. With every new version of the database, weve been increasingly able to get the system back to an old point in time, or look at data at an old point in time, without the nastiness of doing a point-in-time recovery. Anything that saves us time is good. Any other products or features currently piquing your interest? Oracle VM. Its really the only truly supported virtualization platform for Oracle products. The ability for us to potentially use Oracle technologies for the whole stack and then to virtualize the hardware itself is seriously attractive, as it means a single vendor for support. If you were going to the International Space Station for six months and could only take one Oracle reference book, what would it be? The Art and Science of Oracle Performance Tuning, by Christopher Lawson [Apress, 2003]. Its quite an old book now, but I really like the way Lawson approaches the subject.

Whats your favorite tool or technique on the job? Oracle Grid Controlits the best tool Oracle has ever created. Oracle Grid Control is a must for DBAs who need to manage a lot of databases. It can drastically reduce database administration time and significantly improve a DBAs productivity and efficiency. I most like the fact that you are able to monitor the complete database stack from one consolidated view. What advice do you have about how to get into database and application development? Attend an Oracle University [OU] class! Its the best place to get Oracle knowledge. Ive taken dozens of OU classes, always in the classroom, and I used them to prepare for my Oracle certification exams. OU is the place where information, study materials, and training are all provided from the very heart of Oracle. And Ive always admired the enthusiasm and dedication of Oracle trainers. What technology has most changed your life? The TV set and the computer. Both equallyand almost all for the better.

How did you get started in IT? In college I wanted to major in neuroscience. Math and computers were interesting, so I was going to minor in computer science just for fun. However, I ended up getting a D in Introductory Neuroscience in the middle of my junior year, so with three semesters left to go I changed my major to computer science, got all As and Bs, and then went on to get a masters degree in computer science as well. Whats your favorite tool or technique on the job? Lately Im very enamored with mk-querydigest and EXPLAIN to do query reviews of the MySQL general logs. As for query reviews themselves, I find they are extremely helpful in finding queries to optimize before they become a problem in production. How are you using social media in your work? Im on LinkedIn and Twitter. I try to keep Facebook personal, although I do participate in MySQL groups and events on Facebook. I have a blog, and Im also the cohost of OurSQL: The MySQL Database Community Podcast [listen to the show at dev.mysql .com/podcasts.]

Learn more about the Oracle ACE program at otn.oracle.com/community/oracle_ace. JuLy/August 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

30

disc

flash
July/August 2011 Oracle.cOm/Oraclemagazine

tape

31

Storage from A to ZFS


How organizations optimize storage with tiered Sun flash, disk, and tape solutions from Oracle and enable unified storage with the Sun ZFS Storage Appliance
Most business users dont spend time thinking about where their files are stored. They log in to the applications they need, create documents, retrieve information, enter transactions, and periodically hit the Save button. They have been told that if they follow a few simple guidelines, all of their critical information will be saved, backed up, and duplicated behind the scenes. The vast storage infrastructure that automates these activities is largely hidden from view.
JAIME FERRAND/STAFF

BY DAVID BAUM
ORACLE MAGAZINE JULY/AUGUST 2011

32 SnaPSHOtS

novant Health
As files are created by Novants radiographic equipment and enterprise information systems, one copy is immediately written to a high-speed FC Sun Storage 6000 series array from Oracle, and two copies are written to mirrored tape archives in two different datacenters. Were backing up data as we create it and archive it, explains Dick. Data is instantly available to the applications, and within 15 australian Bureau of meteorology bom.gov.au to 30 minutes, we have two backup copies in industry: Government identical file systems in secure, remote locaemployees: 1,700 tions. Thanks to this mirrored data storage Oracle products: Sun technical computing, Keeping CritiCal Data Online environment, requests can be virtually Sun Storage 6000 series arrays, Sun Storage Novant Health is a nonprofit integrated redirected from one file system to the other 6780 array, StorageTek SL8500 modular library system, StorageTek T10000 tape healthcare system that serves communiwithout the user or the application being drives, Sun Blade server, Sun x86 Rackmount ties and patients from Virginia to South aware of the difference. servers, Sun Storage Archive Manager, Carolina. Like most of todays healthcare Primary data resides in the FC storage Oracle Database providers, Novant needs to provide physienvironment for 15 to 30 days, sometimes cians and administrators with rapid access longer, depending on the service-level agreeto clinical and business information, comply with regulations ment determined for each application. After that it is relegated to regarding the security of patient information, and reduce the cost secondary storage on a Sun Storage 6000 series array. Sun Storage of capturing, storing, and delivering an immense volume of strucArchive Manager moves data automatically from tier to tier. Once tured and unstructured data. you set up your storage policies, Sun Storage Archive Manager autoNovants storage odyssey began nearly 10 years ago, when the IT mates the movement of data from drive to drive and from primary to department created a digital archiving system that enabled more archival storage, Dick says. than a dozen hospitals to capture, store, and retrieve images elecEach of Novants two datacenters runs identical archiving tronically. Led by Jim Grossman, manager of system services, and systems, powered by a pair of clustered Sun servers running Robert Dick, storage and UNIX administrator, Novant created a Sun Storage Archive Manager. The servers are set as an active/ radiographic imaging system that stores files for X-ray, ultrasound, passive pair so that if one of them goes down, it will fail over to the nuclear medicine, magnetic resonance imaging (MRI), and comother one. Behind the clustered servers is StorageTek Automated puted tomography (CT) scans. It wasnt long before Grossman and Cartridge System Library Software that manages data storage and Dick realized that they could broaden this solution for other applicaretrieval in conjunction with StorageTek T10000 tape drives and tions that needed to store and archive patient data. They designed a StorageTek SL8500 modular library system divided between the an extensible storage infrastructure around Sun Storage Archive two datacenters. Manager, which now manages 1.4 petabytes of information and supThanks to a high degree of automation, Dick is able to maintain ports 38 clinical applications with differing data sets. the entire archival storage environment by himself (with part-time Our storage system was architected around the principle that help from two associate storage managers when he is away). We an applications access to data is top priority, explains Dick. That bring in, on average, 2.5 terabytes of new data each day, he says. means not only being able to safeguard the data in more than one This system is very stable. In general, its relatively hands-off. location, but also being able to ensure that it is accessible and surThe system is designed to maximize security and mitigate risk, vivable through any disaster, so authorized users can always access adds Grossman. Were not putting tapes on a truck and physically clinical data. shipping them off to another site. Sun Storage Archive Manager ingests 2 million files per week. archive, access, and Protect with Sun Storage archive manager Weve been running it for more than 10 years, and to date I have no record of ever having lost a single file, says Dick.
Oracles Sun Storage Archive Manager software provides data classification, centralized metadata management, policy-based data placement, protection, migration, long-term retention, and recovery to help organizations effectively manage and utilize data according to business requirements. The software enables users to reduce the cost of storing vast data repositories by providing a powerful, easily managed, cost-effective way to access, retain, and protect business data over its entire lifecycle. This selfprotecting file system offers continuous backup and fast recovery features to help enhance productivity and improve resource utilization.

Storage infrastructures grow as the demand for information grows, but strategic storage solutions, from tape libraries to flash and disk arrays to unified storage solutions, can simplify the essential tasks of storing and managing enterprise data. Two organizations, Novant Health and the Australian Bureau of Meteorology, have created businessready storage systems that exemplify best practices for information management as they efficiently deal with many terabytes of new data every day.

novanthealth.org industry: Healthcare employees: 25,000 revenue: US$3.4 billion Oracle products: Sun Storage 6000 series arrays, Oracles Sun x86 Rackmount servers, Oracle Solaris Cluster, StorageTek T10000 tape drive, StorageTek SL8500 modular library system, Sun Storage Archive Manager, Oracle Database

grOwing Data VOlumes Novants storage solution improves patient care through faster, more-accurate diagnoses while eliminating the risk of lost data. It provides physicians with extremely fast access to patient imaging studies: a 10 MB file can be retrieved from disk and delivered to a physician or technician in less than three seconds.

July/August 2011 Oracle.cOm/Oraclemagazine

33

oracle continues to enhance its storage solutions and renew our faith in the solution set we started with.
Robert Dick, Storage and UNIX Administrator, Novant Health

novant Healths robert Dick, storage and UniX administrator (left), and Jim grossman, manager of system services, rely on an extensible storage infrastructure. our storage system was architected around the principle that an applications access to data is top priority, says Dick.

According to Dick, the stress on an archiving system is not necessarily due to access performance or a growing volume of total data stored, but rather to the total number of files that the system has to manage. The higher the number of files, the more difficult it is to restore the data in the event of a disaster. Thats a pressing issue for Novant Health as it strives to eliminate hard-copy patient records and securely move more information online. We have a new document imaging application for scanning patient records that is expected to add 450 million files into the

system over the next four years, Dick notes, citing just one example. Because of these stresses, were moving to solid-state disks, FC, and SATA [serial ATA] drives in a three-tier configuration. Novants Sun servers will be replaced by newer gearNovant is strongly considering a pair of Oracles SPARC T3-4 servers with 16 processors per core, tied to the existing FC and SATA arrays. Were also considering adding Oracles Sun Storage F5100 Flash Array, Dick adds. Our Oracle storage solution is so flexible that every time we have an archiving issue, we can solve it with the system thats in

Phil sAltonstAll

oracle magazine July/August 2011

34

place. Oracle continues to enhance its storage solutions and renew our faith in the solution set that we started with. Dick believes that while solid-state disk technology is ideal for high-performance data retrieval, its not a suitable solution for every part of a storage environment. If youre not going to access data for a period of time, it makes much more sense to let it sit at rest in a tape library, where you can get it at a minutes notice, as opposed to keeping all that data spinning and burning resourcesgenerating heat and using power, he points out. Tape technology has not seen its swan song. It is still a very viable technology. Benjamin Woo, program vice president for worldwide storage systems at IDC, agrees with this assessment. He says an effective storage strategy only places truly active data on expensive FC or solid-state disk drives and moves less-active data to more-costeffective storage mediaoften tape. It doesnt make sense to keep data spinning if youre not going to be looking at it for a few months, he says. It should reside in less-expensive media. Our research shows that less than 20 percent of the data in todays datacenters is actively used. Thus a very small percentage of information needs to reside on very expensive, very fast storage. These multilevel storage systems are often called tiered storage environments because they assign different stages of data to different tiers of storage media, with the goal of preserving accessibility and reducing cost. Once you have a tiered infrastructure, the key is to create policies to automate the movement of data so it requires minimal human intervention, advises Scott Tracy, senior director of flash and disk products at Oracle. According to Tracy, most tiered storage strategies have three basic components. Primary storage stores new data from missioncritical applications and databases, with access time measured in seconds. Storage media typically includes ultrahigh performance flash or solid-state disk (SSD) drives and FC storage arrays. Secondary storage stores 30- to 90-day-old data that needs to be kept on hand for business continuity as well as fixed content and backup/recovery data. Access time is measured in minutes, and storage media includes unified storage solutions such as the Sun ZFS Storage Appliance and less-expensive SATA disks. Long-term or archival storage stores data older than 90 days, often for historic Unified Storage with the Sun zFS Storage appliance
Oracles Sun ZFS Storage Appliance product line delivers unified storage for Consolidation of multiple storage devices Secondary storage for data protection (when multiple copies of data are required) Test/development environments in which organizations are optimizing copies of primary data The product line enables the rapid deployment of new revenue-producing applications and lowers expenses by reducing storage complexity and its associated administrative costs. Sun ZFS Storage Appliances consolidate files and block I/O on a single high-capacity, highperformance storage appliance. This consolida-

Oracles Sun offerings presented a unified, efficient, large-scale storage system that was flexible enough to grow.
Robert Lovery, CIO, Australian Bureau of Meteorology reasons or for legal compliance. Access time is measured in hours, and storage media includes capacity disks and tape. Use of tiered storage strategies typically results in around 75 percent reduction in costs compared to single tiers of disk storage, notes Tracy. A Multitiered Solution for Scientific dAtA Tiered storage is what the Australian Bureau of Meteorology (BOM) uses to manage multiple petabytes of scientific data. As Australias national weather, climate, and water agency, BOMs expertise and services assist Australians in dealing with the harsh realities of their natural environment, including droughts, floods, fires, storms, tsunamis, and tropical cyclones. Through regular forecasts, warnings, monitoring, and advice spanning the Australian region and Antarctic territory, BOM provides one of the most fundamental and widely used services of government. The agency also supplies specialized forecasting to the aviation industry, oil rigs, fire departments, police forces, and other emergency services, in addition to bulk data uploads for universities and scientific organizations. BOMs data storage environment was put to the test earlier this year during Cyclone Yasi, the largest tropical storm to strike Australia since Europeans first settled there in the 18th century. With winds of 186 mph and waves on the coast reaching as high as 30 feet, Yasi wrecked more than 10,000 homes and businesses but did not cause any fatalities, thanks in part to BOMs precise forecasts and reliable information-management infrastructure. BOMs Oracle-based data storage environment gathers about 40 TB of data each week from 6,000 meteorological devices including warning buoys, oceanographic sensing gear, flood hydrology sta-

tion supports 10 different protocols across three interconnectsEthernet, FC, and InfiniBand. Sun ZFS Storage Appliances are built on the Oracle Solaris operating system, and they offer data services including deduplication, compression, replication, snapshots, and clones. Key features in the Sun ZFS Storage Appliance include storage analytics and hybrid storage pools. Storage analytics provide real-time comprehensive analysis of storage workloads that assist in capacity planning and provide detailed insight into storage networks. Hybrid storage pools combine DRAM, read-optimized flash devices, write-optimized flash devices, and native

SAS high-density, low-power spindles in a single transparently managed caching hierarchy. Data is automatically migrated from flash to disk based on access patterns and requires no human intervention. This autotiering keeps the most-used data in fast-access storage and the least-used data in inexpensive high-density, low-power spindles, reducing overall TCO. The Sun ZFS Storage Appliance product line combines cloud-ready software and hardware, designed to enable customers to start small, deploy applications faster and at a lower cost, and grow into a next-generation cloud-computing infrastructure.

July/August 2011 Oracle.cOm/Oraclemagazine

35

series arrays with SATA drives. Tier 4 maintains archival data on a StorageTek SL8500 modular library system in conjunction with a StorageTek T10000 tape drive. A Sun Blade server and Sun x86 Rackmount servers from Oracle process the data under the direction of Supervisor Monitor Scheduler. The output is then passed to Sun Storage Archive Manager, which automatically moves data from tier to tier according to previously defined storage policies. According to Richard Oxbrow, storage manager at BOM, Sun Storage Archive Manager automates the entire information lifecycle, from fast disk to tape. It includes continuous backup and fast recovery features to enhance productivity and improve resource utilization. Thanks to a high degree of automation resident in the Oracle-based systems, two or three people maintain the entire storage infrastructure. Evolving to UnifiEd and flash storagE BOMs storage infrastructure is constantly evolving as Lovery and his team add new hardware and software to improve speed and capacity. For example, the Sun Blade server features solid-state drives (SSDs) that deliver I/O performance of up to 400 hard disk drives. BOM recently purchased two of Oracles Sun ZFS Storage 7420 appliances, which use hybrid storage pools with flash-based caches to dramatically improve application response times. Oracles Tracy says these unified storage solutions are ideal for organizations that wish to consolidate and virtualize their storage infrastructure, as well as for companies adopting cloud computing. Oracles unified storage product line, anchored by the Sun ZFS Storage series, can transparently manage where data is placed in a multitiered storage environment with hybrid storage pool technology, holding copies of frequently used data in fast SSDs while storing less frequently used data in less-expensive, highcapacity SAS disks. (For more information on Oracles Sun ZFS Storage product line, see Unified Storage with the Sun ZFS Storage Appliance on page 34.) As BOM evolves its information systems, Lovery believes the move to engineered systems, such as storage appliances, is right for the organization. We are extending our key vendor relationships to partnerships, he says, because we believe that our services are critical enough and important enough to merit this level of commitment.

robert lovery, cio at the australian Bureau of meteorology, says oracles largescale storage offerings provide efficiency and the flexibility to grow with the organizations rapidly evolving data processing workload.

tions, weather balloons, satellites, and aircraft. After being digitized, cleansed, transformed, and stored in an Oracle database, the data is processed by nearly 300 applicationssome of which can predict the path and trajectory of cyclones days in advance. In 2008, Sun systems were selected to provide the computing and storage facilities for this massive operation, including service, support, and regular equipment upgrades over a five-year period. We wanted a one-stop shopone vendor that could provide a complete solution, states Robert Lovery, chief information officer at the Bureau of Meteorology. We didnt want to have disparate issues with vendor finger-pointing. Oracles Sun offerings presented a unified, efficient, large-scale storage system that was flexible enough to grow with our rapidly evolving data processing workload. Today BOMs core meteorological atmospheric modeling prediction services are housed on a Sun technical computing solution and the output is archived on a large-scale data storage system. About 10 percent of the data is corporate structured data, and 90 percent is unstructured scientific data such as satellite images, says John de la Lande, the high-performance computing, storage, and facilities manager for BOMs IT environment. The technical computing system shares resources among many nodes as it processes thousands of inputs from meteorology stations. It stores the output in four tiers. Tier 1, also called main storage, is mission-critical storage, with 99.999 percent availability. For this tier BOM uses a primary storage system from Sun. Tier 2, also called deep storage, utilizes Sun Storage 6000 series arrays with FC disk drives. Tier 3, also called bulk storage, utilizes Sun Storage 6000

David Baum (david@dbaumcomm.com) is a freelance business writer


based in santa Barbara, California.

next StepS
learn more about Sun storage and tape oracle.com/storage Sun zFS Storage appliances bit.ly/9WV4rH Sun Storage archive manager bit.ly/kNWeae

AustrAliAN BureAu of Meteorology

oracle magazine July/August 2011

RISE OF THE
36

PHH Corporation lays a foundation for shared services with Oracle

racle Exalogic Elastic Cloud is the worlds first engineered system specifically designed for implementing a private cloud computing environment that can host everything from smallscale departmental applications to large-scale enterprise resource planning (ERP) systems. Announced in September 2010 at Oracle OpenWorld, Oracle Exalogic Elastic Cloud is changing
BY DAVID BAUM

E MACHINES
37

EXALOGIC Elastic Cloud and Oracle EXADATA Database Machine.


datacenter strategy conversations as organizations plan to take advantage of the benefits of this one-of-a-kind middleware machine. Among the companies positioning themselves to transform their information strategy with Oracle Exalogic is PHH Corporation, based in Mount Laurel, New Jersey. PHH delivers business solutions

38

snaPsHOT

PHH corporation
phh.com industry: Fleet management and mortgage services employees: 5,000 revenue: US$2.4 billion Oracle products and services: Oracle Exalogic Elastic Cloud, Oracle Exadata Database Machine, Oracle WebLogic Server, Oracle Real Application Clusters, Oracle SOA Suite, Oracle Coherence, Oracle Business Process Management, Oracle Application Integration Architecture Foundation Packs, Oracle Tuxedo, Oracle Enterprise Content Management Suite, Oracle WebCenter, Oracle Data Integration Suite, Oracle Essbase, Oracle Hyperion forecasting and planning applications, Oracle Insight, Oracle Consulting Enterprise Architecture Services, Oracle Advanced Customer Services startup services anchored by a half-rack Oracle Exalogic Elastic Cloud and a half-rack Oracle Exadata Database Machine, which provide extreme performance for both data warehousing and online transaction processing (OLTP) applications. Having our databases, infrastructure, and applications in the same place will greatly simplify our datacenter topology and hardware footprint, Brewer explains. This consolidated Oracle platform will also allow for standards-based implementation and integration between different application tiers.

To consolidate disparate technology stacks and lay a foundation for new applications, PHH is implementing a shared services environment based on Oracle exalogic elastic cloud and Oracle exadata Database machine, says chris Brewer, vice president of platform technologies at PHH.

to its clients through two subsidiaries: PHH Mortgage and PHH Arval. PHH Mortgage provides private-label mortgage solutions to clients nationwide including financial institutions, real estate companies, credit unions, corporations, and government agencies. PHH Arval provides fleet management services for corporate clients and government agencies throughout the United States and Canada. Each PHH subsidiary has spent years innovating and expanding its information systems, resulting in separate and diverse IT infrastructures. Imagine two full platforms with completely distinct solutions up and down the stack, says Chris Brewer, vice president of platform technologies at PHH. Both of our divisions have grown organically through acquisitions, resulting in silos of individual solutions. To consolidate these disparate technology stacks and lay a foundation for new applications, PHH is implementing a shared services environment called the Common Technology Platform

Foundation For Scalability and PerFormance Consolidation on Oracle Exalogic is possible because of the optimizations in the products engineered system design. According to Adam Messinger, vice president of development in the Oracle Fusion Middleware group, while Oracle Exalogic Elastic Cloud is optimized for enterprise Java, Oracle Fusion Middleware, and Oracle Fusion Applications, it also runs third-party and custom applications. In addition, each Oracle Exalogic configuration is balanced for compute-intensive workloads. These Oracle Exalogic engineered systems contain hot-swappable compute nodes; a clustered, highperformance disk storage subsystem; and an InfiniBand switching fabric to connect the internal components as well as to externally connect additional Oracle Exalogic or Oracle Exadata Database Machine racks via high-bandwidth interfaces, Messinger notes. Its all engineered as a cohesive system. Like Oracle Exadata, Oracle Exalogic is built from industry-

July/August 2011 Oracle.cOm/Oraclemagazine

CAtherine gibbons

39

Having our databases, infrastructure, and applications in the same place will greatly simplify our datacenter topology.
Chris Brewer, Vice President of Platform Technologies, PHH standard server and storage building blocks. In addition, Oracle software technology enables Oracle Exalogic applications to share data efficiently and transparently extending Oracles application grid technology, which enables multiple application server instances to share a dynamically allocated pool of resources. Oracle customers used to assemble application grids and database grids themselves, says PHHs Brewer. Now, with the Oracle Exalogic and Oracle Exadata systems, Oracle has pre-engineered these solutions in advance, with all of the components integrated, tuned, and tested at the factory. Organizations can start with a quarter rack, grow to a half rack or full rack, and connect as many as eight full racks of Oracle Exalogic hardware (or any combination of Oracle Exalogic and Oracle Exadata configurations) without any external switches. This extensible architecture provides nearly unlimited horizontal scalability and eliminates the need for an ongoing purchase, configure, test, and deploy cycle for unique configurations of hardware and software. All of the hardware and software comes from Oracle, so we can make sure that there are no single points of failure and that all of the various scenarios are well tested, Oracles Messinger points out. Architecture Discussions In February 2010, the Oracle Consulting Enterprise Architecture team led several discussions with PHH about how to best realize the companys goal of a Common Technology Platform. Oracle helped us develop a reference architecture that became a blueprint for our Common Technology Platform, says Nathan Smith, director of enterprise architecture and chief architect at PHH. Oracle took the time to understand our business and technological challenges. They helped us develop

oracle magazine July/August 2011

40

extreme Startup
Companies looking to rapidly and successfully deploy an Oracle Exalogic solution can take advantage of Oracle Exalogic Start-Up Pack, a suite of services and expertise that maximizes the value of an Oracle Exalogic technology investment. The Oracle Exalogic Start-Up Pack includes five core services from Oracle Consulting and Oracle Advanced Customer Services, including Oracle Exalogic Start-Up Advisory Service Oracle Exalogic Production Support Readiness Oracle Exalogic Installation Service Oracle Exalogic Configuration Service Oracle Exalogic Quarterly Patch Deployment Service For more information about the Oracle Exalogic Start-Up Pack, contact your local Oracle Consulting or Oracle Advanced Customer Services representative at 1.800.ORACLE1, or via e-mail at acsdirect_us@oracle.com. To read more about the Oracle Exalogic Start-Up Pack, see bit.ly/iKmP5N.

a roadmap for achieving our transformational goals. We couldnt have made as clear a business case without the Oracle Consulting teams, including the Oracle Enterprise Architecture development program, Oracle Advanced Customer Services, and the Oracle Insight program, adds Brewer. They determined what we had and how to reframe it in our new reference architecture. This reference architecture now serves as a blueprint for developing individual business solutions and deploying new applications, whether packaged or built from scratch. According to Smith, PHH used to be a big advocate of acquiring best-of-breed software from many different vendors, which led to its current predicament. We always sought to find the best product for each set of business needs, which meant we would have to spend a substantial amount of time and effort to integrate those products into our IT environment, Smith says. When we laid out our vision for a Common Technology Platform, we knew that we wanted to strategically align ourselves with a technology provider that could offer us the entire technology stack. Rather than manually piecing together our Common Technology Platform, and then dealing with all of the vendor finger-pointing when something goes wrong, we decided to standardize on Oracle Exalogic, Oracle Exadata, and the entire Oracle technology stack. Oracle leads the industry in multiple categories, so it was a logical move to forge an Oracle partnership. Rolling out the Apps PHH took possession of its Oracle Exalogic and Oracle Exadata engineered systems in April 2011 and is currently executing its plan to create a shared services environment. Ultimately, PHHs new Oracle Exalogic system will host the entire Oracle Fusion Middleware stack including Oracle WebLogic Server, Oracle SOA Suite, Oracle Coherence, Oracle Business Process Management, Oracle Application Integration Architecture Foundation Packs, Oracle Tuxedo, Oracle Enterprise Content Management Suite, Oracle WebCenter, and Oracle Data Integration Suite. PHH also plans to run OLAP analytics against its Oracle Essbase database and to deploy Oracle Hyperion forecasting and planning applications in this new environment. In addition, PHH is migrating data from Sybase and IBM DB2

databases and standardizing on Oracle Database 11g on Oracle Exadata. Brewer believes that having one consolidated database will improve operational efficiency and deliver more-accurate information to the various functional areas, not only for reporting and forecasting but also for predictive analysis. We see a great opportunity to use our customer data for cross-selling and up-selling between the two lines of business, he notes. Although the Oracle Exalogic Elastic Cloud implementation is still in its early stages, Brewer believes that Oracle Exalogic will enable PHH to deliver a more cohesive experience for customers by eliminating demand for high-end desktop systems and offering selfservice capabilities via thin clients, mobile devices, and standardsbased Web portals. For example, for PHH Mortgage customers, the company handles daily reporting on the status of each loan and manages the steps in the loan review and approval process. Brewers team is developing mobile applications in conjunction with Oracle WebCenter that will let clients access this information through smartphones and tablets. Financial advisors often interact with their clients after hours or in the field, and it will be helpful to be able to grab this information from any location, he notes. For PHH Arval customers, the company is developing analytic applications to predict when it is time for vehicle maintenance and to automatically send alerts to each driver via e-mail or instant messaging. Customers can use Oracle WebCenter Real-Time Collaboration to open channels of communication through instant messaging clients, mobile devices, and standard Web browsers. One of the tenets of our technology strategy is not only to combine our two divisions but to create a consistent look and feel for users, both internal and external, Brewer concludes. Standardizing on Oracle Exalogic and many other Oracle products will enable us to build consistency within the middleware tier, giving us a common look and feel for reporting, ad hoc analysis, scorecards, and many other functions.

David Baum (david@dbaumcomm.com) is a freelance business writer


based in santa Barbara, California.

next StepS
learn more about Oracle exalogic elastic cloud oracle.com/us/products/middleware/exalogic Oracle exadata Database machine oracle.com/us/products/database/exadata Oracle insight oracle.com/us/corporate/insight Oracle consulting enterprise architecture Services oracle.com/us/products/consulting/enterprise-architecture-services VieW 3-D demos Oracle Exalogic Elastic Cloud bit.ly/leBtiu Oracle Exadata Database Machine bit.ly/kgOHuQ

July/August 2011 Oracle.cOm/Oraclemagazine

Specialized
Oracle PartnerNetwork
50+ Product Specializations Recognized by Oracle Preferred by Customers

Differentiate Yourself

partner.oracle.com or call 1.800.323.SELL

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

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

Database Developer

BUSINESS INTELLIGENCE BY MARK RITTMAN

43

Upgrade to Oracle Business Intelligence Enterprise Edition 11g

ORACLE BUSINESS INTELLIGENCE ENTERPRISE EDITION 11g

Take advantage of the latest OLAP analysis, mapping, KPI, and scorecard features.

racle Business Intelligence Enterprise Edition 11g introduces several new features that will be of interest to organizations using the previous (10g) release of the product. An overhauled and simplified user interface, integration of the Oracle Fusion Middleware MapViewer feature, key performance indicators (KPIs) and scorecards, and the new Action Framework are all new areas of functionality in the new release that I have covered in this column over the past few issues of Oracle Magazine. So youve seen the new features, and now you want to upgrade to Oracle Business Intelligence Enterprise Edition 11ghow do you go about it? Luckily, Oracle has thought about the upgrade process right from the development of Oracle Business Intelligence Enterprise Edition 11g, by including in the release the easy-to-use Oracle Fusion Middleware Upgrade Assistant, which makes upgrading your Oracle Business Intelligence Repository, Oracle Business Intelligence Presentation Catalog, and other metadata a simple process. This column details how to upgrade the Sample Sales repository and Web catalog metadata, designed for Oracle Business Intelligence Enterprise Edition 10g, to work with Oracle Business Intelligence Enterprise Edition 11g. You can download this sample data set from Oracle Technology Network at bit.ly/m3Kuw. PLANNING FOR THE UPGRADE As with any other upgrade, you first need to consider the hardware, software, networking, and operating system environments you are upgrading from and to. Your first resources for these considerations should be the

product documentation, in particular Oracle Fusion Middleware Upgrade Guide for Oracle Business Intelligence 11g Release 1 (11.1.1), which describes the upgrade process in detail, including information about which components are automatically upgraded, and Oracle Fusion Middleware Installation Guide for Oracle Business Intelligence 11g Release 1 (11.1.1), which details the hardware, operating system, and networking requirements for the Oracle Business Intelligence Enterprise Edition 11g release. After you have reviewed the documentation, install the Oracle Business Intelligence Enterprise Edition 11g software. Before you start the install, however, run the Repository Creation Utility to create the supporting database schema for Oracle Business Intelligence

Enterprise Edition 11g, which brings together all the separate tables and schemas used in earlier releases. After you have run the Repository Creation Utility, run the Oracle Business Intelligence Enterprise Edition 11g installer, which copies the required product files onto your server and then configures Oracle WebLogic Server to create your Oracle Business Intelligence domain. UPGRADING YOUR METADATA With Oracle Business Intelligence Enterprise Edition 11g installed, you can now use the Oracle Fusion Middleware Upgrade Assistant to upgradeand uploadyour Oracle Business Intelligence Enterprise Edition 10g metadata to the new environment. The Oracle Fusion Middleware Upgrade Assistant, part

I-HUA CHEN

Figure 1: The filled-in Specify Source Details dialog box of the Oracle Fusion Middleware Upgrade Assistant

ORACLE MAGAZINE JULY/AUGUST 2011

44

Business intelligence

of Oracle Fusion Middleware 11g, is located in your [middleware_home]/Oracle_BI1/ bin/directory and is named either ua.bat (for Microsoft Windows installations) or ua.sh (for UNIX or Linux installations). The Oracle Fusion Middleware Upgrade Assistant takes you stepby-step through the process and upgrades the following business intelligence metadata: Your repository (RPD file) and Web catalog, including users and groups in the repository The Oracle Business Intelligence scheduler schema The Oracle Business Intelligence Publisher report repository The Oracle Business Intelligence Publisher scheduler schema The Oracle Fusion Middleware Upgrade Assistant produces an upgraded, working business intelligence system at the end of this process. Because the Oracle Fusion Middleware Upgrade Assistant places the upgraded repository and Web catalog online and copies any users within your Oracle Business Intelligence Enterprise Edition 10g repository into the Oracle WebLogic Server LDAP server as part of the process, you should test the process in your development and test environment before running it in production. In addition, the system you upgrade must not be clustered, so you should revert to a single node without a cluster controller configured before you begin the upgrade process. Using the Oracle FUsiOn Middleware Upgrade assistant In this example, you will upgrade the repository and Web catalog objects provided as part of the Oracle Business Intelligence Enterprise Edition 10g Sample Sales data set. Download bit.ly/m3Kuw, and unzip the sample data to a directory on the server on which Oracle Business Intelligence Enterprise Edition 11g is installed. First, check that your Oracle WebLogic Admin Server and Managed Server are running by using your Web browser to open the Oracle WebLogic Administration Console Web page at localhost:7001/em, and if the page is not available, start these components by using the supplied startup scripts. Now, in your file system, navigate to the directory where the Upgrade Assistant is installed, start the utility, and then follow these steps:

Figure 2: an upgraded Oracle Business intelligence dashboard

1. With the Oracle Fusion Middleware Upgrade Assistant displayed, review the Welcome message and click Next to continue. 2. On the Specify Operation screen, select the Upgrade Oracle BI RPD and Presentation Catalog option and click Next to proceed. 3. On the Specify Source Options screen, check the Upgrade Repository (RPD) checkbox and click Browse to navigate to the location in the file system where you saved the Sample Sales repository file (samplesales.rpd). 4. After you have selected the repository file, enter the Administrator User Name and Administrator Password for the existing repository file. For the Sample Sales repository, this is typically Administrator/Administrator. 5. Oracle Business Intelligence Enterprise Edition 11g repositories no longer have hard-coded administrator accounts within them; instead, you will use a repository password to secure access to them. In the Enter a Password which will be used to secure the upgraded RPD section, enter the password (such as welcome1) twice to provide an initial password for the new repository file. 6. To upgrade the Sample Sales Web catalog, check the Upgrade Catalog checkbox and click Browsenext to the Catalog Directory and Catalog Deliveries Directory text boxesto select the

Sample Sales Web catalog and Deliveries catalog, respectively, as shown in Figure 1. 7. Click Next to proceed to the Specify WebLogic Server screen. Enter a number (typically 7001) for Port, and fill in the Username and Password fields of the Oracle WebLogic Server administration account. Click Next to proceed. 8. On the Examining Components screen, check the Succeeded status and click Next and then Upgrade to start the upgrade process. 9. The upgrade process typically takes less than a minute for the Sample Sales repository and Web catalog but can take longer for more-complex sets of metadata. Once the process is complete, check that the upgrade status is Succeeded, review any warning or error messages, and click Next and then Close to exit the Oracle Fusion Middleware Upgrade Assistant. If you are upgrading your own business intelligence metadata, you can use other options provided by the Oracle Fusion Middleware Upgrade Assistant to upgrade your scheduler metadata, Oracle Business Intelligence Publisher repository, and Oracle Business Intelligence Publisher scheduler. For now, though, lets take a look at whats been upgraded and any further postupgrade steps you need to perform to complete the process. accessing the Upgraded Metadata If you are upgrading your own business intelligence system by using the Oracle Fusion

July/August 2011 Oracle.cOm/Oraclemagazine

45

Middleware Upgrade Assistant, you need to ensure that the TNSNAMES file within the [middleware_home]\Oracle_BI1\network\ admin directory on your new server includes entries that correspond with the database connect strings referenced in the upgraded repository. For now, though, lets first use the Oracle Business Intelligence Administration Tool to view the upgraded repository. 1. From your Microsoft Windows Start menu, select Start -> Programs -> Oracle Business Intelligence -> BI Administration. 2. When the Oracle Business Intelligence Administration Tool opens, select File -> Open -> Online and enter the following details when prompted: Repository Password: <the repository password you entered earlier> User: <your Oracle WebLogic Server administration username> Password: <your Oracle WebLogic Server administration password> With the information entered, click Open to open the repository online. You will then see your upgraded business intelligence repository within the Oracle Business Intelligence Administration Tool. 3. The Sample Sales repository and Web catalog you upgraded came with a sample set of data in XML format, for display in dashboards. To make this data available for queries, locate the Sample_ Sales_V1.3_Dataset.zip archive file from the Sample Sales download detailed earlier in this article and unzip it to the following location (you will need to create the directories shown in boldface type). %MIDDLEWARE_HOME\instances\ instance1\bifoundation\ OracleBIServerComponent\ coreapplication_obis1\server\ Sample Then, using the Oracle Business Intelligence Administration Tool, select Manage -> Variables and locate the BIEE_HOME static repository variable. Double-click it to show the Static Repository Variable properties page, and

Figure 3: an oracle Business intelligence pivot table

update the variable initializer to reflect the path detailed above, without the additional (new) directories. For example 'C:\Middleware\instances\ instance1\bifoundation\ OracleBIServerComponent\ coreapplication_obis1' Select File -> Save to save your repository, and run the consistency checker. 4. Finally, you need to restart Oracle Business Intelligence Server. To do this, open your Web browser and navigate to Oracle Enterprise Manager Fusion Middleware Control, using the URL http://localhost:7001/em (adjust as required for your installation). When prompted, enter the username and password of the Oracle WebLogic Server administration user, and then select Business Intelligence -> coreapplication from the menu. When the core application screen is displayed, select Capacity Management -> Availability from the tabs and subtabs, click BI Servers, and click Restart Selected. You can now access your upgraded Web catalog. Using your Web browser, navigate to the Oracle Business Intelligence home page (such as http://localhost:9704/analytics), enter the Oracle WebLogic Server administra-

tion username and password, and then select Dashboards -> Sample Sales -> 02 History and Benching. You will see one of the Sample Sales dashboards running within an Oracle Business Intelligence Enterprise Edition 11g environment, as shown in Figure 2. After the UpgrAde Although the Oracle Fusion Middleware Upgrade Assistant upgrades your metadata, any configuration changes you applied to your Oracle Business Intelligence Enterprise Edition 10g environment that you want to reapply to your Oracle Business Intelligence Enterprise Edition 11g environment will need to be applied manually with Oracle Enterprise Manager Fusion Middleware Control. For example, you may want to enable or disable query caching or add more instances of Oracle Business Intelligence Server or other system components to scale up or scale out your installation. Also, some configuration changes require you to manually edit the Oracle Business Intelligence Server NQSConfig.INI and Oracle Business Intelligence Presentation Server InstanceConfig.XML configuration files. Check Oracle Fusion Middleware Upgrade Guide for Oracle Business Intelligence 11g Release 1 (11.1.1) for those business intelligence components that are not upgraded by the Oracle Fusion Middleware Upgrade Assistant, including CSS and other user inter-

oracle magazine July/August 2011

46

BUSINESS INTELLIGENCE

face configuration files. Although Oracle Business Intelligence Enterprise Edition 11g adopts the Oracle Fusion Middleware security model, your existing initialization blocks, LDAP directory connections, and Web groups will still work with Oracle Business Intelligence Enterprise Edition 11g. You may, however, want to consider upgrading these to use the Oracle Fusion Middleware security framework, to take advantage of the authentication, authorization, and directory integration features provided by Oracle WebLogic Server. Similarly, you may now want to revisit your analyses (the new term for requests), dashboards, and other business intelligence objects to take advantage of the new features and capabilities provided by the Oracle Business Intelligence DOWNLOAD Oracle Business Intelligence Enterprise Edition 11g bit.ly/j0rHJu

Enterprise Edition 11g release, such as the pivot table, which uses the new hierarchical columns feature shown in Figure 3. SUMMARY Upgrading an Oracle Business Intelligence Enterprise Edition 10g system to Oracle Business Intelligence Enterprise Edition 11g is a straightforward process when you use the Oracle Fusion Middleware Upgrade Assistant. It automatically upgrades your repository, Web catalog, Oracle Business Intelligence Publisher reports, and scheduler schemas. Once the upgrade is complete, you can take advantage of new Oracle Business Intelligence Enterprise Edition 11g features, including online analytical processing (OLAP) analysis capabilities, mapping, KPIs, scorecards, and the new systems management framework built around Oracle WebLogic Server and Oracle Enterprise Manager. t

Mark Rittman is an Oracle ACE director, a cofounder of Rittman Mead, and an executive board member of the Oracle Development Tools User Group. He maintains a blog at rittmanmead.com. NEXT STEPS
READ more about Oracle Business Intelligence Enterprise Edition 11g Oracle Fusion Middleware System Administrators Guide for Oracle Business Intelligence Enterprise Edition 11g Release 1 (11.1.1) Oracle Fusion Middleware Upgrade Guide for Oracle Business Intelligence 11g Release 1 (11.1.1) Oracle Fusion Middleware Installation Guide for Oracle Business Intelligence 11g Release 1 (11.1.1) bit.ly/ihRSZR DOWNLOAD sample data for this column bit.ly/m3Kuw

SAVE TIME, MONEY


When it comes to your data center, General Microsystems can help you improve efciency, performance and the environment.
With the power of Oracle applications, GMI can help:
Increase the speed of your multi-threaded applications with Oracles SPARC T3 servers. Reduce space and power consumption, while cutting transaction times in half with Oracles Sun Storage F5100 Flash Arrays. Consolidate and simplify management of multiple data centers with Oracles Sun ZFS Storage Appliance.

& SOMETHING MORE


GMI is an experienced, dependable partner, dedicated to providing superior service and intelligent IT solutions that maximize productivity and minimize impact on the environment.

Find out how GMI can help you enhance productivity and reduce your bottom line. Visit

www.gmispecialized.com
2011 General Microsystems. All rights reserved. All company logos and product names mentioned herein may be trademarks and/or registered trademarks of their respective companies. Oracle and Java are registered trademarks of Oracle and/or its afliates. Other names may be trademarks of their respective owners. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc.

JULY/AUGUST 2011 ORACLE.COM/ORACLEMAGAZINE

Java Developer

oracle aDF By FrAnk nimphius

47

add advanced list interaction

OrAcle JDeVelOper and OrAcle ApplicAtiOn DeVelOpment FrAmewOrk

use model-driven lOVs in Oracle ADF to implement smart lists with autosuggest behavior.

sing lists of values (LOVs) in Oracle Application Development Framework (Oracle ADF) is a great way to prevent end users from entering invalid data. With dependent LOVs, you can further enhance user efficiency by filtering lists on external conditions. This column will show you how the LOV features in Oracle ADF help you build rich, intelligent list and search capabilities without requiring full-blown Java coding. To begin, go to bit.ly/gLhag3, which will automatically download the starter workspace in a zip file called o41adf-359201.zip. Note that it contains two folders, one containing a starter workspace and the other a completed version. Ensure that youre using the studio edition of the Oracle JDeveloper 11g 11.1.1.4 (or later) release, available as a free download on the Oracle Technology Network at oracle.com/technetwork/ developer-tools/jdev/downloads. The application uses the HR schema thats available by default in Oracle Database.

the AdfListOfValues.jws workspace in the AdfListOfValues folder. Before proceeding, adjust the properties of the connection named hrconn in the Application Resources zone of the Application Navigator until you can successfully test a connection to the HR database schema. The sample workspace contains two projects: Model and ViewController. The Model project contains four view objects: DepartmentsView, JobsView, ManagersView, and EmployeesView. Youll start by defining LOVs for attributes of the

EmployeesView object. The other three view objects provide the data for the lists. The ViewController project contains a single page, SamplePage.jspx, that youll use to test the model-driven LOVs in a Web environment. BUilding lovS for the employeeSview oBject Double-click the EmployeesView object in the Model projects adf.oramag.sample .model.vo package to open it in the object editor. Select the Attributes category, and

Sample application overview The biggest challenge in developing LOVs in large enterprise applications is to maintain functional and user interface consistency across pages. Model-driven LOVs help you meet this challenge by enabling you to define an LOV in a single place; any subsequent modifications to the list propagate to all instances of the list. In this example, youll see how to use Oracle JDeveloper to create dependent, modeldriven LOVs that provide smart lists filtered lists with default selection values and autosuggest behavior. Launch Oracle JDeveloper, and browse to the directory where you unzipped the starter workspace. Open

Figure 1: adding a view accessor

oracle magazine July/August 2011

48

Oracle aDF

then click DepartmentId in the list of attributes. Click the green plus sign (+) icon next to the List of Values: DepartmentId label to open the Create List of Values dialog box. Click the + sign next to the List Data Source field, and select DepartmentsView from the Available View Objects list. Click the right-pointing shuttle button to move the selected view object to the View Accessors list. Figure 1 shows the updated View Accessors list. (The existing JobsView1 view accessor is from an LOV that is predefined in the sample workspace.) Click OK. From the List Attribute list, choose DepartmentId. That selection automatically completes the List Return Values section so that the DepartmentId value is copied to the EmployeesView objects DepartmentId. On the UI Hints tab, perform the following steps to configure the display for the LOV and the component that renders it: 1. For Default List Type, select Combo Box with List of Values. 2. Under Display Attributes, shuttle DepartmentName, DepartmentId, and LocationId (in that order) from the Available list to the Selected list. 3. For Show in Combo Box, select First. 4. Check the Query List Automatically checkbox. 5. Check the Filter Combo Box Using option to create a smart list that filters the list of departments to include only the departments that have employees. The filter is based on the DepartmentsWithEmployees view criteria defined for the DepartmentsView view object. Click OK to save the configuration and return to the ViewEmployees editor. Figure 2 shows how the LOV youve just defined for the DepartmentId attribute will render at runtime. If you want to search in all departments, click Search to launch the Search and Select dialog box. Whenever the DepartmentId attribute is added to any page in the application, the UI will render consistently as shown in Figure 2. The ManagerId LOV youll create next is dependent on the DepartmentId value. To synchronize the two attributes, the DepartmentId must issue a partial submit

upon value change. With the DepartmentId attribute selected, open the Property Inspector from the Oracle JDeveloper main menu (View -> Property Inspector). In the Property Inspector, expand the UI Hints category and set the Auto Submit property to true. Save the project. Building the dependent lOV fOr the Managerid attriBute The ManagerId attribute should also render as an LOV component at runtime. In the EmployeesView view object editor, select the ManagerId attribute and create an LOV definition as before. In the Create List of Values dialog box, create a new view accessor for List Data Source by clicking the green + and shuttling ManagersView from the Available View Objects list to the View Accessors list. Now assign a bind variable value that passes the DepartmentId attribute value to a view criteria that exists on the ManagersView object. Click Edit next to the View Accessors label. In the Edit View Accessor dialog box, enter DepartmentId as the value for the bind parameter, as shown in Figure 3. Youll allow users to query all employees who are managers via a Search and Select dialog box. Youll also provide a smart list to help them find the manager for the current department as referenced in the DepartmentId attribute. The smart list is

Figure 2: lOV for DepartmentiD as displayed at runtime

queried by the value provided for the bind variable. Click OK, and click OK again to close the Edit View Accessor dialog box. Back in the Create List of Values dialog box, select EmployeeId as the value of the List Attribute field. This selection ensures that at runtime the EmployeeId of the selected manager will be assigned as the current employees ManagerId value. Click the UI Hints tab to configure the appearance of the LOV component: 1. Choose Combo Box with List of Values for Default List Type. 2. For Display Attributes, shuttle FirstName, LastName, Email, and DepartmentId (in that order) from the Available list to the Selected list. 3. For Show in Combo Box, select First and 2 (indicating that the first two attributes

Figure 3: adding a bind parameter value

July/August 2011 Oracle.cOm/Oraclemagazine

49

Figure 4: Querying all managers

allEmployees collection from the Data Controls panel, and drop it as Form -> ADF Form onto the visual page editor. In the Edit Form Fields dialog box, check the checkboxes to create navigation controls and to add a submit button; click OK. In the Application Navigator, right-click the SamplePage.jspx file and choose Run to test the application. Note that at runtime the dependent ManagerId value refreshes if you select a different DepartmentId value. Click Search in the list to show the Search and Select dialog box containing the full ManagerID list. imprOving the JOBid Field with autOsuggest BehaviOr The LOV definition for the EmployeesView objects JobId attribute, which is precreated in the sample, references the JobsView view object. Instead of using Combo Box with List of Values for Default List Type, it uses Input Text with List of Values. So far, the JobId field has LOV behavior only when the user clicks the magnifying glass icon at runtime. Now youll add autosuggest behavior to the JobId attribute. Return to Oracle JDeveloper with SamplePage.jspx open in the visual page editor. Open the Component Palette by choosing View -> Component Palette from the main menu. In the Component Palette, expand the Operations accordion, find the Auto Suggest Behavior component, and drag it onto the pages JobId field. Open the Property Inspector, and enter #{bindings .JobId.suggestedItems} as the value of the Auto Suggest Behavior components SuggestedItems property. At runtime, the bindings portion of the expression statement accesses the Oracle ADF binding container. The JobId portion is a list binding that is created for the modeldriven LOV when the JobId attribute is added to the page. One of the properties on the list binding is suggestedItems, which returns an LOV that matches the user input in the JobId field. Still working with the Auto Suggest Behavior component, enter 10 as the value of the MaxSuggestedItems property to restrict the number of display items. Right-click the SamplePage.jspx file, and

choose Run from the context menu to test the application. In the form that appears in your browser, clear the JobId field and type an uppercase A to produce the autosuggested list of job IDs that begin with A. Try it again by entering an uppercase C. Your results should look similar to Figure 5. If you have not successfully completed this exercise, you can examine the finished application by opening the AdfListOfValuesCompleted.jws workspace in the AdfListOfValues-Completed folder, and see it in action by running SamplePage.jspx. cOnclusiOn Using model-driven LOVs in Oracle ADF not only is the most consistent and manageable approach for building LOVs but also spares you from having to code your own solution. To learn more about model-driven LOVs, see section 25.3.2, How to Create a Model-Driven List, in Oracle Fusion Middleware Fusion Developers Guide for Oracle Application Development Framework 11g Release 1 (11.1.1.4.0).

Figure 5: autosuggest behavior

Frank nimphius is a senior principal product


manager for Oracle JDeveloper and Oracle Application Development Framework. He coauthored Oracle Fusion Developer Guide: Building Rich Internet Applications with Oracle ADF Business Components and Oracle ADF Faces (Mcgraw-Hill, 2010).

will appear in the smart list). 4. Check the Query List Automatically checkbox. 5. Check the Filter Combo Box Using option, which automatically selects the ManagerInDepartment view criteria defined for ManagersView. Click OK to close the dialog box. At runtime, the dependent smart list shows the manager for the selected DepartmentId. To query all managers, users click the Search link, as shown in Figure 4. Congratulationsyouve created an LOV with a dependent smart list. Building the Oracle adF Faces FOrm FOr testing Now youll build a Web page for testing the application. In the Application Navigator, expand the ViewController project; right-click the SamplePage.jspx file, in the Web Content folder; and choose Open. Open the Data Controls accordion panel in the Application Navigator, and expand AppModuleDataControl. Drag the

next StepS
reaD more about Oracle aDF bit.ly/huMKrB Oracle Fusion Middleware Fusion Developers Guide for Oracle Application Development Framework 11g Release 1 (11.1.1.4.0) bit.ly/gnQf1I Oracle Fusion Developer Guide: Building Rich Internet Applications with Oracle ADF Business Components and Oracle ADF Faces (McGraw-Hill, 2010) amzn.to/e7sJNw Oracle aDF insider bit.ly/f71x3w Oracle aDF code corner bit.ly/hP3CBu DiScUSS Oracle JDeveloper and Oracle aDF Oracle JDeveloper and Oracle ADF Oracle technology Network Forum bit.ly/fPiams

Oracle magazine July/August 2011

50

Database Application Developer | PL/SQL

controlling the Flow of execution

OrAcLe DAtAbASe

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

o help newcomers to PL/SQL make the most of this language, Oracle Magazine has asked me to write a series of articles for PL/SQL beginners, of which this is the second. If you are an experienced PL/SQL developer, you may find these articles a handy refresher on PL/SQL fundamentals. I will assume for this series that although the readers are new to PL/SQL, they have had some programming experience and are familiar with SQL. My approach throughout, in addition, will be to get you productive in PL/SQL as quickly as possible.

PL/SQL: AT Your CommAnd There is one way PL/SQL is just like every other programming language you will ever use: it (the PL/SQL runtime engine) does only exactly what you tell it to do. Each block of PL/SQL code you write contains one or more statements implementing complex business rules or processes. When you run that block of code, as either an anonymous block or a script or by calling a stored program unit that contains all the logic, Oracle Database follows the directions you specify in that block. It is therefore critical to know how to specify which statements should be run, under what circumstances, and with what frequency. To do this, Oracle Database offers conditional and iterative constructs. This article introduces you to the IF statement, the CASE statement and expression, and the various types of loops PL/SQL supports. CondiTionAL BrAnChing in Code Almost every piece of code you write will require conditional control, the ability to direct the flow of execution through your program, based on a condition. You do this with IF-THEN-ELSE and CASE statements.

There are also CASE expressions; although not the same as CASE statements, they can sometimes be used to eliminate the need for an IF or CASE statement altogether. iF. The IF statement enables you to implement conditional branching logic in your programs. With it, youll be able to implement requirements such as the following: If the salary is between $10,000 and $20,000, apply a bonus of $1,500. If the collection contains more than 100 elements, truncate it. The IF statement comes in three flavors, as shown in Table 1. Lets take a look at some examples of IF statements. iF-Then. The following statement compares two numeric values. Note that if one of these two values is NULL, the entire expression will return NULL. In the following example, the bonus is not given when salary is NULL:
IF l_salary > 40000 THEN give_bonus (l_employee_id,500); END IF;

not NULL) results. For example, you can use IS NULL to test for the presence of a NULL:
IF l_salary > 40000 OR l_salary IS NULL THEN give_bonus (l_employee_id,500); END IF;

In this example, salary IS NULL evaluates to TRUE in the event that salary has no value and otherwise to FALSE. Employees whose salaries are missing will now get bonuses too. (As indeed they probably should, considering that their employer was so inconsiderate as to lose track of their pay in the first place.) iF-Then-eLSe. Here is an example of the IF-THEN-ELSE construct (which builds upon the IF-THEN construct):
IF l_salary <= 40000 THEN give_bonus (l_employee_id, 0); ELSE give_bonus (l_employee_id, 500); END IF;

There are exceptions to the rule that a NULL in a Boolean expression leads to a NULL result. Some operators and functions are specifically designed to deal with NULLs in a way that leads to TRUE and FALSE (and
iF Type IF tHeN eND IF; characteristics

In this example, employees with a salary greater than $40,000 will get a bonus of $500, whereas all other employees will get

this is the simplest form of the IF statement. the condition between IF and tHeN determines whether the set of statements between tHeN and eND IF should be executed. If the condition evaluates to FALSe or NuLL, the code will not be executed. this combination implements either/or logic: based on the condition between the IF and tHeN keywords, execute the code either between tHeN and eLSe or between eLSe and eND IF. One of these two sections of statements is executed.
LINDy grOeNINg

IF tHeN eLSe eND IF;

IF tHeN eLSIF eLSe eND IF;

this last and most complex form of the IF statement selects a condition that is true from a series of mutually exclusive conditions and then executes the set of statements associated with that condition. If youre writing IF statements like this in any Oracle Database release from Oracle9i Database release 1 onward, you should consider using searched cASe statements instead.

Table 1: iF statement flavors

JuLy/AuguSt 2011 OrAcle.cOm/OrAclemAgAzine

Pl/SQl 101 By Steven FeuerStein

51

no bonus at all. Or will they? What happens if the salary, for whatever reason, happens to be NULL for a given employee? In that case, the statements following the ELSE will be executed and the employee in question will get the bonus, which is supposed to go only to highly paid employees. If the salary could be NULL, you can protect yourself against this problem by using the NVL function:
IF NVL(l_salary,0) <= 40000 THEN give_bonus (l_employee_id, 0); ELSE give_bonus (l_employee_id, 500); END IF;

IF l_salary BETWEEN 10000 AND 20000 THEN give_bonus(l_employee_id, 1000); ELSIF l_salary > 20000 THEN give_bonus(l_employee_id, 500); ELSE give_bonus(l_employee_id, 0); END IF;

Here is an example of a simple CASE statement that uses the employee type as a basis for selecting the proper bonus algorithm:
CASE l_employee_type WHEN 'S' THEN award_bonus (l_employee_id); WHEN 'H' THEN award_bonus (l_employee_id); WHEN 'C' THEN award_commissioned_bonus ( l_employee_id); ELSE RAISE invalid_employee_type; END CASE;

The NVL function will return 0 whenever salary is NULL, ensuring that any employees with a NULL salary will also get no bonus (those poor employees). The important thing to remember is that one of the two sequences of statements will always execute, because IF-THEN-ELSE is an either/or construct. Once the appropriate set of statements has been executed, control passes to the statement immediately following END IF. IF-ELSIF. Now lets take a look at the use of ELSIF. This last form of the IF statement comes in handy when you have to implement logic that has many alternatives; it is not an either/or situation. The IF-ELSIF formulation provides a way to handle multiple conditions within a single IF statement. In general, you should use ELSIF with mutually exclusive alternatives (that is, only one condition can be TRUE for any execution of the IF statement). Each ELSIF clause must have a THEN after its condition. (Only the ELSE keyword does not need the THEN keyword.) The ELSE clause in the IF-ELSIF is the otherwise of the statement. If none of the conditions evaluates to TRUE, the statements in the ELSE clause will be executed. But the ELSE clause is optional. You can code an IF-ELSIF that has only IF and ELSIF clauses. In such a case, if none of the conditions is TRUE, no statements inside the IF block will be executed. Heres an example of an IF-ELSIF statement that checks for three different conditions and contains an ELSE clause in case none of those conditions evaluates to TRUE.

CASE: A USEFUL ALtErnAtIvE to IF The CASE statement and expression offer another way to implement conditional branching. By using CASE instead of IF, you can often express conditions more clearly and even simplify your code. There are two forms of the CASE statement: Simple CASE statement. This one associates each of one or more sequences of PL/SQL statements with a value. The simple CASE statement chooses which sequence of statements to execute, based on an expression that returns one of those values. Searched CASE statement. This one chooses which of one or more sequences of PL/SQL statements to execute by evaluating a list of Boolean conditions. The sequence of statements associated with the first condition that evaluates to TRUE is executed. In addition to CASE statements, PL/SQL also supports CASE expressions. A CASE expression is similar in form to a CASE statement and enables you to choose which of one or more expressions to evaluate. The result of a CASE expression is a single value, whereas the result of a CASE statement is the execution of a sequence of PL/SQL statements. Simple CASE statements. A simple CASE statement enables you to choose which of several sequences of PL/SQL statements to execute, based on the results of a single expression. Simple CASE statements take the following form:
CASE expression WHEN result1 THEN statements1 WHEN result2 THEN statements2 ... ELSE statements_else END CASE;

This CASE statement has an explicit ELSE clause, but the ELSE is optional. When you do not explicitly specify an ELSE clause of your own, PL/SQL implicitly uses the following:
ELSE RAISE CASE_NOT_FOUND;

In other words, if you dont specify an ELSE clause and none of the results in the WHEN clauses matches the result of the CASE expression, PL/SQL will raise a CASE_ NOT_FOUND error. This behavior is different from that of IF statements. When an IF statement lacks an ELSE clause, nothing happens when the condition is not met. With CASE, the analogous situation leads to an error. Searched CASE Statements. A searched CASE statement evaluates a list of Boolean expressions and, when it finds an expression that evaluates to TRUE, executes a sequence of statements associated with that expression. Searched CASE statements have the following form:
CASE WHEN expression1 THEN statements1 WHEN expression2 THEN statements2 ... ELSE statements_else END CASE;

orAcle mAgAzine JuLy/AuguSt 2011

52

PL/SQL 101

A searched CASE statement is a perfect fit for the problem of implementing my bonus logic, as shown below:
CASE WHEN l_salary BETWEEN 10000 AND 20000 THEN give_bonus(l_employee_id, 1500); WHEN salary > 20000 THEN give_bonus(l_employee_id, 1000); ELSE give_bonus(l_employee_id, 0); END CASE;

code Listing 1: A simple loop


PROCEDURE display_multiple_years ( start_year_in IN PLS_INTEGER ,end_year_in IN PLS_INTEGER ) IS l_current_year PLS_INTEGER := start_year_in; BEGIN LOOP EXIT WHEN l_current_year > end_year_in; display_total_sales (l_current_year); l_current_year := l_current_year + 1; END LOOP; END display_multiple_years;

code Listing 2: A simple loop that iterates through the rows of a cursor
PROCEDURE display_multiple_years ( start_year_in IN PLS_INTEGER , end_year_in IN PLS_INTEGER) IS CURSOR years_cur IS SELECT * FROM sales_data WHERE year BETWEEN start_year_in AND end_year_in; l_year sales_data%ROWTYPE; BEGIN OPEN years_cur; LOOP FETCH years_cur INTO l_year; EXIT WHEN years_cur%NOTFOUND; display_total_sales (l_year); END LOOP; CLOSE years_cur; END display_multiple_years;

Tip: Because WHEN clauses are evaluated in order, you may be able to squeeze some extra efficiency out of your code by listing the most likely WHEN clauses first. In addition, if you have WHEN clauses with expensive expressions (that is, ones requiring lots of CPU cycles and memory), you may want to list those last to minimize the chances that they will be evaluated. Use searched CASE statements when you want to use Boolean expressions as a basis for identifying a set of statements to execute. Use simple CASE statements when you can base that decision on the result of a single expression. Using CASE expressions. A CASE expression returns a single value, the result of whichever result_expression is chosen. Each WHEN clause must be associated with exactly one expression (not statement). Do not use semicolons or END CASE to mark the end of the CASE expression. CASE expressions are terminated by a simple END. A searched CASE expression can be used to simplify the code for applying bonuses. Rather than writing an IF or CASE statement with three different calls to give_bonus, I can call give_bonus just once and use a CASE expression in place of the second argument:
give_bonus(l_employee_id, CASE WHEN l_salary BETWEEN 10000 AND 20000 THEN 1500 WHEN l_salary > 40000 THEN 500

ELSE 0 END);

Unlike with the CASE statement, no error is raised in the event that no WHEN clause is selected in a CASE expression. Instead, if no WHEN condition is met, a CASE expression will simply return NULL. ITErATIvE ProCESSIng wITh LooPS Loops in code give you a way to execute the same body of code more than once. Loops are a very common element of programming, because so much of the real-world activity modeled by our programs involves repetitive processing. We might need, for example, to perform an operation for each month of the previous year. To cite a common example

from Oracles famous employees table, we might want to update information for all the employees in a given department. PL/SQL provides three kinds of loop constructs: The FOR loop (numeric and cursor) The simple (or infinite) loop The WHILE loop Each type of loop is designed for a specific purpose with its own nuances, rules for use, and guidelines for high-quality construction. To give you a feel for how the different loops solve their problems in different ways, consider the following three loop examples. In each case, the procedure makes a call to display_total_sales for a particular year, for each year between the start and end argument values.

July/August 2011 OracLe.cOm/OracLemagazine

53

The FOR loop. Oracle Database offers both a numeric and a cursor FOR loop. With the numeric FOR loop, you specify the start and end integer values, and PL/SQL does the rest of the work for you, iterating through each integer value between the start and the end and then terminating the loop:
PROCEDURE display_multiple_years ( start_year_in IN PLS_INTEGER ,end_year_in ) IS BEGIN FOR l_current_year IN start_year_in .. end_year_in LOOP display_total_sales (l_current_year); END LOOP; END display_multiple_years; IN PLS_INTEGER

code Listing 3: A WHIlE loop


PROCEDURE display_multiple_years ( start_year_in IN PLS_INTEGER ,end_year_in IN PLS_INTEGER ) IS l_current_year PLS_INTEGER := start_year_in; BEGIN WHILE (l_current_year <= end_year_in) LOOP display_total_sales (l_current_year); l_current_year := l_current_year + 1; END LOOP; END display_multiple_years;

code Listing 4: A FOR loop with a conditional exit


PROCEDURE display_multiple_years ( start_year_in IN PLS_INTEGER , end_year_in IN PLS_INTEGER) IS BEGIN FOR l_current_year IN start_year_in .. end_year_in LOOP display_total_sales (l_current_year); EXIT WHEN total_sales (l_current_year) = 0; END LOOP; END display_multiple_years;

The cursor FOR loop has the same basic structure, but with it you supply an explicit cursor or SELECT statement in place of the low/high integer range:
PROCEDURE display_multiple_years ( start_year_in IN PLS_INTEGER ,end_year_in IN PLS_INTEGER ) IS BEGIN FOR l_current_year IN ( SELECT * FROM sales_data WHERE year BETWEEN start_year_in AND end_year_in) LOOP display_total_sales (l_current_year); END LOOP; END display_multiple_years;

code Listing 5: A WHIlE loop with one exit


PROCEDURE display_multiple_years ( start_year_in IN PLS_INTEGER , end_year_in IN PLS_INTEGER) IS l_current_year PLS_INTEGER := start_year_in; BEGIN WHILE ( l_current_year <= end_year_in AND total_sales (l_current_year) > 0) LOOP display_total_sales (l_current_year); l_current_year := l_current_year + 1; END LOOP; END display_multiple_years;

,end_year_in IN PLS_INTEGER ) IS l_current_year INTEGER; /* NOT NEEDED */ BEGIN FOR l_current_year IN start_year_in .. end_year_in

In both the numeric and the cursor FOR loop, Oracle Database implicitly declares the iterator (in the examples above, it is l_ current_year) for you, as either an integer or a record. You do not have to (and should not) declare a variable with that same name, as in
PROCEDURE display_multiple_years ( start_year_in IN PLS_INTEGER

In fact, if you do declare such a variable, it will not be used by the FOR loop. It is, more specifically, a different integer variable than that declared implicitly by Oracle Database

and used within the body of the loop. The simple loop. Its called simple for a reason: it starts simply with the LOOP keyword and ends with the END LOOP statement. The loop will terminate if you execute an EXIT, EXIT WHEN, or RETURN within the body of the loop (or if an exception is raised). Listing 1 presents a simple loop. Listing 2 presents a simple loop that iterates through the rows of a cursor (logically equivalent to the cursor FOR loop of the previous section). Compare the cursor-based simple loop in Listing 2 with the cursor FOR loop. Note that I must explicitly open the cursor, fetch

oracLe magazine July/August 2011

54

PL/SQL 101

the next record, determine by using the %NOTFOUND cursor attribute whether or not I am done fetching, and then close the cursor after the loop terminates. The cursor FOR loop requires none of these steps; Oracle Database performs all steps (open, fetch, terminate, close) implicitly. Although a simple loop should not be used to fetch row by row through a cursors dataset, it should be used when (1) you may need to conditionally exit from the loop (with an EXIT statement) and (2) you want the body of the loop to execute at least once. The WHILE loop. The WHILE loop is very similar to the simple loop; a critical difference is that it checks the termination condition up front. That is, a WHILE loop may not even execute its body a single time. Listing 3 demonstrates the WHILE loop. The WHILE loop consists of a condition (a Boolean expression) and a loop body. Before each iteration of the body, Oracle Database evaluates the condition. If it evaluates to TRUE, the loop body will execute. If it evaluates to FALSE or NULL, the loop will terminate. You must then make sure to include code in the body of the loop that will affect the evaluation of the conditionand, at some point, cause the loop to stop. In the procedure in Listing 3, that code is
l_current_year := l_current_year + 1

code Listing 6: A FOR loop with two instances of REtuRN


FUNCTION total_sales ( start_year_in IN PLS_INTEGER , end_year_in IN PLS_INTEGER) RETURN PLS_INTEGER IS l_return PLS_INTEGER := 0; BEGIN FOR l_current_year IN start_year_in .. end_year_in LOOP IF total_sales (l_current_year) = 0 THEN RETURN l_return; ELSE l_return := l_return + total_sales (l_current_year); END IF; END LOOP; RETURN l_return; END total_sales;

code Listing 7: A loop revision with one way out


FUNCTION total_sales ( start_year_in IN PLS_INTEGER , end_year_in IN PLS_INTEGER) RETURN PLS_INTEGER IS l_current_year PLS_INTEGER := start_year_in; l_return PLS_INTEGER := 0; BEGIN WHILE (l_current_year <= end_year_in AND total_sales (l_current_year) > 0) LOOP l_return := l_return + total_sales (l_current_year); l_current_year := l_current_year + 1; END LOOP; RETURN l_return; END total_sales;

In other words, move to the next year until the total sales for all specified years are displayed. If your WHILE loop does not somehow change the way the condition is evaluated, that loop will never terminate. OnE Way In, OnE Way OuT In all the examples in the previous section, the FOR loop clearly requires the smallest amount of code. Generally you want to find the simplest, most readable implementation for your requirements. Does that mean that you should always use a FOR loop? Not at all. Using the FOR loop is the best solution for the scenario described because I needed to run the body of the loop a fixed number of times. In many other situations, the number of times a loop must execute will vary, depending on the state of the data in the application. You may also need to terminate the loop when a

certain condition has occurred; in this case, a FOR loop is not a good fit. One important and fundamental principle in structured programming is one way in, one way outthat is, a program should have a single point of entry and a single point of exit. A single point of entry is not an issue with PL/SQLno matter what kind of loop you are using, there is always only one entry point into the loop: the first executable statement following the LOOP keyword. It is quite possible, however, to construct loops that have multiple exit paths. Avoid this practice. Having multiple ways of terminating a loop results in code that is much harder to debug and maintain than it would be otherwise. In particular, you should follow these two guidelines for loop termination:

1. Do not use EXIT or EXIT WHEN statements within FOR and WHILE loops. You should use a FOR loop only when you want to iterate through all the values (integer or record) specified in the range. An EXIT inside a FOR loop disrupts this process and subverts the intent of that structure. A WHILE loop, on the other hand, specifies its termination condition in the WHILE statement itself. Listing 4 presents an example of a FOR loop with a conditional exit. I want to display the total sales for each year within the specified range. If I ever encounter a year with zero sales, however, I should stop the loop. There are now two ways out of the loop. In this situation, I will rewrite the FOR loop as a WHILE loop, which means I must now also declare the iterator and add to it within

July/August 2011 OracLe.cOm/OracLemagazine

55

the loop, as shown in Listing 5. 2. Do not use RETURN or GOTO statements within a loopthese cause the premature, unstructured termination of the loop. Listing 6 presents an example of a FOR loop with a RETURN in it. The total_sales function returns the total sales across the specified years, but if any year has $0 in sales, the function should terminate the loop and return the current total sales. Note that the loop terminates in one of two ways: either by iterating through all integers between the start and end years or by executing the RETURN inside the loop. In addition and related to that, this function now has two instances of RETURN, which means that there are two ways out of the function. This is also not a recommended way to design your functions. You should have just a single RETURN in your executable section, the last line of the function. I can restructure this function so that both

the loop and the function have just one way out, as shown in Listing 7. All the logic required to terminate the loop is now in the WHILE condition, and after the loop is finished, the function executes a single RETURN to send back the total sales value. This second implementation is now simpler and easier to understandand that is for a program that itself is already quite simple. When you work with much more complex algorithms, following the one way in, one way out guidelines will have an even greater impact on the readability of your code. In this article, you learned about how to tell the PL/SQL compiler to conditionally and iteratively execute the statements in your block. This control will enable you to write stored program units that mirror the business process flow defined by your users. Spoiler Alert: The next article in this series, Part 3, will discuss working with strings in PL/SQL programs. t

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
READ PL/SQL 101, Part 1 bit.ly/eYIxRq PL/SQL columns bit.ly/fc0uoJ DOWNLOAD Oracle Database 11g oracle.com/software/products/database DISCUSS PL/SQL forums.oracle.com/forums/forum.jspa?forumID=75 TEST your PL/SQL knowledge plsqlchallenge.com

Visit groupwareadvantage.com

EVERY GREAT BUSINESS HAS A HERO.

Introducing the cost-saving, record-breaking, performance-driving, HERO-BUILDING data center solutions from Oracle.
Todays enterprise data centers are evolving faster than a speeding bullet. Give yourself the tools and condence to keep pace with industry leading Oracle solutions backed by the proven expertise of an Oracle Platinum partner. Count on Groupware to plan, design, support and implement a custom storage solution that can meet todays business goals and adapt to tomorrows changes. Discover how Groupware Database Specialists will help prioritize the applications and processes that will yield the greatest performance improvements and cost savings.

ORACLE OFFERS COMPLETE AND INTEGRATED DATA CENTER SOLUTIONS


Oracles Sun Storage F5100 Flash Arrays provide the best and easiest way to accelerate database performance up to 10X and reduce operating costs up to 80% compared to traditional disk drives. Oracles Sun ZFS Storage Appliance dramatically optimizes database and application performance and reduces I/O bottlenecks with no administrator intervention via automatic and intelligent data placement across the storage hierarchy. Oracles SPARC T3-1 server is the platform of choice for web infrastructure, middleware workloads, and application development, delivering the worlds rst 16-core processor with unsurpassed throughput in a sleek, compact design.
2011 Groupware, Oracle and/or its afliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its afliates. Other names may be trademarks of their respective owners.

Visit

groupwareadvantage.com

ORACLE MAGAZINE JULY/AUGUST 2011

Exadata
Runs 17x Faster
1 Exadata ran 17x faster than 4 large UNIX servers.

oracle.com/goto/BNPparibas BNP Paribas, 3rd largest global bank

Individual results depend on a number of factors. Actual results may vary. Copyright 2010, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates.

Database Application Developer and DBA

Ask Tom by tom Kyte

57

on Better loading and Fact-checking


our technologist enjoys the rule of external tables and debunks index scan myths.

orAcle DAtAbAse 11g

m working to improve the efficiency of an existing process that starts with staging an input file (generated by a client program) for the database. In some situations, the input file can include 20,000,000 lines or more, but with one-third or so of those lines being of no use as input. At present all the lines are transferred (as rows in a staging table), with unneeded lines pruned at the beginning of processing with a DELETE. The DELETE obviously generates a lot of redo and undo and takes some time. Further, were transferring lines we dont even need to bother with in the first place. Im trying to modify the SQL*Loader control file to discard these unneeded records to save both the transfer time and the pruning time. However, Im running up against SQL*Loaders lack of an OR in its condition processing. Ive tried structuring the control file to perform multiple tests, so that each successful test would result in a rows being sent to the database. My results show that nearly all rows are being rejected. My questions: 1. Whats wrong with my control file (see below)? 2. Is there a better way to do this? Heres the staging table: create table staging ( rectype char(1) not null, id number not null, name varchar2(64) not null, val varchar2(256) ); Heres my sample input file, inputdata.csv: 4,1,"rn","" 4,2,"rn","nonnull" 4,3,"rd",""

4,4,"rd","nonnull" 4,5,"ac","NO" 4,6,"ac","YES" 4,7,"ie","nonnull" 4,8,"at","nonnull" 4,9,"ms","1.23" 4,10,"mb","1.56" 4,11,"ms",".99" Heres my control file: LOAD DATA REPLACE INTO TABLE staging WHEN NAME = 'rn' AND VAL <> '' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS ( RECTYPE, ID, NAME, VAL ) INTO TABLE staging WHEN NAME = 'rd' AND VAL <> '' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS ( RECTYPE, ID, NAME, VAL ) other INTO clauses . Well, Ill point out two things here. First: SQL*Loader documentation states that SQL*Loader doesnt start over with multiple INTO clauses. That is, the first INTO clause will get the record and start processing it, and the second INTO clause will get the same record and pick up processing where the first INTO clause stopped. The process does not go back to column 1. In short, the documentation (bit.ly/fmauzu) states The important point in this example is that the second empno field is found immediately after the first ename,

although it is in a separate INTO TABLE clause. Field scanning does not start over from the beginning of the record for a new INTO TABLE clause. Instead, scanning continues where it left off. So a quick fix for you would be to use POSITION(1) in your control file for each of the RECTYPE attributes after the first INTO clause. That is, just change RECTYPE in the control file to RECTYPE POSITION(1). Once I made that change, your data loaded right up. The second thing Id like to point out is that as far as Im concerned, SQL*Loader is deadbecause external tables rule. The SQL*Loader control file syntax is very inflexible compared to simple SQL. Also, in your example, you are loading a staging table, which likely will be further processed and placed into real tables. Therefore, you are 1. Taking a flat file and reading it 2. Loading it into a table 3. Reading that table 4. Ultimately loading the table from Steps 2 and 3 into other tables With external tables you can simplify that process to 1. Taking a flat file and reading it (as a table) 2. Ultimately loading the table from Step 1 into other tables. You can skip major pieces of your current processing, including loading a table temporarily and rereading all the data. Lets take your control file and use it to create an external table definition to see how easy this would all be if you used an external table instead of SQL*Loader. If I take your control file and remove all but one of the INTO clauses and get rid of the WHEN clause
LOAD DATA REPLACE

orAcle mAgAzine July/August 2011

58

Ask Tom

INTO TABLE staging FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS ( RECTYPE, ID, NAME, VAL )

incorrect. They are common misconceptions but untrue nonetheless. A fast full index scan reads the entire index, unsorted, as it exists on disk. It is basi-

cally using the index as a skinny version of the table. The query in question would be accessing only attributes in the index. (We are not using the index as a way to get to the

code listing 1: CREAtE tABlE and a query against it


I can use SQL*Loader to generate a CREATE TABLE statement easily by running the command
sqlldr userid=/ control=test.ctl external_table=generate_only
CREATE TABLE "SYS_SQLLDR_X_EXT_STAGING" ( "RECTYPE" CHAR(1), "ID" NUMBER, "NAME" VARCHAR2(64), "VAL" VARCHAR2(256) ) ORGANIZATION external ( TYPE oracle_loader DEFAULT DIRECTORY EXEC_DIR ACCESS PARAMETERS ( RECORDS DELIMITED BY NEWLINE CHARACTERSET US7ASCII BADFILE 'EXEC_DIR':'test.bad' LOGFILE 'test.log_xt' READSIZE 1048576 FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' LDRTRIM MISSING FIELD VALUES ARE NULL REJECT ROWS WITH ALL NULL FIELDS ( "RECTYPE" CHAR(255) TERMINATED BY "," OPTIONALLY ENCLOSED BY '"', "ID" CHAR(255) TERMINATED BY "," OPTIONALLY ENCLOSED BY '"', "NAME" CHAR(255) TERMINATED BY "," OPTIONALLY ENCLOSED BY '"', "VAL" CHAR(255) TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' ) ) location ( 'test.dat' ) )REJECT LIMIT UNLIMITED /

The resulting log file will include the CREATE TABLE statement in Listing 1 for me. Listing 1 also includes a SQL query against the new table. Note that Listing 1 includes the entire set of INTO/WHEN clause logic. Because I am using an external table, I have the entire power of SQL at my disposal. In SQL, OR conditions are not hard; they are quite natural; and best of all, I avoided a lot of work. As you all know, the fastest way to do something is to not do it. Using external tables enables you to not do things without losing anything along the way. Difference Between full inDex ScanS anD faSt full inDex ScanS What is the difference between full index scan and fast full index scan? Ive read elsewhere that a fast full index scan is an alternative to a full table scan when the index contains all the columns needed for the query and at least one column in the index key has the NOT NULL constraint. A fast full index scan accesses the data in the index itself without accessing the table. It cannot be used to eliminate a sort operation, because the data is not ordered by the index key. It reads the entire index by using multiblock reads, unlike a full index scan, and can be parallelized. Fast full index scans cannot be performed against bitmap indexes. A fast full index scan is faster than a full index scan, because it can use multiblock I/O and can be parallelized just like a table scan. I am not clear about this. Could you please clarify? Ill start with a definition and then get into clearing up some of these misconceptions, because many of the stated facts are

Now, all I have to do is issue a query such as


select from where or or or * sys_sqlldr_x_ext_staging (name = 'rn' and val is not null) (name = 'rd' and val is not null) (name = 'ac' and val <> 'NO' ) (name not in ( 'ie', 'at', 'rn', 'rd', 'ac' ))

code listing 2: Query uses fast full index scan


SQL> set autotrace traceonly explain SQL> select count(*) from t where owner = 'SCOTT'; Execution Plan Plan hash value: 1058879072 | Id |Operation |Name |Rows |Bytes |Cost (%CPU)|Time | | 0|SELECT STATEMENT | | 1| 17 | 69 (2)|00:00:01| | 1| SORT AGGREGATE | | 1| 17 | | | |* 2| INDEX FAST FULL SCAN|T_IDX| 12| 204 | 69 (2)|00:00:01|

July/August 2011 orAcle.com/orAclemAgAzine

59

tablewe are using the index instead of the table.) We use multiblock I/O and read all the leaf, branch, and root blocks. We ignore the branch and root blocks when executing the query and just process the (unordered) data in the leaf blocks. A full index scan reads the index a block at a time, from start to finish. It reads the root block, navigates down the left-hand side of the index (or the right-hand side for a descending full scan), and then when it hits the leaf block, it reads across the entire bottom of the indexa block at a timein sorted order. It uses single-block, not multiblock, I/O for this operation. Now, lets address the misconceptions the questioner read elsewhere. It is true that a fast full index scan is an alternative to a full table scan when the index contains all the columns referenced in the query, but at least one column in the index key has the NOT NULL constraint is not a requirement. I can prove this by example. Suppose I have the following table:
SQL> create table t 2 3 4 as select * from all_objects;

table (the index is acting as a skinny version of the table), and the predicate, where owner = SCOTT, makes it such that the OWNER column must be NOT NULL to be in the result set. And because any NOT NULL value would appear in the index, we can use the index. If the query were SELECT COUNT(*) FROM T, it is true that we would not be able to use the index with a fast full scan instead of the table, because the table could have rows that are not in the index. Any row in which STATUS was null and OWNER was null would not appear in the index, and wed miss counting it. But because the WHERE

clause explicitly says that we are looking for a not-null value of OWNER, I know that every row I need appears in the index. Moving on, you have the statement Fast full index scans cannot be performed against bitmap indexes. This is not true, and I can once again prove that by example, using the same table T. Ill continue by adding a bitmap index
SQL> create bitmap index 2 bm_idx on t(owner);

and then run the simple query in Listing 3.

code listing 3: simple query uses bitmap index for fast full index scan
SQL> set autotrace traceonly explain SQL> select distinct owner from t; Execution Plan Plan hash value: 4145652518 | Id |Operation |Name |Rows |Bytes |Cost (%CPU)|Time | | 0 |SELECT STATEMENT | |82657| 1372K| 465 (1)|00:00:06| | 1 | HASH UNIQUE | |82657| 1372K| 465 (1)|00:00:06| | 2 | BITMAP INDEX FAST FULL SCAN|BM_IDX|82657| 1372K| 7 (0)|00:00:01|

Table created. SQL> alter table t 2 modify owner null; Table altered. SQL> create index t_idx 2 on t(status,owner); Index created. SQL> desc t Name OWNER OBJECT_NAME ... STATUS ... VARCHAR2(7) NOT NULL Null? Type VARCHAR2(30) VARCHAR2(30)

code listing 4: Choosing the right index scan for the right query
SQL> select status, owner from t 2 where owner = 'SYS' order by status, owner; Execution Plan Plan hash value: 2277287974 | Id |Operation |Name |Rows |Bytes |Cost (%CPU)|Time | | 0 |SELECT STATEMENT| |34755| 746K| 247 (1)|00:00:03| |* 1 | INDEX FULL SCAN|T_IDX|34755| 746K| 247 (1)|00:00:03| SQL> select status, owner from t 2 where owner = 'SCOTT' order by status, owner; Execution Plan Plan hash value: 3276893591 | Id |Operation |Name |Rows |Bytes |Cost (%CPU)|Time | | 0 |SELECT STATEMENT | | 8| 176 | 70 (3)|00:00:01| | 1 | SORT ORDER BY | | 8| 176 | 70 (3)|00:00:01| |* 2 | INDEX FAST FULL SCAN|T_IDX| 8| 176 | 69 (2)|00:00:01|

As you can see, neither STATUS nor OWNER is defined as NOT NULL. However, if I execute the query in Listing 2, I will observe a fast full index scan in action. Thats because we can use the index in place of the

orAcle mAgAzine July/August 2011

60

Ask Tom

code listing 5: limited digits cannot accurately represent 1/19


SQL> set numformat 0.999999999999999999999999999999999999999999999 SQL> select 1/19 from dual; 1/19 0.052631578947368421052631578947368421052600000

code listing 6: 38 digits of precision are not enough to equal 1


SQL> select 1/19*19 from dual; 1/19*19 0.999999999999999999999999999999999999999400000

code listing 7: Reduced precision with floating-point numbers


SQL> select 1f/19f from dual; 1F/19F 0.052631579300000000000000000000000000000000000

As you can see, we definitely would use a bitmap index to perform a fast full index scanin fact, we can do it even when OWNER (the only indexed column) is NULLABLE. That is because, unlike the T_IDX B*Tree index, bitmap indexes always index NULL keys. Every row in a table will be pointed to by a bitmap index, regardless of the data values. And last, there is the statement that a fast full index scan is faster than a full index scan, because it can use multiblock I/O and can be parallelized just like a table scan. I have a saying that goes like this: Never say never and never say always, I always say. When you see any statement such as X is faster than Y, be suspicious. If X were always faster than Y, technology Y would not have been implemented or invented in the first place! There must be some times when the converse is true. So, from a performance perspective, that statement is something that may or may not be true. The answer to whether that statement is true is, It depends. Again using the table T example, if I run the query
select status, owner from t where owner = 'some user'

order by status, owner;

the optimizer will sometimes pick a fast full index scan on T_IDX and sometimes pick a full index scan on T_IDX. It all depends on the estimated cardinalities involved. If this query is going to retrieve a very small set of rows, the cost of sorting them will be very low, and well probably use a fast full index scan to reduce the I/O cost. On the other hand, if the query is going to retrieve a lot of rows, the cost of sorting them begins to go way up, and we might choose a full index scan, with a higher I/O cost but zero cost for sorting, instead. This is borne out by the example in Listing 4. As Listing 4 demonstrates, when we are going to retrieve about 35,000 rows, we use a full index scan to avoid the sort. When we go after about 8 rows, we use the fast full index scan and just sort the results. Rollback Segment foR Select Does Oracle Database need a rollback segment for queries? I thought it used rollback segments only for data manipulation language (DML) operations, but it recently failed, resulting in the error message Unable to extend rollback segment for a SELECT statement.

We added some space to that segment, and then the SELECT statement worked fine. Does the database use rollback segments for SELECT statements? First, lets refine the question. Instead of does the database use rollback segments for SELECT statements, Ill answer the question does a SELECT statement generate or read rollback segments? The verb use is just not specific enough. Every SELECT statement has the potential to use undo (rollback) data. Oracle Database uses undo naturally when processing all queries to produce readconsistent result sets. (See bit.ly/elhCUS for more details on this topic.) However, this use of undo would not cause an unable to extend error message. It could quite easily cause the dreaded ORA-1555 Snapshot too old error message, but it would not by itself generate an ORA1650 or ORA-1651 error message, Unable to extend rollback/undo segment. . . . To generate the ORA-1650/1651 error message, the SELECT statement would have to be generating undo, possible causes of which would be The SELECT statement was an UPDATE in disguisethe SELECT statement contained the FOR UPDATE clause. Auditing was enabled, which is what raised the ORA-1650/1651 error message. The SELECT statement was invoking some sort of autonomous transaction function that wrote to the database, and that is what caused the ORA-1650/1651 error message. I would suspect that the first reason was the likely cause of this Unable to extend rollback/undo segment . . . error message. When you issue a SELECT FOR UPDATE, Oracle Database will lock all the rows for you before you get the first row back. Locking a row in Oracle Database involves modifying the database block to place the lock there. And anytime you modify a database block, you generate undo (and redo) for that operation. You can see this easily:
SQL> create table t 2 3 4 as select * from all_objects;

Table created.

July/August 2011 orAcle.com/orAclemAgAzine

61

code listing 8: Reduced precision accidentally helps result


SQL> select 0.0526315793f * 19f from dual; 0.0526315793F*19F 1.000000000000000000000000000000000000000000000

code listing 9: More-precise numbers create larger error


SQL> select 0.0526315793 * 19 from dual; 0.0526315793*19 1.000000006700000000000000000000000000000000000

SQL> select used_ublk 2 from v$transaction;

no rows selected SQL> begin 2 3 4 5 6 7 8 9 10 / end; for x in (select * from t for update) loop null; end loop;

PL/SQL procedure successfully completed. SQL> select used_ublk 2 from v$transaction;

USED_UBLK 629

Processing that SELECT statement generated 629 blocks of undo (I was in a single user database, so I know that row in V$TRANSACTION is mine). What Is 1/19? Oracle Database is under the impression that 1/19 * 19 1 = 6 1040. You can replace 19 with 19 multiplied by any positive power of DoWnloAD oracle Database 11g release 2 bit.ly/epBiug

100, and the problem remains. When you multiply 19 by an odd power of 10, the answer is 0. For example, 1/1900 * 1900 1 = 6 1040, but 1/190 * 190 1 = 0. I understand that it has to do with the way numbers are stored internally, but is there a simple way around it? That happens with many numbers. It happens with all man-made representations of numbers, and it happens all the time in computers (especially with floating-point number datatypesthey are much worse in general than a NUMBER datatype). First, it is very important to realize that this isnt specific to Oracle Database; spreadsheets and all other computer programs Ive ever seen are subject to this somewhere. The problem arises anytime in computer programs when you start doing things with really small and really big numbers. The precision of the intermediate result gets maxed out and cannot hold all the digits. The problem starts with 1/19. Limited digits cannot represent that number perfectly, as shown in Listing 5. You run out of places to hold the decimal, so that representation is not exactly 1/19, but it is close. And when you multiply by 19, you run into another issue. You have 38 digits of precision, but the numbers being multiplied are so far apart that youd need more than 38 to do it precisely, as shown in Listing 6. And now you see the issue. If you were to do this in floating-point numbers, it would work (with these numbers) by accident, as shown in Listing 7. You see the massively reduced precision with floating-point number datatypes.

You get an answer that is much farther away from 1/19 than when you use Oracle NUMBER datatypes. Later, when you multiply, as shown in Listing 8, it appears to work, by accident, but only because of the reduced precision. Using more-precise numbers, in Listing 9, the result isnt really 1, and the error is actually much larger, but you lost it because you had a number with 10 digits to the right of the decimal point and a number with 2 digits to the left. The reduced-precision arithmetic lost the error (by accident). The only way I know to get around it is the old programming technique of using a tolerance rather than an equal sign (=). You cannot use another type of number (such as a float or a double), because it will produce errors as well when working with different numbers. If you are mixing really small, precise numbers with much larger numbers, you might need to use if (abs(x-0) < tolerance) then instead of if (x=0) then in your code.

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 sQl*loader bit.ly/fmauzu index scans bit.ly/gvZF5v read consistency bit.ly/elhCus

orAcle mAgAzine July/August 2011

Subscribe

Scan
Scan to Subscribe Today
1. 2. 3. 4. 5. 6. Download the reader to your Web-enabled phone Open the browser on your phone Navigate to get.neoreader.com Install the NeoReader 2D barcode reader as instructed Open the NeoReader application on your phone Scan the barcode shown here

in the Field By Andy FloWer

63

Build and Buy

An oracle technologist looks at the principles for integrating built and bought solutions.

oday, it is uncommon for organizations to completely build their own enterprise applications. There are better options for acquiring packaged enterprise solutions with some level of customization that serve a particular need in our organizations. Inevitably, there will be parts of our organizations whose needs are not met by the enterprise solutions, which will lead to departmental efforts to buy or build applications that satisfy those needs. These applications often undercut our ability to consistently and cost-effectively manage our software and technology ecosystem. As a result, many IT organizations face three basic questions: 1. What do we need to build, customize, enhance, or extend to fill the gaps in our enterprise applications and still maintain consistent use of information resources? 2. What do we need to do to support consistent integration of departmental applications built with nonstandard technologies and toolsets with our enterprise applications? 3. Finally, what do we need to build or buy to support our disparate enterprise and departmental customers and environments? CusTomize, enhanCe, exTend We need to be prepared to make changes that extend the enterprise softwares capabilities. To get in front of departments that are frustrated by lack of functionality or the slow pace of change, we as technologists need to provide a common platform and toolset so that we can provide consistent support. For customizations of the core system, the obvious solution is to leverage the development tools and flexible data structures provided by the platform to enhance the existing functionality. Customizations and extensions are not always seamless, however, and that leads

us to the next question: how can organizations support consistent integration? inTegraTion Consistent use of both function and data is one of the largest challenges our organizations face, which often drives the desire for an enterprise solution. However, as described above, finding the perfect fit is elusive. Inevitably, we will need to integrate custom or third-party functionality and data with our enterprise applications. There are four basic types of integration: service, information, process, and technology.1 Any time we integrate solutions, we need to be cognizant of all four aspects. Services, or the basic functionality of the processes we integrate, must be complementary. Information, or the data we need to share across services, must be consistently managed and shared. Processes must be flexible to orchestrate the sequence in which services are executed and information exchanged. Technology, or the platforms that enable service, information, and process integration, must also be a manageable, consistent stack. As technology professionals, we typically focus on the technology platform. There are tools within Oracle Database that support the development of both services and information integration capabilities, including PL/SQL, Oracle Application Express, and Oracle Warehouse Builder. From a middleware perspective, Oracle Fusion Middleware products and technologiesincluding Oracle WebCenter Suite, Oracle SOA Suite, Oracle Data Integrator, Oracle Business Intelligence, and Oracle Business Process Managementalso support more-complex service and information integration. supporTing our environmenT Regardless of whether your applications and technology platforms include only Oracle

products or a mix of other products, the key to success in build-versus-buy scenarios is having a consistent technology platform and development tools. What we can control through consistent use of platforms and tools is the time to market and overall cost to support the integration of departmental customizations and third-party extensions. Where To geT ansWers If you have questions about buildversus-buy decisions or any other issues around the use of Oracle software and hardware, theres good news: communities of Oracle users and customers have been helping solve problems and sharing solutions for decades. And although each group has its own focus, the different groups are increasingly working together because their members are increasingly working together. (See Next Steps for links to the largest Oracle user group communities.)

andy Flower
(andy_flower@ioug.org) is president of the Independent oracle users group (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.

next StepS
learn more about ioUg ioug.org the oracle development tools User group (odtUg) odtug.com the oracle applications Users group (oaUg) oaug.org Quest international Users group questdirect.org

1 Enterprise Integration: The Essential Guide to Integration Solutions, by Beth gold-Bernstein (Addison-Wesley, 2004)

oracle magazine July/August 2011

64

analysts cOrner by DAVID bAuM

make the next storage move


Organizations reduce costs by matching the right type of storage to their needs.

racle Magazine spoke with Benjamin S. Woo, program vice president for worldwide storage systems at International Data Corporation (IDC), about todays evolving storage technology and how to create an effective strategy for delivering data to the enterprise. Oracle Magazine: How can businesses create storage strategies that keep them ahead of data growth? Woo: To create an effective storage strategy that accommodates growing data volume and maximizes your gigabyte per dollar, you have to balance access time against application requirements. There is a place for high-performance solid-state drives [SSDs]; slower, high-capacity disk drives; and tape drives. Matching application attributes with data at each stage of the data lifecyclefrom initial processing to final archivingwill enable you to correlate your needs with the right solution set. Oracle Magazine: How is disk storage technology evolving in terms of technology and use? Woo: We will continue to see increases at both ends of the spectrumin capacity and performance. Performance will increase through the penetration of SSD technology, while capacity will increase through the proliferation of multiterabyte SATA [serial ATA] drives. We now have drives that hold 3 terabytes per unit in the open market. These highcapacity drives will lower the power envelope and also increase the amount of data that can be stored in one place. We will also see a gradual movement toward flash technology for some high-performance applications. Oracle Magazine: What is the optimal use of flash technology in a storage environment? Woo: Flash is a performance technology, so it is not designed to replace all storage. Its not suitable if you are looking to maximize your gigabyte per dollar of capacity. Most people

tape is still the most cost-effective way to store offsite, offline data.
equate performance with capacity, but these are two very separate measures. IDCs research indicates that flash technology will represent from 2 to 5 percent of total storage within larger enterprises. Oracle Magazine: How should organizations measure storage performance? Woo: For starters, dont just read the spec sheet! Sheer performance is just one measure of utility, and not all types of drives are appropriate for all purposes. The best way to evaluate your particular storage needs is to look at the number of I/Os or storage transactions that represent your peak load, and then address those performance needs with the appropriate type of storage media. Oracle Magazine: What are the leading advancements in storage controllers, and how do these devices help IT departments? Woo: Storage controllers are starting to adopt multicore, multi-CPU technology. This will become very valuable as much of todays single-threaded storage software is rewritten to take advantage of multicore processors. For example, you could have one core doing all the RAID calculations, another core doing NFS, a couple of cores handling compression and deduplication, and so forth. Multithreading will give customers a lot more bang for their buck. It will also help IT departments manage multiple storage functions in a unified way. Oracle Magazine: Oracle Exadata technology moves certain aspects of database processing into the storage layer. What are the database and storage benefits of this technology?

Woo: Systems like Oracle Exadata are what we call object-based storage systems because they provide a more direct link between where data objects are stored and the leveraging of those data objects for value-creation purposes. Interjecting database technology at this level not only dramatically improves the performance of database queries and transactions but also lets you store user-definable metadata, such as the ability to tag a file as personal, public, or enterprise, to identify its purpose and relevance. Oracle Magazine: What is the future of tape storage technology? Woo: Tape is not going away. It is still the most cost-effective way to store offsite, offline data. As alternatives, people have talked about spin-down drives and other technologies that minimize energy consumption and maximize equipment life. But if you dont need data for a lengthy period, it is still more efficient to offload it to tape and place it at rest in a library. Tape is a great long-term archival technology, and it is the most reliable and cost-effective technology for achieving persistence.

David Baum (david@dbaumcomm.com) is a freelance business writer based in santa barbara, California.
IDC (idc.com) is a global provider of market intelligence, advisory services, and events for the information technology, telecommunications, and consumer technology markets.

next steps
learn about sun zFs storage appliances sun flash products storagetek tape storage products oracle.com/storage Oracle exadata storage server oracle.com/us/products/database/exadata

July/August 2011 Oracle.cOm/Oraclemagazine

Leaders Run
SPARC Solaris
10 of the 10
Top Banks Top Telcos Top Pharmas Top Governments

Get Better Results

oracle.com/goto/solaris 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.

También podría gustarte