Storage Management with Oracle Database 11g

An Oracle White Paper
March 2011
Optimizing Storage and Protecting Data
with Oracle Database 11g
Optimizing Storage and Protecting Data with Oracle Database 11g
Contents
INTRODUCTION .................................................................................. 1
MANAGE STORAGE MORE EFFICIENTLY ....................................... 3
REDUCE OVERALL STORAGE COSTS............................................. 5
OPTIMIZE STORAGE PERFORMANCE ........................................... 10
PROTECT AGAINST DATA LOSS .................................................... 14
CONCLUSION .................................................................................... 20
Optimizing Storage and Protecting Data with Oracle Database 11g
INTRODUCTION
As long as corporate information keeps increasing at such astounding rates organizations
will pursue more efficient and cost effective ways to store and manage information.
Managing data growth is a top priority for database users, according to a 2010 survey of the
581 members of the Independent Oracle Users Group (IOUG),1 sponsored by Oracle. The
survey looked at the approaches taken by organizations to manage data growth today and
what's required for the future.
Key findings conclude that data is growing rapidly at 9 out of every 10 companies, and that
16 percent are experiencing data growth at a rate exceeding 50 percent a year. An
overwhelming majority of respondents say growing volumes of data are inhibiting
application performance to some degree. Many companies feel compelled to retain data for
extended periods of time—forever in some cases—and are having difficulty making it
accessible to end users. The problem is greater at enterprises with the highest levels of data
growth, yet most still attempt to address the problem with more hardware instead of more
sophisticated or efficient approaches. Data storage budgets keep growing, and a sizable
segment of companies with fast-growing data stores spend more than one-fourth of their IT
budgets on storage requirements.
1
Source: Keeping Up with Ever-Expanding Enterprise Data – 2010 IOUG Database Growth Survey,
by Joseph McKendrick, Research Analyst, Produced by Unisphere Research October 2010
1
Optimizing Storage and Protecting Data with Oracle Database 11g
These data management challenges are pushing the limits of the datacenter as we know it
today. IT departments want to reduce storage costs in spite of increasing demand for more
capacity and the fact that storage prices continue to fall year after year. They want to
optimize performance where storage has become a barrier and provide faster access to the
information users need to do their jobs and keep businesses competitive. And finally, they
want to mitigate the risk of information loss and efficiently protect enterprise data from loss
or inadvertent destruction.
This paper focuses on key Oracle Database 11g capabilities that help IT departments better
optimize their storage infrastructure, enabling administrators to deliver a cost-effective,
scalable data management platform that is easy to manage, reduces costs, and protects data
while continuing to deliver the performance and availability that today’s businesses require.
2
Optimizing Storage and Protecting Data with Oracle Database 11g
MANAGE STORAGE MORE EFFICIENTLY
“Oracle Automatic Storage Management greatly enhances our ability to manage storage in a database. It allows multiple tiers,
so we can adapt different kinds of storage to different application needs and performance requirements. It balances on demand
for optimum performance.”
Donald Eyberg, Manager of Database Services
Embarq
Over the years, IT departments have been plagued with silos of storage deployed in individual
database environments. The first stage of effective storage optimization is to consolidate these
silos into a shared storage environment. To this end, many organizations are deploying shared
storage arrays underneath their databases. Although this makes it easier to control and provision
storage at the system administrator level, it also adds complexities for database administrators,
who struggle to efficiently lay out database files across the storage array to get maximum
performance and availability with the least amount of effort.
Manage Data with Oracle Automatic Storage Management
Oracle Automatic Storage Management - a feature of Oracle Database 11g, integrates stripe and
mirror everywhere (SAME) best practices into the Oracle Database kernel.
Oracle Automatic Storage Management: Virtualize and share resources, add or migrate storage online, and protect data with advanced
striping for maximum I/O performance.
The SAME approach takes all data stored in the enterprise database and stripes it equally across
all disks in the storage array, and then mirrors it on at least two of the available disks. By
integrating this capability into Oracle Database 11g,, users can significantly reduce costs and
complexity in their storage environment, because there is no need to purchase or manage
additional software. Intelligent data placement capabilities stripe frequently accessed data on the
3
Optimizing Storage and Protecting Data with Oracle Database 11g
outer rims of disk platters, further optimizing performance. This level of automation can reduce
administration time by up to 50 percent2 and improve performance.
Oracle Automatic Storage Management manages pools of storage in disk groups that can store
database files from many databases. Database data is evenly distributed across all disks in a disk
group, providing optimal balance of I/O workloads and removing hot spots and the need for hot
spot management. As disk groups become full, or as additional I/O bandwidth is required, disks
can be added. When storage is added to or removed from a disk group, Oracle Automatic
Storage Management automatically rebalances the data across the remaining disks, ensuring that
even data distribution is maintained.
Oracle Automatic Storage Management enables efficient consolidation of all types of storage
underneath multiple databases, ensuring that the best I/O performance for database workloads is
achieved from the underlying storage arrays. It removes the need for third-party volume
managers and cluster file systems, reducing the cost and complexity associated with integrating
products from multiple vendors. And it simplifies the relationship between the database and
system and storage needs—as databases require additional space, the system or storage
administrator simply allocates more disks, and Oracle Automatic Storage Management
automatically adjusts to ensure optimal data placement across the additional disks.
Manage All Data
Oracle Cloud File System provides a storage infrastructure with resource pooling, network
accessibility, rapid elasticity, and rapid provisioning, which are the key requirements for cloud
computing. Oracle Cloud File System leverages Oracle Automatic Storage Management as its
foundation, combining Oracle Automatic Storage Management Dynamic Volume Manager and
Oracle Automatic Storage Management Cluster File System into a single integrated solution
designed to manage unstructured data across multiple operating system platforms, with one
management interface, one set of installation and configuration tools, one clusterware
framework, and a single vendor for support and troubleshooting.
Studies were performed before the release of Oracle Database 11g Release 2 to quantify the
time savings realized with Oracle Automatic Storage Management in a typical database environment.
2
4
Optimizing Storage and Protecting Data with Oracle Database 11g
REDUCE OVERALL STORAGE COSTS
“Our chief financial officer likes the advanced compression option of Oracle Database 11g because with it we won't need
anywhere from a third to two-thirds of the disk we have right now. So as we grow, we can actually recycle the disk that we're
using right now.”
Mike Prince, Chief Technology Officer
Burlington Coat Factory
One of the biggest challenges in information management is reducing the need to provision
more storage every year. Although storage itself has become cheaper over the years in terms of
cost per terabyte, the cost of provisioning storage continues to climb—new storage requires
additional datacenter space, more cooling, and more power to run. Oracle Database 11g reduces
the need to continually buy new storage as databases continue to grow.
Partitioning Data Across Storage Tiers
One way to reduce storage costs involves an innovative use of partitioning underneath large
databases. Many organizations today are implementing two tiers of storage—a high-end storage
array typically used for mission-critical applications, and a lower-cost storage array used for lessdemanding environments. These lower-cost storage arrays can often be two to three times less
costly per terabyte than higher-end storage. Although this approach does save some storage
costs, it is not optimal. Entire databases must be mapped to one of the two storage tiers. As both
mission-critical and general databases continue to grow over time, new storage is eventually
required across both tiers. The reality is that most databases contain a mixture of active data (e.g.
orders taken this month, customer call records for the current billing cycle, etc.) and less active
data (e.g. orders taken last year, call records from prior billing cycles, etc.). Typically, active data
represents less than 5 percent of information stored in the database—the other 95 percent is
much less active data.
Example of partitioning across a large table used to reduce storage costs
5
Optimizing Storage and Protecting Data with Oracle Database 11g
Instead of mapping entire databases to a single storage tier, oganizations are starting to unlock
the lifecycle of data by mapping it within those databases to different storage tiers. Partitioning in
Oracle Database 11g3 allows large tables to be easily partitioned on a partition key. Typically the
data partitioned on the key represents a time component, with current, active data placed onto
high-end storage. As that data becomes less active, it is moved via the partitioning capability to a
lower-cost storage tier. This type of automatic online archiving of data means that further storage
growth is constrained to the low-cost storage tier. Indeed, most enterprise data growth tends to
be in the historical data that is maintained online for business intelligence and compliance
reasons.
Partitioning data with Oracle Database 11g, also improves the performance of applications
accessing this data—any accesses to active data based on the partition key (such as sales data) will
automatically benefit from the partition pruning performed by the database. In other words, as
database tables grow in size, the performance of transactions that access active data will not
degrade. For many organizations, this eliminates the need to regularly archive or purge data in
order to maintain the required performance levels of their database applications.
However, unlike with offline archiving, the historical data is available at any time through the
application, and is also maintained throughout database and application upgrades. By partitioning
databases based on the lifecycle of the information within those databases, IT departments can
reduce their dependency on high-end storage, reduce incremental storage costs, keep more data
online for longer periods of time, and improve the performance of applications that access large
databases.
3
Oracle White Paper: Partitioning in Oracle Database 11g
6
Optimizing Storage and Protecting Data with Oracle Database 11g
Compress All Data
Advances in compression technology have made it practical to compress all data within Oracle
Database 11g,. Compression can reduce existing storage usage significantly, effectively freeing up
to three-quarters of existing storage resources while also improving query performance. Any
reduction in storage use will cascade throughout the datacenter, via copies made for backup and
development and testing purposes. Compression is one of the major enablers of efficient storage
management, and Oracle Database 11g provides multiple techniques for effective data
compression.
COMPRESSION TYPE
SUITABLE FOR
RATIO
Basic compression
Read-only tables and partitions in
2-4X compression is typically achieved. Basic
data warehouse environments or
compression is a core feature of Oracle Database since
inactive data partitions in online
Oracle Database 9i Release 2.
transaction processing (OLTP)
environments
OLTP compression
Active tables and partitions in OLTP
2-4X compression is typically achieved. OLTP
and data warehouse environments
compression is available with the Advanced
Compression option of Oracle Database 11g Release 1.
SecureFiles
Nonrelational data in OLTP and data
2-3X compression is possible, depending on the level of
compression
warehouse environments
compression chosen. The SecureFiles feature is
available as an option of Oracle Database 11g Release
1.
Index compression
Indexes on tables in OLTP and data
Index compression can significantly reduce the storage
warehouse environments
associated with large indexes in large database
environments.
Backup compression
All environments
The Advanced Compression option includes the ability
to compress backup data generated by Oracle
Recovery Manager and Oracle Data Pump.
Oracle Exadata hybrid
Read-only tables and partitions in
10X compression is typical, with a corresponding
columnar compression/
data warehouse environments
increase in query performance. Only available with
data warehousing
Oracle Exadata Database Machine.
Oracle Exadata hybrid
Inactive data partitions in OLTP and
15-50X Compression is best suited for data that is
columnar compression/
data warehousing environments
inactive and typically stored offline, but it can now
archiving
deliver online performance through Oracle Exadata
Database Machine.
The various compression types supported by Oracle Database 11g
Basic Compression
This is compression of read-only data in a data warehouse or in nonactive partitions of a large
partitioned table beneath OLTP applications. Data is compressed as it‘s loaded into the table (or
moved into the partition) to achieve a 2 to 4 times compression ratio.
7
Optimizing Storage and Protecting Data with Oracle Database 11g
OLTP Table Compression
This is compression of active data in OLTP applications. A sophisticated algorithm continuously
compresses data written during INSERT or UPDATE operations. This minimizes compression
overhead, making this compression type suitable for tables and partitions of active data in
mission-critical environments. A ratio of 2-4 times compression is typically achieved with no
limits on the range of data values compressed, which means new data is compressed and the
compression ratio is maintained over time.
SecureFiles Compression
This is compression of data stored as large objects in the database. This type of compression is
especially important for environments that mix structured and unstructured data within
applications. XML, spatial, audio, image, and video information can also be compressed. Three
compression levels are provided to help reach the desired level of storage savings based on
available CPU resources.
Index Compression
This is compression of the indexes associated with compressed row data. Indexes can be
compressed independent of the compression of the underlying table data. Index compression
can significantly reduce the storage associated with large indexes in large database environments.
Backup Compression
This is compression of database backups, regardless of whether the data has already been
compressed.
Oracle Exadata Hybrid Columnar Compression
With Oracle Exadata Database Machine, an additional level of compression is available. Hybrid
columnar compression uses the capabilities of Oracle Exadata Storage Servers to provide a deep
compression ratio from 10 to 50 times.
Instead of compressing the repeating values found in database rows, Oracle Exadata hybrid
columnar compression uses a different technique to store the column values. For a given set of
rows loaded into a table compressed with Oracle Exadata hybrid columnar compression, all the
values for the first column are stored together, followed by all the values for the next column,
and so on. This means that within a unit of compression, a much higher rate of repeating values
is found, and a greater compression ratio can be achieved.
Oracle Exadata hybrid columnar compression provides two compression levels. Warehouse
compression is ideal for compressing data used for queries in a data warehousing environment. A
compression ratio of 10 times is typically achieved, with a corresponding increase in query
performance. Archive compression uses more aggressive compression algorithms and can
achieve up to 50 times compression ratio. It is best suited for data that is inactive and typically
stored offline, but it now can be maintained in an online ―in-database‖ archive.
8
Optimizing Storage and Protecting Data with Oracle Database 11g
Oracle Exadata hybrid columnar compression techniques are best used with data that does not
change frequently. The data is compressed on data load, and although updates and inserts are
fully supported against Oracle Exadata hybrid columnar compression–compressed tables, the
benefits of this type of compression will be lost for the rows impacted by ongoing updates or
inserts.
Increase Compression as Data Ages
With partitioning, you can easily separate new data from older data and apply different
compression technologies accordingly. This allows you to leverage different tiers of storage to
help maximize performance while minimizing your storage costs during the data lifecycle. When
you include flash as a hyper-active ‗Tier 0‘ in your strategy, then OLTP table compression can
help multiply the effectiveness of flash, especially when you use it as flash cache with the
Database smart flash cache feature in Oracle Database 11g or Exadata. You can see how a
combination of Oracle‘s compression and partitioning technologies makes it easy to
transparently manage data across all of its lifecycles, while keeping it in the database so that it‘s
easily available if needed.
9
Optimizing Storage and Protecting Data with Oracle Database 11g
OPTIMIZE STORAGE PERFORMANCE
“Without a doubt, the estimated time and cost saving that we’ve gained, coupled with the ability to manage an abundance of
storage data over an unknown amount of time, easily offsets the licensing of Oracle Advanced Compression.”
Kim Nguyen, Database Administrator,
Sharp HealthCare
IT departments invest a great deal of money in their storage management infrastructure. With the
ever-increasing speeds of new processing cores and the availability of more memory in servers,
the storage infrastructure has become a major bottleneck that prevents organizations from
achieving the required performance for business applications. Oracle Database 11g provides
techniques and capabilities that can mitigate this performance bottleneck.
Size Disk Storage According to Workload
Traditionally, the storage arrays that support Oracle Databases have been sized based on the
amount of data to be stored. But as disk capacities have increased and processor cores have
become faster, this sizing metric is no longer useful. Instead, storage arrays should be sized based
on the performance they can deliver to database applications.
Oracle Database workloads consist of random I/O (input/output) operations. These operations
are typically instigated by data operations such as inserts, updates and deletes, and sequential I/O
operations, which in turn are instigated by queries that scan entire tables or large portions of
tables. These operations are typically measured as follows:


