SlideShare a Scribd company logo
Session ID:
Prepared by:
Reducing Your E-Business Suite
Storage Footprint With Oracle
Advanced Compression
10222
@ AndrejsKarpovs
Andrejs Karpovs
Lead Oracle Applications DBA
About me
• Lead Oracle Apps DBA / Technical infrastructure
architect at Tieto [Latvia]
• Oracle Certified Master
• Oracle ACE
• Masters Degree in Computer Science
• Speaker: Collaborate, UKOUG, OUGH, Oracle
• RAC Attack Ninja
• Blog: adbaday.wordpress.com
2
Tieto
• Tieto is the largest Nordic IT services company
3
Coming from Latvia
4
Agenda
• Compression in Oracle
• Advanced Compression
• Advanced Compression with E-Business Suite
• Particular Customer Scenario
• Implementation
• Recommendations
• Conclusion and Results
5
Disclaimer
• Not a deep dive into Oracle Compression
algorithms
• Specifically based on implementation in EBS
environment
• Not a silver bullet for Advanced Compression
implementation
– Many things varies depending on individual
environment and requirements
– Therefore many answers could be “it depends…”
• There might be exceptions
• There are different business needs and requirements
• Presentation does not scope all the conditions
• The compression ratio achieved in a given environment
depends on the nature of the data being compressed;
specifically the cardinality of the data.
Compression Concepts
• Compression is “de-duplication”
– Eliminating duplicate values within a data block
• Repeating Data Patterns are stored in block header
as symbols
• Occurrences of such data in the block are replaced
with pointers to symbols
7
Types of Compression
• Basic Compression
– ALTER TABLE T1 COMPRESS BASIC;
– CREATE TABLE T1 COMPRESS BASIC;
– CREATE TABLESPACE COMPRESSED
DATAFILE ‘/u01/oradata/compressed01.dbf’
DEFAULT COMPRESS’;
• Compression for OLTP or Advanced Compression
– ALTER TABLE T1 COMPRESS FOR OLTP;
– DBMS_REDEFINITION;
– ALTER TABLE T1 MOVE COMPRESS FOR OLTP;
• Invalidates Indexes (use UPDATE INDEXES clause)
– Separate license required
• Hybrid Columnar compression (Exadata/ZFS)
– Not covered
8
Basic Compression
• CREATE TABLE T1 COMPRESS BASIC;
– Automatically sets PCT_FREE to 0
• The data is only compressed when the insert is a
direct path insert
– INSERT /*+ APPEND*/
– COMPRESS BASIC originally was “compress for
direct_load operations”
• Simply changing a table from uncompressed to
compressed does nothing to the data
– Alter table definition
– Move table to compress its contents
– Rebuild indexes
9
Advanced Compression (I)
• CREATE TABLE T1 COMPRESS FOR OLTP;
– Leaves PCT_FREE to the same 10
• Data is compressed also with normal inserts
– First is inserted uncompressed
• When the block gets full – compression is attempted
– Compression ratio is worse than direct path insert
though
• Data compressed on updates
– Same logic as for inserts
• Simply altering the table does not compress data
– Move is required
– Rebuild indexes
10
Advanced Compression (II)
11
Advanced Compression Additional
Options
• Data compress in tables and indexes
• RMAN backups
• Data Guard Redo compression
• Data Pump compression
• Oracle Secure File LOBs
– Deduplications
– FND_LOBS
12
Customer Environment
• Oracle Database 11.2.0.4 Single Instance on ASM
• Oracle EBS R12.1.3
• Database size ~2,5 TB
• Growing about 50 GB a month
• 20 test environments: DEV, TEST, QA + different
project purposes
– Resulting ~40 TB in storage
• Business requirement pertain data for 10 years
• ULA – Unlimited License Agreement
– Advanced compression was included
13
Challenges
• Rapid data growth
– Longer backup
– Longer cloning
• Higher costs for customer
• Harder to manage
• More intensive planning required
14
Identify and evaluate additional pre-
compression possibilities
15
• Verify/implement purging
– OM, AR, Accounting tables, FA, GL, ICX, Oracle
Workflow Runtime data, etc…
• Rebuild indexes
• Reorganize database
– Resize datafiles
• Drop unneeded schemas (PERFSTAT in our case)
• alter table move
• Monitor your segment growth over time
Prepare
• Study Advanced Compression bugs and
patches/fixes and apply them
– BUG:6846187 - UPDATE ON COMPRESSED TABLE
TAKES MORE THAN SEVERAL HOURS
– NOTE:8287680.8 - Bug 8287680 - Poor insert
performance into COMPRESS table
– NOTE:987049.1 - Performance Issue After Enabling
Compression
• Or upgrade to latest DB release + PSU (11.2.0.4)
• Study MOS notes for known issues
• Measure what space savings will be done with reorg
– Reorganize tables prior to compression to see the
exact compression gains
16
Strategy
• Review your largest candidate tables
– Some of the largest transaction tables in EBS have
over 255 columns or include Long columns and are
therefore not candidates for compression.
• Start by compressing your largest tables based on
the 80/20 rule, in that 20% of your tables likely
consume 80% of the space
• Identify tables that were not updated frequently
• Oracle Compression Advisor
– http://www.oracle.com/technetwork/database/options/
compression/index.html?ssSourceSiteId=otnes
17
Execution
• In our case, just some of the key facts
– Major segments
• PA_BUDGET_LINES ~60 GB
• FA_BALANCES_REPORTS_ITF ~40 GB
• PA_RESOURCE_ASSIGNMENTS ~25 GB
• GL_JE_LINES ~27 GB
• GL_BALANCES ~22 GB
• Custom tables ~100+ GB
• Indexes
– PA_BUDGET_LINES_N1 ~30 GB
– FA_BALANCES_REPORTS_ITF_N1 ~20 GB
– PA_RESOURCE_ASSIGNMENTS_U2 ~15 GB
– …
18
Placeholder for objects to be
compressed
19
Placeholder for objects to be
compressed
20
Placeholder for objects to be
compressed
21
TEST
• Try to avoid running any major project in parallel
22
Results (I)
• Before compression
– Size of candidates for compression ~400 GB
– After compression ~128 GB
– Compression Ratio ~68%
• Purge (ex., FND_LOG_MESSAGES, modules)
– ~60 GB
• Reorganize/Rebuild
– ~100 GB
• DB physical size decreased from ~2,5 TB to ~1,7
TB
23
Results (II)
24
UPDATE	INDEXES
Check	the	default	index	parallelism	before	rebuilding	 and	return	the	
value	back	or	set	to	NOPARALLEL	to	avoid	SQL	performance	regressions
• Crosscheck	and	make	sure	there	are	no		UNUSABLE	indexes	left	over
Results (III)
• Compression ratio is dependent on data nature
– More duplicates = better compression
• Compression on non-intense/read-only tables
• Typically a 2-4 times reduction can be expected
• Every environment is different
25
Timing
• Study the timings needed for compression
– Compress in cycles
– Compress in a weekend outage if allowed
• Each environment downtime is different
• Go table by table
– Biggest tables might require multiple hours time
• Go together with database reorganization if possible
• Use DBMS_REDEFINITION
– Online
• Use Parallel clause
– ALTER TABLE TEST COMPRESS FOR OLTP
PARALLEL 20;
26
Are we there yet?
• When they said, “Just enable Advanced
Compression and see what happens”
27
@DBAReactions
Benchmarking
• Identify your own testing strategy
– In my case it was combined with a migration project
• Measure CPU overhead
• Identify SLA requirements for particular jobs
• Load testing tools
• Batch processing simulation (CONCURRENT
REQUESTS)
• Involve functional team as much as possible in
testing
• Use AWR
– StatsPack
• Cloud Control
28
AWR
Before compression After compression
29
Side Effects (I)
• Performance impact – good or bad?
– Retrieving same data from fewer blocks
– Fewer physicalreads
• Less I/O
• Inserts and updates may trigger block compression
– Increase in CPU consumption
• Index compression
– Execution plan may change
• If the size become much lower, full index scan might be
chosen rather than range scan
• Additional overhead with db_block_checking = TRUE
– More CPU
– “Database corruption is exceptionally rare and Block Checking is not
recommended for EBS.”
30
Side Effects (II): Redo and Undo
• Amount of Undo and Redo will be greater than in
non-compressed table during update
– Whatever is written to undo, also is written to redo
• http://oraganism.wordpress.com/2013/01/20/advanc
ed-compression-visualising-insert-overhead/
31
Side Effects (III)
• Row chaining
– Migrated rows during intensive table UPDATE
• Partial loss of compression
• ITL contention
– Block density increased
• Concurrency
32
Recommendations (I)
• Index Compression
– Minimize execution plan changes
• Patches
– Review all available patches and make sure you are
not facing any bug
– List of Critical Patches Required For Oracle 11g Table
Compression (Doc ID 1061366.1)
• Avoid using High Transactional tables (ex.,
FND_CONCURRENT_REQUESTS)
• When loading many rows use direct path inserts
• Row migration
– Play with PCTFREE value for problematic tables
– Leaving enough room for updates; preventing
recompression and chaining
33
Recommendations (II)
• SQL Plan Regressions
– At first, gather statistics on the objects
• Consider using SQL Profiles or SQL Plan Baselines
• Remove db_block_checking if not necessary
• If the situation in critical, you can always
decompress
• Master Note for OLTP Compression (Doc ID
1223705.1)
34
Recommendations (III)
• LOBS
– Needs to be converted to SecureFile LOBS
– How to convert FND_LOBS from basicfile to
securefile LOBS
– Doc ID 1451379.1
• https://blogs.oracle.com/stevenChan/entry/using_se
curefiles_with_e-business_suite_databases
• Use deduplication
• Ulitise DBMS_REDIFINITION
35
Results
• CPU Usage
– 7% increase in CPU time
• DB sequential reads reduced 20%
• SQL Performance
– Some of the Execution plans changed reducing
performance
• Improved Self-Service flow response times
– More read intensive
36
Advanced Compression Considerations
• How much will we save in storage?
– Will it balance the product cost?
• How much will this impact our performance?
– Every environment will vary, how much will yours be
impacted
• How much will the implementation cost us?
• How much risk is there
– What things should we test
– How much should we test
37
Pros and Cons
Advantages
• Reduce storage
requirements
• Save costs
• May improve query
performance
• Reduction in I/O as
fewer blocks are
accessed for a given
set of rows
Disadvantages
• CPU overhead
• SQL Plan regressions
• Row Chaining
• ITL Contention
• Not suited for High
Transaction tables
38
Future Plans
• Test RMAN backup compression for EBS database
– Not really usable
39
RMAN backup advanced compression
40
Future plans (II)
• Index compression
• FND_LOBS
– Deduplication
• 12c compression new features?
41
Thank you!
Any questions?

