Friday, September 30, 2022
SQL script to find SQL ID's having more than one hash plan
Thursday, September 8, 2022
sqlflip2.sql
set lines 155
----------------------------------------------------------------------------------------
--
-- File name: sqlflip2.sql
--
-- Purpose: Attempts to find SQL statements with plan instability.
--
---------------------------------------------------------------------------------------
col execs for 999,999,999
col etime for 999,999,999.9
col avg_etime for 999,999.999
col avg_cpu_time for 999,999.999
col avg_lio for 999,999,999.9
col avg_pio for 9,999,999.9
col begin_interval_time for a30
col node for 99999
break on plan_hash_value on startup_time skip 1
select sql_id, plan_hash_value,
sum(execs) execs,
-- sum(etime) etime,
sum(etime)/sum(execs) avg_etime,
sum(cpu_time)/sum(execs) avg_cpu_time,
sum(lio)/sum(execs) avg_lio,
sum(pio)/sum(execs) avg_pio
from (
select ss.snap_id, ss.instance_number node, begin_interval_time, sql_id, plan_hash_value,
nvl(executions_delta,0) execs,
elapsed_time_delta/1000000 etime,
(elapsed_time_delta/decode(nvl(executions_delta,0),0,1,executions_delta))/1000000 avg_etime,
buffer_gets_delta lio,
disk_reads_delta pio,
cpu_time_delta/1000000 cpu_time,
(buffer_gets_delta/decode(nvl(buffer_gets_delta,0),0,1,executions_delta)) avg_lio,
(cpu_time_delta/decode(nvl(executions_delta,0),0,1,executions_delta)) avg_cpu_time
from DBA_HIST_SQLSTAT S, DBA_HIST_SNAPSHOT SS
where sql_id = nvl('&sql_id','4dqs2k5tynk61')
and ss.snap_id = S.snap_id
and ss.instance_number = S.instance_number
-- and executions_delta > 0
)
group by sql_id, plan_hash_value
order by 5
/
sqlflip1.sql
----------------------------------------------------------------------------------------
--
-- File name: sqlflip1.sql
--
-- Purpose: Provides list of all PHVs their execution count and resource consumption
--
---------------------------------------------------------------------------------------
set lines 155
col execs for 999,999,999
col min_etime for 999,999.99
col max_etime for 999,999.99
col avg_etime for 999,999.999
col avg_lio for 999,999,999.9
col norm_stddev for 999,999.9999
col begin_interval_time for a30
col node for 99999
break on plan_hash_value on startup_time skip 1
select * from (
select sql_id, sum(execs), min(avg_etime) min_etime, max(avg_etime) max_etime, stddev_etime/min(avg_etime) norm_stddev
from (
select sql_id, plan_hash_value, execs, avg_etime,
stddev(avg_etime) over (partition by sql_id) stddev_etime
from (
select sql_id, plan_hash_value,
sum(nvl(executions_delta,0)) execs,
(sum(elapsed_time_delta)/decode(sum(nvl(executions_delta,0)),0,1,sum(executions_delta))/1000000) avg_etime
-- sum((buffer_gets_delta/decode(nvl(buffer_gets_delta,0),0,1,executions_delta))) avg_lio
from DBA_HIST_SQLSTAT S, DBA_HIST_SNAPSHOT SS
where ss.snap_id = S.snap_id
and ss.instance_number = S.instance_number
and executions_delta > 0
and elapsed_time_delta > 0
and s.snap_id > nvl('&earliest_snap_id',0)
group by sql_id, plan_hash_value
)
)
group by sql_id, stddev_etime
)
where norm_stddev > nvl(to_number('&min_stddev'),2)
and max_etime > nvl(to_number('&min_etime'),.1)
order by norm_stddev
/
validation
col directory_path for a100
set pages 1000 lines 150
select directory_name,directory_path from
dba_directories;
SET LINESIZE 150 COLUMN owner FORMAT A20 COLUMN directory_name FORMAT A25 COLUMN directory_path FORMAT A80 SELECT * FROM dba_directories ORDER BY owner, directory_name;
+++++++++
SQL:
select 'CREATE OR REPLACE DIRECTORY
'||directory_name||' as '''|| directory_path||''';' from dba_directories;
OR
update dir$ set
OS_PATH=replace(OS_PATH,'&OLD_VALUE','&NEW_VALUE') where OS_PATH like
'%&OLD_VALUE%';
+++
Update
Site Name:
Update
the Below function. Change the value according to the instance
update
fnd_form_functions_tl
set
user_function_name = ' from
PROD (BKP 16-MAY-16)'
where
function_id in (select function_id from fnd_form_functions where function_name
= 'FWK_HOMEPAGE_BRAND') and LANGUAGE='US';
set
pages 1000 lines 150
col
user_function_name for a80
select
LANGUAGE,FUNCTION_ID,user_function_name
from fnd_form_functions_tl where function_id in (select function_id from
fnd_form_functions where function_name = 'FWK_HOMEPAGE_BRAND') and
LANGUAGE='US';
+++
Once REGOID is completed, we need to follow
the attached mail steps to populate the data in OID tables.
SQL>
SELECT * FROM fnd_user_preferences WHERE user_name='#INTERNAL' AND
module_name='OID_CONF';
Release-Specific Database Initialization Parameters for 19c
####################################################################
#
# Oracle E-Business Suite Release 12
# Release-Specific Database Initialization Parameters for 19c
#
####################################################################
compatible = 19.0.0 #MP
optimizer_adaptive_plans = TRUE #MP
optimizer_adaptive_statistics = FALSE #MP
pga_aggregate_limit = 0 #MP
temp_undo_enabled = FALSE
_pdb_name_case_sensitive = TRUE #MP
event='10946 trace name context forever, level 8454144' #MP
_optimizer_gather_stats_on_conventional_dml = FALSE #MP
_optimizer_use_stats_on_conventional_dml = FALSE #MP
optimizer_real_time_statistics = FALSE #MP
###############################################################################
#
# End of Release-Specific Database Initialization Parameters Section for 19c
#
###############################################################################
Parameter Removal List for Oracle Database 19c
egrep -i '_kks_use_mutex_pin|_shared_pool_reserved_min_alloc|_sqlexec_progression_cost|exafusion_enabled|exclude_seed_cdb_view|global_context_pool_size|max_enabled_roles|o7_dictionary_accessibility|olap_page_pool_size|optimizer_adaptive_features|optimizer_features_enable|parallel_automatic_tuning|parallel_degree_level|parallel_io_cap_enabled|parallel_server|parallel_server_instances|plsql_compiler_flags|plsql_native_library_dir|plsql_native_library_subdir_count|plsql_optimize_level|standby_archive_dest|timed_statistics|use_indirect_data_buffers|utl_file_dir' init19c.ora
++++++++++++
Parameter Removal List for Oracle Database 19c
If they exist, you should remove the following parameters from your database initialization parameters file for Oracle Database 19c.
_kks_use_mutex_pin
_shared_pool_reserved_min_alloc
_sqlexec_progression_cost
exafusion_enabled
exclude_seed_cdb_view
global_context_pool_size
max_enabled_roles
o7_dictionary_accessibility
olap_page_pool_size
optimizer_adaptive_features
optimizer_features_enable
parallel_automatic_tuning
parallel_degree_level
parallel_io_cap_enabled
parallel_server
parallel_server_instances
plsql_compiler_flags
plsql_native_library_dir
plsql_native_library_subdir_count
plsql_optimize_level
standby_archive_dest
timed_statistics
use_indirect_data_buffers
utl_file_dir