Академический Документы
Профессиональный Документы
Культура Документы
Genetics
get flabbergasted...
SCAN THIS PAGE
WITH LAYAR APP FOR
ADDED EXPERIENCE
JULY/AUGUST 2014
SUCCESS
ON SPARC
The latest SPARC chips and
systems are at the center of
better business processes
CONTENTS
SUCCESS
ON SPARC
Consolidating older and underperforming
servers onto newer and more-efficient servers
running a high-performance operating system
and low-overhead virtualization technology adds
new enterprise capacity and processing power
to cost-cutting consolidation projects. Read how
organizations are turning to the new generation
of SPARC servers and the Oracle Solaris
operating system for better business processes
and a better bottom line. Philip J. Gill
/ 26
Up Front / 5
Community / 16
Technology / 33
Comment / 54
PARTNER NEWS / 16
BOOK BEAT / 16
COMMUNITY
BULLETIN / 19
ORACLE ADF / 33
IN THE FIELD / 54
The Cloud OS
Tom Haunert
At Oracle / 6
EVENTS / 6
Find out about upcoming
technology and industry
events.
RESOURCES / 8
Your guide to Oracle videos,
webcasts, podcasts, white
papers, and more
BRIEFS / 10
The latest product news
INTERVIEW / 14
Happenings in Oracle
Technology Network
Roland Smart
ARCHITECT / 20
Building Bridges
PEER-TO-PEER / 21
Close Encounters
Region Extreme:
Multi-Task-Flow Binding
MANAGEABILITY / 37
Managing Expressly
PL/SQL / 43
ASK TOM / 49
ANALYST / 55
Deploy Applications in
Different Environments
Organizations look to todays
application server platforms
to run high-performance
enterprise applications and
services. David Baum
TIME CAPSULE / 56
Flashbacks: Culture. Industry.
Oracle. Oracle Magazine.
Rich Schwerin
Editorial
Editor in ChiefTom Haunerttom.haunert@oracle.com
Managing EditorJan Rogersjan.rogers@oracle.com
Associate Editor Patty Waddington
Contributing Editor and Writer Blair Campbell
Technology Advisor Tom Kyte
Contributors Rich Schwerin, Leslie Steere
DESIGN
Senior Creative Director Francisco G Delgadillo
Senior Design Director Suemi Lam
Design Director Richard Merchn
Contributing Designers Jaime Ferrand, Arianna Pucherelli
Production Designers Sheila Brennan, Kathy Cygnarowicz
Publishing
PublisherJennifer Hamiltonjennifer.hamilton@oracle.com+1.650.506.3794
Associate Publisher and Audience Development DirectorKarin Kinnearkarin.kinnear@oracle.com+1.650.506.1985
Advertising sales
President, Sprocket MediaKyle Walkenhorstkyle@sprocketmedia.com+1.323.340.8585
Western and Central US, LAD, and Canada, Sprocket MediaTom Cometatom.cometa@oracle.com+1.510.339.2403
Eastern US and EMEA/APAC, Sprocket MediaMark Makinneymark.makinney@sprocketmedia.com+1.805.709.4745
Advertising Sales Assistant, Sprocket MediaCindy Elhajcindy@sprocketmedia.com+1.626.396.9400, x201
Mailing-List Rentals Contact your sales representative.
Editorial Board
Ian Abramson, Karen Cannell, Andrew Clarke, Chris Claterbos, Karthika Devi, Kimberly Floss, Kent Graziano,
Taqi Hasan, Tony Jambu, Tony Jedlinski, Ari Kaplan, Val Kavi, John King, Steve Lemme, Carol McGury,
Sumit Sengupta, Jonathan Vincenzo, Dan Vlamis
Subscription Information
Subscriptions are complimentary for qualified individuals who complete the form found at
oracle.com/oraclemagazine. For change of address, mail in label with the new address to:
Oracle Magazine, P.O. Box 1263, Skokie, IL 60076-8263.
Magazine Customer Service
oracle@halldata.com Fax +1.847.763.9638 Phone +1.847.763.9635
Resources
Oracle Products
+1.800.367.8674 (US/Canada)
Oracle Services
+1.888.283.0591
Oracle Press Books
oraclepressbooks.com
Privacy
Oracle Publishing allows sharing of its mailing list with selected third parties. If you prefer that your
mailing address or e-mail address not be included in this program, contact Customer Service at
oracle@halldata.com.
Copyright 2014, Oracle and/or its affiliates. All Rights Reserved. No part of this publication may be reprinted or otherwise reproduced without permission from the editors. ORACLE MAGAZINE IS PROVIDED ON
AN AS IS BASIS. ORACLE EXPRESSLY DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ORACLE BE LIABLE FOR ANY DAMAGES OF ANY KIND ARISING FROM YOUR
USE OF OR RELIANCE ON ANY INFORMATION PROVIDED HEREIN. The information is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into
any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality
described for Oracles products remains at the sole discretion of Oracle. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Oracle Magazine (ISSN 1065-3171) is published bimonthly with a free subscription price by: Oracle, 500 Oracle Parkway, MS OPL-3A, 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.
ISV Apps
Run Better
on Exadata
30x Lower CPU Utilization
6x Less Storage Used
90% Linear Scalability
70:1 Compression
30x More Scalable
oracle.com/partners/goto/exastack
Copyright 2014, 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.
The Cloud OS
Next Steps
READ more about
Oracle Solaris
oracle.com/technetwork/server-storage/solaris11
bit.ly/1juvxQS
Oracle Solaris Guarantee Program
bit.ly/1mHegIU
OpenStack
bit.ly/1juvEMo
CONNECT:
bit.ly/aVgo69
bit.ly/orclmagfb
Ongoing Evolution
Oracle Solaris 11.2 feature updates deliver
better performance for Oracle environments running the cloud OS, including
kernel mode acceleration, which delivers
performance acceleration for Oracle Real
Application Clusters; memory prediction
technology, which enables lower memory
utilization; and a new shared memory
model and other Oracle Database co
engineered enhancements.
Perhaps one of the most overlooked
ongoing features of all recent Oracle Solaris
releases has been the guarantee. The Oracle
Solaris Guarantee Program ensures that even
as new Oracle Solaris releases support new
features, binary applications and source code
developed for earlier releases of Oracle Solaris
will continue to run on newer releases.
Open Revolution
Oracle Solaris 11.2 includes built-in, efficient
enterprise cloud virtualization. Oracle Solaris
Zones, for example, have been enhanced in
the new release to include support for fully
independent and isolated environments,
called kernel zones. Also new in the cloud OS,
application-driven software-definednetworking support, from application to
twitter.com/oraclemagazine
linkd.in/orclmag
oracle magazine July/August 2014
Events
Technology Events
Oracle OpenWorld
September 28October 2
San Francisco, California
Oracle OpenWorld is the most important educational
and networking event of the year for Oracle technologists, customers, and partners. Thousands of sessions
and hundreds of demos and labs help attendees discover new product and technology solutions, improve
their technical proficiency and knowledge, learn tips
and tricks for currently installed products, and gain
an understanding of where the industry is headed.
Register at oracle.com/openworld
burlingtonruby.com
doag.org
saoug.co.za
nocoug.org
austinjug.org
soug.org
XChange 2014
MobileHCI
September 2326, Toronto, Ontario, Canada
fmobilehci.acm.org/2014
MobileHCI covers the field of human-computer
interaction (HCI) and is the premier forum for innovations in mobile, portable, and personal devices
and the services to which they enable access.
DEMO Africa
September 2526, Lagos, Nigeria
fdemo-africa.com
DEMO Africa is the initiative of the Liberating
Innovation in Opportunity Nations partnership,
aimed at enhancing the technology startup
and innovation ecosystems of fast-growing
African economies.
doug.org
ukoug.org
csoaug.com
aioug.org
ukoug.org
ausoug.org.au
ukoug.org
Events locator
Oracle Events
oracle.com/events
Locate User Groups
oracle.com/technetwork/community
Jshua Barnett/Flickr
rEGiStEr nOW
Register at oracle.com/openworld
Copyright 2014, 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.
Resources
Videos
Better Clouds at Lower Costs
fbit.ly/1n8L5hd
Learn how to build efficient clouds with Oracles
SPARC servers running Oracle Solaris.
Simplify Your Business with Oracle
Business Analytics
fbit.ly/1g90cWz
Learn how to keep costs down without sacrificing
performance or data quality for discovery, business intelligence, and planning applications.
Why Move Business Applications from
IBM to Oracle
fbit.ly/1iljLHD
Improve performance and efficiency and reduce
costs by moving enterprise applications from IBM
Power to Oracles SPARC servers.
Oracle Real-World Performance
Video Series
fbit.ly/QtTS2b
Oracles Real-World Performance team
shares best practices and performance
methodologies to help you make the most of
your Oracle Database investment.
Webcasts
Ricoh Americas Delivers on Anytime,
Anywhere Promise with Cloud and
On-Premises Integration
fbit.ly/1r5GxbS
Discover the rewards of using Oracle
AppAdvantage for SOA-based cloud, onpremises, and mobile integration initiatives.
White Papers
E-Books
Podcasts
Oracle Cloud, Featuring Demand Analysis
fbit.ly/1qj5Eta
Hear Peter Mulligan, Demand Analysis cofounder
and vice president of sales and marketing,
discuss why his company chose Oracle Cloud for
its customer intelligence solution.
Making the Right Storage Choices:
Part 1High Availability
fbit.ly/1hC2cTv
Learn the characteristics of highly available
systems and their impact on the efficiency and
performance of your storage architecture.
Social Media
CONNECT:
JULY/AUGUST 2014 Oracle.com/oraclemagazine
oracle.com/blogs
facebook.com/oracle
Resource Centers
Data Integration for Oracle Applications
fbit.ly/1ht6XEy
Access white papers, customer testimonials, and
more that illustrate how to gain incremental value
by using best-in-class data integration solutions.
Oracle University
Complete Oracle Solaris 11 Curriculum
fbit.ly/1i1Rdr3
Quickly obtain the skills needed to manage
mission-critical cloud deployments.
New Oracle WebLogic Server 12c Curriculum
fbit.ly/1hMlzKG
Explore training and certification for Oracle
WebLogic Server 12c.
web locator
Oracle Consulting
oracle.com/consulting
Oracle Events and Webcasts
oracle.com/events
Oracle Newsletters
oracle.com/newsletters
Oracle Podcast Center
oracle.com/podcasts
Oracle University
bit.ly/ouoramag
Oracle Support
oracle.com/support
My Oracle Support
myoraclesupport.com
My Oracle Support Communities
communities.oracle.com
twitter.com/oracle
linkedin.com/company/oracle
bit.ly/LdGiM0
Simple. Adaptable.
Manageable.
quic
uides for
Solution g
!
eployment
and easy d
Simple: We are committed to making our solutions the easiest to
install, configure, and integrate into either existing IT systems or data
centers or new build-outs. We ship our solution as ready to install
as possible (e.g., tool-less rack PDU installation and standard cable
management features). With our easy-to-configure infrastructure,
you can focus on more pressing IT concerns such as network threats.
ace!
for any IT sp
Adaptable: Our solutions can be adapted to ft any IT confguration
at any time from small IT to data centers! Vendor-neutral
enclosures, for example, come in different depths, heights, and widths
so you can deploy your IT in whatever space you have available
from small IT or non-dedicated spaces to even large data centers.
ur
d manage yo
Monitor an
ere!
rom anywh
IT spaces f
Manageable: Local and remote management are
simplifed with out-of-the-box UPS outlet control,
integrated monitoring of the local environment, and
energy usage reporting. Manageability over the network
and robust reporting capabilities help you prevent
IT problems and quickly resolve them when they do
occur from anywhere! Whats more, our life cycle
services ensure optimal operations.
Business-wise, Future-driven.
10
Product Resources
DOWNLOADS
Oracle NoSQL Database 3.0
BRIEFS
I-HUA CHEN
11
BRIEFS
I-HUA CHEN
12
14
Rex Rystedt
Next Steps
LEARN more about Oracle NoSQL Database
oracle.com/goto/nosql
LISTEN to the podcast
oracle.com/magcasts
15
16
Book Beat
Oracle PL/SQL Performance Tuning
Tips & Techniques
By Michael Rosenblum and
Paul Dorsey
Oracle Press
oraclepressbooks.com
Oracle PL/SQL
Performance Tuning Tips
& Techniques is a handson intermediate guide for developers and
programmers wanting to achieve results
by deploying the latest and best methods
for improving overall speed, reliability,
and security. Readers will learn expert
performance-tuning methods that draw
on decades of professional experience.
A number of real-world examples are
included in the book.
location intelligence.
Mformation
Software
Technologies, an
Oracle Gold Partner,
achieved the status
for Mformation
Service Manager.
Mformation is a
global provider of
solutions for managing wirelessly connected devices.
Model N, an
Oracle Gold Partner,
announced that its
Model N Revenue Management 5.5.1 and
5.6.2 earned Oracle Exadata Optimized
status. Model N revenue management solutions are designed to enable companies to
align pricing, contract development and
administration, and payment of trade incentives and government reimbursements.
SmartSoft, a Cardtek Group company
and an Oracle Gold Partner, announced
that its OCEAN international payment
processing system earned Oracle Exadata
Optimized status. OCEAN is a solution for
credit card, debit card, point-of-sale/
merchant management, and ATM management for banks, financial institutions, processors, and retailers.
flexsoft.com
lgcns.com
calypso.com
jdsu.com
mformation.com
modeln.com
smartsoftww.com
PARTNER NEWS
and Oracle Exalogic. ETHIX provides multichannel corporate and retail products and
services in Islamic finance and investment,
including core banking, trade finance, online
banking, and more.
its.ws
I-HUA CHEN
17
Predictive Analytics
Using Oracle Data Miner
Brendan Tierney
Develop and deploy next-generation
predictive analytics applications
Master Competitive
Analytics with Oracle Endeca
Information Discovery
Helen Sun, William Smith
Automatically organize information for
search, discovery, and analysis
www.OraclePressBooks.com
@OraclePress
OraclePress
Community Bulletin
BY ROLAND SMART
Download Oracle
Solaris Studio
OPPORTUNITIES AND
CHALLENGES IN BIG DATA
ARCHITECTURE
Everybodys talking about big data, and some of the conversations are about architecture.
Now available on the OTN ArchBeat blog, at bit.ly/
big-data-arch, a three-part podcast series explores big
data architecture with Oracle ACE Director Gwen Shapira
as well as three of the authors of Oracle Big Data Handbook
(bit.ly/big-data-handbook).
The conversation provides practical advice on several
crucial architect-related projects and responsibilities, including how to distinguish an architecture that is ready for big
data from one that is not, how to avoid some common mistakes enterprise companies make at the beginning of their
big data journey, and how to master rapid data proliferation
with technologies such as Oracle Database 12c.
Get Published
Every year millions of people
read OTNs communitymember-authored technical
articles to get the latest
insight into database application development, cloud
computing, mobile design,
and more.
Now its your turn to
inform and engage this
readership. If you have
how-to technical insight to
share with OTN members,
consider submitting a
2,000- to 3,000-word
article. Get started and
learn more about OTNs editorial process and content
requirements and guidelines
at bit.ly/otn-submissions.
12.4
I-HUA CHEN
19
20
Building Bridges
facebook.com/brhubart
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
READ
The Architect as Salesperson
bit.ly/1qzdMG1
The Most Important IT Career Skill
bit.ly/Q78swP
Architects, Leadership, and Influence
bit.ly/RiJc7N
twitter.com/brhubart
linkedin.com/in/bobrhubart
Close Encounters
Dominic Delmolino
Enrique Orbegozo
Company: Self-employed
Job title/description: Independent Oracle
consultant, responsible for database upgrade
and migration, database and application tuning,
incident resolution, and design and configuration
of high-availability solutions
Location: Lima, Peru
Oracle credentials: Oracle Certified
Professional DBA (on several releases including
Oracle Database 10g and Oracle Database 11g),
with 19 years of experience using Oracle products
21
ADVERTISING SUPPLEMENT
Delivering
at the Speed
of Business
Today, companies need to manage huge amounts of data to develop
insights and actionable, valuable informationand to enable business
decision makers to operate with solid information and better foresight.
At the same time, they need to process this growing volume of data
faster than ever in order to stay ahead of the competition and a
constantly changing business environment. In an increasingly real-time
business world, the speed and quality of information are both key.
These trends are putting a strain on traditional IT
infrastructures, as companies look for better ways to
provide enterprise applications and analytics to the
business and pursue initiatives such as big data and
data center consolidation. It is becoming clear that
incremental modifcations are not enough to keep up.
IT groups need innovative approaches that will enable
them to reshape the infrastructure to provide the
performance and scalability needed to keep up with
the ever-evolving demands of the business.
ADVERTISING SUPPLEMENT
SPEC (The Standard Performance Evaluation Corporation), SPECint and SPECjbb are registered trademarks of Standard Performance Evaluation Corporation(SPEC) in the US and other countries.Details and the latest information of this benchmark can be found at www.spec.org. Published as SPARC M10.
Fujitsu M10 is sold as SPARC M10 by Fujitsu in Japan. Fujitsu M10 and SPARC M10 are identical products.
World-record SPECint_rate2006 result: Comparison based upon SPECint_rate2006 result except Supercomputers: 23,800 on a SPARC M10-4S server with 64
SPARC64 X (3.0 GHz) processors, Oracle Solaris 11.1, Oracle Solaris Studio 12.3, 1/13 Platform Specifc Enhancement. Details and the latest information on this
benchmark can be found at www.spec.org.
World-record STREAM result: Comparison based upon STREAM Triad result except Supercomputers: 4,002 GB/s on a SPARC M10-4S server with 64 SPARC64 X
(3.0 GHz) processors. Details and the latest information on this benchmark can be found at www.cs.virginia.edu/stream/.
World-record SPECjbb2013 results: 16 CPU confguration: 308,936 max-jOPS and 168,127 critical-jOPS on a SPARC M10-4S server with 16 SPARC64 X (3.0 GHz)
processors, Oracle Solaris 11.1 SRU 6.4, Java HotSpot 64-Bit Server VM, version 1.7.0_17. 4 CPU confguration: 83,909 max-jOPS and 50,562 critical-jOPS on
a SPARC M10-4S server with 4 SPARC64 X (3.0 GHz) processors, Oracle Solaris 11.1 SRU 6.4, Java HotSpot 64-Bit Server VM, version 1.7.0_17. Details and the
latest information on this benchmark can be found at www.spec.org.
Power for
Global Expansion
SUCCESS ON
SPARC
Art Credit
28
According to N. Ravishanker, chief information officer at Tata Sky, SPARC systems have improved performance, cut costs, simplified operations, and improved
reliability and availability for Tata Skys core business-critical applications.
Namas Bhojani
Seamless Reliability
No matter how they are deliveredairwaves, cable, or satellite
broadcast television services demand 24/7 operations that operate
reliably and seamlessly, at the touch of a button or the flick of a
switch. With a subscriber base of more than 15 million households,
Mumbai, Indiabased Tata Sky is the leading provider of satellitebased, direct-to-home broadcast television services in India.
We offer a wide variety of television services, from standarddefinition and high-definition channels to video-on-demand,
mobile TV, movies, and personal video recordersboth standard
and high definitionas well as interactive content including games,
educational applications, and more, says N. Ravishanker, chief
information officer at Tata Sky, a joint venture between Indian conglomerate Tata Group and the US-based mass-media firm STAR TV.
In 2012, Ravishanker explains, the firm was looking to add both
capacity and capability to better serve its growing customer base.
There is excellent opportunity for growth in this market, especially
since there is so much churn in cable television, he says. Since
this is a commodity product, we face challenges similar to every B2C
29
Multithreaded
Under their metal exteriors, Oracles nextgeneration SPARC T5 and SPARC M6 servers look
alike, sharing common components, terabytes
of memory and storage, and more. What distinguishes one from the other is how they are put
together, and that, in turn, is a matter of scale.
The two systems were designed to handle
the same tasks, but with different design
approaches, says Renato Ribeiro, director of
product management for SPARC systems at
Oracle. SPARC T5 servers scale up to considerable capacity, while using a fraction of a server
rack. The SPARC M6 server supports four times
the capacity of the largest SPARC T5 system.
The design and capacity of the SPARC M6
server delivers additional benefits. SPARC M6
servers include more component redundancy
and therefore greater availability and serviceability, says Ribeiro. As a result, you can consolidate more applications and deploy more virtual
machines, while achieving better performance
through the highly scalable design.
The design differences between SPARC T5
and SPARC M6 servers are obvious in the way the
systems can be configured. The SPARC T5 system
begins with a blade server with a single processor
and 256 GB of memory and tops out with a server
with 8 processors and 4 TB of memory.
The SPARC M6, introduced in September 2013,
picks up where the SPARC T5 leaves off, and is
Oracles newest, most powerful, and most scalable SPARC server to date. The top-of-the-line
SPARC M6-32 has up to 32 12-core 3.6 MHz SPARC
processors and up to 32 TB of main memory. Each
According to Ravishanker, these systems have improved perforT5 and SPARC M6 systems have so much power and capability that
mance, cut costs, simplified operations, and improved reliability
businesses today will typically carve these servers up into multiple
and availability for the companys core business-critical applicavirtual machines and deploy multiple different applications on a
tions, including its billing, smartcard management, electronic
single system. Users not only get much higher performance, they
voucher distribution, and online customer ordering systems.
get better return on their investment.
With the new SPARC systems, some applications run up to
10 times faster, he says. An application that ran at 4 seconds
Where Credit Is Due
per transaction now performs at 0.4 seconds per transaction,
Performance is important in all industriesand all economies. Turkey
and that provides near-instantaneous response times to our
has a rapidly growing private sector whose growth is fueled in large
customers online requests, such as ordering movies or new
part by the availability of consumer credit.
television channels.
Although credit card penetration is high
The company also has established its
in Turkey, the demand for consumer credit
snapshots
first DR site, located in the city of Pune,
continues to grow, explains Sinan zer,
Tata
Sky
India. With the new data center, should
executive vice president of infrastructure
tatasky.com
we experience a full-scale shutdown at our
operations and security at Yapi Kredi Bank.
Location: Mumbai, India
primary production site, we can be back up
Yapi Kredi was founded in 1944 as Turkeys
Industry: Media and entertainment
and running in less than 90 minutes, says
first private bank. It is the nations fourthEmployees: 1,500
Ravishanker. Powered by our new SPARC
largest private bank and was the first to
Oracle products: SPARC T4-2 and SPARC
T4-4 servers; SPARC T5-2 and SPARC
servers, the disaster recovery site provides
introduce consumer credit cards in 1991.
T5-4 servers; SPARC M5-32 server; SPARC
our customers with greater service reliTo keep up with demand, Yapi Kredi
Enterprise M9000; Oracle Solaris 11 with
ability and availability.
is currently migrating its credit card proOracle Solaris Zones Preflight System
We slashed operating costs 20 percent,
cessing from legacy mainframes and nonChecker; Oracle Solaris Cluster (for high
including licensing, reduced data center floor
SPARC UNIX servers, consolidating that
availability); Oracle Database 11g; Oracle
Real Application Clusters; Oracle Enterprise
space requirements, improved energy effiworkload on larger, more-powerful, and
Manager; Oracle VM 3.0; Siebel Customer
ciency, and consolidated 61 legacy systems at
cost-effective SPARC T5 series servers from
Relationship Management; Oracle Active
no additional cost, thanks to SPARCs built-in
Oracle running the Oracle Solaris 10 operData Guard; Oracle Advanced Customer
advanced virtualization technologies and
ating system and Oracle VM 3.0.
Support Services
linear scalability, Ravishanker continues.
Were consolidating our legacy servers
Yapi Kredi
We have been able to do all this and mainonto new SPARC T5 servers, using virtualyapikredi.com.tr
tain service levels with less staff.
ization to bring 80 hosts down to 50 hosts
Location: Istanbul, Turkey
Such an array of benefits is common
running on 10 machines, says zer. When
Industry: Financial services
among companies deploying SPARC T5 and
were finished, 65 percent of all our proEmployees: 14,865
SPARC M6 servers, says Masood Heydari,
cessing will be done on SPARC servers.
Oracle products: SPARC T5-4, SPARC
T4-4, SPARC T4-2, and SPARC T4-1 servers;
senior vice president of SPARC systems for
These SPARC systems will be running
SPARC Enterprise M9000; Oracle Solaris 10;
the systems group at Oracle.
not just consumer credit card operations
Oracle Database 11g and Oracle Database 10g;
Organizations used to map one applicabut also retail banking, merchant card and
Oracle GoldenGate; Oracle Internet Directory
tion to one server, explains Heydari. SPARC
banking, risk management, treasury, and
Server consolidation onto SPARC servers has reduced the number of physical servers and virtual hosts at Yapi Kredi. Were consolidating our legacy servers
onto new SPARC T5 servers, using virtualization to bring 80 hosts down to 50 hosts running on 10 machines, says Sinan zer (left), executive vice president of
infrastructure operations and security at Yapi Kredi Bank.
System-Engineered
In April 2014, Oracle introduced
Oracle Solaris 11.2, an enterprise
cloud platform that integrates a full
OpenStack distribution, softwaredefined networking (SDN), clustering, and virtualization in a proven
enterprise-class operating system.
OpenStack functionality in
Oracle Solaris 11.2 environments
supports a standard self-service
environment for sharing and
managing compute, network, and
storage resources, and it enables
the rapid deployment of virtual
machines. Application-driven
SDN, from application to storage,
ensures that service-level agreements are maintained within a
More to Come
Yapi Kredis IT overhaul isnt done yet; there are more SPARC
systems to come.
Later this year, we will be installing a SPARC M6-32 server that
will be used to move the rest of our core banking applications to
SPARC and Oracle Solaris, says zer. We are also rewriting those
applications on the Java platform. Once that is done, all of our core
applications will be running on SPARC and Oracle Solaris.
Besides the cost, reliability, and performance benefits, zer says
Yapi Kredis use of open platforms, SPARC servers, and Oracle Solaris
has an added advantage: It helps the bank attract top IT talent.
Its getting very hard to find sufficient talent for mainframes,
says zer. The younger generation only wants to work with the
latest technologythat means systems such as SPARC and
Oracle Solaris.
2.6x Better
Performance
IBMs Power7+ AIX
Oracles SPARC T5
Performance:
Performance:
Server Cost:
Server Cost:
$805,000
$299,000
10,902
27,843
SPEC and the benchmark name SPECjEnterprise are registered trademarks of the Standard Performance Evaluation Corporation.
Virtualized results on spec.org as of 5/21/2013 for application and database on one 8-chip server. SPARC T5-8, 27,843.57 SPECjEnterprise2010 EjOPS, pricing on
oracle.com; IBM Power 780, 10,902.30 SPECjEnterprise2010 EjOPS, pricing on ibm.com. Server cost excludes storage and software. Details: oracle.com/sparc-t5.
Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Java Developer
Region Extreme:
Multi-Task-Flow Binding
33
34
Oracle adf
Managed bean
Holds configuration
instances
Re
ad
st
a sk
Home.jsf
af:forEach
af:region
flo
wi
ns t
an c
es
35
36
Oracle adf
<af:panelDashboard id="pd1"
rowHeight="150px" />
to
<af:panelDashboard id="pd1"
rowHeight="150px">
</af:panelDashboard>
Conclusion
Dynamic regions are a frequent user
requirement. Oracle JDeveloper 11g
Release 2 and Oracle JDeveloper 12c address
this requirement with multi-task-flow
binding. This article showed how to add
dynamic bindings for a dynamic dashboard
that uses a single bounded task flow to
render an unlimited number of regions, with
each region sharing the Oracle ADF data
control scope for best performance.
Task flows in regions execute sequentially.
When you use the multi-task-flow binding
feature, minimize the number of flows added
to a page. Each task flow comes with a performance overhead determined by the data
query and the initialization tasks it performs.
Also note that when an application
uses dynamic regions, users might switch
between bounded task flows while task
flows have pending transactions. The risks
associated with premature termination
of bounded task flows through dynamic
regions and how to handle such a case are
documented in the Oracle ADF Task Flow
Transaction Fundamentals white paper
(see Next Steps).
Next Steps
DOWNLOAD
Oracle JDeveloper 12c
bit.ly/KDqHjA
the sample application for this article
bit.ly/1lZ4nXw
READ more about Oracle ADF
oracle.com/technetwork/developer-tools/adf
Using Task Flows as Regions
bit.ly/1onhggq
Towards Ultra-Reusability for ADF - Adaptive
Bindings
bit.ly/1mPPoBY
Oracle ADF Task Flow Transaction
Fundamentals
bit.ly/1jAmuCM
A Template with Behavior
bit.ly/1lqjZST
DBA
Managing Expressly
Setup
Oracle Enterprise Manager Database
Express is installed and configured with the
database, but additional configuration may
be required if your database uses nondefault
values for parameters. Here are the manual
steps for configuring Oracle Enterprise
Manager Database Express.
1. To check the port number for the database listener, enter lsnrctl status at
the command line and look for the string
(PORT= in the output.
2. The default port for the database listener
is 1521. If the database listener listens on
a different portsay, 1526you must
set the local_listener database parameter with the following SQL:
TYPE
VALUE
Dispatchers
string
(PROTOCOL=TCP)
(SERVICE=ANN1XDB)
(SERVICE=<sid>XDB)"
https://prolin1.proligence.com:5500/em
dbms_xdb_config.sethttpsport(5501);
5500
listener='(ADDRESS = (PROTOCOL=TCP)
37
38
manageability
39
40
manageability
41
Conclusion
Oracle Enterprise Manager Database Express
provides Oracle Database 12c DBAs an out-ofthe-box graphical interface for common database management tasks. This article explored
Oracle Enterprise Manager Database Express
features, described basic tasks, and demonstrated how to troubleshoot common perfor-
Next Steps
LEARN more about
Oracle Enterprise Manager Database Express
Oracle Database 2 Day DBA 12c Release 1 (12.1)
bit.ly/1lBKmow
DOWNLOAD Oracle Database 12c
bit.ly/1czAk2I
OracleMagazine
Oracle Magazine
@OracleMagazine
Copyright 2014, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be
trademarks of their respective owners.
Oracle Database
value of the primary key to the next sequential value is an Oracle Database 12c feature;
in Oracle Database 11g Release 2 and earlier,
you would use a trigger to achieve the same
result. The em_memes_setup.sql script
includes this code.)
I-Hua Chen
PRIMARY KEY,
meme_id
INTEGER
REFERENCES
em_memes (meme_id),
source_name
VARCHAR2 (100),
source_details
CLOB,
occurred_on
DATE
(
meme_id
INTEGER
DEFAULT
em_memes_seq.NEXTVAL
PRIMARY KEY,
meme_name
VARCHAR2 (1000)
UNIQUE,
discovered_on
DATE,
meme_status
VARCHAR2 (100)
On Closer Inspection
The meme update process uses the following three tables: em_memes, em_
mentions, and em_incoming. (You can
create these tables by using the emmemes_
setup.sql script in the download for this
article, at bit.ly/QntyHo). Note that the
columns of these tables have been simplified for the purposes of this article.
The developers at extremememe.info
use the em_memes table for all the memes
of which they are aware and whose status
they track. (Note that setting the default
em_mentions_seq.NEXTVAL
meme_name
VARCHAR2 (1000),
source_name
VARCHAR2 (100),
occurred_on
DATE,
mention_details
CLOB
)
/
INTEGER
DEFAULT
em_memes_pkg.incoming_t
This is a nested table type that contains rows of data from the em_incoming table.
em_memes_pkg.mentions_t
This is a nested table type that contains rows of data from the em_mentions table.
em_memes_pkg.meme_ids_t
This is a nested table type that contains primary keys from the em_memes table.
em_memes_pkg.log_error
em_memes_pkg.unpacked_incoming
This is a function that converts a row of incoming data (whose mention details column
is an XML document that holds the different formats of source information) into a
record that can be inserted into the em_mentions table.
em_memes_pkg.reset_meme_status
The heart and soul of the extremememe.info proprietary process, this procedure
analyzes the contents of the mentions table and ascertains the status of the meme.
43
44
PL/SQL
em_mentions%ROWTYPE;
IS
TYPE incoming_t IS TABLE OF
em_incoming%ROWTYPE;
TYPE mentions_t IS TABLE OF
em_memes.meme_id%TYPE;
PROCEDURE log_error (
error_code_in
IN INTEGER DEFAULT SQLCODE,
error_msg_in
IN VARCHAR2
DEFAULT
DBMS_UTILITY.format_error_stack);
FUNCTION unpacked_incoming (
incoming_in
IN
em_incoming%ROWTYPE)
RETURN em_mentions%ROWTYPE;
PROCEDURE reset_meme_status (
meme_id_in
IN
em_memes.meme_id%TYPE,
new_status_out
OUT
em_memes.meme_status%TYPE);
END;
/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Line(s)
Description
10
12, 40
Put the entire body of the loop inside its own nested block so that any exception can be trapped and logged.
13
15
Convert the incoming row to a record that can be inserted into the em_mentions table.
1724
2627
Compute the new status for the meme, based on the new mention.
2934
If the status isnt NULL, update the em_memes table with that status.
3539
If anything goes wrong, log the error and then erase the effects of the insert and/or the update by rolling back to
the savepoint.
45
Relational
Table
Relational
Table
Phase 3: FORALL from collection to table(s)
46
PL/SQL
IS
BEGIN
FETCH incoming_cur
BULK COLLECT INTO incoming_out
LIMIT bulk_collect_limit_in;
END;
em_memes_pkg.incoming_t;
l_affected_meme_ids
em_memes_pkg.meme_ids_t;
:= em_memes_pkg.meme_ids_t ();
PROCEDURE get_next_set_of_incoming ....
PROCEDURE unpack_and_record_mentions ....
PROCEDURE reset_meme_statuses ....
BEGIN
OPEN incoming_cur;
LOOP
get_next_set_of_incoming (l_incoming);
EXIT WHEN l_incoming.COUNT = 0;
unpack_and_record_mentions (l_incoming, l_affected_meme_ids);
END LOOP;
CLOSE incoming_cur;
reset_meme_statuses (l_affected_meme_ids);
END;
Line(s)
Description
BULK COLLECT returns multiple rows with each fetch. This parameter controls the number of rows fetched.
45
Because the original procedure traps exceptions, logs the errors, and continues processing, use SAVE
EXCEPTIONS in the FORALL statements and include an exception handler for ORA-24381.
1113
Declare nested tables based on the packaged types to be used by the nested procedures.
1618
2132
The now small and very readable executable section. Heres the narrative version of the code:
Open the cursor that identifies all the incoming rows to be processed.
Get the next N rows of incoming data. Stop when the collection is empty.
Unpack each incoming row, and insert it into the mentions table. Add all IDs of memes that were
mentioned into the collection of affected memes.
After inserting all mentions, reset the statuses of only those memes that were affected.
47
PROCEDURE unpack_and_record_mentions (
incoming_in
IN
em_memes_pkg.incoming_t,
affected_meme_ids_out
IN OUT em_memes_pkg.meme_ids_t)
IS
l_affected_this_time
em_memes_pkg.meme_ids_t;
l_mentions
em_memes_pkg.mentions_t := em_memes_pkg.meme_ids_t();
l_status
em_memes.meme_status%TYPE;
PROCEDURE add_to_affected_memes
IS
BEGIN
affected_meme_ids_out :=
affected_meme_ids_out
MULTISET UNION DISTINCT l_affected_this_time;
END;
PROCEDURE record_errors
IS
l_bad_index
PLS_INTEGER;
BEGIN
FOR indx IN 1 .. SQL%BULK_EXCEPTIONS.COUNT
LOOP
l_bad_index := SQL%BULK_EXCEPTIONS (indx).ERROR_INDEX;
em_memes_pkg.log_error (
error_code_in => SQL%BULK_EXCEPTIONS (indx).ERROR_CODE,
error_msg_in
=> 'Unable to insert mention for incoming mention '
|| incoming_in (l_bad_index).meme_name
|| '-'
|| incoming_in (l_bad_index).source_name
|| '-'
|| TO_CHAR (
incoming_in (l_bad_index).occurred_on,
'YYYY-MM-DD HH24:MI:SS'));
END LOOP;
END;
BEGIN
l_mentions.EXTEND (incoming_in.COUNT);
FOR indx IN 1 .. incoming_in.COUNT
LOOP
l_mentions (indx) :=
em_memes_pkg.unpacked_incoming (incoming_in (indx));
END LOOP;
FORALL indx IN 1 .. l_mentions.COUNT SAVE EXCEPTIONS
INSERT INTO em_mentions (meme_id,
source_name,
source_details,
occurred_on)
VALUES (l_mentions (indx).meme_id,
l_mentions (indx).source_name,
l_mentions (indx).source_details,
SYSDATE)
RETURNING meme_id
BULK COLLECT INTO l_affected_this_time;
add_to_affected_memes;
EXCEPTION
WHEN bulk_errors
THEN
add_to_affected_memes;
record_errors;
END;
48
PL/SQL
Line(s)
Description
2 and 3
The next set of incoming rows is passed to the procedure, which passes back an updated list of all those
meme IDs that have received at least one mention. This collection will drive the final reset meme status step.
38
Start of the executable section: make room in the local nested table of mentions to hold all the
incoming data.
4044
A classic Phase 2: for each of the incoming rows, convert it to the mentions format and load it into the
array. Notice the use of the same index value for the l_mentions collection as in the incoming_in collection.
Because incoming_in was populated with BULK COLLECT, it is either empty or filled sequentially from 1.
4656
Time to push all that nicely prepared data into the em_mentions table with FORALL. Because the collection
is sequentially filled from 1, use the simplest form for the FORALL header:
FORALL indx IN 1 .. l_mentions.COUNT
If I used this form (very similar to a numeric FOR loop) and the collection had gaps (index values between
FIRST and LAST that are not defined), the procedure would fail with the ORA-22160: element at index [N]
does not exist error. To avoid this problem, you can use INDICES OF or VALUES OF; the former is discussed
in the Phases 2 and 3: Reset meme statuses section.
Next I use the RETURNING clause to capture the IDs of all mentioned memes. I need to use BULK
COLLECT for my RETURNING clause, because I am likely to insert more than one row and therefore will
return more than one ID.
58
Call the add_to_affected_memes procedure. This is a procedure declared within the parent procedure. Its
implementation is very simple:
9
10
11
12
13
14
15
PROCEDURE add_to_affected_memes
IS
BEGIN
affected_meme_ids_out :=
affected_meme_ids_out
MULTISET UNION DISTINCT l_affected_this_time;
END;
It uses the MULTISET UNION operation to add the ID of the newly affected meme to the existing list of
previously affected memes. By adding the DISTINCT keyword, I ensure that there will not be duplicates in the
resulting nested table.
5964
Time to handle any errors during insertion into the em_mentions table. The WHEN clause references the
bulk_errors exception, which is declared at the top of the procedure. Within the handler, I call the add_to_
affected_memes procedure.
1736
Steven Feuerstein
(steven.feuerstein@
oracle.com) is an
architect for Oracle,
specializing in PL/SQL.
His books, including
Oracle PL/SQL Programming, and more
than a thousand PL/SQL quizzes at PL/SQL
Challenge (plsqlchallenge.com) provide in-depth
resources for PL/SQL developers.
Next Steps
READ Oracle-hosted online article content
bit.ly/RryVWE
DOWNLOAD
Oracle Database 12c
bit.ly/fherki
scripts for this article
bit.ly/QntyHo
TEST your PL/SQL knowledge
plsqlchallenge.com
READ more Feuerstein
stevenfeuersteinonplsql.blogspot.com
bit.ly/omagplsql
READ more about
Oracle Database 12c
oracle.com/database
BULK COLLECT and FORALL
bit.ly/12k0n8H
bit.ly/1onU8vi
Oracle Database
FROM t t1
MAX(t2.object_id) - 500000
FROM t t2);
FROM t t1
49
50
Ask Tom
3
4
Code Listing 1: Example table, slow query and plan, and faster query and plan
FROM t t1
Here is the slow query I would like to tune, along with its plan:
SQL> SELECT *
2
FROM t t1
3
WHERE t1.object_type = 'TABLE'
4
AND t1.object_id > (SELECT MAX(t2.object_id) - 500000 FROM t t2);
6115 rows selected.
Execution Plan
| Id | Operation
| Name
| Rows | Bytes |
|
0 | SELECT STATEMENT
|
|
413 | 39235 |
|
1 | TABLE ACCESS BY INDEX ROWID
| T
|
413 | 39235 |
|
2 |
BITMAP CONVERSION TO ROWIDS
|
|
|
|
|
3 |
BITMAP AND
|
|
|
|
|
4 |
BITMAP CONVERSION FROM ROWIDS|
|
|
|
|
5 |
SORT ORDER BY
|
|
|
|
|* 6 |
INDEX RANGE SCAN
| T_IDX_ID
| 8252 |
|
|
7 |
SORT AGGREGATE
|
|
1 |
5 |
|
8 |
INDEX FULL SCAN (MIN/MAX)| T_IDX_ID
|
1 |
5 |
|
9 |
BITMAP CONVERSION FROM ROWIDS|
|
|
|
|* 10 |
INDEX RANGE SCAN
| T_IDX_TYPE | 8252 |
|
Here is the query and the faster plan I would like it to use:
SQL> SELECT MAX(t2.object_id) - 500000 FROM t t2;
MAX(T2.OBJECT_ID)-500000
19975
SQL> SELECT *
2
FROM t t1
3
WHERE t1.object_type = 'TABLE' AND t1.object_id > 19975;
6115 rows selected.
Execution Plan
| Id | Operation
| Name
| Rows | Bytes | Cost (%CPU)|
|
0 | SELECT STATEMENT
|
| 7198 |
667K|
102
(2)|
|* 1 | TABLE ACCESS BY INDEX ROWID| T
| 7198 |
667K|
102
(2)|
|* 2 |
INDEX RANGE SCAN
| T_IDX_TYPE | 8553 |
|
6
(0)|
1 - filter("T1"."OBJECT_ID">19975)
2 - access("T1"."OBJECT_TYPE"='TABLE')
51
maybe after a database upgrade, the optimizer introduces a new query transformation/rewrite that invalidates your hint.
Ill demonstrate the shortest list of hints
you would need to ensure that the above
query uses the plan you want, and youll see
that this list of hints is much longer than any
list of hints you would have coded yourself.
Another reason to avoid putting
hints into the query and to use SQL Plan
Management is that you enable the optimizer to evolve your query plan over time.
That is, you wont freeze your query plan,
and youll have the opportunity to use a
better plan in the future. If you fully hinted
the query, youd be stuck with whatever plan
you had today. See Baselines and Better
Plans at bit.ly/PWcxDU for a discussion of
this query plan evolution.
Now lets see how to get the plan
you want and then how to use SQL Plan
Management to put that plan in place and
have it be used transparently by your query.
In a testing environment, I discovered that
by using either the FIRST_ROWS(1) or the
OPT_PARAM( _b_tree_bitmap_plans,
FALSE ) hint to disable the use of B-tree
bitmap plans for this SQL statement, I get
the plan I want, as shown in Listing 2.
Now, if I wanted to ensure that the
plan in Listing 2 is, in fact, the plan used
by default, I would need more than just a
FIRST_ROWS(1) or OPT_PARAM hint. In fact,
when I use DBMS_XPLAN to display not only
the plans but also the full set of hints necessary to reproduce this plan reliably, I see the
plan and the outline data in Listing 3.
As you can see in Listing 3, the full list
of hints in the outline data that you need
is quite extensivefar beyond just the
OPT_PARAM hint. I can assure you that
properly hinting a query to repeatedly get
the same plan is much harder than it looks.
Also, I dont really want to freeze the plan
forever, because future releases of Oracle
Database will likely be able to rewrite the
query or perform some optimization that
just doesnt exist yet, resulting in an even
better plan. Id like to be able to take advantage of future features, but if Ive hinted the
query, I wont be able to.
So, what would the steps be to get the
optimizer to choose the desired plan until a
| Id | Operation
| Name
| Rows | Bytes | Cost (%CPU)
|
0 | SELECT STATEMENT
|
|
1 |
97 |
4
(0)
|* 1 | TABLE ACCESS BY INDEX ROWID| T
|
1 |
97 |
2
(0)
|* 2 |
INDEX RANGE SCAN
| T_IDX_TYPE | 1871 |
|
1
(0)
|
3 |
SORT AGGREGATE
|
|
1 |
5 |
|
4 |
INDEX FULL SCAN (MIN/MAX)| T_ID_PK
|
1 |
5 |
2
(0)
| Id | Operation
| Name
| Rows | Bytes | Cost (%CPU)
|
0 | SELECT STATEMENT
|
|
94 | 9118 |
85
(0)
|* 1 | TABLE ACCESS BY INDEX ROWID| T
|
94 | 9118 |
83
(0)
|* 2 |
INDEX RANGE SCAN
| T_IDX_TYPE | 1871 |
|
6
(0)
|
3 |
SORT AGGREGATE
|
|
1 |
5 |
|
4 |
INDEX FULL SCAN (MIN/MAX)| T_ID_PK
|
1 |
5 |
2
(0)
dbms_output.put_line(
dbms_spm.alter_sql_plan_baseline
( sql_handle =>
'SQL_e738c19a5191e8fd',
6
7
end;
52
Ask Tom
Code Listing 3: Determining plan and outline info needed to make a better hinted plan
SQL> select *
2
from table(dbms_xplan.display_cursor (sql_id=>'4rg4kcxr83kup',
3
cursor_child_no => 0, format=>'+outline'));
PLAN_TABLE_OUTPUT
| Id | Operation
| Name
| Rows | Bytes| Cost (%CPU)| Time
|
|
0 | SELECT STATEMENT
|
|
|
|
83 (100)|
|
|* 1 | TABLE ACCESS BY INDEX ROWID| T
|
91| 8827|
81
(0)| 00:00:01|
|* 2 |
INDEX RANGE SCAN
| T_IDX_TYPE| 1823|
|
6
(0)| 00:00:01|
|
3 |
SORT AGGREGATE
|
|
1|
5|
|
|
|
4 |
INDEX FULL SCAN (MIN/MAX)| T_ID_PK
|
1|
5|
2
(0)| 00:00:01|
Outline Data
/*+
BEGIN_OUTLINE_DATA
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('11.2.0.2')
DB_VERSION('11.2.0.3')
OPT_PARAM('_b_tree_bitmap_plans' 'false')
ALL_ROWS
OUTLINE_LEAF(@"SEL$2")
OUTLINE_LEAF(@"SEL$1")
INDEX_RS_ASC(@"SEL$1" "T1"@"SEL$1" ("T"."OBJECT_TYPE"))
PUSH_SUBQ(@"SEL$2")
INDEX(@"SEL$2" "T2"@"SEL$2" ("T"."OBJECT_ID"))
END_OUTLINE_DATA
*/
Next Steps
ASK Tom
Tom Kyte answers your most difficult technology
questions. Highlights from that forum appear in
this column.
asktom.oracle.com
READ Oracle-hosted online article content
bit.ly/1hYmIyb
READ more Tom
bit.ly/omagasktom
Expert Oracle Database Architecture
amzn.to/ckGXaR
DOWNLOAD Oracle Database 12c
bit.ly/epBiUG
LEARN more about
Oracle Database 12c
oracle.com/database
baselines
Baselines and Better Plans
bit.ly/PWcxDU
FOLLOW Tom on Twitter
@OracleAskTom
FOLLOW Oracle Database
on Twitter
@oracledatabase
on Facebook
facebook.com/oracledatabase
Copyright 2014, Oracle and/or its affliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affliates. Other names may be trademarks of their respective owners.
54
Next Steps
JOIN OAUG
oaug.org
FOLLOW OAUG on Twitter
twitter.com/OAUG1
Paul S. Howell
Deploy Applications in
Different Environments
Next Steps
READ more about
Oracle WebLogic Server 12c
bit.ly/1kPVs9y
DOWNLOAD Oracle WebLogic Server
bit.ly/1kPVu19
55
1951
BY RICH SCHWERIN
1956
Time Capsule
Tape Drive
Hard Disk
The refrigerator-sized IBM 350 disk drive held 3.75 MB and
leased for US$3,200 a month. Inflation adjusted, thats
nearly US$28,000 todayor US$7,400 per MB.
1970s
Floppy Disks
SD Cards
2000
USB Flash Drive
2013
Extreme
Memory
YOUR TURN
1999
2011
56
Oracle Cloud
Applications
HCM
Human Capital
Ca
Recruiting
Re
Talent
CRM
Sales
Service
Service
vice
Marketing
ERP
Financials
Procurement
Projects
Supply Chain
Copyright 2013, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates.