SlideShare a Scribd company logo
1 of 77
Download to read offline
Upgrade to Oracle Database 19c
Performance Stability, Tips and Tricks and Underscores
Mike Dietrich
Master Product Manager
Database Upgrade and Migration
Roy Swonger
Vice President
Database Upgrade, Utilities and Patching
Virtual Classroom Series
Vice President
Database Upgrade,
Utilities & Patching
Roy F. Swonger
@RoyFSwonger
Master Product Manager
Database Upgrade
and Migrations
Mike Dietrich
https://MikeDietrichDE.com
@MikeDietrichDE
mikedietrich
Slides | https://MikeDietrichDE.com
Content Overview
Migration to
Multitenant
4
Ensure
Performance Stability
3
Upgrade to Oracle
Database 19c
2Release and
Patching Strategy
1
Your key to successful Database Upgrades
1 2 3 4
Download and install
Oracle 19c
Download and install
newest RU
Download and use
newest AutoUpgrade
eDelivery MOS: 2521164.1 MOS: 2485457.1
SPM, STA, RAT for Performance
Stability
Upgrade 19c | Speed it up
• Check when dictionary stats have been gathered the last time
• Refresh stats a day before the upgrade
column OPERATION format a40
set linesize 200
select to_char(max(END_TIME),'DD-MON-YY hh24:mi') LATEST, OPERATION
from DBA_OPTSTAT_OPERATIONS
where OPERATION in ('gather_dictionary_stats', 'gather_fixed_objects_stats')
group by operation;
Upgrade 19c | Make it run faster …
• Stats not gathered on several clustered indexes (bug 25286819)
• But wait … autoupgrade.jar does this for you already!
exec dbms_stats.gather_schema_stats('SYS');
exec dbms_stats.gather_index_stats('SYS','I_OBJ#');
exec dbms_stats.gather_index_stats('SYS','I_FILE#_BLOCK#');
exec dbms_stats.gather_index_stats('SYS','I_TS#');
exec dbms_stats.gather_index_stats('SYS','I_USER#');
exec dbms_stats.gather_index_stats('SYS','I_TOID_VERSION#');
exec dbms_stats.gather_index_stats('SYS','I_MLOG#');
exec dbms_stats.gather_index_stats('SYS','I_RG#');
Upgrade 19c | Effect of having good stats
• The larger the dictionary, the bigger the effect
• This example has been done with one of the tiny Hands-On Lab databases
Duration Reduction
No dictionary and fixed objects stats 15 min 55 sec
Gathered dictionary and fixed objects stats 14 min 10 sec 11 %
Gathered schema and cluster index stats 13 min 41 sec 3.4 % to previous
Total downtime saved 2 min 14 sec 14 % overall
Effect of Having Good Statistics | EBS
• Upgrade duration for Oracle E-Business Suite
Duration Reduction
No dictionary and fixed objects stats 10 hrs 56 min 52 sec
Gathered dictionary and fixed objects stats 52 min 42 sec 93 %
Gathered schema and cluster index stats 52 min 25 sec 0.5 % to previous
Total downtime saved 10 hrs 4 min 14 sec 93.5 % overall
Effect of Having Good Statistics
• Stale/no stats: 9:59:23.87 • Good stats: 0:00:02.33
ID OPERATION OPTIONS OBJECT_NAME
----- -------------------- -------------------- -----------
0 UPDATE STATEMENT
1 UPDATE DEPENDENCY$
2 FILTER
3 TABLE ACCESS FULL DEPENDENCY$
4 INDEX FULL SCAN I_OBJ2
5 INDEX FULL SCAN I_OBJ2
6 TABLE ACCESS BY INDEX ROWID BATCHED OBJ$
7 INDEX RANGE SCAN I_OBJ1
8 TABLE ACCESS BY INDEX ROWID BATCH OBJ$
9 INDEX RANGE SCAN I_OBJ1
ID OPERATION OPTIONS OBJECT_NAME
----- -------------------- -------------------- --------------
0 UPDATE STATEMENT
1 UPDATE DEPENDENCY$
2 FILTER
3 TABLE ACCESS FULL DEPENDENCY$
4 INDEX RANGE SCAN I_OBJ1
5 INDEX RANGE SCAN I_OBJ1
6 TABLE ACCESS BY INDEX ROWID BATCHED OBJ$
7 INDEX RANGE SCAN I_OBJ1
8 TABLE ACCESS BY INDEX ROWID BATCH OBJ$
9 INDEX RANGE SCAN I_OBJ1
AutoUpgrade
The recommended way
to upgrade databases
PhotobyJoshuaSortinoonUnsplash
Download | Get the latest autoupgrade.jar
MOS Note: 2485457.1
Upgrade | AutoUpgrade
upg>
Job Console
11.2.0.4
12.1.0.2
12.2.0.1
18c
autoupgrade.jar
MOS Note: 2485457.1
2MB
config.cfg
autoupgrade.jar
12.2.0.1
18.5.0
19c
19c
Performance Best Practices
A prescription to ensure
performance stability
Parameter Recommendations
General guidelines:
• The fewer parameters you have in your spfile, the better
• Remove outdated parameters, underscores, events ...
• Unless directed by applications (e.g. E-Business Suite, Siebel, SAP etc.) to set them
• For EBS: Interoperability notes
Things to do right after upgrade
Configure statistics history retention period
• Check space usage:
• Check retention
• Default: 31 days
• Adjust setting
• Example: 10 days
SQL> select SPACE_USAGE_KBYTES/1024 MB from
V$SYSAUX_OCCUPANTS where
OCCUPANT_NAME='SM/OPTSTAT';
SQL> select
DBMS_STATS.GET_STATS_HISTORY_RETENTION from DUAL;
SQL> exec
DBMS_STATS.ALTER_STATS_HISTORY_RETENTION(10);
Help me - I have an upgrade problem …
In >95%of all cases
PhotobynikkomacaspaconUnsplash
“ ”
an "upgrade problem" in reality is a performance issue
after upgrade, or not a database upgrade topic.
There is exactly one way to mitigate the risk:
TESTING!
The entire upgrade project of our 300 Oracle
databases at La Mobilier is running very well.
When we catch issues, we fix them before
going live.
Paolo Kreth
Group Manager Databases
La Mobiliere
“
”
Testing | Typical Mistakes
• Only 10% of real data used
• Data sets artificially created
• Tests done on a laptop
• No testing tools used
• Data from 6 months ago
• No statistics refreshed
• Testing?? Waste of time!
• Real experts fix it after go-live …
PhotobyElijahO'DonnellonUnsplash
Best Practice | COMPATIBLE vs Optimizer
• COMPATIBLE and OPTIMIZER_FEATURES_ENABLE
• Fully independent from each other
• Set COMPATIBLE to the default of the release, e.g. 19.0.0
• Change OPTIMIZER_FEATURES_ENABLE only when you have to
• Avoid it if possible
• This is not a Swiss Army knife!
• You will turn off a lot of great features
Testing | Completeness versus Costs
Costs
Completeness
low high
0%100%
80% - 90%
Costslow high
Completeness
0%100%
Testing Tools | Workflow
Collect execution
plans before upgrade
Compare AWR
Snapshots
Verify them with
SQL Performance
Analyzer
Regressed plans?
SQL Plan
Management
SQL Tuning Advisor
Verify functionality
and performance with
Database Replay
Testing Tools | Collect Plans on Production
STS

Capturing from cursor cache and AWR
into an STS does not require an extra
license for EE anymore:
Find it under: "SQL Tuning Sets" at:
https://docs.oracle.com/database/121/DBLIC/editions.htm#DBLIC109
Testing Tools | Comparison
Collect execution
plans before upgrade
Compare AWR
Snapshots
Verify them with
SQL Performance
Analyzer
Regressed plans?
SQL Plan
Management
SQL Tuning Advisor
Verify functionality
and performance with
Database Replay
Testing Tools | AWR Diff Reports
Upgrade / Migrate
11.2.0.4 19.7.0
Snapshot Interval
Compare
AWR Diff Report: awrddrpt.sql Snapshot Interval
Testing Tools | SQL Performance Analyzer
Collect execution
plans before upgrade
Compare AWR
Snapshots
Verify them with
SQL Performance
Analyzer
Regressed plans?
SQL Plan
Management
SQL Tuning Advisor
Verify functionality
and performance with
Database Replay
Testing Tools | SQL Performance Analyzer
SQL Performance Analyzer
STS
Capture SQLs
into a STS
Load STS
STS
Evaluate, compare and tune –
over and over again!
11.2.0.4 19.7.0
Upgrade / Migrate
Testing Tools | SPA - Regressed Report
Testing Tools | SQL Plan Management
Collect execution
plans before upgrade
Compare AWR
Snapshots
Verify them with
SQL Performance
Analyzer
Regressed plans?
SQL Plan
Management
Verify functionality
and performance with
Database Replay
Testing Tools | Situation after change
• Challenging to "freeze" execution plans
Parse Execute
Plan acceptable
Plan possibly
not acceptable
Conditions change:
New statistics, parameter change, upgrade


GB
HJ
...HJ
GB
NL
...NL
SQL
SQL
ExecuteParse
SQL Plan Management | Mechanism
• Phase 1 – Baseline Capture
• Set OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=TRUE
• If OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=TRUE then all found plans will be put into the baseline
Parse Execute
SQL
GB
HJ
...HJ
SQL Plan acceptable

2X
GB
HJ
...HJ
Plan Baseline
SQL MANAGEMENT BASE
Residing in SYSAUX TS.
Will occupy max. 10% of SYSAUX.
Weekly job will delete plans
not used since 53 weeks [default].
Before Oracle 12c a massive number of hints get stored –
since Oracle 12c entire plans will be kept
SQL Profiles
Initial plan
will be accepted
if repeated and
will be added to the
SQL Plan Baseline
Plan History
SQL Plan Management | Mechanism
• Phase 2 – Selection
• Same statement parsed again but a different plan will be created
GB
HJ
...HJ
Plan Baseline
Plan History
Parse Execute
SQL
GB
NL
...NL
Plan acceptable

• OPTIMIZER_USE_SQL_PLAN_BASELINES=TRUE
• OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=FALSE
• Both switched to their defaults
• Annotation:
If OCSPB=TRUE then this plan would have been added to
the baseline
New plan will be added
to the Plan History but
it won‘t be used unless
it has been verified
GB
NL
...NL
SQL Plan Management | Mechanism
• Phase 3 – Evolution
• Since Oracle 12.1.0.2:
GB
HJ
...HJ
Plan Baseline
Plan History
GB
NL
...NL
GB
NL
HJHJ
GB
HJ
...HJ
Plan Baseline
Plan History
GB
NL
...NL
GB
NL
HJHJ
Equal or better plans
can be added to the
SQL Plan Baseline
Optimizer
Worse plans
will be kept
in the Plan
History and
will get purged
New SYS_AUTO_SPM_EVOLVE_TASK
job as part of the Automatic SQL Tuning Task
Report: DBMS_SPM.REPORT_AUTO_EVOLVE_TASK
Manual: DBMS_SPM.CREATE_EVOLVE_TASK
SQL> select PARAMETER_NAME, PARAMETER_VALUE
from DBA_SQL_MANAGEMENT_CONFIG;
SQL Plan Management | Settings
• Configure SQL Plan Management (SPM)
• Check settings:
• Change retention:
• Default: 53 weeks
• Change space consumption:
• Default: 10% of SYSAUX
• Plans will be stored in a LOB
• Sources to load plans from:
SQL> exec DBMS_SPM.LOAD_PLANS_FROM_AWR (begin_snap=>29, end_snap=>69);
SQL> exec
DBMS_SPM.CONFIGURE('plan_retention_weeks',5);
SQL> exec
DBMS_SPM.CONFIGURE('space_budget_percent',5);
SQL Plan Management | Plan Stability
GB
HJ
...HJ
Plan Baseline
Plan History
STS

STSExport/Import for Migrations
Upgrade
Plans will be takenfrom STS and
addedto the SQL Plan Baseline

DBMS_SPM.LOAD_PLANS_FROM_SQLSET
Testing Tools | SQL Tuning Advisor
Collect execution
plans before upgrade
Compare AWR
Snapshots
Verify them with
SQL Performance
Analyzer
Regressed plans?
SQL Plan
Management
SQL Tuning Advisor
Verify functionality
and performance with
Database Replay
SQL Tuning Advisor | SQL Profiles
• SQL Profiles provide more information to the optimizer
• Part of the Tuning Pack
• FORCE_MATCH=TRUE
• Don't change the application code
• Persistent, transportable (MOS Note:751068.1), can be tested without risk
• Example:
PhotobyTjSedisaonUnsplash
SQL Tuning Advisor: Example
1. Problem to be solved
2. Select candidate statement to tune
3. Get SQL statement details
4. Create and run SQL Tuning task
5. View report results
SQL Tuning Example
1. Problem to be solved
SQL Tuning Example
2. Select candidate statement to tune
• Generate an AWR Report
SQL Tuning Example
3. Get SQL Statement Details
SQL Tuning Example
4. Create and run SQL Tuning task
VARIABLE stmt_task VARCHAR2(64);
EXEC :stmt_task := DBMS_SQLTUNE.CREATE_TUNING_TASK(sql_id =>
'f4k19gvr3nu38');
EXEC DBMS_SQLTUNE.EXECUTE_TUNING_TASK(:stmt_task);
SET LONG 10000
SET LONGCHUNKSIZE 10000
SET LINESIZE 100
SPOOL sql_tune_f4k19gvr3nu38.txt
SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK( :stmt_task )FROM DUAL;
SPOOL OFF;
SQL Tuning Example
5. View report results
SQL Tuning Example
5. View report results
SQL Tuning Example
5. View report results
SQL Profile - evaluation
• SQL Profiles should be evaluated before making them available to every user:
• Now evaluate the statement's profile in a limited user context
• If verification went fine, make it accessible to everybody
exec
:p_name:=dbms_sqltune.accept_sql_profile
task_name=>‘TASK_21944',name=>'XT_PROFILE',
category=>'TEST_ENV', FORCE_MATCH=>TRUE)
alter session set SQLTUNE_CATEGORY='TEST_ENV';
exec
dbms_sqltune.alter_sql_profile
(name=>'XT_PROFILE',
attribute_name=>'CATEGORY',value=>'DEFAULT')
SQL Tuning Example
5. View report results
SQL Tuning Example
5. View report results
SQL Tuning Example
6. Act on findings
• Follow 5 statistics recommendations to gather stats on 5 tables
• Result: 20x improvement!
Testing Tools | Database Replay
Collect execution
plans before upgrade
Compare AWR
Snapshots
Verify them with
SQL Performance
Analyzer
Regressed plans?
SQL Plan
Management
SQL Tuning Advisor
Verify functionality
and performance with
Database Replay
Testing Tools | Database Replay
Database Replay
Capture
Workload
Replay Workload
Compare – then restore
and run again with changes
11.2.0.4 19.7.0
Migrate
Preprocess
Workload
Slides | https://MikeDietrichDE.com
Time for a break
The "hidden" gems
Fix it when you upgrade
PhotobyandréspilborghsonUnsplash
Behavior Change 19c | Automatic SPM
• SQL Plan Management: "Automatic" and enabled on Exadata
Behavior Change 19c | Automatic SPM
• SQL Plan Management: "Automatic" and enabled on Exadata
• If you'd like to revert to 12.1 or 12.2/18c behavior:
• https://mikedietrichde.com/2019/06/03/automatic-sql-plan-management-in-oracle-database-19c/
Statistics Advisor
Since Oracle 12.2.0.1, the Statistics Advisor is active
• Some customers reported high growth of entries
• Active on Standard Edition (SE2) as well
• https://mikedietrichde.com/2017/08/22/oracle-optimizer-statistics-advisor-in-oracle-database-12-2-0-1/
• If you desire to turn it off:
• BEGIN
dbms_advisor.set_task_parameter ('AUTO_STATS_ADVISOR_TASK','_AUTO_MMON_INTERVAL',9999999999);
dbms_advisor.set_task_parameter ('AUTO_STATS_ADVISOR_TASK','_AUTO_STATS_INTERVAL',9999999999);
END;
/
Automatic SQL Tuning Set
In Oracle 19.7.0, a Automatic SQL Tuning Set gets populated
• Some customers reported high growth and consumption in SYSAUX
• See: https://mikedietrichde.com/2020/05/28/do-you-love-unexpected-surprises-sys_auto_sts-in-oracle-19-7-0/
• If you want to disable it:
• BEGIN
DBMS_AUTO_TASK_ADMIN.DISABLE(client_name=>'Auto STS Capture Task', operation=>NULL, window_name=>NULL);
END;
/
• Task is not enabled by default from Oracle 19.8.0 on
Oracle 19c | _cursor_obsolete_threshold
• MOS Note: 2431353.1
High Version Counts for SQL statements (>1024) post upgrade To 12.2 and above causing
database slow performance
• Since Oracle 12.2.0.1, the old default of 1024 has been raised to 8192
• This may lead to various drastic performance issues
• Recommendation:
• Set it to the old default to avoid mutex concurrency and other issues:
_cursor_obsolete_threshold=1024
Oracle 19c | deferred_segment_creation
• MOS Note: 1216282.1
All sorts of issues and bugs - from corruption to mutex contention to customer scripts not
operating correctly anymore
• Recommendation:
Set it to
deferred_segment_creation=false
unless you have a valid reason
Oracle 19c | Adaptive Features
• Recommendation: Set optimizer_adaptive_statistics explicitly in your SPFILE
• See:
• https://mikedietrichde.com/2018/01/18/additional-info-adaptive-features-fixes-oracle-12-1-0-2/
• MOS Note: 2187449.1 - Recommendations for Adaptive Features in Oracle Database 12.1
Oracle 12.1 optimizer_adaptive_features = TRUE
Oracle 12.2
Adaptive
Statistics
optimizer_adaptive_statistics
Default: FALSE
Adaptive
Plans
optimizer_adaptive_plans
Default: TRUE
Oracle 19c | _sql_plan_directive_mgmt_control
• MOS Note: 2209560.1 - How To Disable SQL Plan Directive (SPD)
• In order to fully disable SQL Plan Directives, you need to set:
• _sql_plan_directive_mgmt_control=0
• Otherwise the database collects SPDs in the background, but won't use it
• Having optimizer_adaptive_statistics=false - which is the default - disables only the usage
of SPDs but not their creation
"Hidden" Features | Extended VARCHAR2
• Feature Introduced in Oracle 12.1.0.2
• Allow 32kB support for (N)VARCHAR2
• Allows length >4000 byte
ALTER SYSTEM set
MAX_STRING_SIZE=EXTENDED
scope=SPFILE;
CREATE TABLE Applicants
(id NUMBER GENERATED AS IDENTITY,
first_name varchar2(30),
last_name varchar2(30),
application date,
CV varchar2(32767)
);
SHUTDOWN IMMEDIATE
STARTUP UPGRADE
@?/rdbms/admin/utl32k.sql
"Hidden" Features | Extended VARCHAR2
• Fine print:
• Oracle Forms and Reports don't support Extended VARCHAR2
• MOS Note: 2221740.1
ORA-24920 In Oracle Forms 12.2.x when using MAX_STRING_SIZE=EXTENDED
• Above 3964 byte, data will be stored in an inline SecureFile LOB
• See: http://www.ludovicocaldara.net/dba/extended-data-types-storage/
• Be aware of performance impact
• See: https://blog.dbi-services.com/12c-extended-datatypes-better-than-clob/
Cool Features | Incremental Statistics
• Introduced in Oracle 11g
• DWH, Partitioning
• Synopses on disk can consume hundreds of GB
• Since Oracle Database 12.2.0.1:
New algorithm for synopses can drastically reduce space consumption
Cool Features | Incremental Statistics
Sales Table
May 22nd 2019
May 23rd 2019
May 18th 2019
May 19th 2019
May 20th 2019
May 21st 2019
May 24rd 2019
Global
Statistic
 Global stats generated by aggregating the
original partition synopsis with the new one
A new partition is added
to the table & data is loaded

 Global stats generated by aggregating partition
level statistics and synopsis
 Retrieve synopsis for each of the other partitions
