You are on page 1of 5

Using Oracle Partitioning for Maximum Performance

Oracle E-Business Suite
Micah Deriso and Alan Davidson
Informatica and Avago Technologies

The Business Issue
Avago Technologies E-Business Suite R12 implementation was in need of sustainable performance and storage
management to help with ever increasing data growth. The challenge was to find a methodology that would
stabilize and improve application performance while maintaining high application up times and reducing the
overall cost of storage. Avago had two main goals for the project, which were to improve application performance
and insure high availability of mission critical and complex applications.

Avago E-Business Infrastructure:
Oracle E-Business Suite R12.1.3
Oracle Database 11gR1 (ASM file system and RAC enabled)
Oracle Enterprise Linux v5.4
Cisco UCS blades (4 node mid tier – 4 node database tier)
EMC Celerra

Performance Improvement Options Considered
Hardware: We had already made an investment in the Cisco UCS blades from older server technology and our
analysis concluded that further investment would only yield marginal results for the substantial investment
required. Faster more expensive storage also only yielded marginal improvement. Both hardware based solutions
proved to be non-sustainable. While improvement was gained initially, performance would eventually return to
previous levels or get worse and more importantly, each hardware upgrade becomes more expensive across the
board. We went searching for a more sustainable solution.
Purge & Archive: After attending sessions at Oracle Collaborate and Open World we became interested in a Purge
& Archive solution. We initially considered purging of data using the Oracle Purges it quickly became obvious that
the business would not tolerate permanently deleting data. The additional human resources required maintaining
a historical inventory of the purged data and the monthly purging required led us to investigate packaged solutions
in the archive marketplace. We selected a tool and implemented it. Initially we had great success, removing the
data from the production database dramatically improved performance. Life was good. After the first couple of
years however, the true cost of archiving data became evident.
Most traditional database archiving approaches rely on three fundamental requirements: data must be “eligible”
to be archived (active vs. inactive), data must be deleted/moved out of the production database and in the case of
archiving, data needs to be available for future access needs. The removal of data from the production database
into an archive database is the common approach of these solutions that deliver the benefits of a smaller and
more performance driven environment. It is the deletion process and the added maintenance of a separate
repository that introduces another level of complexity for IT and business users and could be considered an
impediment to acceptance.

and so on.” The benefits to partitioning are: • Divide disk I/O across disk drives. the data model in the separate repository needs to remain synchronized if end-user access combines both production and archive data. Database Partitioning as THE solution: We once again attended sessions at Oracle Open World and Collaborate that espoused Database Partitioning as a method to optimize performance in the Oracle E-Business Suite and as alternative to purge and archive. there are limited off-peak windows to execute expensive delete commands. introduce issues associated with slower response times and potential security issues with database links. which is usually not an option in a 24/7 operation. as Oracle Applications is committed to being transparent to custom partitioning. • Oracle partitioning has many features that make the partitions easy to create. For businesses that require native application access to the aged data. • Backups are easier. a second for the archive log file. For major releases such as Oracle EBusiness Suite R12. customers will be dependent on the archive vendor to provide the necessary companion patches to ensure the correct changes were made to the “archived” data as the application is unaware that the data exists. issuing database deletes tax the production database server not only in CPU utilization. database archiving solution providers provide archive access through either a vendor specific ODBC/JDBC driver or via a database link to a separate archive database. and a third for any backup or remote disaster recovery copy. Additionally. split. it is considered a product defect. • Oracle cost-based optimizer recognizes partitions and can select information only from the correct partitions with the specific data being requested. introducing additional maintenance steps. • Read/write activity can be load balanced among disk drives/disk arrays. database indexes need to be rebuilt and tables need to be reorganized to reclaim unused blocks of storage. it is fully supported by Oracle: From Oracle’s own web site: “If custom partitioning causes a particular E-Business Suite flow or transaction to fail and the failure is caused by standard Apps product code. In order to realize performance improvements or storage reduction benefits. but also in excess storage writes—one for the data file. These interfaces. recovery is shorter. These processes potentially require taking the database offline. When an application supports a global operation. move. the solutions based on database row deletes and moving aged data to a separate repository plateau in their ability to scale and support a 24/7 global database application. This can add a significant risk to an already fragile patch and upgrade process and should be a major area of concern for current and future archive customers. As mentioned above. In these sessions and in doing research on Metalink we soon discovered that partitioning our Oracle E-Business suite database was potentially the Holy Grail.Using Oracle Partitioning for Maximum Performance As data volumes grow and application data models become more complex. Oracle Development will issue patches or workarounds for all reported issues with standard Apps product code. while providing access to archive data. the more responsively SQL engines perform. which can be monitored and adjusted in a variety of ways. 2 . With the looming upgrade to R12 approaching we made the decision to abandon our archiving implementation and went looking for a more permanent solution. What we discovered with partitioning: First. • The Oracle Parallel Server can divide work based on the number of partitions. • Partitioning greatly enhances database performance. Also. there are additional management complexities introduced as a result of having a separate archive database and interface – a separate patch process is required to keep both the production and archive database data model’s synchronized. if the production database is patched during a routine maintenance process and changes the database table definition.