More Related Content

What's hot

Oracle backup and recovery
Oracle backup and recoveryOracle backup and recovery
Oracle backup and recovery
Yogiji Creations
 
Oracle Real Application Clusters (RAC) 12c Rel. 2 - Operational Best Practices
Oracle Real Application Clusters (RAC) 12c Rel. 2 - Operational Best PracticesOracle Real Application Clusters (RAC) 12c Rel. 2 - Operational Best Practices
Oracle Real Application Clusters (RAC) 12c Rel. 2 - Operational Best Practices
Markus Michalewicz
 
Oracle Database performance tuning using oratop
Oracle Database performance tuning using oratopOracle Database performance tuning using oratop
Oracle Database performance tuning using oratop
Sandesh Rao
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group Replication
Frederic Descamps
 
Understanding oracle rac internals part 1 - slides
Understanding oracle rac internals   part 1 - slidesUnderstanding oracle rac internals   part 1 - slides
Understanding oracle rac internals part 1 - slides
Mohamed Farouk
 
Exadata master series_asm_2020
Exadata master series_asm_2020Exadata master series_asm_2020
Exadata master series_asm_2020
Anil Nair
 
Introduction to Galera Cluster
Introduction to Galera ClusterIntroduction to Galera Cluster
Introduction to Galera Cluster
Codership Oy - Creators of Galera Cluster
 