from SYSAUX
Gather partition statistics for new partition
Partition level stats are gathered & synopsis created
S1
S2
S3
S4
S5
S6
S7
SYSAUX Tablespace
Cool Features | Inc Stats Enhancement
• Enable that "changed" partitions won't be eligible for new stats generation
• Adjust the stale percentage if needed
SQL> exec
DBMS_STATS.SET_DATABASE_PREFS('INCREMENTAL_STALENESS','USE_STALE_PERCENT');
SQL> exec DBMS_STATS.SET_DATABASE_PREFS('STALE_PERCENT','12');
NEW IN
12.1
Cool Features | Inc Stats Enhancement
• Significantly smaller synopses with new algorithm
• Preference name: APPROXIMATE_NDV_ALGORITHM
• 'REPEAT OR HYPERLOGLOG' [Default]
• If synopses of old format exists, continue with the "old" algorithm
• If no or new synopses exist, use the "new" algorithm
• 'ADAPTIVE SAMPLING'
• Force to use pre-12.2 adaptive sampling algorithm – delete existing 12.2 synopses and regather - "old behavior"
• 'HYPERLOGLOG'
• Force to use the new algorithm
• Lab example:
• 8TB table with 84 partitions
• → Size in Oracle 12.1.0.2: 167 GB
• → Size in Oracle 12.2.0.1: 7 GB
NEW IN
12.2
Cool Features | Inc Stats Enhancement
• Preference: HYPERLOGLOG
• Replace "old" with "new"
- Recommended approach
• Preference: REPEAT OR HYPERLOGLOG
• Coexistence of "old" and "new"
- Issues seen at customers with stats gathering
SALESSYSAUX Tablespace
P2
P1 has a synopsis
in pre-12.2 format
New synopsis for P1 in
compact 12.2 format
Partitioned
Table
P1
exec dbms_stats.set_table_prefs(owner, table,
'approximate_ndv_algorithm', 'hyperloglog');
exec dbms_stats.set_table_prefs(owner, table,
'incremental_staleness', 'NULL')
SALESSYSAUX Tablespace
P2
P1 has a synopsis
in pre-12.2 format
Partitioned
Table
P1
exec dbms_stats.set_table_prefs(owner, table,
'approximate_ndv_algorithm', 'hyperloglog');
exec dbms_stats.set_table_prefs(owner, table,
'incremental_staleness', 'allow_mixed_format')
Synopsis forP2 in
compact12.2 format
NEW IN
12.2
Copyright © 2020 Oracle and/or its affiliates.
Now RELAX ...
Stay Calm ...
And open an SR with
Oracle Support in case
of real trouble
DEMO
Further Information
Finally …
Slides | https://MikeDietrichDE.com
HOL | https://MikeDietrichDE.com
Thank you!
Upcoming Webinars
Webinar 4:
Thursday, July 2 at 11:00h CEST
Migration to Oracle Multitenant
https://tinyurl.com/upgrade19c

More Related Content

What's hot

Oracle 12c PDB insights
Oracle 12c PDB insightsOracle 12c PDB insights
Oracle 12c PDB insightsKirill Loifman
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Aaron Shilo
 
Oracle backup and recovery
Oracle backup and recoveryOracle backup and recovery
Oracle backup and recoveryYogiji Creations
 
All of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL DeveloperAll of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL DeveloperJeff Smith
 
Oracle RAC 19c and Later - Best Practices #OOWLON
Oracle RAC 19c and Later - Best Practices #OOWLONOracle RAC 19c and Later - Best Practices #OOWLON
Oracle RAC 19c and Later - Best Practices #OOWLONMarkus Michalewicz
 
11 Understanding and Influencing the PL/SQL Compilar
11 Understanding and Influencing the PL/SQL Compilar11 Understanding and Influencing the PL/SQL Compilar
11 Understanding and Influencing the PL/SQL Compilarrehaniltifat
 
Oracle Database Management - Backup/Recovery
Oracle Database Management - Backup/RecoveryOracle Database Management - Backup/Recovery
Oracle Database Management - Backup/RecoveryChien Chung Shen
 
Oracle 12c and its pluggable databases
Oracle 12c and its pluggable databasesOracle 12c and its pluggable databases
Oracle 12c and its pluggable databasesGustavo Rene Antunez
 
Standard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & HowStandard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & HowMarkus Michalewicz
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACThe Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACMarkus Michalewicz
 
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Glen Hawkins
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuningSimon Huang
 
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 DBAsZohar Elkayam
 
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfOracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfSrirakshaSrinivasan2
 
Understanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginnersUnderstanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginnersCarlos Sierra
 
SQL Plan Directives explained
SQL Plan Directives explainedSQL Plan Directives explained
SQL Plan Directives explainedMauro Pagano
 
Oracle architecture with details-yogiji creations
Oracle architecture with details-yogiji creationsOracle architecture with details-yogiji creations
Oracle architecture with details-yogiji creationsYogiji Creations
 

What's hot (20)

Oracle 12c PDB insights
Oracle 12c PDB insightsOracle 12c PDB insights
Oracle 12c PDB insights
 
Oracle archi ppt
Oracle archi pptOracle archi ppt
Oracle archi ppt
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
 
Oracle backup and recovery
Oracle backup and recoveryOracle backup and recovery
Oracle backup and recovery
 
All of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL DeveloperAll of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL Developer
 
Oracle RAC 19c and Later - Best Practices #OOWLON
Oracle RAC 19c and Later - Best Practices #OOWLONOracle RAC 19c and Later - Best Practices #OOWLON
Oracle RAC 19c and Later - Best Practices #OOWLON
 
11 Understanding and Influencing the PL/SQL Compilar
11 Understanding and Influencing the PL/SQL Compilar11 Understanding and Influencing the PL/SQL Compilar
11 Understanding and Influencing the PL/SQL Compilar
 
Oracle Database Management - Backup/Recovery
Oracle Database Management - Backup/RecoveryOracle Database Management - Backup/Recovery
Oracle Database Management - Backup/Recovery
 
Oracle 12c and its pluggable databases
Oracle 12c and its pluggable databasesOracle 12c and its pluggable databases
Oracle 12c and its pluggable databases
 
Standard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & HowStandard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & How
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACThe Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
 
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive
 
Oracle 表格介紹
Oracle 表格介紹Oracle 表格介紹
Oracle 表格介紹
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuning
 
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
 
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfOracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
 
Long live to CMAN!
Long live to CMAN!Long live to CMAN!
Long live to CMAN!
 
Understanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginnersUnderstanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginners
 
SQL Plan Directives explained
SQL Plan Directives explainedSQL Plan Directives explained
SQL Plan Directives explained
 
Oracle architecture with details-yogiji creations
Oracle architecture with details-yogiji creationsOracle architecture with details-yogiji creations
Oracle architecture with details-yogiji creations
 

Similar to Performance Stability, Tips and Tricks and Underscores

OUG Harmony 2012 - Using SQL Plan Baselines for Performance Testing
OUG Harmony 2012 -  Using SQL Plan Baselines for Performance TestingOUG Harmony 2012 -  Using SQL Plan Baselines for Performance Testing
OUG Harmony 2012 - Using SQL Plan Baselines for Performance TestingMaris Elsins
 
Cooper Oracle 11g Overview
Cooper Oracle 11g OverviewCooper Oracle 11g Overview
Cooper Oracle 11g Overviewmoin_azeem
 
Rolta’s application testing services for handling ever changing environment.
Rolta’s application testing services for handling ever changing environment.   Rolta’s application testing services for handling ever changing environment.
Rolta’s application testing services for handling ever changing environment. Rolta
 
Presentación Oracle Database Migración consideraciones 10g/11g/12c
Presentación Oracle Database Migración consideraciones 10g/11g/12cPresentación Oracle Database Migración consideraciones 10g/11g/12c
Presentación Oracle Database Migración consideraciones 10g/11g/12cRonald Francisco Vargas Quesada
 
