Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
The following 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 decision. The development, release, and timing of any features or functionality described for Oracles products remains at the sole discretion of Oracle.
Agenda
Partitioning Best Practices
Partitioning Concepts Supportability Partitioning Methods Customer Case Studies
Purging
Business Processes Purging Strategies New Purge Portal
Q&A
Database Release
Oracle 8
Partitioning Functionality
Range partitioned tables Local partitioned indexes Global range partitioned indexes Hash and Composite; Range-hash partitioned tables, Range partitioned index-organized tables List partitioned tables, Hash partitioned indexorganized tables Composite range-list partitioned tables List partitioned index-organized tables Global hash partitioned indexes
Partitioning Concepts
Data Partitioning:
Process of logically and/or physically segmenting data (and its associated storage, tables and indexes) into more manageable pieces, in order to improve manageability and accessibility. Example Divide large Applications tables and their indexes such as GL_BALANCES into smaller segments.
Partitioning Advantages
Table availability
Significantly reduce recovery times of key transaction tables by recovering the current partitions first.
Table manageability
Backup, restore, and rebuild at the partition level. Index rebuilds can be performed at the partition level. Partition aware operations such as MOVE, EXCHANGE, REBUILD can be used without affecting active partitions.
Partitioning Advantages
Performance
Improves access path of most queries since the majority of the access involves current data as opposed to historical data. Optimizer automatically prunes unnecessary partitions. Analytical reports or period close jobs/reports improve by scanning the current partition as opposed to all the partitions. Improves purge performance. Significantly improves upgrade performance Minimizes upgrade downtime.
Partitioning Advantages
CBO is partition aware and employs partition pruning at runtime.
Eliminates partitions which are not needed by the SQL statement. Joins are also partition aware and benefit from pruning.
Parallel operations can occur at the partition level. Utilizes the Information Lifecycle Management (ILM) infrastructure to allow partitions containing historical Applications data to be placed on lower cost storage devices.
Partitioning Methods
Range partitioning
Hash partitioning
Composite partitioning
List partitioning
Partitioning Methods
Range Partitioning Example:
CREATE TABLE GL_BALANCES (SET_OF_BOOKS_ID NUMBER(15) NOT NULL, CODE_COMBINATION_ID NUMBER(15) NOT NULL, CURRENCY_CODE VARCHAR2(15) NOT NULL, PERIOD_NAME VARCHAR2(15) NOT NULL, ACTUAL_FLAG VARCHAR2(1) NOT NULL, BUDGET_VERSION_ID NUMBER(15), LAST_UPDATE_DATE DATE NOT NULL, . . . . . . ) PARTITION BY RANGE (PERIOD_NAME) ( PARTITION jan04_per VALUES LESS THAN (JAN-2005), PARTITION feb04_per VALUES LESS THAN (FEB-2005) . . . . . . );
Partitioning Methods
List Partitioning Example:
CREATE TABLE OE_ORDER_LINES_ALL (LINE_ID NUMBER NOT NULL, ORG_ID NUMBER, HEADER_ID NUMBER NOT NULL, LINE_TYPE_ID NUMBER NOT NULL, LINE_NUMBER NOT NULL NUMBER ORDERED_ITEM VARCHAR2(2000), OPEN_FLAG VARCHAR2(1) NOT NULL, . . . . . . ) PARTITION BY LIST (open_flag) ( PARTITION open_par VALUES (Y), PARTITION close_par VALUES (N) );
Partitioning Methods
Hash Partitioning Example:
CREATE TABLE OE_ORDER_LINES_ALL (LINE_ID NUMBER NOT NULL, ORG_ID NUMBER, HEADER_ID NUMBER NOT NULL, LINE_TYPE_ID NUMBER NOT NULL, LINE_NUMBER NOT NULL NUMBER ORDERED_ITEM VARCHAR2(2000), OPEN_FLAG VARCHAR2(1) NOT NULL, . . . . . . ) PARTITION BY HASH (LINE_ID) PARTITIONS 8 . . . . . .;
Partitioning Methods
Composite Partitioning Example:
create table wf_item_activity_statuses partition by range (item_type) subpartition by hash (item_key) subpartitions 8 (partition wf_item1 values less than ('A1'), partition wf_item2 values less than ('AM'), partition wf_item3 values less than ('AP'), partition wf_item4 values less than ('AR'), partition wf_item5 values less than ('AZ'), . . . partition wf_item48 values less than ('OE'), partition wf_item49 values less than ('OF'), partition wf_item50 values less than ('OK'), partition wf_item51 values less than ('OL'), . . . partition wf_item56 values less than ('PO'), partition wf_item57 values less than ('PQ'), partition wf_item58 values less than ('PR'), partition wf_item59 values less than ('QA'), . . . );
Index Partitioning
Index Partitioning
Indexes can be partitioned like tables Partitioned or nonpartioned indexes can be used with partitioned or nonpartitioned tables Partioned indexes can be
Global or local Prefixed or nonprefixed
Table Index Table Index
Normal
Partitioned
Index Partitioning
Index Partitioning Methods
Global Non-partitioned (prefixed) Global Partitioned (prefixed) Local Partitioned Prefixed Local Partitioned Non-Prefix
Global Indexes
Index Partitioning Methods
Global Non-partitioned (prefixed) Use Global Non-partitioned indexes for all indexes which are not prefixed by the table partition key. Global Range Partitioned (prefixed) Generally not useful for Applications. Global Hash Partitioned (prefixed) new in 10g Extremely useful for right growing indexes experiencing contention due to high levels of concurrency. Allows the index to be partitioned without affecting the table.
Local Indexes
Index Partitioning Methods
Local Partitioned Prefixed Use in place of indexes which already contain the partition key as a prefix. Local Partitioned Non-Prefix Generally not useful for Applications. Should only be used when all the queries using the local (non-prefixed) index always include the partition key filter.
Existing Indexes New Index Name: Columns: Index Type: ======================================================================= GL_BALANCES_N1 (CODE_COMBINATION_ID,PERIOD_NAME) Global GL_BALANCES_N2 (PERIOD_NAME) Not Needed GL_BALANCES_N3 (PERIOD_NUM, PERIOD_YEAR) Global GL_BALANCES_N4 (TEMPLATE_ID) Global
Purpose
Table structure, Partition Y/N Partition type, default values Partitions detail Partition keys Histogram Statistics
L T T P P P P
Purpose Sub-partition key Information Index Partition details Index Sub-partition details Partitioned Index Definition
L T P P I
Case Study 1:
General Ledger (GL) Partitioning
Customer Case Study
International Bank Data Volumes GL_JE_LINES (1.1 Billion rows) GL_CODE_COMBINATIONS (203 Million rows) GL_BALANCES (1.3 Billion Rows) Partitioning Method: Range Partition Key: set_of_books_id # of Partitions: 34 Achieved Throughput: 11.4 million journal lines imported and posted per hour
Case Study 2:
General Ledger (GL) Partitioning
Customer Case Study
Australian Bank Data Volumes GL_JE_LINES (650 million rows) GL_CODE_COMBINATIONS (8.5 Million rows) GL_BALANCES (200 million Rows) Partitioning Method: Range Partition Key: period_name # of Partitions: 109 Achieved Throughput: 7.5 million journal lines imported and posted per hour
Case Study 3:
Accounts Payable (AP) Partitioning Partitioning Case Study
Payables Trial Balances Data Volumes AP_LIABILITY_BALANCE (70,567,250 rows) Partitioning Method: Hash Partition Key: ORG_ID # of Partitions: 32 Achieved Throughput: Trial Balance report runtime reduced from 2 hours to 10 minutes.
Go-live
This Month
This Year
Previous Years
Active
Less Active
Historical
Archive
Tables continue to grow Data comes from many sources such as Transactional (Fiscal/Non-Fiscal) (e.g. General Ledger) Transient data (i.e. login, concurrent requests etc..) Reference/seed data
What is ILM?
Information Lifecycle Management encompasses the following:
Policies which define how to manage the data Processes which actually manage the data Including Archiving & Purging and Partitioning Software which performs the policies & processes RDBMS Partitioning functionality (ILM Advisor) Purge & Archive concurrent programs Hardware where the data is stored
Partitioning, Purging and Archiving are all integral parts of the ILM lifecycle
Implementing ILM
D E M O N S T R A T I O N
ILM Assistant
Purge Deleting data that you no longer need e.g. transient data or useless data such as dead leads or closed orders.
Statutory Requirements
Space
Historical Requirements
Performance
Manufacturing
Order Management, INV, BOM, WIP, QP, Shipping, Purchasing
Customer Example:
Typical Purge Programs run
Concurrent Program Name
Purge Debug Log Purge Cost Information Purge Signon Audit data Payables Open Interface Purge Purge Invoice Extract Output Table Catalog Data Purge Purge Concurrent Request/Manager Data Purge System Saved Requisition Purge Interface Tables Purge Obsolete Workflow Runtime Data BEE Batch Process (Purge) Delete/Purge Timecards (OTL)
Concurrent Program
FNDLGPRG CSTCSPCT FNDSCPRG APXIIPRG RAXINVPG POXCDXPG FNDCPPUR POXSSPG PNVPURGE FNDWFPR PAYLINK(PURGE) DELPURTC
Navigation
Accessing the Purge Portal
System Administrator > Oracle Applications Manager >Purging/Critical Activities
Email Fulfillment Purge Export and Purge All GL Interface Data Approvals Management Transaction Data Purge Purge Secured Payment Data Service Contracts Purge Credit Card Shipping Purge Task Purge Program Web Analytics: Purge Tracking Data Many others
Further Information
MetaLink & Product User Guides Please refer to MetaLink (examples)
138264.1 General Ledger Archive/Purge FAQ 144431.1 Fixed Assets Archive/Purge FAQ 136919.1 General Ledger Archive/Purge Setup and Usage
Summary
Options Available
ILM Archive
Data Storage
Purge Partitioning
Data Access
Define
Your archive and purge policy
If you have any questions or experiences you would like to share regarding partitioning and/or purging and archiving in the E-Business Suite, please send an e-mail: mohsin.sameen@oracle.com
MetaLink References
Note #:
Description:
General Ledger Archive and Purge - Frequently Asked Questions Oracle Assets Archive, Purge and Restore Processes General Ledger Archive/Purge Setup and Usage Oracle Applications Tablespace Model Release 11i - Tablespace Migration Utility