Understanding oracle rac internals part 2 - slides
Understanding oracle rac internals   part 2 - slidesUnderstanding oracle rac internals   part 2 - slides
Understanding oracle rac internals part 2 - slides
Mohamed Farouk
 
What to Expect From Oracle database 19c
What to Expect From Oracle database 19cWhat to Expect From Oracle database 19c
What to Expect From Oracle database 19c
Maria Colgan
 
MySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & OperationsMySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & Operations
Frederic Descamps
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Zohar Elkayam
 
MySQL Replication
MySQL ReplicationMySQL Replication
MySQL Replication
Mark Swarbrick
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuning
Simon Huang
 
監査ログをもっと身近に!〜統合監査のすすめ〜
監査ログをもっと身近に!〜統合監査のすすめ〜監査ログをもっと身近に!〜統合監査のすすめ〜
監査ログをもっと身近に!〜統合監査のすすめ〜
Michitoshi Yoshida
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
Ulf Wendel
 
Adop patching gotchas ppt
Adop patching gotchas pptAdop patching gotchas ppt
Adop patching gotchas ppt
OT Ometie
 
Adapting and adopting spm v04
Adapting and adopting spm v04Adapting and adopting spm v04
Adapting and adopting spm v04
Carlos Sierra
 
Change Data Streaming Patterns for Microservices With Debezium
Change Data Streaming Patterns for Microservices With Debezium Change Data Streaming Patterns for Microservices With Debezium
Change Data Streaming Patterns for Microservices With Debezium
confluent
 
Backup and recovery in oracle
Backup and recovery in oracleBackup and recovery in oracle
Backup and recovery in oracle
sadegh salehi
 
MySQL GTID 시작하기
MySQL GTID 시작하기MySQL GTID 시작하기
MySQL GTID 시작하기
I Goo Lee
 

What's hot (20)

Oracle backup and recovery
Oracle backup and recoveryOracle backup and recovery
Oracle backup and recovery
 
Oracle Real Application Clusters (RAC) 12c Rel. 2 - Operational Best Practices
Oracle Real Application Clusters (RAC) 12c Rel. 2 - Operational Best PracticesOracle Real Application Clusters (RAC) 12c Rel. 2 - Operational Best Practices
Oracle Real Application Clusters (RAC) 12c Rel. 2 - Operational Best Practices
 
Oracle Database performance tuning using oratop
Oracle Database performance tuning using oratopOracle Database performance tuning using oratop
Oracle Database performance tuning using oratop
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group Replication
 