In Sync Running Apps On Oracle
In Sync  Running Apps On OracleIn Sync  Running Apps On Oracle
In Sync Running Apps On OracleInSync Conference
 
Modernizing SQL Server the Right Way
Modernizing SQL Server the Right WayModernizing SQL Server the Right Way
Modernizing SQL Server the Right WayJuan Fabian
 
ebs-performance-tuning-part-1-470542.pdf
ebs-performance-tuning-part-1-470542.pdfebs-performance-tuning-part-1-470542.pdf
ebs-performance-tuning-part-1-470542.pdfElboulmaniMohamed
 
Sql 2012 Upgrade Readiness Guide
Sql 2012 Upgrade Readiness GuideSql 2012 Upgrade Readiness Guide
Sql 2012 Upgrade Readiness GuidePARIKSHIT SAVJANI
 
4392091081755796971 emea10 zero_downtimeoperations
4392091081755796971 emea10 zero_downtimeoperations4392091081755796971 emea10 zero_downtimeoperations
4392091081755796971 emea10 zero_downtimeoperationsLocuto Riorama
 
My Experience Using Oracle SQL Plan Baselines 11g/12c
My Experience Using Oracle SQL Plan Baselines 11g/12cMy Experience Using Oracle SQL Plan Baselines 11g/12c
My Experience Using Oracle SQL Plan Baselines 11g/12cNelson Calero
 
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_DatabaseParesh Patel
 
Database Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance AnalysisDatabase Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance AnalysisDAGEOP LTD
 
KoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginnersKoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginnersTobias Koprowski
 
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginnersKoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginnersTobias Koprowski
 
Oracle Query Optimizer - An Introduction
Oracle Query Optimizer - An IntroductionOracle Query Optimizer - An Introduction
Oracle Query Optimizer - An Introductionadryanbub
 
HOPEX V2R1 : Database maintenance tasks
HOPEX V2R1 : Database maintenance tasksHOPEX V2R1 : Database maintenance tasks
HOPEX V2R1 : Database maintenance tasksFrédéric Sagez
 
SQLServerDays2012_SSIS_CDC
SQLServerDays2012_SSIS_CDCSQLServerDays2012_SSIS_CDC
SQLServerDays2012_SSIS_CDCKoenVerbeeck
 

Similar to Performance Stability, Tips and Tricks and Underscores (20)

OUG Harmony 2012 - Using SQL Plan Baselines for Performance Testing
OUG Harmony 2012 -  Using SQL Plan Baselines for Performance TestingOUG Harmony 2012 -  Using SQL Plan Baselines for Performance Testing
OUG Harmony 2012 - Using SQL Plan Baselines for Performance Testing
 
Cooper Oracle 11g Overview
Cooper Oracle 11g OverviewCooper Oracle 11g Overview
Cooper Oracle 11g Overview
 
Rolta’s application testing services for handling ever changing environment.
Rolta’s application testing services for handling ever changing environment.   Rolta’s application testing services for handling ever changing environment.
Rolta’s application testing services for handling ever changing environment.
 
Presentación Oracle Database Migración consideraciones 10g/11g/12c
Presentación Oracle Database Migración consideraciones 10g/11g/12cPresentación Oracle Database Migración consideraciones 10g/11g/12c
Presentación Oracle Database Migración consideraciones 10g/11g/12c
 
In Sync Running Apps On Oracle
In Sync  Running Apps On OracleIn Sync  Running Apps On Oracle
In Sync Running Apps On Oracle
 
Modernizing SQL Server the Right Way
Modernizing SQL Server the Right WayModernizing SQL Server the Right Way
Modernizing SQL Server the Right Way
 
ebs-performance-tuning-part-1-470542.pdf
ebs-performance-tuning-part-1-470542.pdfebs-performance-tuning-part-1-470542.pdf
ebs-performance-tuning-part-1-470542.pdf
 
Sql 2012 Upgrade Readiness Guide
Sql 2012 Upgrade Readiness GuideSql 2012 Upgrade Readiness Guide
Sql 2012 Upgrade Readiness Guide
 
4392091081755796971 emea10 zero_downtimeoperations
4392091081755796971 emea10 zero_downtimeoperations4392091081755796971 emea10 zero_downtimeoperations
4392091081755796971 emea10 zero_downtimeoperations
 
My Experience Using Oracle SQL Plan Baselines 11g/12c
My Experience Using Oracle SQL Plan Baselines 11g/12cMy Experience Using Oracle SQL Plan Baselines 11g/12c
My Experience Using Oracle SQL Plan Baselines 11g/12c
 
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
 
Oracle SQL Tuning
Oracle SQL TuningOracle SQL Tuning
Oracle SQL Tuning
 
Database Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance AnalysisDatabase Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance Analysis
 
rakesh_resume
rakesh_resumerakesh_resume
rakesh_resume
 
KoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginnersKoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginners
 
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginnersKoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
 
Oracle Query Optimizer - An Introduction
Oracle Query Optimizer - An IntroductionOracle Query Optimizer - An Introduction
Oracle Query Optimizer - An Introduction
 
HOPEX V2R1 : Database maintenance tasks
HOPEX V2R1 : Database maintenance tasksHOPEX V2R1 : Database maintenance tasks
HOPEX V2R1 : Database maintenance tasks
 
SQLServerDays2012_SSIS_CDC
SQLServerDays2012_SSIS_CDCSQLServerDays2012_SSIS_CDC
SQLServerDays2012_SSIS_CDC
 