Legacy archive/purge processes that often taken months when issuing batches of DELETE statements now run in less than an hour. Because data is physically separated based on dimensions such as time and/or business unit. by aligning the physical separation of data by business logic without impacting data referential integrity. Optimizing individual queries to take advantage of particular partitioning schemes was going to be a monumental task. define application-aware data segmentation policies based on business logic. As a result. This all sounded too good to be true. Automated Database Partitioning: We found a third party solution that utilized Oracle’s database partitioning at the 2010 Oracle Open World. At the same time. regardless of the data volume. yet continues to be part of the same logical table. managing all the tables and partitions manually would be a monumental task and would require a substantial investment in human engineering resources. and reside in the same production database simplifying maintenance processes. data can be deleted. Fortunately we explored Oracle solution providers in the market. can be compressed to reduce data footprints. organizations can take advantage of Flash or Solid State Disk (SSD) drives to turbo charge access to the most recent data. In addition. Data segmentation policies are implemented through the use of the native database partitioning feature set. or taken offline without the need to issue a DELETE statement. Aged data can be isolated to a separate physical partition. while the benefits are all there in implementing partitioning in the Oracle E-Business suite it became evident that analyzing the tables. how to partition. archived. The tool creates referentially intact segments of data that can be managed and accessed independently. organizations have greater control and latitude to optimize their environment without the need to surgically remove data from the production database row by row. and manage the ongoing process in an automated fashion. or impacting how users access data from the native application. This means that data residing in the aged segments can be marked read-only. The benefit of this approach is that there are no extra steps or data movement processes that can chew up valuable CPU cycles. Well almost. Additional maintenance steps are eliminated through automated management features. The solution offers a unique alternative approach for managing data growth to the traditional approaches offered by database. which utilizes Oracle database partitioning at its core. deciding which ones needed partitioning. The tool is a solution for managing application data growth while maintaining application availability and improving performance by leveraging an approach based on “application-aware segmentation”. Compressing and storing inactive aged data to low cost storage managed by Oracle ASM is a simple automated process with a well-developed third party solution. 3 . application and third party database archiving vendors. organizations are in a position to apply more aggressive tiered storage strategies. Consider the amount of time and resources it takes issuing millions of DELETE statements and replace it by a single drop partition command. Issues with manual database partitioning • Each module requires careful analysis of the data model • What column do you use for the partition key? • After partitioning even a few tables.Using Oracle Partitioning for Maximum Performance • Tuning is enhanced with the additional indexing features available. The tool provides administrators with the ability to capture application metadata. which led us to implement a next generation strategy of “Application Aware Partitioning”. maintenance becomes problematic • In depth knowledge of partitioning required to optimize performance • • Performance will get worse in some queries if not properly implemented Very difficult to administer across multiple modules of E-Business suite and hundreds of tables When we performed the analysis of implementing partitioning on E-Business we realized that it was not a project to take lightly and it had many side effects that caused us to abandon a traditional/manual partitioning project.

A unique alternative that allows queries and processes to be optimized without having to delete data. If there is a need to optimize user or batch processes for the purpose of improving application performance or compliance the Performance Access Layer automatically controls what data is needed to resolve the query based on the profile of the user. pioneers in the performance and data management market.Using Oracle Partitioning for Maximum Performance Performance Gaining sustainable performance for complex applications is a key focus area for Avago. Smart Partitioning. a command can be issued without concern over data dictionary changes (which are the case when using a separate repository for managed data). New Alternatives Explored Once we realized that we had an alternative to our existing methodologies and could create a low maintenance. move data between storage tiers. and at the same time improve performance compared to our current approach. or dramatically change the way end users use the system today was the solution we were seeking. Should data need to be made writable again. We went live with the solution in June of 2011 and had several critical jobs improve significantly (30 minutes down to 7 minutes) and were able to move from 11i to R12 on our own with no issues or problems. and eventually drop the data after a period of time. The solution we implemented was from Informatica. only the partitions needed for those test cases need to be replicated. The third party solution we found provides a performance optimization that gives US the ability to globally impact performance in a positive and sustainable way while retaining all of the data management benefits that are expected. The Informatica solution. backup processes do not need to continually back up the same data set over and over again. re-write application code. when segments are marked read-only. When copies are made for test and development purposes. This allows processes that only need a very small window of data (i.e. the ongoing management was automated minimizing impact on DBA resources and at the same time allowing us to compress older data. From an operational perspective. Results 4 . create small sub-set clones. was a great fit for us because it allowed us to keep all of our data. In addition. and performance focused E-Business environment we kicked off our project. highly flexible. last 2 months of payroll data) to only see that data and other queries or processes to only see the data they need.

Using Oracle Partitioning for Maximum Performance Conclusion Partitioning of your Oracle database for performance optimization is the ONLY Oracle approved methodology that provides consistent. Oracle will continue to enhance the functionality of database partitioning in new and creative ways that will enable customers to maximize the utilization of Oracle databases. sustainable positive results. An automated method of database partitioning like Informatica Smart Partitioning is a viable and proven solution for customers with a need to control data growth and high performance operations to get the best of both worlds when it comes to deploying a data growth management solution: controlling costs while maintaining and improving application performance. Having a solution that is based on native database partitioning features. It is fully supported by Oracle and has recently enjoyed a tremendous adoption in the marketplace by dozens of large corporations. 5 . is preferred. and that minimizes maintenance or support requirements. that is automated and certified by Oracle.