Understanding oracle rac internals part 1 - slides
Understanding oracle rac internals   part 1 - slidesUnderstanding oracle rac internals   part 1 - slides
Understanding oracle rac internals part 1 - slides
 
Exadata master series_asm_2020
Exadata master series_asm_2020Exadata master series_asm_2020
Exadata master series_asm_2020
 
Introduction to Galera Cluster
Introduction to Galera ClusterIntroduction to Galera Cluster
Introduction to Galera Cluster
 
Understanding oracle rac internals part 2 - slides
Understanding oracle rac internals   part 2 - slidesUnderstanding oracle rac internals   part 2 - slides
Understanding oracle rac internals part 2 - slides
 
What to Expect From Oracle database 19c
What to Expect From Oracle database 19cWhat to Expect From Oracle database 19c
What to Expect From Oracle database 19c
 
MySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & OperationsMySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & Operations
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
 
MySQL Replication
MySQL ReplicationMySQL Replication
MySQL Replication
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuning
 
監査ログをもっと身近に!〜統合監査のすすめ〜
監査ログをもっと身近に!〜統合監査のすすめ〜監査ログをもっと身近に!〜統合監査のすすめ〜
監査ログをもっと身近に!〜統合監査のすすめ〜
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
Adop patching gotchas ppt
Adop patching gotchas pptAdop patching gotchas ppt
Adop patching gotchas ppt
 
Adapting and adopting spm v04
Adapting and adopting spm v04Adapting and adopting spm v04
Adapting and adopting spm v04
 
Change Data Streaming Patterns for Microservices With Debezium
Change Data Streaming Patterns for Microservices With Debezium Change Data Streaming Patterns for Microservices With Debezium
Change Data Streaming Patterns for Microservices With Debezium
 
Backup and recovery in oracle
Backup and recovery in oracleBackup and recovery in oracle
Backup and recovery in oracle
 
MySQL GTID 시작하기
MySQL GTID 시작하기MySQL GTID 시작하기
MySQL GTID 시작하기
 

Viewers also liked

4wives
4wives4wives
20 ideas-for-using-mobile-phones-in-language-classroom-
20 ideas-for-using-mobile-phones-in-language-classroom-20 ideas-for-using-mobile-phones-in-language-classroom-
20 ideas-for-using-mobile-phones-in-language-classroom-
Kawther Ibrahem
 
50 ways to cope with stress
50 ways to cope with stress50 ways to cope with stress
50 ways to cope with stress
Gantsetseg Paajii
 
20 ideas-for-using-mobile-phones-in-language-classroom-
20 ideas-for-using-mobile-phones-in-language-classroom-20 ideas-for-using-mobile-phones-in-language-classroom-
20 ideas-for-using-mobile-phones-in-language-classroom-
غاده محمد
 
Blumhouse productions
Blumhouse productionsBlumhouse productions
Blumhouse productions
013632
 
Cant talesintro
Cant talesintroCant talesintro
Cant talesintro
DanielleyNelli
 
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and AdministerOracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Andrejs Karpovs
 
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and AdministerOracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
Andrejs Karpovs
 

Viewers also liked (9)

4wives
4wives4wives
4wives
 
20 ideas-for-using-mobile-phones-in-language-classroom-
20 ideas-for-using-mobile-phones-in-language-classroom-20 ideas-for-using-mobile-phones-in-language-classroom-
20 ideas-for-using-mobile-phones-in-language-classroom-
 
50 ways to cope with stress
50 ways to cope with stress50 ways to cope with stress
50 ways to cope with stress
 
20 ideas-for-using-mobile-phones-in-language-classroom-
20 ideas-for-using-mobile-phones-in-language-classroom-20 ideas-for-using-mobile-phones-in-language-classroom-
20 ideas-for-using-mobile-phones-in-language-classroom-
 
halloween’s day
halloween’s dayhalloween’s day
halloween’s day
 
Blumhouse productions
Blumhouse productionsBlumhouse productions
Blumhouse productions
 
Cant talesintro
Cant talesintroCant talesintro
Cant talesintro
 
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and AdministerOracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
 
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and AdministerOracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
 

Similar to Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compression

Reduce planned database down time with Oracle technology
Reduce planned database down time with Oracle technologyReduce planned database down time with Oracle technology
Reduce planned database down time with Oracle technology
Kirill Loifman
 
Time Travelling With DB2 10 For zOS
Time Travelling With DB2 10 For zOSTime Travelling With DB2 10 For zOS
Time Travelling With DB2 10 For zOS
Laura Hood
 
collab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdfcollab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdf
ElboulmaniMohamed
 
Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502
kaziul Islam Bulbul
 
Perfect trio : temporal tables, transparent archiving in db2 for z_os and idaa
Perfect trio : temporal tables, transparent archiving in db2 for z_os and idaaPerfect trio : temporal tables, transparent archiving in db2 for z_os and idaa
Perfect trio : temporal tables, transparent archiving in db2 for z_os and idaa
Cuneyt Goksu
 