Random I/O operations are measured in I/O operations per second (IOPs)
Sequential I/O operations are measured in the number of megabytes of data that can be
scanned from the storage system per second (MB/s)
Storage arrays should be sized by the number of IOPs they deliver, as well as the achievable
MB/s that they can deliver. The total number of IOPs and MB/s required for existing Oracle
Databases can be determined from automated workload repository reports.
The number of IOPs required is the total of all reported physical read I/O requests and physical
write I/O requests. The number of MB/s required can be determined from the total number of
physical reads, total writes, and physical read total reads. (When determining these figures, also
allow some additional headroom for backup operations.)
10
Optimizing Storage and Protecting Data with Oracle Database 11g
The following guidelines can be used as an approximate starting point for sizing new systems:


For OLTP environments, assume every transaction incurs about five random IOPs
For data warehousing environments, assume that a reasonably modern core will need about
200 MB/s in order to be kept fully busy; therefore, a two-processor quad core machine will
need around a 1.6 GB/s scan rate to be fully utilized
Once the required IOPs and MB/s needed to support the workload have been determined, the
number of disks required in the storage array can be determined. Simply divide the required
workload numbers by the specific IOP and MB/s figures obtainable per disk in the storage, and
the result will tell you roughly how many disks are needed for maximum performance. Note that
these figures do not assume any disk mirroring or storage array caching, so that should also be
taken into account. Work back from this initial disk sizing through the switches and host bus
adaptors that will be required to deliver this performance to determine the overall size of the
storage required.
Disk vendors provide both IOPs and MB/s ratings for the storage arrays they provide. These
numbers are often achieved under optimal conditions, and in the real world are a little inflated.
Generally, fibre channel drives are capable of delivering around 80–110 IOPs and 20–35 MB/s.
SATA drives provide around 50 IOPs and around 20–30 MB/s. Oracle‘s I/O calibration tool
can be used to test and accurately size storage arrays based on a synthetically created database
workload.
Use Oracle Automatic Storage Management to Maximize I/O Bandwidth
Oracle Automatic Storage Management provides an efficient realization of storage array
capabilities when deployed underneath Oracle Databases. By striping data across all the disks in a
disk group, Oracle Automatic Storage Management ensures that the maximum possible I/O
bandwidth is used for sequential scan operations, and that random I/O is also balanced across
the array. With Oracle Database 11g Release 2, frequently accessed data can be striped on the
outside tracks of the physical disks, with less frequently accessed data striped on the inside tracks,
ensuring that the frequently accessed data benefits from the faster transfer rates provided by the
operational physics of the disks.
Customers that have moved their Oracle Databases from traditional storage arrays to
environments enabled with Oracle Automatic Storage Management have experienced a 25
percent performance increase 4in their database, directly attributable to the better I/O balancing
enabled by Oracle Automatic Storage Management.
Source: Oracle white paper: Oracle Database 11g Release 2—Extending Oracle Automatic Storage
Management to Manage All Data. Oracle Automatic Storage Management performance results vary
depending on workload and storage configuration.
4
11
Optimizing Storage and Protecting Data with Oracle Database 11g
Use Direct and Asynchronous I/O to Optimize I/O Performance
Oracle Database 11g has the ability to bypass the operating system file cache, reducing the
amount of processor resources and system memory needed for I/O operations. This memory
can then be used to increase the size of the Oracle Database buffer cache, delivering better
performance and a more consistent data caching capability. Where supported by the underlying
operating system, direct I/O should be used with Oracle Database 11g.
Oracle Database 11g also supports asynchronous I/O, in which writes performed by the
operating system are done asynchronously from the database processes, reducing the potential
for bottlenecks caused by I/O waits. Reads can also be done asynchronously, and a read-ahead
capability for sequential scans can produce dramatic performance improvements in queryintensive workloads.
Use Direct NFS Client to Improve Network Attached Storage Performance
Many IT organizations use network attached storage (NAS) appliances underneath their Oracle
Database. NAS appliances typically use the network file system (NFS) protocol as the
communication layer between the server and the storage itself. Many of the NFS protocol stacks
provided by the operating system are not optimized for the I/O performed by Oracle Database,
so Oracle Database 11g provides a direct NFS client capability that is built directly into the
database kernel. This native capability enables direct I/O with the storage devices, bypassing the
operating system file cache and reducing the need to copy data between the operating system and
database memory. The direct NFS client also enables asynchronous I/O on NFS appliances. For
data warehousing workloads, these capabilities have been shown to increase performance by 40
percent. For OLTP environments, around a 10 percent performance improvement has been
achieved.
Use the Database Smart Flash Cache Feature to Reduce Physical Disk I/O
Oracle Database 11g Release 2 introduces a revolutionary new capability that can dramatically
improve Oracle Database performance on existing storage areas. Flash PCI cards can deliver
gigabytes of space and support very high IOPs, often getting close to the I/O characteristics of
memory, but at a much lower cost per gigabyte.
Traditionally these cards have been added to a server and used as storage for Oracle Database
files such as redo logs. However, a better technique is to have Oracle Database repurpose these
cards as a second-level cache for data cached in server memory. With the Database Smart Flash
Cache feature in Oracle Database 11g Release 2, as data ages out of the buffer cache, it is written
back to the storage array for long-term data protection. However, at the same time, data blocks
are also copied to available space on Flash cards. The next time these data blocks are required in
the database buffer cache, they are retrieved from the Database Smart Flash Cache, avoiding the
need to perform any physical I/O from the storage array. Using the PCI express interface also
means that these I/O operations bypass any disk controller overhead.
12
Optimizing Storage and Protecting Data with Oracle Database 11g
Database Smart Flash Cache can result in a 25 percent performance improvement using only 10
percent of the existing storage array infrastructure. For storage arrays that are currently maxed
out on I/O, the addition of Flash PCI cards, enabled with Database Smart Flash Cache, provides
a low-cost way to dramatically improve application performance.
Oracle Exadata Database Machine
Although these techniques all optimize the performance of existing storage arrays, the grim
reality today is that traditional disk technologies have failed to keep up with the performance
gains made in core processing speeds. Processor speeds have doubled every 18 months for the
last 20 years, but disk performance has not increased at the same rate, leading to an imbalance
between data processing capability and the storage array‘s ability to
keep processors busy.
Oracle Exadata Database Machine is highly optimized for Oracle
Database operations and architected to scale out easily. Oracle
Exadata Database Machine is composed of database servers, storage
servers, an InfiniBand network, and all the other components required
to host an Oracle Database.
To achieve higher performance and greater storage capacity, additional
Oracle Exadata Database Machines are simply added to the
configuration. This, combined with faster InfiniBand interconnect,
Oracle Exadata‘s smart Flash cache, and the reduction of data
transferred due to offload processing, yields very large performance
improvements. A 10-fold improvement in query performance
compared to traditional storage infrastructure is common, with much
greater improvement possible, providing an ideal storage solution for
extreme performance OLTP and data warehousing applications.
13
Optimizing Storage and Protecting Data with Oracle Database 11g
PROTECT AGAINST DATA LOSS
“Valuable content belongs in a secure, central database where it can be easily managed and automatically backed up. There is
nothing more important to us than our customers’ content, which is why we chose Oracle to secure our information and support
our growth strategy.”
Andy Barrett, Chief Technology Officer
Yuntaa
Information is the life-blood of successful competitive organizations. Loss of that information
for even a few hours or a few days can cost organizations vast sums of money, and can even put
them out of business. Modern organizations need to protect all their information. Oracle
Database 11g provides unique, industry-leading capabilities to protect against data loss.
Protect Against Data Corruption
Modern disk systems are generally reliable. However, every now and then things do go wrong,
and data is not written successfully to disk even though the disk subsystem and the operating
system believes that it has. These types of events can cause widespread data corruption in a
database environment, and they can be difficult to detect. Indeed, it may not be until the next
access of that data that any inconsistency is noticed, allowing the problem to spread through the
entire database and possibly through backups and disaster recovery sites as well.
Oracle Database has comprehensive built-in checks to detect and repair data corruptions. Using
a single parameter set to a desired protection level, Oracle Database 11g, can detect corruptions
in data and redo blocks using checksum validation, detect data block corruptions using semantic
checks, and detect writes acknowledged but actually lost by the I/O subsystem. Specific
technologies also provide additional validation: Oracle Recovery Manager can be used to validate
data blocks while doing backup and recovery, and Oracle Automatic Storage Management can be
used to recover corrupted blocks on a disk by using the valid blocks available on the mirrored
disks. Plus, Oracle Data Guard can be used to ensure that the standby database is isolated from
all data corruptions at the primary database.
Oracle Exadata Database Machine also prevents corruptions from being written to disk by
incorporating the hardware assisted resilient data (HARD) technology in its software. HARD
uses block checking, in which the storage subsystem validates the Oracle block contents,
preventing corrupted data from being written to disk. HARD checks with Oracle Exadata
operate completely transparently and no parameters need to be set for this purpose at the
database or storage tier.
Protect Against Data Loss with Oracle Automatic Storage Management Mirroring
Many IT professionals use disk-mirroring techniques such as RAID 5 or RAID 10 to keep
multiple copies of data on different disks in their storage arrays, protecting against data loss from
14
Optimizing Storage and Protecting Data with Oracle Database 11g
an individual disk failure. Oracle Database 11g works very well with all major disk-mirroring
capabilities. However, these disk-mirroring capabilities can often add additional expense to the
storage environment being used.
Oracle Automatic Storage Management can be used to not only stripe data across multiple disks
in a storage array, but to also mirror that data across disks as well.
Redundancy for disk groups can be either normal (the default—files are two-way mirrored,
requiring at least two failure groups), or high, which provides a higher degree of protection using
three-way mirroring (requiring at least three failure groups).
Oracle Automatic Storage Management uses a unique mirroring algorithm that mirrors extents.
When Oracle Automatic Storage Management allocates a primary extent of a file to one disk in a
failure group, it allocates a mirror copy of that extent to another disk in another failure group,
ensuring that a primary extent and its mirror copy never reside in the same failure group. Unlike
other volume managers, Oracle Automatic Storage Management has no concept of a primary disk
or a mirrored disk; a disk group only requires spare capacity, so a hot spare disk is unnecessary.
When a block is read from disk, it is always read from the primary extent, unless the primary
extent cannot be read, in which case it will be read from the secondary extent. When a block is to
be written to a file, each extent in the extent set is written in parallel.
In the event of a disk failure in a failure group (which will induce a rebalance), the contents (data
extents) of the failed disk are reconstructed using the redundant copies of the extents from
partner disks. If the database instance needs to access an extent whose primary extent was on the
failed disk, then the database will read the mirror copy from the appropriate disk. After the
rebalance is complete and the disk contents are fully reconstructed, the database instance returns
to reading primary copies only.
Efficiently Backup and Restore Data
Although storage mirroring provides an important element of data protection, all databases
should be regularly backed up. However, as databases grow in size, new optimized techniques are
required to constrain both the time required to backup the database and the time required to
restore and recover (if necessary).
Traditionally, data has been backed up to streaming devices such as tapes. Oracle Database 11g
supports many tape backup and vaulting environments through Oracle‘s backup solutions
program, a cooperative program designed to facilitate tighter integration between Oracle's
backup products and those of third-party media management vendors.
Oracle Secure Backup
In addition to supporting third-party backup products, Oracle provides a tape backup solution.
Oracle Secure Backup provides centralized tape backup management, ensuring high-performance
15
Optimizing Storage and Protecting Data with Oracle Database 11g
data protection of both file system and Oracle Database data in UNIX, Linux, Windows, and
network-attached storage environments.
Oracle Secure Backup is a complete tape backup solution that is fully integrated with the Oracle
Database backup utility, Oracle Recovery Manager. This tight integration means that Oracle
Secure Backup only backs up currently used blocks, eliminating backup of committed undo,
which helps to increase backup performance by 25 to 40 percent over comparable products. In
addition, Oracle Secure Backup offers backup encryption and key management, ensuring that any
confidential information stored on backup tapes sent offsite are protected.
Fast Recovery Areas and Incremental Backups
One of the challenges of a tape-based backup strategy is that writing backups to tape and
subsequent restores can take a long time. More and more organizations are utilizing low-cost
disks as their preferred storage for Oracle Database backups. One of the advantages of this
approach is that random I/O can be performed on the backup images stored on disks. Oracle
Database 11g takes full advantage of this capability with disk-based backup and recovery
technologies.
Database administrators can define a disk-based fast recovery area for Oracle Databases. This is a
group of disks typically separate from the storage array used for the database environment. The
fast recovery area is dedicated for database backup images and fully managed by Oracle Recovery
Manager, and it can take advantage of Oracle Automatic Storage Management for backup
striping and the like. Once a fast recovery area is set up, Oracle Databases will automatically back
themselves up during predefined backup windows. More frequent backup periods can be
defined, along with the timing and duration of the backup window. If additional space in the fast
recovery area is needed, Oracle Recovery Manager will automatically delete files that are obsolete
or have already been backed up to tape.
For large databases, backing up the entire database every 24 hours may take a long time. Instead,
many IT organizations enable incremental change tracking on their Oracle Databases. During the
24-hour period since the last backup, a record is kept of the data blocks in Oracle Database that
have changed during OLTP operations. During the backup window, only the changed blocks are
stored in the fast recovery area and can be used as an incremental backup against a complete
backup image. This means that the backup window itself is only ever a function of the number of
changes made within a 24-hour period, independent of the size of the actual database.
However, too many incremental backups can extend the time it takes to restore and recover the
database if required. To this end, Oracle Recovery Manager incrementally updates the complete
database backup image with the incremental changes from the previous 24-hour period,
eliminating the need to apply multiple incremental backups on recovery. This reduces overall
recovery time in addition to reducing the need to make full backups.
16
Optimizing Storage and Protecting Data with Oracle Database 11g
Backup images in the fast recovery area can be stored to tape using Oracle Secure Backup or
other tape backup solutions. Such backups can also be compressed to further save time and
space.
Read-Only Tables and Tablespaces
Read-only tables and tablespaces can reduce backup and restore times. Large tables that have
been partitioned using a lifecycle management strategy can have older data partitions put into
read-only format, so transactions cannot change the data stored within these partitions. These
partitions can then also be compressed and placed on low-cost storage tiers. Because they are
read-only, Oracle Recovery Manager knows that they do not need to be backed up beyond the
initial backup; further reducing the requirements for both backup and restore operations.
Using low-cost disk storage for the fast recovery area and an incremental backup strategy
provides an alternative to expensive snapshot technologies deployed at the storage array level.
Oracle Exadata Database Machine makes use of these data services and comes preconfigured
with a fast recovery area for the databases that are built on them.
Protect Against Data Loss Caused by Human Error
Most data loss is caused by human error, and not the failure of a disk or a storage array. Database
administrators (DBAs) make mistakes—they log onto development databases to clean up tables
and indexes only to find that they logged onto the production environment by mistake and
dropped critical tables and indexes that were in use at the time.
When these problems occur, the traditional approach has been to revert to a backup. The
production system is stopped and a point-in-time recovery is performed to restore the data back
to the point just before the error occurred. There are many problems with this approach—
additional storage is required, restore and recovery can take a long time while the production
system is unavailable, and any good transactions made from the time the error occurred until it
was later discovered are lost.
To overcome this, Oracle Database 11g provides unique flashback capabilities. Flashback allows
operations that were inadvertently performed online to be undone online. For example, if a DBA
drops a table or an index, the table and index are marked as unavailable in the data dictionary and
are no longer used by the application. However, the actual data extents that were present in the
table or index are kept on disk. If at a later stage the DBA identifies that the table or index was
dropped by mistake, he can simply undo the drop operation and the table or index is immediately
made available again to the application.
Similar steps can be taken if a transaction invalidly changes one or more rows in a table.
Flashback query operations allow the DBA to see the earlier versions of the rows and identify the
transactions that caused the error. Then the offending transactions can be flashbacked online, so
all changes caused by the transactions are immediately undone. Alternatively, all changes made to
one or more tables since a specified period of time can also be undone online.
17
Optimizing Storage and Protecting Data with Oracle Database 11g
If the entire database has become logically corrupt due to a large number changes, the entire
database can be flashed back in time, rather like running a video in reverse. While flashing back,
the database is not in online operation, so it is far quicker to unwind the database this way than
restoring a database and doing a point-in-time recovery. In addition, the flashback operation can
be performed multiple times, allowing incremental flashback and roll forward to the exact
moment in time the error occurred.
Flashback transactions and flashback table operations use the existing undo information that is
collected by Oracle Database during normal operations. Most Oracle DBAs will size the
collection of this undo information to give themselves a 24-hour window in which to catch and
undo any human error. The ability to flashback the entire database requires additional
information to be collected. This additional information is managed as part of the fast recovery
area and is also typically sized to provide a 24-hour window.
This flashback capability supplants the need for additional snapshots at the storage level, further
reducing storage costs and providing a much finer granularity of operation. It also provides the
ability to undo any individual transaction to any point in time.
Protect Against Data Loss Caused by Disaster
The techniques just outlined protect against data loss within the datacenter. However, the
datacenter itself can be lost through fire, earthquake, other disaster, or even something as
mundane as power loss. To fully protect themselves against data loss, many IT organizations are
investing in secondary datacenters with standby databases, which can be synchronized with the
changes being made in the production environment.
The traditional method of synchronization requires expensive, remotely mirrored storage
solutions. The storage replicates every write performed on the production system to the standby
system. This means that expensive, high-bandwidth networks are required between datacenters,
incurring additional cost and limiting the distances that can exist between the datacenters.
The remotely mirrored standby solution is only used in the event of the loss of the production
datacenter. An idle resource decreases the value of the investment made in the standby
environment, and administrators are often reluctant to failover to the standby environment
because they are not familiar with its day-to-day operation.
Remote mirrored storage also introduces another layer in the infrastructure where problems can
occur, especially concerning the propagation of data corruption between the production and
standby sites. Oracle Database works well with remotely mirrored storage solutions, but also
provides a built-in standby solution, Oracle Data Guard, which addresses the problems of
remote mirrored storage.
Oracle Data Guard only transmits the writes from the production databases to the standby
databases. This can mean a 1/7th reduction on the network of the volume, and up to 1/27th of
I/O operations, allowing a much smaller-capacity network to be utilized between the datacenters,
18
Optimizing Storage and Protecting Data with Oracle Database 11g
which can also prevent the need to move to expensive network solutions. This also means
network latency is less of an issue, allowing synchronous operations to be used across the
network. Independent tests have shown that a network with a round trip time of 10 to 15
milliseconds can cause up to a 25 to 40 percent latency impact on the primary database when
using remotely mirrored storage with synchronous writes. With Oracle Data Guard, the
measured latency impact on the primary database was around 4 percent. This means that Oracle
Data Guard can provide greater data protection across longer distances between datacenters.
Oracle Data Guard also ensures better data protection and data resilience than remote mirroring
solutions. Oracle Data Guard eliminates propagation of data corruption on the production
database to the standby site.
Businesses also have to ensure that they are getting value from all IT investments, and remotely
mirrored storage systems basically sit idle until a disaster happens. With Oracle Data Guard,
standby databases can be used as read-only for reporting and queries while changes are being
applied from the production system. This allows IT organizations to offload resource-intensive
reporting operations to their standby databases, improving the performance of their production
database.
Oracle Data Guard is well-integrated with Oracle Recovery Manager, and allows fast incremental
backups to be offloaded to the physical standby database. This saves critical system resources at
the primary site and enables efficient utilization of system resources on the standby site. And it
offers an integrated switchover capability that can be used to address planned maintenance such
as hardware or OS upgrades, minimizing the downtime associated with such scheduled outages.
Remote mirroring solutions seem to offer simple and complete data protection. However, for
data resident in Oracle Databases, Oracle Data Guard, with its built-in zero data loss capability, is
more efficient, less expensive, and better optimized for data protection and disaster recovery
than traditional remote mirroring solutions.
Database Cloning Support for Development and Test Environments
Cloning a production database is often needed to develop and test application changes. Today
this is achieved by making a copy of the production data in a test environment. Database
administrators face the challenge of efficiently duplicating production databases to support
continuous demand for application development and subsequent testing of the code. This
challenge is compounded by the fact that multiple clones are often required to support the many
development and test activities associated with large systems.
The database cloning process involves copying the entire production database into the new
development or test environment. The Direct NFS CloneDB feature allows databases to be
cloned instantaneously. CloneDB allows customers to set up their test database environment
without copying the entire production database into each database clone. The files in each clone
19
Optimizing Storage and Protecting Data with Oracle Database 11g
database are created based on copy-on-write technology, so only the blocks that are modified in
each clone database are written to the clone database. This type of thin-provisioning reduces the
amount of storage required for testing and development. Because the data files in the new test
environment are not copied, setting up a test database is almost instantaneous.
Database cloning in a Direct NFS environment can be made from an Oracle Recovery Manager
full backup/image copy of the database, or from a storage snapshot. The database backup is used
as the store for the test database environment. By making the database backup the backing store,
production data files are not touched by the test/cone instances, ensuring data integrity of the
production database. Likewise, the test instances don‘t compete for the same resources with the
production database.
Oracle Data Guard’s Cloning Solution with Sun ZFS Storage Appliance
Many IT Organizations have already deployed Oracle Data Guard to provide high availability
and disaster protection for their mission-critical Oracle Databases. The addition of Oracle‘s Sun
ZFS Storage appliance offers Oracle Data Guard users a unique opportunity to address their
cloning requirements. The appliance can easily be added to an existing Oracle Data Guard
configuration and provides a low-cost, and efficient solution to enterprise requirements for
snapshots and clones.
CONCLUSION
Many IT organizations today continue to use inefficient storage management techniques based
on traditional practices that are no longer the industry‘s best practices. By re-evaluating their
environment and using many of the advanced capabilities for storage optimization in Oracle
Database 11g, IT professionals can reduce their overall storage costs by 90 percent, while
optimizing their storage management infrastructure to deliver the performance and availability
that today‘s modern enterprises require.
20
Optimizing and Protecting Storage
with Oracle Database 11g Release 2
Copyright © 2011, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only and
the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other
Jan 2011
warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or
fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are
formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any
Author: Mark Townsend
means, electronic or mechanical, for any purpose, without our prior written permission.
Contributing Authors: Willie Hardie, Ron Weiss,
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective
owners.
Ara Shakian, Ashish Ray, Kevin Jernigan, Nitin
Vengurlekar, Penny Avril, Matthew Baier,
Margaret Hamburger
032011
Oracle Corporation
World Headquarters
500 Oracle Parkway