Rohit_Panot
Rohit_PanotRohit_Panot
Rohit_Panot
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Performance Stability, Tips and Tricks and Underscores

  • 1. Upgrade to Oracle Database 19c Performance Stability, Tips and Tricks and Underscores Mike Dietrich Master Product Manager Database Upgrade and Migration Roy Swonger Vice President Database Upgrade, Utilities and Patching Virtual Classroom Series
  • 2. Vice President Database Upgrade, Utilities & Patching Roy F. Swonger @RoyFSwonger
  • 3. Master Product Manager Database Upgrade and Migrations Mike Dietrich https://MikeDietrichDE.com @MikeDietrichDE mikedietrich
  • 5. Content Overview Migration to Multitenant 4 Ensure Performance Stability 3 Upgrade to Oracle Database 19c 2Release and Patching Strategy 1
  • 6. Your key to successful Database Upgrades 1 2 3 4 Download and install Oracle 19c Download and install newest RU Download and use newest AutoUpgrade eDelivery MOS: 2521164.1 MOS: 2485457.1 SPM, STA, RAT for Performance Stability
  • 7. Upgrade 19c | Speed it up • Check when dictionary stats have been gathered the last time • Refresh stats a day before the upgrade column OPERATION format a40 set linesize 200 select to_char(max(END_TIME),'DD-MON-YY hh24:mi') LATEST, OPERATION from DBA_OPTSTAT_OPERATIONS where OPERATION in ('gather_dictionary_stats', 'gather_fixed_objects_stats') group by operation;
  • 8. Upgrade 19c | Make it run faster … • Stats not gathered on several clustered indexes (bug 25286819) • But wait … autoupgrade.jar does this for you already! exec dbms_stats.gather_schema_stats('SYS'); exec dbms_stats.gather_index_stats('SYS','I_OBJ#'); exec dbms_stats.gather_index_stats('SYS','I_FILE#_BLOCK#'); exec dbms_stats.gather_index_stats('SYS','I_TS#'); exec dbms_stats.gather_index_stats('SYS','I_USER#'); exec dbms_stats.gather_index_stats('SYS','I_TOID_VERSION#'); exec dbms_stats.gather_index_stats('SYS','I_MLOG#'); exec dbms_stats.gather_index_stats('SYS','I_RG#');
  • 9. Upgrade 19c | Effect of having good stats • The larger the dictionary, the bigger the effect • This example has been done with one of the tiny Hands-On Lab databases Duration Reduction No dictionary and fixed objects stats 15 min 55 sec Gathered dictionary and fixed objects stats 14 min 10 sec 11 % Gathered schema and cluster index stats 13 min 41 sec 3.4 % to previous Total downtime saved 2 min 14 sec 14 % overall
  • 10. Effect of Having Good Statistics | EBS • Upgrade duration for Oracle E-Business Suite Duration Reduction No dictionary and fixed objects stats 10 hrs 56 min 52 sec Gathered dictionary and fixed objects stats 52 min 42 sec 93 % Gathered schema and cluster index stats 52 min 25 sec 0.5 % to previous Total downtime saved 10 hrs 4 min 14 sec 93.5 % overall
  • 11. Effect of Having Good Statistics • Stale/no stats: 9:59:23.87 • Good stats: 0:00:02.33 ID OPERATION OPTIONS OBJECT_NAME ----- -------------------- -------------------- ----------- 0 UPDATE STATEMENT 1 UPDATE DEPENDENCY$ 2 FILTER 3 TABLE ACCESS FULL DEPENDENCY$ 4 INDEX FULL SCAN I_OBJ2 5 INDEX FULL SCAN I_OBJ2 6 TABLE ACCESS BY INDEX ROWID BATCHED OBJ$ 7 INDEX RANGE SCAN I_OBJ1 8 TABLE ACCESS BY INDEX ROWID BATCH OBJ$ 9 INDEX RANGE SCAN I_OBJ1 ID OPERATION OPTIONS OBJECT_NAME ----- -------------------- -------------------- -------------- 0 UPDATE STATEMENT 1 UPDATE DEPENDENCY$ 2 FILTER 3 TABLE ACCESS FULL DEPENDENCY$ 4 INDEX RANGE SCAN I_OBJ1 5 INDEX RANGE SCAN I_OBJ1 6 TABLE ACCESS BY INDEX ROWID BATCHED OBJ$ 7 INDEX RANGE SCAN I_OBJ1 8 TABLE ACCESS BY INDEX ROWID BATCH OBJ$ 9 INDEX RANGE SCAN I_OBJ1
  • 12. AutoUpgrade The recommended way to upgrade databases PhotobyJoshuaSortinoonUnsplash
  • 13. Download | Get the latest autoupgrade.jar MOS Note: 2485457.1
  • 14. Upgrade | AutoUpgrade upg> Job Console 11.2.0.4 12.1.0.2 12.2.0.1 18c autoupgrade.jar MOS Note: 2485457.1 2MB config.cfg autoupgrade.jar 12.2.0.1 18.5.0 19c 19c
  • 15. Performance Best Practices A prescription to ensure performance stability
  • 16. Parameter Recommendations General guidelines: • The fewer parameters you have in your spfile, the better • Remove outdated parameters, underscores, events ... • Unless directed by applications (e.g. E-Business Suite, Siebel, SAP etc.) to set them • For EBS: Interoperability notes
  • 17. Things to do right after upgrade Configure statistics history retention period • Check space usage: • Check retention • Default: 31 days • Adjust setting • Example: 10 days SQL> select SPACE_USAGE_KBYTES/1024 MB from V$SYSAUX_OCCUPANTS where OCCUPANT_NAME='SM/OPTSTAT'; SQL> select DBMS_STATS.GET_STATS_HISTORY_RETENTION from DUAL; SQL> exec DBMS_STATS.ALTER_STATS_HISTORY_RETENTION(10);
  • 18. Help me - I have an upgrade problem … In >95%of all cases PhotobynikkomacaspaconUnsplash “ ” an "upgrade problem" in reality is a performance issue after upgrade, or not a database upgrade topic. There is exactly one way to mitigate the risk: TESTING!
  • 19. The entire upgrade project of our 300 Oracle databases at La Mobilier is running very well. When we catch issues, we fix them before going live. Paolo Kreth Group Manager Databases La Mobiliere “ ”
  • 20. Testing | Typical Mistakes • Only 10% of real data used • Data sets artificially created • Tests done on a laptop • No testing tools used • Data from 6 months ago • No statistics refreshed • Testing?? Waste of time! • Real experts fix it after go-live … PhotobyElijahO'DonnellonUnsplash
  • 21. Best Practice | COMPATIBLE vs Optimizer • COMPATIBLE and OPTIMIZER_FEATURES_ENABLE • Fully independent from each other • Set COMPATIBLE to the default of the release, e.g. 19.0.0 • Change OPTIMIZER_FEATURES_ENABLE only when you have to • Avoid it if possible • This is not a Swiss Army knife! • You will turn off a lot of great features
  • 22. Testing | Completeness versus Costs Costs Completeness low high 0%100% 80% - 90% Costslow high Completeness 0%100%
  • 23. Testing Tools | Workflow Collect execution plans before upgrade Compare AWR Snapshots Verify them with SQL Performance Analyzer Regressed plans? SQL Plan Management SQL Tuning Advisor Verify functionality and performance with Database Replay
  • 24. Testing Tools | Collect Plans on Production STS  Capturing from cursor cache and AWR into an STS does not require an extra license for EE anymore: Find it under: "SQL Tuning Sets" at: https://docs.oracle.com/database/121/DBLIC/editions.htm#DBLIC109
  • 25. Testing Tools | Comparison Collect execution plans before upgrade Compare AWR Snapshots Verify them with SQL Performance Analyzer Regressed plans? SQL Plan Management SQL Tuning Advisor Verify functionality and performance with Database Replay
  • 26. Testing Tools | AWR Diff Reports Upgrade / Migrate 11.2.0.4 19.7.0 Snapshot Interval Compare AWR Diff Report: awrddrpt.sql Snapshot Interval
  • 27. Testing Tools | SQL Performance Analyzer Collect execution plans before upgrade Compare AWR Snapshots Verify them with SQL Performance Analyzer Regressed plans? SQL Plan Management SQL Tuning Advisor Verify functionality and performance with Database Replay
  • 28. Testing Tools | SQL Performance Analyzer SQL Performance Analyzer STS Capture SQLs into a STS Load STS STS Evaluate, compare and tune – over and over again! 11.2.0.4 19.7.0 Upgrade / Migrate
  • 29. Testing Tools | SPA - Regressed Report
  • 30. Testing Tools | SQL Plan Management Collect execution plans before upgrade Compare AWR Snapshots Verify them with SQL Performance Analyzer Regressed plans? SQL Plan Management Verify functionality and performance with Database Replay
  • 31. Testing Tools | Situation after change • Challenging to "freeze" execution plans Parse Execute Plan acceptable Plan possibly not acceptable Conditions change: New statistics, parameter change, upgrade   GB HJ ...HJ GB NL ...NL SQL SQL ExecuteParse
  • 32. SQL Plan Management | Mechanism • Phase 1 – Baseline Capture • Set OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=TRUE • If OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=TRUE then all found plans will be put into the baseline Parse Execute SQL GB HJ ...HJ SQL Plan acceptable  2X GB HJ ...HJ Plan Baseline SQL MANAGEMENT BASE Residing in SYSAUX TS. Will occupy max. 10% of SYSAUX. Weekly job will delete plans not used since 53 weeks [default]. Before Oracle 12c a massive number of hints get stored – since Oracle 12c entire plans will be kept SQL Profiles Initial plan will be accepted if repeated and will be added to the SQL Plan Baseline Plan History
  • 33. SQL Plan Management | Mechanism • Phase 2 – Selection • Same statement parsed again but a different plan will be created GB HJ ...HJ Plan Baseline Plan History Parse Execute SQL GB NL ...NL Plan acceptable  • OPTIMIZER_USE_SQL_PLAN_BASELINES=TRUE • OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=FALSE • Both switched to their defaults • Annotation: If OCSPB=TRUE then this plan would have been added to the baseline New plan will be added to the Plan History but it won‘t be used unless it has been verified GB NL ...NL
  • 34. SQL Plan Management | Mechanism • Phase 3 – Evolution • Since Oracle 12.1.0.2: GB HJ ...HJ Plan Baseline Plan History GB NL ...NL GB NL HJHJ GB HJ ...HJ Plan Baseline Plan History GB NL ...NL GB NL HJHJ Equal or better plans can be added to the SQL Plan Baseline Optimizer Worse plans will be kept in the Plan History and will get purged New SYS_AUTO_SPM_EVOLVE_TASK job as part of the Automatic SQL Tuning Task Report: DBMS_SPM.REPORT_AUTO_EVOLVE_TASK Manual: DBMS_SPM.CREATE_EVOLVE_TASK
  • 35. SQL> select PARAMETER_NAME, PARAMETER_VALUE from DBA_SQL_MANAGEMENT_CONFIG; SQL Plan Management | Settings • Configure SQL Plan Management (SPM) • Check settings: • Change retention: • Default: 53 weeks • Change space consumption: • Default: 10% of SYSAUX • Plans will be stored in a LOB • Sources to load plans from: SQL> exec DBMS_SPM.LOAD_PLANS_FROM_AWR (begin_snap=>29, end_snap=>69); SQL> exec DBMS_SPM.CONFIGURE('plan_retention_weeks',5); SQL> exec DBMS_SPM.CONFIGURE('space_budget_percent',5);
  • 36. SQL Plan Management | Plan Stability GB HJ ...HJ Plan Baseline Plan History STS  STSExport/Import for Migrations Upgrade Plans will be takenfrom STS and addedto the SQL Plan Baseline  DBMS_SPM.LOAD_PLANS_FROM_SQLSET
  • 37. Testing Tools | SQL Tuning Advisor Collect execution plans before upgrade Compare AWR Snapshots Verify them with SQL Performance Analyzer Regressed plans? SQL Plan Management SQL Tuning Advisor Verify functionality and performance with Database Replay
  • 38. SQL Tuning Advisor | SQL Profiles • SQL Profiles provide more information to the optimizer • Part of the Tuning Pack • FORCE_MATCH=TRUE • Don't change the application code • Persistent, transportable (MOS Note:751068.1), can be tested without risk • Example:
  • 39. PhotobyTjSedisaonUnsplash SQL Tuning Advisor: Example 1. Problem to be solved 2. Select candidate statement to tune 3. Get SQL statement details 4. Create and run SQL Tuning task 5. View report results
  • 40. SQL Tuning Example 1. Problem to be solved
  • 41. SQL Tuning Example 2. Select candidate statement to tune • Generate an AWR Report
  • 42. SQL Tuning Example 3. Get SQL Statement Details
  • 43. SQL Tuning Example 4. Create and run SQL Tuning task VARIABLE stmt_task VARCHAR2(64); EXEC :stmt_task := DBMS_SQLTUNE.CREATE_TUNING_TASK(sql_id => 'f4k19gvr3nu38'); EXEC DBMS_SQLTUNE.EXECUTE_TUNING_TASK(:stmt_task); SET LONG 10000 SET LONGCHUNKSIZE 10000 SET LINESIZE 100 SPOOL sql_tune_f4k19gvr3nu38.txt SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK( :stmt_task )FROM DUAL; SPOOL OFF;
  • 44. SQL Tuning Example 5. View report results
  • 45. SQL Tuning Example 5. View report results
  • 46. SQL Tuning Example 5. View report results
  • 47. SQL Profile - evaluation • SQL Profiles should be evaluated before making them available to every user: • Now evaluate the statement's profile in a limited user context • If verification went fine, make it accessible to everybody exec :p_name:=dbms_sqltune.accept_sql_profile task_name=>‘TASK_21944',name=>'XT_PROFILE', category=>'TEST_ENV', FORCE_MATCH=>TRUE) alter session set SQLTUNE_CATEGORY='TEST_ENV'; exec dbms_sqltune.alter_sql_profile (name=>'XT_PROFILE', attribute_name=>'CATEGORY',value=>'DEFAULT')
  • 48. SQL Tuning Example 5. View report results
  • 49. SQL Tuning Example 5. View report results
  • 50. SQL Tuning Example 6. Act on findings • Follow 5 statistics recommendations to gather stats on 5 tables • Result: 20x improvement!
  • 51. Testing Tools | Database Replay Collect execution plans before upgrade Compare AWR Snapshots Verify them with SQL Performance Analyzer Regressed plans? SQL Plan Management SQL Tuning Advisor Verify functionality and performance with Database Replay
  • 52. Testing Tools | Database Replay Database Replay Capture Workload Replay Workload Compare – then restore and run again with changes 11.2.0.4 19.7.0 Migrate Preprocess Workload
  • 54. Time for a break
  • 55. The "hidden" gems Fix it when you upgrade PhotobyandréspilborghsonUnsplash
  • 56. Behavior Change 19c | Automatic SPM • SQL Plan Management: "Automatic" and enabled on Exadata
  • 57. Behavior Change 19c | Automatic SPM • SQL Plan Management: "Automatic" and enabled on Exadata • If you'd like to revert to 12.1 or 12.2/18c behavior: • https://mikedietrichde.com/2019/06/03/automatic-sql-plan-management-in-oracle-database-19c/
  • 58. Statistics Advisor Since Oracle 12.2.0.1, the Statistics Advisor is active • Some customers reported high growth of entries • Active on Standard Edition (SE2) as well • https://mikedietrichde.com/2017/08/22/oracle-optimizer-statistics-advisor-in-oracle-database-12-2-0-1/ • If you desire to turn it off: • BEGIN dbms_advisor.set_task_parameter ('AUTO_STATS_ADVISOR_TASK','_AUTO_MMON_INTERVAL',9999999999); dbms_advisor.set_task_parameter ('AUTO_STATS_ADVISOR_TASK','_AUTO_STATS_INTERVAL',9999999999); END; /
  • 59. Automatic SQL Tuning Set In Oracle 19.7.0, a Automatic SQL Tuning Set gets populated • Some customers reported high growth and consumption in SYSAUX • See: https://mikedietrichde.com/2020/05/28/do-you-love-unexpected-surprises-sys_auto_sts-in-oracle-19-7-0/ • If you want to disable it: • BEGIN DBMS_AUTO_TASK_ADMIN.DISABLE(client_name=>'Auto STS Capture Task', operation=>NULL, window_name=>NULL); END; / • Task is not enabled by default from Oracle 19.8.0 on
  • 60. Oracle 19c | _cursor_obsolete_threshold • MOS Note: 2431353.1 High Version Counts for SQL statements (>1024) post upgrade To 12.2 and above causing database slow performance • Since Oracle 12.2.0.1, the old default of 1024 has been raised to 8192 • This may lead to various drastic performance issues • Recommendation: • Set it to the old default to avoid mutex concurrency and other issues: _cursor_obsolete_threshold=1024
  • 61. Oracle 19c | deferred_segment_creation • MOS Note: 1216282.1 All sorts of issues and bugs - from corruption to mutex contention to customer scripts not operating correctly anymore • Recommendation: Set it to deferred_segment_creation=false unless you have a valid reason
  • 62. Oracle 19c | Adaptive Features • Recommendation: Set optimizer_adaptive_statistics explicitly in your SPFILE • See: • https://mikedietrichde.com/2018/01/18/additional-info-adaptive-features-fixes-oracle-12-1-0-2/ • MOS Note: 2187449.1 - Recommendations for Adaptive Features in Oracle Database 12.1 Oracle 12.1 optimizer_adaptive_features = TRUE Oracle 12.2 Adaptive Statistics optimizer_adaptive_statistics Default: FALSE Adaptive Plans optimizer_adaptive_plans Default: TRUE
  • 63. Oracle 19c | _sql_plan_directive_mgmt_control • MOS Note: 2209560.1 - How To Disable SQL Plan Directive (SPD) • In order to fully disable SQL Plan Directives, you need to set: • _sql_plan_directive_mgmt_control=0 • Otherwise the database collects SPDs in the background, but won't use it • Having optimizer_adaptive_statistics=false - which is the default - disables only the usage of SPDs but not their creation
  • 64. "Hidden" Features | Extended VARCHAR2 • Feature Introduced in Oracle 12.1.0.2 • Allow 32kB support for (N)VARCHAR2 • Allows length >4000 byte ALTER SYSTEM set MAX_STRING_SIZE=EXTENDED scope=SPFILE; CREATE TABLE Applicants (id NUMBER GENERATED AS IDENTITY, first_name varchar2(30), last_name varchar2(30), application date, CV varchar2(32767) ); SHUTDOWN IMMEDIATE STARTUP UPGRADE @?/rdbms/admin/utl32k.sql
  • 65. "Hidden" Features | Extended VARCHAR2 • Fine print: • Oracle Forms and Reports don't support Extended VARCHAR2 • MOS Note: 2221740.1 ORA-24920 In Oracle Forms 12.2.x when using MAX_STRING_SIZE=EXTENDED • Above 3964 byte, data will be stored in an inline SecureFile LOB • See: http://www.ludovicocaldara.net/dba/extended-data-types-storage/ • Be aware of performance impact • See: https://blog.dbi-services.com/12c-extended-datatypes-better-than-clob/
  • 66. Cool Features | Incremental Statistics • Introduced in Oracle 11g • DWH, Partitioning • Synopses on disk can consume hundreds of GB • Since Oracle Database 12.2.0.1: New algorithm for synopses can drastically reduce space consumption
  • 67. Cool Features | Incremental Statistics Sales Table May 22nd 2019 May 23rd 2019 May 18th 2019 May 19th 2019 May 20th 2019 May 21st 2019 May 24rd 2019 Global Statistic  Global stats generated by aggregating the original partition synopsis with the new one A new partition is added to the table & data is loaded   Global stats generated by aggregating partition level statistics and synopsis  Retrieve synopsis for each of the other partitions from SYSAUX Gather partition statistics for new partition Partition level stats are gathered & synopsis created S1 S2 S3 S4 S5 S6 S7 SYSAUX Tablespace
  • 68. Cool Features | Inc Stats Enhancement • Enable that "changed" partitions won't be eligible for new stats generation • Adjust the stale percentage if needed SQL> exec DBMS_STATS.SET_DATABASE_PREFS('INCREMENTAL_STALENESS','USE_STALE_PERCENT'); SQL> exec DBMS_STATS.SET_DATABASE_PREFS('STALE_PERCENT','12'); NEW IN 12.1
  • 69. Cool Features | Inc Stats Enhancement • Significantly smaller synopses with new algorithm • Preference name: APPROXIMATE_NDV_ALGORITHM • 'REPEAT OR HYPERLOGLOG' [Default] • If synopses of old format exists, continue with the "old" algorithm • If no or new synopses exist, use the "new" algorithm • 'ADAPTIVE SAMPLING' • Force to use pre-12.2 adaptive sampling algorithm – delete existing 12.2 synopses and regather - "old behavior" • 'HYPERLOGLOG' • Force to use the new algorithm • Lab example: • 8TB table with 84 partitions • → Size in Oracle 12.1.0.2: 167 GB • → Size in Oracle 12.2.0.1: 7 GB NEW IN 12.2
  • 70. Cool Features | Inc Stats Enhancement • Preference: HYPERLOGLOG • Replace "old" with "new" - Recommended approach • Preference: REPEAT OR HYPERLOGLOG • Coexistence of "old" and "new" - Issues seen at customers with stats gathering SALESSYSAUX Tablespace P2 P1 has a synopsis in pre-12.2 format New synopsis for P1 in compact 12.2 format Partitioned Table P1 exec dbms_stats.set_table_prefs(owner, table, 'approximate_ndv_algorithm', 'hyperloglog'); exec dbms_stats.set_table_prefs(owner, table, 'incremental_staleness', 'NULL') SALESSYSAUX Tablespace P2 P1 has a synopsis in pre-12.2 format Partitioned Table P1 exec dbms_stats.set_table_prefs(owner, table, 'approximate_ndv_algorithm', 'hyperloglog'); exec dbms_stats.set_table_prefs(owner, table, 'incremental_staleness', 'allow_mixed_format') Synopsis forP2 in compact12.2 format NEW IN 12.2
  • 71. Copyright © 2020 Oracle and/or its affiliates. Now RELAX ... Stay Calm ... And open an SR with Oracle Support in case of real trouble
  • 72. DEMO
  • 77. Upcoming Webinars Webinar 4: Thursday, July 2 at 11:00h CEST Migration to Oracle Multitenant https://tinyurl.com/upgrade19c