Deep Dive on Amazon Redshift
Deep Dive on Amazon RedshiftDeep Dive on Amazon Redshift
Deep Dive on Amazon Redshift
Amazon Web Services
 
Properly Use Parallel DML for ETL
Properly Use Parallel DML for ETLProperly Use Parallel DML for ETL
Properly Use Parallel DML for ETL
Andrej Pashchenko
 
IMS05 IMS V14 8gb osam for haldb
IMS05   IMS V14 8gb osam for haldbIMS05   IMS V14 8gb osam for haldb
IMS05 IMS V14 8gb osam for haldb
Robert Hain
 
Database 12c is ready for you... Are you ready for 12c?
Database 12c is ready for you... Are you ready for 12c?Database 12c is ready for you... Are you ready for 12c?
Database 12c is ready for you... Are you ready for 12c?
Performance Tuning Corporation
 
Deep Dive on Amazon Redshift
Deep Dive on Amazon RedshiftDeep Dive on Amazon Redshift
Deep Dive on Amazon Redshift
Amazon Web Services
 
Get More Out of MySQL with TokuDB
Get More Out of MySQL with TokuDBGet More Out of MySQL with TokuDB
Get More Out of MySQL with TokuDB
Tim Callaghan
 
Redefining tables online without surprises
Redefining tables online without surprisesRedefining tables online without surprises
Redefining tables online without surprises
Nelson Calero
 
ORACLE 12C-New-Features
ORACLE 12C-New-FeaturesORACLE 12C-New-Features
ORACLE 12C-New-Features
Navneet Upneja
 
NoCOUG_201411_Patel_Managing_a_Large_OLTP_Database
NoCOUG_201411_Patel_Managing_a_Large_OLTP_DatabaseNoCOUG_201411_Patel_Managing_a_Large_OLTP_Database
NoCOUG_201411_Patel_Managing_a_Large_OLTP_Database
Paresh Patel
 
Database performance tuning and query optimization
Database performance tuning and query optimizationDatabase performance tuning and query optimization
Database performance tuning and query optimization
Dhani Ahmad
 
Pre and post tips to installing sql server correctly
Pre and post tips to installing sql server correctlyPre and post tips to installing sql server correctly
Pre and post tips to installing sql server correctly
Antonios Chatzipavlis
 
Maaz Anjum - IOUG Collaborate 2013 - An Insight into Space Realization on ODA...
Maaz Anjum - IOUG Collaborate 2013 - An Insight into Space Realization on ODA...Maaz Anjum - IOUG Collaborate 2013 - An Insight into Space Realization on ODA...
Maaz Anjum - IOUG Collaborate 2013 - An Insight into Space Realization on ODA...
Maaz Anjum
 
SQLDay2013_MarcinSzeliga_StoredProcedures
SQLDay2013_MarcinSzeliga_StoredProceduresSQLDay2013_MarcinSzeliga_StoredProcedures
SQLDay2013_MarcinSzeliga_StoredProcedures
Polish SQL Server User Group
 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_features
AiougVizagChapter
 
OOW13 Exadata and ODI with Parallel
OOW13 Exadata and ODI with ParallelOOW13 Exadata and ODI with Parallel
OOW13 Exadata and ODI with Parallel
Kellyn Pot'Vin-Gorman
 

Similar to Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compression (20)

Reduce planned database down time with Oracle technology
Reduce planned database down time with Oracle technologyReduce planned database down time with Oracle technology
Reduce planned database down time with Oracle technology
 
Time Travelling With DB2 10 For zOS
Time Travelling With DB2 10 For zOSTime Travelling With DB2 10 For zOS
Time Travelling With DB2 10 For zOS
 
collab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdfcollab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdf
 
Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502
 
Perfect trio : temporal tables, transparent archiving in db2 for z_os and idaa
Perfect trio : temporal tables, transparent archiving in db2 for z_os and idaaPerfect trio : temporal tables, transparent archiving in db2 for z_os and idaa
Perfect trio : temporal tables, transparent archiving in db2 for z_os and idaa
 
Deep Dive on Amazon Redshift
Deep Dive on Amazon RedshiftDeep Dive on Amazon Redshift
Deep Dive on Amazon Redshift
 
Properly Use Parallel DML for ETL
Properly Use Parallel DML for ETLProperly Use Parallel DML for ETL
Properly Use Parallel DML for ETL
 
IMS05 IMS V14 8gb osam for haldb
IMS05   IMS V14 8gb osam for haldbIMS05   IMS V14 8gb osam for haldb
IMS05 IMS V14 8gb osam for haldb
 
Database 12c is ready for you... Are you ready for 12c?
Database 12c is ready for you... Are you ready for 12c?Database 12c is ready for you... Are you ready for 12c?
Database 12c is ready for you... Are you ready for 12c?
 
Deep Dive on Amazon Redshift
Deep Dive on Amazon RedshiftDeep Dive on Amazon Redshift
Deep Dive on Amazon Redshift
 
