Upload
fubar101
View
239
Download
1
Embed Size (px)
Citation preview
1© 2002 Solution Beacon, LLC. All Rights Reserved.
Release 11Release 11ii Performance TuningPerformance TuningWorkshop – Implementations Workshop – Implementations & Post Go-Live& Post Go-Live
INSTRUCTORSINSTRUCTORS • • Sandra Vucinic – SSI North AmericaSandra Vucinic – SSI North America • • Tammy Vandermey - WebCentrixTammy Vandermey - WebCentrix • • Rich Butterfield - OuterBay Technologies Rich Butterfield - OuterBay Technologies • • Randy Giefer - Solution Beacon, LLCRandy Giefer - Solution Beacon, LLC
CONTRIBUTORSCONTRIBUTORS • • Andy Rivenes – AppsDBAAndy Rivenes – AppsDBA • • John Stouffer – Solution Beacon, LLCJohn Stouffer – Solution Beacon, LLC
2© 2002 Solution Beacon, LLC. All Rights Reserved.
““One of the biggest factors One of the biggest factors contributing to the performance contributing to the performance of the upgrade process, as well as of the upgrade process, as well as post-upgrade or post-post-upgrade or post-implementation performance is a implementation performance is a properly properly fedfed Cost-Based Cost-Based Optimizer.”Optimizer.”
Baseline Education
3© 2002 Solution Beacon, LLC. All Rights Reserved.
Baseline Education - CBOBaseline Education - CBO
Oracle Applications Release 11Oracle Applications Release 11i i uses the cost-based optimization uses the cost-based optimization (CBO) approach in choosing the (CBO) approach in choosing the most effective way to execute SQL most effective way to execute SQL statements.statements.
4© 2002 Solution Beacon, LLC. All Rights Reserved.
Cost Based Optimizer BasicsCost Based Optimizer Basics
Definition:Definition: Cost Based OptimizerCost Based Optimizer
Determines the most efficient way to Determines the most efficient way to execute a SQL statement based on execute a SQL statement based on statistical data stored in the data statistical data stored in the data dictionaries.dictionaries.
Rule Based OptimizerRule Based Optimizer A fixed ranking system to determine the A fixed ranking system to determine the
most efficient access method when most efficient access method when executing a SQL statement.executing a SQL statement.
5© 2002 Solution Beacon, LLC. All Rights Reserved.
Cost Based Optimizer BasicsCost Based Optimizer Basics
How Does CBO Work?How Does CBO Work? The optimizer creates a set of potential The optimizer creates a set of potential
execution plans for the SQL statement execution plans for the SQL statement based on available access paths and based on available access paths and hints.hints.
The optimizer estimates the The optimizer estimates the costcost of each of each execution plan based on statistics in the execution plan based on statistics in the data dictionary. data dictionary.
The optimizer compares the costs of the The optimizer compares the costs of the execution plans and chooses the one execution plans and chooses the one with the lowest cost.with the lowest cost.
6© 2002 Solution Beacon, LLC. All Rights Reserved.
Cost Based Optimizer BasicsCost Based Optimizer Basics
How Does CBO Work?How Does CBO Work? CBO CBO CareCare
init.ora parameters init.ora parameters CBO CBO FeedingFeeding
DBA Food DBA Food •Gather StatisticsGather Statistics
Developer FoodDeveloper Food•SQL TuningSQL Tuning
7© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO CareCBO Care
Oracle Applications 11i require particular Oracle Applications 11i require particular init.ora parameters to be set up for the init.ora parameters to be set up for the CBO use:CBO use:
Check current init.ora parameters Check current init.ora parameters settings:settings:
$FND_TOP/sql/AFCHKCBO.sql script$FND_TOP/sql/AFCHKCBO.sql script OROR from SQL*Plus, query v$parameter table:from SQL*Plus, query v$parameter table: select name, value from v$parameter;select name, value from v$parameter;
8© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO CareCBO Care
Recommended init .ora Parameter Recommended init .ora Parameter Settings:Settings: optimizer_features_enable = 8.1.7optimizer_features_enable = 8.1.7 optimizer_mode = CHOOSEoptimizer_mode = CHOOSE _optimizer_undo_changes = FALSE_optimizer_undo_changes = FALSE _optimizer_mode_force = TRUE_optimizer_mode_force = TRUE db_file_multiblock_read_count = 8db_file_multiblock_read_count = 8 optimizer_max_permutations = 2000optimizer_max_permutations = 2000
9© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO CareCBO Care
Recommended init.ora Parameter Recommended init.ora Parameter Settings:Settings: _complex_view_merging = TRUE_complex_view_merging = TRUE _sort_elimination_cost_ratio = 5_sort_elimination_cost_ratio = 5 _use_column_stats_for_function = TRUE_use_column_stats_for_function = TRUE _like_with_bind_as_equality = TRUE_like_with_bind_as_equality = TRUE _or_expand_nvl_predicate = TRUE_or_expand_nvl_predicate = TRUE _push_join_union_view = TRUE_push_join_union_view = TRUE
10© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO CareCBO Care
Recommended init.ora Parameter Recommended init.ora Parameter Settings:Settings: _table_scan_cost_plus_one = TRUE_table_scan_cost_plus_one = TRUE _push_join_predicate = TRUE_push_join_predicate = TRUE _fast_full_scan_enabled = FALSE_fast_full_scan_enabled = FALSE _ordered_nested_loop = TRUE_ordered_nested_loop = TRUE optimizer_percent_parallel = 0optimizer_percent_parallel = 0 query_rewrite_enabled = TRUEquery_rewrite_enabled = TRUE compatible = 8.1.7compatible = 8.1.7
11© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO CareCBO Care
Two Often-Overlooked Parameters:Two Often-Overlooked Parameters: optimizer_index_caching = 90 optimizer_index_caching = 90 (indicates to the CBO how often index (indicates to the CBO how often index
blocks are cached in the Buffer Cache blocks are cached in the Buffer Cache default 0)default 0)
optimizer_index_cost_adj = 10 optimizer_index_cost_adj = 10 (tells the CBO how expensive index (tells the CBO how expensive index
scans are in relation to full-table scans are in relation to full-table scans default 100)scans default 100)
12© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO FeedingCBO Feeding
Generating Statistics in 11Generating Statistics in 11ii Need To Keep Statistics Current ! FND_STATS package is used to generate FND_STATS package is used to generate
statisticstatistic (Not ANALYZE, Not DBMS_STATS)
Sample FND_STATS package procedures:
GATHER_INDEX_STATSGATHER_INDEX_STATSBACKUP_SCHEMA_STATSBACKUP_SCHEMA_STATSRESTORE_TABLE_STATSRESTORE_TABLE_STATSVERIFY_STATSVERIFY_STATS
13© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO FeedingCBO Feeding
Examples:Examples: Run FND_STATS package from SQL*PlusRun FND_STATS package from SQL*Plus
SQL > exec fnd_stats.gather_schema_statistics (‘AR’) SQL > exec fnd_stats.gather_schema_statistics (‘AR’) ( For a specific schema )( For a specific schema )
SQL > exec fnd_stats.gather_schema_statistics (‘ALL’)SQL > exec fnd_stats.gather_schema_statistics (‘ALL’) ( For all schemas )( For all schemas ) SQL > exec fnd_stats.gather_schema_statistics (‘GL’, SQL > exec fnd_stats.gather_schema_statistics (‘GL’,
‘GL_JE_LINES’) ‘GL_JE_LINES’) ( For one table )( For one table )
14© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO FeedingCBO Feeding Generating Statistics in 11Generating Statistics in 11ii
Using the System Administrator Using the System Administrator responsibility run the following responsibility run the following concurrent programs to generate concurrent programs to generate statistics:statistics:
Gather Table StatisticsGather Table Statistics Backup Table Statistics Backup Table Statistics Restore Table StatisticsRestore Table Statistics Gather Schema StatisticsGather Schema Statistics Analyze All Index Column StatisticsAnalyze All Index Column Statistics
15© 2002 Solution Beacon, LLC. All Rights Reserved.
Gather Table StatisticsGather Table Statistics
16© 2002 Solution Beacon, LLC. All Rights Reserved.
Gather Table StatisticsGather Table Statistics
Gathers table statistics for the specified Gathers table statistics for the specified tabletable
Gathers all related index statistics by Gathers all related index statistics by defaultdefault
If backup_flag is set to BACKUP, exports If backup_flag is set to BACKUP, exports the old statistics before gathering the the old statistics before gathering the new statisticsnew statistics
Old statistics are stored in Old statistics are stored in FND_STATTAB tableFND_STATTAB table
Uses GATHER_TABLE_STATS procedureUses GATHER_TABLE_STATS procedure
17© 2002 Solution Beacon, LLC. All Rights Reserved.
Backup Table Statistics
18© 2002 Solution Beacon, LLC. All Rights Reserved.
Backup Table StatisticsBackup Table Statistics
Stores the statistics of the given table Stores the statistics of the given table unto the FND_STATTAB table.unto the FND_STATTAB table.
Backs up the related index and column Backs up the related index and column statistics by default.statistics by default.
Uses different statistics identifiersUses different statistics identifiers Can keep different versions of backup Can keep different versions of backup
with different identifiers. with different identifiers. Uses BACKUP_TABLE_STATS procedureUses BACKUP_TABLE_STATS procedure
19© 2002 Solution Beacon, LLC. All Rights Reserved.
Restore Table StatisticsRestore Table Statistics
20© 2002 Solution Beacon, LLC. All Rights Reserved.
Restore Table StatisticsRestore Table Statistics
Restores the previously backed up Restores the previously backed up table statistics from a given table statistics from a given statistics identifier.statistics identifier.
Imports index and column Imports index and column statistics associated with the statistics associated with the specified tablespecified table
Uses RESTORE_TABLE_STATS Uses RESTORE_TABLE_STATS procedureprocedure
21© 2002 Solution Beacon, LLC. All Rights Reserved.
Gather Schema StatisticsGather Schema Statistics
22© 2002 Solution Beacon, LLC. All Rights Reserved.
Gather Schema StatisticsGather Schema Statistics
Gathers specified schema level statisticsGathers specified schema level statistics Backs up existing statisticsBacks up existing statistics Creates the histogram for the specified Creates the histogram for the specified
columns in the FND_HISTOGRAM_COLS columns in the FND_HISTOGRAM_COLS tablestables
Populates default statistics for all the Populates default statistics for all the interface tables as defined in the interface tables as defined in the FND_EXCLUDE_TABLE_STATS tableFND_EXCLUDE_TABLE_STATS table
Uses GATHER_SCHEMA_STATS Uses GATHER_SCHEMA_STATS procedureprocedure
23© 2002 Solution Beacon, LLC. All Rights Reserved.
Analyze All Index ColumnsAnalyze All Index Columns
24© 2002 Solution Beacon, LLC. All Rights Reserved.
Analyze All Index ColumnsAnalyze All Index Columns
Analyzes all the indexed columns Analyzes all the indexed columns for all the tables in a given schemafor all the tables in a given schema
Backs up statistics into the Backs up statistics into the FND_STATTAB table before FND_STATTAB table before gathering statisticsgathering statistics
Uses ANALYZE_ALL_COLUMNS Uses ANALYZE_ALL_COLUMNS procedureprocedure
25© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO FeedingCBO Feeding
Now Obsolete Programs:Now Obsolete Programs: Gather Column StatisticsGather Column Statistics Gather All Column StatisticsGather All Column Statistics
See MetaLink Note See MetaLink Note 141532.1141532.1
26© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO FeedingCBO Feeding
Gather Stats on Partitioned TablesGather Stats on Partitioned Tables Pass ‘PARTITION’ in the Granularity parameter Pass ‘PARTITION’ in the Granularity parameter OROR From SQL*PlusFrom SQL*Plus
SQL> beginSQL> beginfnd_stats.gather_table_stats (fnd_stats.gather_table_stats (ownname => ‘APPLSYS’ownname => ‘APPLSYS’tabname => ‘WF_ITEM_ACTIVITY_STATUSES’,tabname => ‘WF_ITEM_ACTIVITY_STATUSES’,granularity => ‘PARTITION’);granularity => ‘PARTITION’);
end;end;
27© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO FeedingCBO Feeding
SQL TuningSQL Tuning The Oracle Way (Metalink)The Oracle Way (Metalink) Explain Plans Explain Plans Trace FilesTrace Files Histograms Histograms HintsHints Join MethodsJoin Methods
28© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO FeedingCBO Feeding
The Oracle Way (open an iTar)The Oracle Way (open an iTar) Are the init.ora parameters present and Are the init.ora parameters present and
correct?correct? Have statistics been gathered on tables and Have statistics been gathered on tables and
indexes?indexes? Have histograms been created for skewed Have histograms been created for skewed
data?data? Has statistics usage been monitored?Has statistics usage been monitored? Does your release 11i contain customizations?Does your release 11i contain customizations? Send a Trace file.Send a Trace file.
29© 2002 Solution Beacon, LLC. All Rights Reserved.
Histograms
Create for tables with Skewed DataCreate for tables with Skewed Data Large differences exist between ranges of Large differences exist between ranges of
valuesvalues For ExampleFor Example
Seasonal Business. Caps and GownsSeasonal Business. Caps and GownsOrders By MonthOrders By MonthJan Feb Mar Apr May June July Aug Sep Oct Nov DecJan Feb Mar Apr May June July Aug Sep Oct Nov Dec 1 5 200 500 500 200 40 1 1 1 5 11 5 200 500 500 200 40 1 1 1 5 1
Histograms can only be used on literalsHistograms can only be used on literals (yes/no, open/close)(yes/no, open/close)
30© 2002 Solution Beacon, LLC. All Rights Reserved.
The Big Difference
KNOW YOUR DATAKNOW YOUR DATA
31© 2002 Solution Beacon, LLC. All Rights Reserved.
Miracle Cure – SQL Tuning
Does not ExistDoes not Exist Every Business Is DifferentEvery Business Is Different All Depends on the DataAll Depends on the Data Can Change Over TimeCan Change Over Time
32© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO Feeding – SQL Tuning
Explain PlanExplain Plan Run on problematic SQL to determine Run on problematic SQL to determine
the path CBO has chosen.the path CBO has chosen. Identify Possible Full Table ScansIdentify Possible Full Table Scans
33© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO Feeding – SQL Tuning
Gather InformationGather Information EXPLAIN PLAN EXPLAIN PLAN
SET statement_id = “FEED_ME”SET statement_id = “FEED_ME”FOR select * from dual;FOR select * from dual;
Parse the InformationParse the Information Information stored in Information stored in PLAN_TABLEPLAN_TABLE
where where statement_idstatement_id = “FEED_ME” = “FEED_ME”(MetaLink (MetaLink Note:156959.1Note:156959.1))
34© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO Feeding – SQL Tuning
EXPLAIN PLAN EXPLAIN PLAN
SET statement_id = “FEED_ME”SET statement_id = “FEED_ME”
FOR select * from dual;FOR select * from dual;
Extract information from Extract information from PLAN_TABLEPLAN_TABLE
where where statement_idstatement_id = “FEED_ME” = “FEED_ME”
35© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO Feeding – SQL Tuning
Trace FilesTrace Files Generate Trace File inside ApplicationGenerate Trace File inside Application TKPROF to interpret results and check TKPROF to interpret results and check
the costs and plans for all sqlthe costs and plans for all sql
tkproftkprof tracefile outputfile [explain= ] tracefile outputfile [explain= ] [table= ] [print= ] [insert= ] [sys= ] [table= ] [print= ] [insert= ] [sys= ] [sort= ][sort= ]
36© 2002 Solution Beacon, LLC. All Rights Reserved.
Understanding Join Methods
Hash JoinsHash Joins Better for relatively large table to Better for relatively large table to
relatively small tablerelatively small table Must be equi-joinMust be equi-join
Sort/MergeSort/Merge Must be equi-joinMust be equi-join
Nested LoopsNested Loops
37© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO Feeding – SQL Tuning
IndexesIndexes Evaluate whether an index would improve Evaluate whether an index would improve
performanceperformance Consider temporary indexes for batch Consider temporary indexes for batch
processingprocessing Create index prior to running nightly MRPCreate index prior to running nightly MRP Run MRPRun MRP Drop indexDrop index
Determine if code can be improved using Determine if code can be improved using indexed fieldsindexed fields
Only for custom codeOnly for custom code
38© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO Feeding – SQL Tuning
HintsHints Used to provide Oracle with a suggested Used to provide Oracle with a suggested
path to take.path to take. Only a suggestion, it may still choose Only a suggestion, it may still choose
another pathanother path Can hint to useCan hint to use
Rule Based OptimizationRule Based Optimization Specific IndexSpecific Index
Can place a hint on Concurrent Can place a hint on Concurrent ProgramsPrograms
39© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO Feeding – SQL Tuning Hint a Concurrent ProgramHint a Concurrent Program
40© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO Tools, Tips & Tricks
Items Worth NotingItems Worth Noting Trace Files and Explain Plan from 3Trace Files and Explain Plan from 3rdrd
party may differ.party may differ. Index chosen references fields not Index chosen references fields not
existing in where clauseexisting in where clause
41© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO Tools, Tips & TricksCBO Tools, Tips & Tricks
How to determine when statistics How to determine when statistics were last gathered?were last gathered?
Run FND.STATS.VERIFY_STATS to check Run FND.STATS.VERIFY_STATS to check when statistics were last gathered.when statistics were last gathered.Example:Example:SQL> set server output onSQL> set server output onSQL> set long 10000SQL> set long 10000
SQL> exec fnd_stats.verify_stats SQL> exec fnd_stats.verify_stats (‘QP’, ‘QP.QP_LIST_LINES’);(‘QP’, ‘QP.QP_LIST_LINES’);
42© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO Tools, Tips & TricksCBO Tools, Tips & Tricks
Use Use coe_stats.sqlcoe_stats.sql script provided script provided by Oracle supportby Oracle support Verifies statistics for all tables owned Verifies statistics for all tables owned
by installed apps modules by installed apps modules Generates COE_STATS.TXT report and Generates COE_STATS.TXT report and
coe_fix_stats.sql scriptcoe_fix_stats.sql script For more info see MetaLink Note For more info see MetaLink Note
156968.1156968.1
43© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO Tools, Tips & TricksCBO Tools, Tips & Tricks
Use Use bde_last_analyzed.sqlbde_last_analyzed.sql script script from Oracle supportfrom Oracle support Validates statistics for all tablesValidates statistics for all tables Use it when bad overall database Use it when bad overall database
performance is noticedperformance is noticed Generates bde_last_analyzed.txt reportGenerates bde_last_analyzed.txt report For more info see Metalink Note For more info see Metalink Note
163208.1163208.1
44© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO Tools, Tips & TricksCBO Tools, Tips & Tricks
How to determine when statistics How to determine when statistics were last gathered?were last gathered? Run the following sql query to for Run the following sql query to for
individual tables:individual tables:select table_name, num_rows, blocks, select table_name, num_rows, blocks, avg_row_len, avg_row_len,
to_char (to_char (last_analyzedlast_analyzed ‘MM/DD/YYYY ‘MM/DD/YYYY HH24:MI:SS’)HH24:MI:SS’)
where table_name in from where table_name in from dba_tablesdba_tables (‘TABLE1’, ‘TABLE2’, ….’TABLEn’);(‘TABLE1’, ‘TABLE2’, ….’TABLEn’);
45© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO Tools, Tips & TricksCBO Tools, Tips & Tricks
How to determine when statistics were How to determine when statistics were last gathered?last gathered? Run the following sql query to check indexes:Run the following sql query to check indexes:
SELECTSELECT index_name, num_rows, index_name, num_rows, distinct_keys “DISTINCT”, leaf_blocks, distinct_keys “DISTINCT”, leaf_blocks, clustering_factor “CF”, clustering_factor “CF”, avg_leaf_blocks_per_key “AVG_LB”avg_leaf_blocks_per_key “AVG_LB”
FROM dba_indexesFROM dba_indexes WHERE table_name in (‘TABLE1’, ‘TABLE2’, WHERE table_name in (‘TABLE1’, ‘TABLE2’,
….’TABLEn’);….’TABLEn’);
46© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO Tools, Tips & TricksCBO Tools, Tips & Tricks
When Should You Gather Statistics?When Should You Gather Statistics? The right schedule depends on your The right schedule depends on your
data and how often it changesdata and how often it changes Recommendation gather the CBO Recommendation gather the CBO
statistics at least once per weekstatistics at least once per week Gather statistics more frequently on Gather statistics more frequently on
the tables with high number of the tables with high number of transactionstransactions
47© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO Tools, Tips & TricksCBO Tools, Tips & Tricks
When Should You Gather Statistics?When Should You Gather Statistics? Never gather CBO stats for SYS or Never gather CBO stats for SYS or
SYSTEM data dictionary objectsSYSTEM data dictionary objects Gather statistic after:Gather statistic after:
a large amount of data has been entered into a large amount of data has been entered into your system your system
an upgradean upgrade applying mini packs or maintenance packsapplying mini packs or maintenance packs Understand what actions cause dramatic Understand what actions cause dramatic
differences in the number of records in a table differences in the number of records in a table (inserts, updates, deletes)(inserts, updates, deletes)
48© 2002 Solution Beacon, LLC. All Rights Reserved.
CBO Tools, Tips & TricksCBO Tools, Tips & Tricks
When Should You Gather Statistics?When Should You Gather Statistics? Gather statistics during low system load Gather statistics during low system load
periods, when number of active users is periods, when number of active users is minimumminimum
Why?Why? When object statistic are refreshed all When object statistic are refreshed all
references to that object become invalid references to that object become invalid in the shared pool or library cache, in the shared pool or library cache, requiring a new hard parse for each sql requiring a new hard parse for each sql statement referencing the objectstatement referencing the object
© 2002 Solution Beacon, LLC. All Rights Reserved.
Questions & Answers
Thank you
Sandra VucinicSandra Vucinic
[email protected]@us.ssiworldwide.com
Tammy VandermeyTammy Vandermey
[email protected]@webcentrix.net
Randy GieferRandy Giefer
[email protected]@solutionbeacon.com
© 2002 Solution Beacon, LLC. All Rights Reserved.
Performance Tuning - Archive/Purge
51© 2002 Solution Beacon, LLC. All Rights Reserved.
11i and Data Growth ManagementThe game has changed!
Upgrade storage explosion 20-50%Upgrade storage explosion 20-50% 11i storage growth rate increase 20-11i storage growth rate increase 20-
400%400% New data model = more New data model = more
data/transactiondata/transaction Reduce custom codeReduce custom code Consolidate software packages Consolidate software packages Consolidate geographiesConsolidate geographies
52© 2002 Solution Beacon, LLC. All Rights Reserved.
The Application Data Growth Paradox
Performance
Time
Data
Cost
Upgrade Treadmill
Instance de-consolidation
Inactive Data
Active Data
Unmanaged Data Growth
Success = Problems
53© 2002 Solution Beacon, LLC. All Rights Reserved.
11i and Data Growth – Financials Earlier Adopter
-
10.00
20.00
30.00
40.00
50.00
60.00
70.00
Oct
-00
Dec
-00
Feb
-01
Apr
-01
Jun-
01
Aug
-01
Oct
-01
Dec
-01
Feb
-02
Dat
a in
GB
11i Upgrade
10.7 Growth 1.5 GB/month
11i Growth 2.5 GB/month69% increase
26% Data GrowthAt Upgrade
54© 2002 Solution Beacon, LLC. All Rights Reserved.
11i Considerations: Performance Decay11i Considerations: Performance Decay
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5
5.0
5.5
6.0
Mar
-01
Apr
-01
May
-01
Jun-
01
Jul-0
1
Aug
-01
Sep
-01
Oct
-01
Nov
-01
Dec
-01
Jan-
02
Feb
-02
Dai
ly A
vera
ge
Ru
n T
ime
(Min
ute
s)
Average Run Time: Average Run Time: Increase 43% Increase 43%
Total Run Time: Total Run Time: Increase 78% Increase 78%
50
100
150
200
250
300
350
400
450
500
550
Mar
-01
Apr
-01
May
-01
Jun-
01
Jul-0
1
Aug
-01
Sep
-01
Oct
-01
Nov
-01
Dec
-01
Jan-
02
Feb
-02
Dai
ly T
ota
l Ru
n T
ime
(Ho
urs
)
Concurrent Program run times 1Concurrent Program run times 1stst Year on 11i Year on 11i
55© 2002 Solution Beacon, LLC. All Rights Reserved.
11i Re-Implementation – WW Mfg11i Re-Implementation – WW Mfg
0
50
100
150
200
250
300
De
c-0
0
Fe
b-0
1
Ap
r-0
1
Ju
n-0
1
Au
g-0
1
Oct-
01
De
c-0
1
Fe
b-0
2
Ap
r-0
2
Data
in
GB
11i Re-implementation
10.7 Growth 3 GB/month
11i Growth 13 GB/month4X+ increase
Conclusion: Archive early in 11i life-Conclusion: Archive early in 11i life-cyclecycle
56© 2002 Solution Beacon, LLC. All Rights Reserved.
Where is this growth coming from?
New 11i Data Model =More data per transactionNew 11i Data Model =More data per transaction Order ManagementOrder Management
OE to OM = 1.5 X increaseOE to OM = 1.5 X increase Workflow = additional increaseWorkflow = additional increase
PayablesPayables New Accounting Entries tables = 1.5 X New Accounting Entries tables = 1.5 X
increaseincrease WorkflowWorkflow
Used across several applicationsUsed across several applications Data growth and performance impact Data growth and performance impact
dramaticdramatic Less custom, consolidated applications, Less custom, consolidated applications,
consolidated geographies.consolidated geographies.
57© 2002 Solution Beacon, LLC. All Rights Reserved.
What Can You do About Data Growth?What Can You do About Data Growth?Most Common Oracle 11i PurgesMost Common Oracle 11i Purges
SchemaSchema PurgePurgeAP AP AP PO PurgeAP PO PurgeAR AR Call New Archive and PurgeCall New Archive and PurgeBOM BOM Delete Item Information Delete Item Information BOM BOM Purge Standard Cost HistoryPurge Standard Cost HistoryGL GL Archive and Purge Archive and Purge HR HR PayrollPayrollINV INV Transaction PurgeTransaction PurgeOM OM Sales OrdersSales OrdersFA FA Asset DepreciationAsset DepreciationPA PA Projects Projects PO PO AP PO PurgeAP PO PurgeWIP WIP WIP TransactionsWIP Transactions
* * For information on specific purges see OAUG Fall 2001 paper: An For information on specific purges see OAUG Fall 2001 paper: An Online Archive Solution Using Standard Purge Programs By Ziyad Online Archive Solution Using Standard Purge Programs By Ziyad DahbourDahbour
58© 2002 Solution Beacon, LLC. All Rights Reserved.
Why Purges are not Implemented? Purges don’t workPurges don’t work
Many fixes in the last 2 yearsMany fixes in the last 2 years Get patch current before you startGet patch current before you start
Users won’t give up the dataUsers won’t give up the data Users demand access to archive Users demand access to archive
data.data. Ideally via the application interface.Ideally via the application interface.
Oracle Purges do not provide Oracle Purges do not provide access to purged data.access to purged data.
59© 2002 Solution Beacon, LLC. All Rights Reserved.
Access to Archive Data is the Key
To get user buy in on purging you To get user buy in on purging you will need an Archive solution. will need an Archive solution. Considerations:Considerations: One time purge or ongoing?One time purge or ongoing? Frequency of ongoing purges?Frequency of ongoing purges? User access to data?User access to data? Upgrade path?Upgrade path? Speed of implementation?Speed of implementation?
60© 2002 Solution Beacon, LLC. All Rights Reserved.
Archive Alternatives
Archive OptionsArchive Options Oracle Purge - Archive SupportOracle Purge - Archive Support Tape or Online Pre-purge Copies Tape or Online Pre-purge Copies Data WarehouseData Warehouse Build it YourselfBuild it Yourself Vendor PackagesVendor Packages
BitbyBitBitbyBitOuterBayOuterBayCrystallize Crystallize
61© 2002 Solution Beacon, LLC. All Rights Reserved.
Archive Implementation
Like implementing any new feature in Like implementing any new feature in Oracle applications.Oracle applications.
Project TeamProject Team Technical: Application, and DBA.Technical: Application, and DBA.
Initial purge testingInitial purge testing Patch applicationPatch application Customization and interface impactCustomization and interface impact
Functional: Functional: Business process impactBusiness process impact Set data retention parametersSet data retention parameters TestingTesting
62© 2002 Solution Beacon, LLC. All Rights Reserved.
Archive Implementation (continued)Archive Implementation (continued)
Time Frame:Time Frame: 1 – 3 months to production1 – 3 months to production Start early, before 11i pushes your Start early, before 11i pushes your
database beyond your hardware.database beyond your hardware.
63© 2002 Solution Beacon, LLC. All Rights Reserved.
Learn More About 11i and Archiving?
Fall OAUG 2002Fall OAUG 2002 Oracle 11i Data Upgrade Roadmap – A Lifecycle-Oracle 11i Data Upgrade Roadmap – A Lifecycle-
Based Approach, Based Approach, Grant Gasson, Director of Financial Grant Gasson, Director of Financial Systems Systems Apollo Group, Inc.Apollo Group, Inc.
Data Migration Strategies for Oracle 11i Upgrades, Data Migration Strategies for Oracle 11i Upgrades, Rich Butterfield Rich Butterfield OuterBay TechnologiesOuterBay Technologies
Europe OAUG 2002Europe OAUG 2002 Worldwide Upgrade to Oracle 11i: A Recipe for Worldwide Upgrade to Oracle 11i: A Recipe for
Success, Robert P. Dallesandro Success, Robert P. Dallesandro Parsons-BrinckerhoffParsons-Brinckerhoff LIVING WITH FINANCIALS 11LIVING WITH FINANCIALS 11ii – 18 MONTHS IN – 18 MONTHS IN
PRODUCTION Stefan Ward, Kenny Howat PRODUCTION Stefan Ward, Kenny Howat Eaton Eaton CorporationCorporation
64© 2002 Solution Beacon, LLC. All Rights Reserved.
Questions & Answers
Thank you!
Rich ButterfieldRich [email protected]@outerbay.com
Randy GieferRandy [email protected]@solutionbeacon.com