Get More Out of MySQL with TokuDB
Get More Out of MySQL with TokuDBGet More Out of MySQL with TokuDB
Get More Out of MySQL with TokuDB
 
Redefining tables online without surprises
Redefining tables online without surprisesRedefining tables online without surprises
Redefining tables online without surprises
 
ORACLE 12C-New-Features
ORACLE 12C-New-FeaturesORACLE 12C-New-Features
ORACLE 12C-New-Features
 
NoCOUG_201411_Patel_Managing_a_Large_OLTP_Database
NoCOUG_201411_Patel_Managing_a_Large_OLTP_DatabaseNoCOUG_201411_Patel_Managing_a_Large_OLTP_Database
NoCOUG_201411_Patel_Managing_a_Large_OLTP_Database
 
Database performance tuning and query optimization
Database performance tuning and query optimizationDatabase performance tuning and query optimization
Database performance tuning and query optimization
 
Pre and post tips to installing sql server correctly
Pre and post tips to installing sql server correctlyPre and post tips to installing sql server correctly
Pre and post tips to installing sql server correctly
 
Maaz Anjum - IOUG Collaborate 2013 - An Insight into Space Realization on ODA...
Maaz Anjum - IOUG Collaborate 2013 - An Insight into Space Realization on ODA...Maaz Anjum - IOUG Collaborate 2013 - An Insight into Space Realization on ODA...
Maaz Anjum - IOUG Collaborate 2013 - An Insight into Space Realization on ODA...
 
SQLDay2013_MarcinSzeliga_StoredProcedures
SQLDay2013_MarcinSzeliga_StoredProceduresSQLDay2013_MarcinSzeliga_StoredProcedures
SQLDay2013_MarcinSzeliga_StoredProcedures
 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_features
 
OOW13 Exadata and ODI with Parallel
OOW13 Exadata and ODI with ParallelOOW13 Exadata and ODI with Parallel
OOW13 Exadata and ODI with Parallel
 

More from Andrejs Karpovs

Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Bus...
Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Bus...Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Bus...
Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Bus...
Andrejs Karpovs
 
E-Business Suite Rapid Provisioning Using Latest Features Of Oracle Database 12c
E-Business Suite Rapid Provisioning Using Latest Features Of Oracle Database 12cE-Business Suite Rapid Provisioning Using Latest Features Of Oracle Database 12c
E-Business Suite Rapid Provisioning Using Latest Features Of Oracle Database 12c
Andrejs Karpovs
 
Fusion Applications Bare Metal Provisioning - Lessons Learned
Fusion Applications Bare Metal Provisioning - Lessons LearnedFusion Applications Bare Metal Provisioning - Lessons Learned
Fusion Applications Bare Metal Provisioning - Lessons Learned
Andrejs Karpovs
 
EBS on ACFS white paper
EBS on ACFS white paperEBS on ACFS white paper
EBS on ACFS white paper
Andrejs Karpovs
 
Oracle cloud storage and file system
Oracle cloud storage and file systemOracle cloud storage and file system
Oracle cloud storage and file system
Andrejs Karpovs
 
Using ACFS as a Storage for EBS
Using ACFS as a Storage for EBSUsing ACFS as a Storage for EBS
Using ACFS as a Storage for EBS
Andrejs Karpovs
 

More from Andrejs Karpovs (6)

Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Bus...
Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Bus...Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Bus...
Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Bus...
 
E-Business Suite Rapid Provisioning Using Latest Features Of Oracle Database 12c
E-Business Suite Rapid Provisioning Using Latest Features Of Oracle Database 12cE-Business Suite Rapid Provisioning Using Latest Features Of Oracle Database 12c
E-Business Suite Rapid Provisioning Using Latest Features Of Oracle Database 12c
 
Fusion Applications Bare Metal Provisioning - Lessons Learned
Fusion Applications Bare Metal Provisioning - Lessons LearnedFusion Applications Bare Metal Provisioning - Lessons Learned
Fusion Applications Bare Metal Provisioning - Lessons Learned
 
EBS on ACFS white paper
EBS on ACFS white paperEBS on ACFS white paper
EBS on ACFS white paper
 
Oracle cloud storage and file system
Oracle cloud storage and file systemOracle cloud storage and file system
Oracle cloud storage and file system
 
Using ACFS as a Storage for EBS
Using ACFS as a Storage for EBSUsing ACFS as a Storage for EBS
Using ACFS as a Storage for EBS
 

Recently uploaded

SAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloudSAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloud
maazsz111
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 

Recently uploaded (20)

SAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloudSAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloud
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 

Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compression

  • 1. Session ID: Prepared by: Reducing Your E-Business Suite Storage Footprint With Oracle Advanced Compression 10222 @ AndrejsKarpovs Andrejs Karpovs Lead Oracle Applications DBA
  • 2. About me • Lead Oracle Apps DBA / Technical infrastructure architect at Tieto [Latvia] • Oracle Certified Master • Oracle ACE • Masters Degree in Computer Science • Speaker: Collaborate, UKOUG, OUGH, Oracle • RAC Attack Ninja • Blog: adbaday.wordpress.com 2
  • 3. Tieto • Tieto is the largest Nordic IT services company 3
  • 5. Agenda • Compression in Oracle • Advanced Compression • Advanced Compression with E-Business Suite • Particular Customer Scenario • Implementation • Recommendations • Conclusion and Results 5
  • 6. Disclaimer • Not a deep dive into Oracle Compression algorithms • Specifically based on implementation in EBS environment • Not a silver bullet for Advanced Compression implementation – Many things varies depending on individual environment and requirements – Therefore many answers could be “it depends…” • There might be exceptions • There are different business needs and requirements • Presentation does not scope all the conditions • The compression ratio achieved in a given environment depends on the nature of the data being compressed; specifically the cardinality of the data.
  • 7. Compression Concepts • Compression is “de-duplication” – Eliminating duplicate values within a data block • Repeating Data Patterns are stored in block header as symbols • Occurrences of such data in the block are replaced with pointers to symbols 7
  • 8. Types of Compression • Basic Compression – ALTER TABLE T1 COMPRESS BASIC; – CREATE TABLE T1 COMPRESS BASIC; – CREATE TABLESPACE COMPRESSED DATAFILE ‘/u01/oradata/compressed01.dbf’ DEFAULT COMPRESS’; • Compression for OLTP or Advanced Compression – ALTER TABLE T1 COMPRESS FOR OLTP; – DBMS_REDEFINITION; – ALTER TABLE T1 MOVE COMPRESS FOR OLTP; • Invalidates Indexes (use UPDATE INDEXES clause) – Separate license required • Hybrid Columnar compression (Exadata/ZFS) – Not covered 8
  • 9. Basic Compression • CREATE TABLE T1 COMPRESS BASIC; – Automatically sets PCT_FREE to 0 • The data is only compressed when the insert is a direct path insert – INSERT /*+ APPEND*/ – COMPRESS BASIC originally was “compress for direct_load operations” • Simply changing a table from uncompressed to compressed does nothing to the data – Alter table definition – Move table to compress its contents – Rebuild indexes 9
  • 10. Advanced Compression (I) • CREATE TABLE T1 COMPRESS FOR OLTP; – Leaves PCT_FREE to the same 10 • Data is compressed also with normal inserts – First is inserted uncompressed • When the block gets full – compression is attempted – Compression ratio is worse than direct path insert though • Data compressed on updates – Same logic as for inserts • Simply altering the table does not compress data – Move is required – Rebuild indexes 10
  • 12. Advanced Compression Additional Options • Data compress in tables and indexes • RMAN backups • Data Guard Redo compression • Data Pump compression • Oracle Secure File LOBs – Deduplications – FND_LOBS 12
  • 13. Customer Environment • Oracle Database 11.2.0.4 Single Instance on ASM • Oracle EBS R12.1.3 • Database size ~2,5 TB • Growing about 50 GB a month • 20 test environments: DEV, TEST, QA + different project purposes – Resulting ~40 TB in storage • Business requirement pertain data for 10 years • ULA – Unlimited License Agreement – Advanced compression was included 13
  • 14. Challenges • Rapid data growth – Longer backup – Longer cloning • Higher costs for customer • Harder to manage • More intensive planning required 14
  • 15. Identify and evaluate additional pre- compression possibilities 15 • Verify/implement purging – OM, AR, Accounting tables, FA, GL, ICX, Oracle Workflow Runtime data, etc… • Rebuild indexes • Reorganize database – Resize datafiles • Drop unneeded schemas (PERFSTAT in our case) • alter table move • Monitor your segment growth over time
  • 16. Prepare • Study Advanced Compression bugs and patches/fixes and apply them – BUG:6846187 - UPDATE ON COMPRESSED TABLE TAKES MORE THAN SEVERAL HOURS – NOTE:8287680.8 - Bug 8287680 - Poor insert performance into COMPRESS table – NOTE:987049.1 - Performance Issue After Enabling Compression • Or upgrade to latest DB release + PSU (11.2.0.4) • Study MOS notes for known issues • Measure what space savings will be done with reorg – Reorganize tables prior to compression to see the exact compression gains 16
  • 17. Strategy • Review your largest candidate tables – Some of the largest transaction tables in EBS have over 255 columns or include Long columns and are therefore not candidates for compression. • Start by compressing your largest tables based on the 80/20 rule, in that 20% of your tables likely consume 80% of the space • Identify tables that were not updated frequently • Oracle Compression Advisor – http://www.oracle.com/technetwork/database/options/ compression/index.html?ssSourceSiteId=otnes 17
  • 18. Execution • In our case, just some of the key facts – Major segments • PA_BUDGET_LINES ~60 GB • FA_BALANCES_REPORTS_ITF ~40 GB • PA_RESOURCE_ASSIGNMENTS ~25 GB • GL_JE_LINES ~27 GB • GL_BALANCES ~22 GB • Custom tables ~100+ GB • Indexes – PA_BUDGET_LINES_N1 ~30 GB – FA_BALANCES_REPORTS_ITF_N1 ~20 GB – PA_RESOURCE_ASSIGNMENTS_U2 ~15 GB – … 18
  • 19. Placeholder for objects to be compressed 19
  • 20. Placeholder for objects to be compressed 20
  • 21. Placeholder for objects to be compressed 21
  • 22. TEST • Try to avoid running any major project in parallel 22
  • 23. Results (I) • Before compression – Size of candidates for compression ~400 GB – After compression ~128 GB – Compression Ratio ~68% • Purge (ex., FND_LOG_MESSAGES, modules) – ~60 GB • Reorganize/Rebuild – ~100 GB • DB physical size decreased from ~2,5 TB to ~1,7 TB 23
  • 25. Results (III) • Compression ratio is dependent on data nature – More duplicates = better compression • Compression on non-intense/read-only tables • Typically a 2-4 times reduction can be expected • Every environment is different 25
  • 26. Timing • Study the timings needed for compression – Compress in cycles – Compress in a weekend outage if allowed • Each environment downtime is different • Go table by table – Biggest tables might require multiple hours time • Go together with database reorganization if possible • Use DBMS_REDEFINITION – Online • Use Parallel clause – ALTER TABLE TEST COMPRESS FOR OLTP PARALLEL 20; 26
  • 27. Are we there yet? • When they said, “Just enable Advanced Compression and see what happens” 27 @DBAReactions
  • 28. Benchmarking • Identify your own testing strategy – In my case it was combined with a migration project • Measure CPU overhead • Identify SLA requirements for particular jobs • Load testing tools • Batch processing simulation (CONCURRENT REQUESTS) • Involve functional team as much as possible in testing • Use AWR – StatsPack • Cloud Control 28
  • 30. Side Effects (I) • Performance impact – good or bad? – Retrieving same data from fewer blocks – Fewer physicalreads • Less I/O • Inserts and updates may trigger block compression – Increase in CPU consumption • Index compression – Execution plan may change • If the size become much lower, full index scan might be chosen rather than range scan • Additional overhead with db_block_checking = TRUE – More CPU – “Database corruption is exceptionally rare and Block Checking is not recommended for EBS.” 30
  • 31. Side Effects (II): Redo and Undo • Amount of Undo and Redo will be greater than in non-compressed table during update – Whatever is written to undo, also is written to redo • http://oraganism.wordpress.com/2013/01/20/advanc ed-compression-visualising-insert-overhead/ 31
  • 32. Side Effects (III) • Row chaining – Migrated rows during intensive table UPDATE • Partial loss of compression • ITL contention – Block density increased • Concurrency 32
  • 33. Recommendations (I) • Index Compression – Minimize execution plan changes • Patches – Review all available patches and make sure you are not facing any bug – List of Critical Patches Required For Oracle 11g Table Compression (Doc ID 1061366.1) • Avoid using High Transactional tables (ex., FND_CONCURRENT_REQUESTS) • When loading many rows use direct path inserts • Row migration – Play with PCTFREE value for problematic tables – Leaving enough room for updates; preventing recompression and chaining 33
  • 34. Recommendations (II) • SQL Plan Regressions – At first, gather statistics on the objects • Consider using SQL Profiles or SQL Plan Baselines • Remove db_block_checking if not necessary • If the situation in critical, you can always decompress • Master Note for OLTP Compression (Doc ID 1223705.1) 34
  • 35. Recommendations (III) • LOBS – Needs to be converted to SecureFile LOBS – How to convert FND_LOBS from basicfile to securefile LOBS – Doc ID 1451379.1 • https://blogs.oracle.com/stevenChan/entry/using_se curefiles_with_e-business_suite_databases • Use deduplication • Ulitise DBMS_REDIFINITION 35
  • 36. Results • CPU Usage – 7% increase in CPU time • DB sequential reads reduced 20% • SQL Performance – Some of the Execution plans changed reducing performance • Improved Self-Service flow response times – More read intensive 36
  • 37. Advanced Compression Considerations • How much will we save in storage? – Will it balance the product cost? • How much will this impact our performance? – Every environment will vary, how much will yours be impacted • How much will the implementation cost us? • How much risk is there – What things should we test – How much should we test 37
  • 38. Pros and Cons Advantages • Reduce storage requirements • Save costs • May improve query performance • Reduction in I/O as fewer blocks are accessed for a given set of rows Disadvantages • CPU overhead • SQL Plan regressions • Row Chaining • ITL Contention • Not suited for High Transaction tables 38
  • 39. Future Plans • Test RMAN backup compression for EBS database – Not really usable 39
  • 40. RMAN backup advanced compression 40
  • 41. Future plans (II) • Index compression • FND_LOBS – Deduplication • 12c compression new features? 41