Documente Academic
Documente Profesional
Documente Cultură
name,
substr(order_recommendation,3) recommendation,
substr(flags,1,1) "I",
substr(flags,2,1) "U",
remark,
"SET",
is_value,
should_be_value,
substr(order_recommendation,1,1) "ID",
inst_id
from
(
select
decode(substr(c.name,1,3),
'***',-1,c.inst_id) inst_id,
decode(substr(c.name,1,3),
'***',upper(c.name),
decode(c.subname,
' ',c.name,
c.name||' ('||c.subname||')')) name,
decode(substr(c.name,1,3),
'***','* '||
decode(substr(c.name,17,2),
' 1',
'Parametercheck for Oracle 11.2 based on Note/Version: 1431798/92',
' 2',
'Parametercheck last changed: 2014-11-24',
' 3',
'Parametercheck Execution: '||to_char(sysdate,
'YYYY-MM-DD HH24:MI:SS'),
' 4',
'DB Startup: '||to_char(x_startup,
'YYYY-MM-DD HH24:MI:SS')||decode(x_cluster_database,
'TRUE',' (data of instance '||c.inst_id||')',''),
' 5',
'DB SID: '||x_db_name,
' 6',
'DB Environment: '||
decode(x_olap,'TRUE','OLAP','UNKNOWN','OLTP or OLAP','OLTP')||
decode(x_abap_stack,'TRUE',', ABAP stack',', not ABAP stack')||
decode(x_cluster_database,'TRUE',', RAC',', not RAC')||
decode(x_asm_used,'TRUE',', ASM',', not ASM')||
decode(x_exadata_used,'TRUE',', EXADATA',', not EXADATA'),
' 7',
'DB Platform: '||x_platform_name||decode(x_cluster_database,
'TRUE',' (data of instance '||c.inst_id||')',''),
' 8',
'DB Patchset: '||x_version||decode(x_cluster_database,
'TRUE',' (data of instance '||c.inst_id||')',''),
' 9',
'Last detectable SAP Bundle Patch: '||decode(x_mergefix,
0,'none',
x_mergefix_released||' (identified by bugno '||x_bugno||')')||decode(x_clust
er_database,
'TRUE',' (data of instance '||c.inst_id||')',''),
'10',
'Reliability checks: events '||decode(x_event_contains_colon,
0,'passed',
'FAILED [event separator ":"'||
decode(
substr(replace(upper(c.value),' ',''),1,length(
substr(replace(upper(s.value),' ',''),1,
instr(replace(upper(s.value),' ',''),'[')-1))),
substr(replace(upper(s.value),' ',''),1,
instr(replace(upper(s.value),' ',''),'[')-1),'X',
' ')||
decode(
substr(replace(upper(c.value),' ',''),-length(
substr(replace(upper(s.value),' ',''),
instr(replace(upper(s.value),' ',''),']')+1))),
substr(replace(upper(s.value),' ',''),
instr(replace(upper(s.value),' ',''),']')+1),'X',
' '),
'XX',
'L ok (is set correctly =)',
decode(sign(
decode(rpad('>=',length(s.value),'X'),
translate(s.value,'1234567890','XXXXXXXXXX'),
to_number(c.value)-to_number(substr(s.value,3))+1,
0)),
1,
'M ok (is set correctly >=)',
decode(sign(
decode(rpad('between ',length(s.value),'X'),
replace(translate(s.value,'1234567890','XXXXXXXXXX'),' and
','XXXXX'),
to_number(c.value)-to_number(substr(s.value,9,instr(s.va
lue,' and ')-9))+1,
0))*sign(
decode(rpad('between ',length(s.value),'X'),
replace(translate(s.value,'1234567890','XXXXXXXXXX'),' and
','XXXXX'),
to_number(substr(s.value,instr(s.value,' and ')+5))-to_n
umber(c.value)+1,
0)),
1,
'N ok (is set correctly between)',
'D change value to "'||s.value||'"')))))),
decode(
decode(substr(c.name,1,4),'nls_',0,1)+
instr(',nls_length_semantics,nls_nchar_conv_excp,',','||c.name||','),
0,
'R ok (ignored dynamically changed parameter)',
'A parameter was dynamically changed; no reliable recommendation can be given'))
) order_recommendation,
decode(substr(c.name,1,3),
'***',' ',
decode(c.isdefault,
'TRUE','N',
'Y')) "SET",
c.value is_value,
decode(substr(s.value,1,5),
'-man-',substr(s.value,6),
'-aut-',substr(s.value,6),
'-any-','any value',
'-del-','deleted '||chr(102)||'rom parameter file',
s.value) should_be_value,
s."comment" remark,
s.flags
from
(
select
inst_id,
name,
subname,
value,
"comment",
flags,
hide,
x_mergefix,
x_bugno,
x_mergefix_released,
x_cluster_database,
x_asm_used,
x_exadata_used,
x_abap_stack,
x_olap,
x_version,
x_startup,
x_platform_name,
x_event_contains_colon,
x_fix_control_reliable,
x_db_name
from
(
select
o.inst_id,
lower(decode(instr(o.n,','),0,o.n,substr(o.n,1,instr(o.n,',')-1))) name,
lower(decode(instr(o.n,','),0,' ',substr(o.n,instr(o.n,',')+1))) subname
,
replace(decode(o.n,
'DB_FILES','>='||to_char(round(x_datafile_count.value*1.1)),
'PARALLEL_MAX_SERVERS',decode(x_parameter.cpu_count*10-x_parameter.par
a_max,
0,'-aut-'||substr(o.w,6),o.w),
'PGA_AGGREGATE_TARGET',decode(sign(round(x_pgastat.MAX_since_start/(x_
pgastat.limit_value+1)*100)-90),
-1,decode(sign(round(x_pgastat.MAX_since_start/(x_pgastat.limit_valu
e+1)*100)-75),
1,'-aut-'||substr(o.w,6),
o.w),
o.w),
'PROCESSES',decode(sign(round(x_rl.MAX_UTILIZATION/(x_rl.limit_value+1
)*100)-75),
-1,'-aut-'||substr(o.w,6),o.w),
'SESSIONS',decode(sign(round(x_rl.MAX_UTILIZATION/(x_rl.limit_value+1)
*100)-75),
-1,'-aut-'||substr(o.w,6),o.w),
'SHARED_POOL_SIZE',decode(x_parameter.sga_target,
0,decode(sign(x_parameter.shared_pool_size_mb-0.5*x_parameter.calcul
ated_shared_pool_size_mb),
-1,'-man-'||o.w,
decode(sign(x_parameter.shared_pool_size_mb-2*x_parameter.calculat
ed_shared_pool_size_mb),
1,'-man-'||o.w,
'-aut-'||o.w)),
'-man-'||o.w),
'UNDO_RETENTION',decode(x_undostat.max_stolen,
0,'-aut-'||substr(o.w,6),o.w),
o.w),'[SID]',x_database.name) value,
o.p flags,
decode(o.n,
'PARALLEL_MAX_SERVERS','Max used (gv$resource_limit): '||x_rl.MAX_UTIL
IZATION
||' ('||round(x_rl.MAX_UTILIZATION/(x_parameter.para_max+1)*100)
||'%); '
||replace(o.c,'[CPU_COUNT]',to_char(x_parameter.cpu_count)),
'PGA_AGGREGATE_TARGET','Max used MB (gv$pgastat): '||round(x_pgastat.M
AX_since_start/1024/1024)
||' ('||round(x_pgastat.MAX_since_start/(x_pgastat.limit_value+1)*10
0)
||'%) ',
'PROCESSES','Max used (gv$resource_limit): '||x_rl.MAX_UTILIZATION
||' ('||round(x_rl.MAX_UTILIZATION/(x_rl.limit_value+1)*100)
||'%)',
'SESSIONS','Max used (gv$resource_limit): '||x_rl.MAX_UTILIZATION
||' ('||round(x_rl.MAX_UTILIZATION/(x_rl.limit_value+1)*100)
||'%); '
||replace(o.c,'[PROCESSES]',to_char(x_parameter.processes)),
'SHARED_POOL_SIZE',decode(x_parameter.sga_target,
0,'current: '||round(x_parameter.shared_pool_size_mb)||
' MB; calculated: '||round(x_parameter.calculated_shared_pool_size
_mb)||' MB',
'ASMM is used (sga_target>0)'),
'UNDO_RETENTION','Max unexpired stolen blocks (gv$undostat): '||x_undo
stat.max_stolen,
o.c) "comment",
decode(instr(lower(o.n),'_fix_control'),0,'FALSE',decode(x_fix_control.b
ugno,null,'TRUE','FALSE')) hide,
x_mergefix.mergefix_at_least x_mergefix,
x_mergefix.bugno x_bugno,
x_mergefix.mergefix_released x_mergefix_released,
x_parameter.cluster_database x_cluster_database,
x_feature_used.asm_used x_asm_used,
x_feature_used.exadata_used x_exadata_used,
x_abap_stack.abap_stack x_abap_stack,
x_olap.olap x_olap,
o.version x_version,
o.startup_time x_startup,
x_database.platform_name x_platform_name,
x_event.contains_colon x_event_contains_colon,
x_fix_control_reliable.reliable x_fix_control_reliable,
x_database.name x_db_name
from
(
select
i.inst_id inst_id,
i.startup_time,
i.version,
n,w,c,p,
decode(instr(' '||r,'PS['),0,'',
substr(r,instr(r,'PS[')+3,instr(r,']',
instr(r,'PS['))-instr(r,'PS[')-3)) r_ps,
decode(instr(' '||r,'MF['),0,'',
substr(r,instr(r,'MF[')+3,instr(r,']',
instr(r,'MF['))-instr(r,'MF[')-3)) r_mf,
decode(instr(' '||r,'BW['),0,'',
substr(r,instr(r,'BW[')+3,instr(r,']',
instr(r,'BW['))-instr(r,'BW[')-3)) r_bw,
decode(instr(' '||r,'RAC['),0,'',
substr(r,instr(r,'RAC[')+4,instr(r,']',
instr(r,'RAC['))-instr(r,'RAC[')-4)) r_rac,
decode(instr(' '||r,'ABAP['),0,'',
substr(r,instr(r,'ABAP[')+5,instr(r,']',
instr(r,'ABAP['))-instr(r,'ABAP[')-5)) r_abap,
decode(instr(' '||r,'OS['),0,'',
substr(r,instr(r,'OS[')+3,instr(r,']',
instr(r,'OS['))-instr(r,'OS[')-3)) r_os,
decode(instr(' '||r,'OSF['),0,'',
substr(r,instr(r,'OSF[')+4,instr(r,']',
instr(r,'OSF['))-instr(r,'OSF[')-4)) r_osf,
decode(instr(' '||r,'ASM['),0,'',
substr(r,instr(r,'ASM[')+4,instr(r,']',
instr(r,'ASM['))-instr(r,'ASM[')-4)) r_asm,
decode(instr(' '||r,'EXADATA['),0,'',
substr(r,instr(r,'EXADATA[')+8,instr(r,']',
instr(r,'EXADATA['))-instr(r,'EXADATA[')-8)) r_exadata
from
(
select
'*** INFORMATION '||lpad(rownum,2)||' ***' n,
'' w,
'' r,
'' p,
'' c from gv$parameter2 where rownum < 12 union (
select
substr(val,instr(val,'#',1,r-4)+1,instr(val,'#',1,r-3)-instr(val,'#',1,r-4)-1)
n,
substr(val,instr(val,'#',1,r-3)+1,instr(val,'#',1,r-2)-instr(val,'#',1,r-3)-1)
w,
substr(val,instr(val,'#',1,r-2)+1,instr(val,'#',1,r-1)-instr(val,'#',1,r-2)-1)
r,
substr(val,instr(val,'#',1,r-1)+1,instr(val,'#',1,r-0)-instr(val,'#',1,r-1)-1)
p,
substr(val,instr(val,'#',1,r-0)+1,instr(val,'#',1,r+1)-instr(val,'#',1,r-0)-1)
c
from
(
select
val
from
( select '###PS[0]###' val from dual union all ( select '#'
||'_AWR_MMON_DEEP_PURGE_ALL_EXPIRED#TRUE#PS[4]###'
||'_B_TREE_BITMAP_PLANS#FALSE#PS[1], OSF[UNIX], MF[0-1]#2p#'
||'avoid bitmap operations when using B*TREE indexes#'
||'_B_TREE_BITMAP_PLANS#-man-set to FALSE if SBP date<=201009#'
||'PS[1], OSF[UNIX], MF[2-2]#2p#'
||'avoid bitmap operations when using B*TREE indexes#'
||'_B_TREE_BITMAP_PLANS#-man-set to FALSE if Winbundle<=5#'
||'PS[1], OSF[WINDOWS]#2p#'
||'avoid bitmap operations when using B*TREE indexes#'
||'_BUG16850197_ENABLE_FIX_FOR_13602883#1#PS[3], OSF[UNIX], MF[12-12]#'
||'2f#avoids instance crash with ORA-600: [kjruch:resp]#'
||'_DISABLE_CELL_OPTIMIZED_BACKUPS#TRUE#'
||'PS[2], OSF[UNIX], EXADATA[TRUE]###'
||'_DISABLE_CELL_OPTIMIZED_BACKUPS#TRUE#'
||'PS[3], MF[0-13], OSF[UNIX], EXADATA[TRUE]###'
||'_ENABLE_NUMA_SUPPORT#'
||'PS[3], OSF[WINDOWS]#2p#'
||'statistic collection during index creation#'
||'_FIX_CONTROL,14255600#14255600:ON#'
||'PS[2], OSF[UNIX], MF[14-99], EXADATA[FALSE]#2p#'
||'statistic collection during index creation#'
||'_FIX_CONTROL,14255600#14255600:ON#'
||'PS[2], OSF[UNIX], MF[15-99], EXADATA[TRUE]#2p#'
||'statistic collection during index creation#'
||'_FIX_CONTROL,14255600#-man-set to 14255600:ON if SXD date=201306#'
||'PS[2], OSF[UNIX], MF[14-14], EXADATA[TRUE]#2p#'
||'statistic collection during index creation#'
||'_FIX_CONTROL,14255600#-man-set to 14255600:ON if Winbundle>=25#'
||'PS[2], OSF[WINDOWS]#2p#'
||'statistic collection during index creation#'
||'_FIX_CONTROL,14595273#14595273:ON#PS[34]#2p##'
||'_FIX_CONTROL,14764840#14764840:OFF#PS[4], EXADATA[TRUE]###'
||'_FIX_CONTROL,16015637#16015637:OFF#PS[4], EXADATA[TRUE]###'
||'_FIX_CONTROL,16825679#16825679:ON#PS[4], EXADATA[TRUE]###'
||'_FIX_CONTROL,17736165#17736165:OFF#PS[4], EXADATA[TRUE]###'
||'_FIX_CONTROL,17799716#17799716:OFF#PS[4], EXADATA[TRUE]###'
||'_FIX_CONTROL,18115594#18115594:OFF#PS[4], EXADATA[TRUE]###'
||'_FIX_CONTROL,18134680#18134680:OFF#PS[4], EXADATA[TRUE]###'
||'_FIX_CONTROL,18304693#18304693:OFF#PS[4], EXADATA[TRUE]###'
||'_FIX_CONTROL,18365267#18365267:OFF#PS[4], EXADATA[TRUE]###'
||'_FIX_CONTROL,18405517#18405517:2#PS[34]#2p##'
||'_FIX_CONTROL,18798414#18798414:OFF#PS[4], EXADATA[TRUE]###'
||'_GC_OVERRIDE_FORCE_CR#FALSE#'
||'PS [3], OSF[UNIX], MF[14-14], RAC[TRUE]#1f#'
||'can lead to outage of DB (note 2048023)#'
||'_GC_OVERRIDE_FORCE_CR#-man-set to FALSE if SBP date >=201402#'
||'PS [3], OSF[UNIX], MF[13-13], RAC[TRUE]#1f#'
||'can lead to outage of DB (note 2048023)#'
val from dual ) union all ( select '#'
||'_GC_OVERRIDE_FORCE_CR#-man-set to FALSE if 28 <= Winbundle <= 32#'
||'PS [3], OSF[WINDOWS], RAC[TRUE]#1f#'
||'can lead to outage of DB (note 2048023)#'
||'_IN_MEMORY_UNDO#FALSE#PS[1]#1f##'
||'_KTB_DEBUG_FLAGS#8##1f#'
||'avoid invalid index block SCNs on STDBY; note 2005311#'
||'_MUTEX_WAIT_SCHEME#1#PS[2], OSF[UNIX], MF[3-99]#2p#'
||'controls mutex spins/waits; note 1588876#'
||'_MUTEX_WAIT_SCHEME#1#PS[34], OSF[UNIX]#2p#'
||'controls mutex spins/waits; note 1588876#'
||'_MUTEX_WAIT_SCHEME#1#PS[234], OSF[WINDOWS]#2p#'
||'controls mutex spins/waits; note 1588876#'
||'_MUTEX_WAIT_TIME#10#PS[2], OSF[UNIX], MF[3-99]#2p#'
||'controls mutex spins/waits; note 1588876#'
||'_MUTEX_WAIT_TIME#10#PS[34]#2p#'
||'controls mutex spins/waits; note 1588876#'
||'_MUTEX_WAIT_TIME#'
||'-man- set to 4 if Winbundle <=7; otherwise set to 10#'
||'PS[2], OSF[WINDOWS]#2p#controls mutex spins/waits; note 1588876#'
||'_NINTH_SPARE_PARAMETER#'
||'-man-set to 1 if SXD date between 201212 and 201301#'
||'PS[2], OSF[UNIX], MF[12-12], EXADATA[TRUE]#2p#'
||'consider blck chg track during inc. Backups#'
||'_NINTH_SPARE_PARAMETER#1#'
||'PS[2], OSF[UNIX], MF[13-13], EXADATA[TRUE]#2p#'
||'consider blck chg track during inc. Backups#'
||'_NINTH_SPARE_PARAMETER#'
||'USER_DUMP_DEST#-del-####'
val from dual )
)
),
(
select
rownum*5 r
from
v$parameter2
where rownum <= 40
)
where
val != '#' and
substr(val,instr(val,'#',1,r-4)+1,
instr(val,'#',1,r-3)-instr(val,'#',1,r-4)-1) is not null
)),
gv$instance i
)
o,
( SELECT
inst_id,
upper(RESOURCE_NAME) RESOURCE_NAME,
limit_value,
MAX_UTILIZATION
FROM
gv$RESOURCE_LIMIT
WHERE
RESOURCE_NAME IN (
'processes',
'sessions',
'parallel_max_servers')
)
x_rl,
( select
pga.inst_id,
pga.value max_since_start,
param.value limit_value
from
gv$pgastat pga,
gv$parameter2 param
where
pga.inst_id=param.inst_id and
pga.name='maximum PGA allocated' and
param.name='pga_aggregate_target')
x_pgastat,
( select /*old libraries allow max. 8 of the below aggregate functions */
a.inst_id,
a.cpu_count,
a.shared_pool_size_mb,
a.sga_target,
a.cluster_database,
a.log_buffer,
a.db_cache_size,
a.calculated_shared_pool_size_mb,
b.processes,
b.para_max
from
(
select
inst_id,
max(decode(name,'cpu_count',value,null)) cpu_count,
max(decode(name,'shared_pool_size',value,null))/1024/1024 shared_poo
l_size_mb,
max(decode(name,'sga_target',value,null)) sga_target,
max(decode(name,'cluster_database',value,null)) cluster_database,
max(decode(name,'log_buffer',value,null)) log_buffer,
max(decode(name,'db_cache_size',value,null)) db_cache_size,
( max(decode(name,'cpu_count',value,null))/4*500+
max(decode(name,'sga_max_size',value,null))/1024/1024/1024*5+300)*
decode(max(decode(name,'cluster_database',value,null)), 'TRUE', 1.
2, 1) calculated_shared_pool_size_mb
from
gv$parameter2
where
name in
(
'cpu_count',
'shared_pool_size',
'sga_target',
'cluster_database',
'log_buffer',
'db_cache_size',
'sga_max_size'
)
group by
inst_id
) a,
(
select
inst_id,
max(decode(name,'processes',value,null)) processes,
max(decode(name,'parallel_max_servers',value,null)) para_max
from
gv$parameter2
where
name in
(
'processes',
'parallel_max_servers'
)
group by
inst_id
) b
where
a.inst_id=b.inst_id )
x_parameter,
( select inst_id, max(UNXPBLKRELCNT+UNXPBLKREUCNT) max_stolen from gv$undo
stat group by inst_id)
x_undostat,
(
select
to_number(substr(max(bf.nr_bg),1,2)) mergefix_at_least,
decode(substr(max(dt.mf_date),substr(max(bf.nr_bg),1,2)*7+1,1),
'=','20',
'<','before 20')||
substr(max(dt.mf_date),substr(max(bf.nr_bg),1,2)*7+2,2)||'-'||
substr(max(dt.mf_date),substr(max(bf.nr_bg),1,2)*7+4,2)||'-'||
substr(max(dt.mf_date),substr(max(bf.nr_bg),1,2)*7+6,2) mergefix_relea
sed,
substr(max(bf.nr_bg),3) bugno
from
(
select
decode(substr(val,instr(val,'#',1,r-2)+1,
instr(val,'#',1,r-1)-instr(val,'#',1,r-2)-1),
'A','11.2.0.1',
'B','11.2.0.2',
'C','11.2.0.3',
'D','11.2.0.4',
'?') patchset,
lpad(to_number(substr(val,instr(val,'#',1,r-0)+1,
instr(val,'#',1,r+1)-instr(val,'#',1,r-0)-1)),2)||
to_number(substr(val,instr(val,'#',1,r-1)+1,
instr(val,'#',1,r-0)-instr(val,'#',1,r-1)-1)) nr_bg
from
( select '#'||
'A#12591120#4#A#6055658#3#A#8937971#2#A#9495669#1#A#-1#0#'||
'B#14712222#15#B#14723910#14#B#13891981#13#B#14255600#12#B#13627489#11#'||
'B#13777823#10#B#13594712#9#B#13524237#8#B#13077335#7#B#12827166#6#'||
'B#12591120#5#B#11892888#4#B#6055658#3#B#11699884#2#B#10134677#1#B#-1#0#'||
'C#18405517#15#C#18035463#14#C#16470836#13#C#16976121#12#C#16092378#11#'||
'C#14712222#10#C#14723910#9#C#13891981#8#C#14467202#7#C#14255600#6#'||
'C#13627489#5#C#13777823#4#C#13594712#3#C#13524237#2#C#12622441#1#C#-1#0#'||
'D#16015637#4#D#18405517#3#D#18035463#2#D#16470836#1#D#-1#0#'
val from dual
),
( select rownum*3 r from v$parameter2 )
where
substr(val,instr(val,'#',1,r-1)+1,
instr(val,'#',1,r-0)-instr(val,'#',1,r-1)-1) is not null
) bf,
( select bugno from v$system_fix_control union
( select to_number('-1') bugno from dual )
) fc,
v$instance i,
( select
'11.2.0.1' version,
'=100330=100610=100910=110510=110810' mf_date
from dual union ( select
'11.2.0.2' version,
'=101110=101110=110310=110510=110610=110810=111010=120110'||
'=120210=120310=120510=120810=120910=130210=130510=130810' mf_date
from dual ) union ( select
'11.2.0.3' version,
'=111210=111210=120210=120310=120510=120710=121010'||
'=121110=130210=130310=130610=130810=131110=131210=140610=140810' mf_date
from dual ) union ( select
'11.2.0.4' version,
'=140210=140210=140610=140810=141110' mf_date
from dual )
) dt
where
to_number(substr(bf.nr_bg,3))=fc.bugno and
substr(i.version,1,instr(i.version,'.',1,4)-1)=bf.patchset and
bf.patchset=dt.version
)
x_mergefix,
(
select
decode(sign(nvl(sum(decode(sfc.bugno,null,1,0)),0)),1,0,1) reliable
from
(
select
substr(trim(translate(a.value,chr(10)||chr(13)||chr(9),' ')),1,ins
tr(trim(a.value),':')-1) subname
from
(
select
vparam.inst_id,
substr(','||vparam.value,
instr(','||vparam.value,',',1,vcnt.cnt)+1,
decode(instr(','||vparam.value,',',1,vcnt.cnt+1),
0,length(','||vparam.value),
instr(','||vparam.value,',',1,vcnt.cnt+1)-1)decode(instr(','||vparam.value,',',1,vcnt.cnt),
0,length(','||vparam.value),
instr(','||vparam.value,',',1,vcnt.cnt))) value
from
gv$parameter vparam,
(select rownum cnt from gv$parameter2 where rownum <= 20) vcnt
where
vparam.name='_fix_control'
) a
where
a.value is not null
) b,
v$system_fix_control sfc
where
b.subname=to_char(sfc.bugno(+))
)
x_fix_control_reliable,
v$system_fix_control
x_fix_control,
( select decode(instr(value,'/'),0,'WINDOWS','UNIX') os_family from
v$parameter2 where name = 'control_files' and rownum < 2)
x_os_family,
( select
decode(nvl(sum(decode(event,'cell single block physical read',1,0)),0)
,
0,'FALSE','TRUE') exadata_used,
decode(nvl(sum(decode(event,'ASM background timer',1,0)),0),0,'FALSE',
'TRUE') asm_used
from v$system_event
where event in ('cell single block physical read','ASM background timer'
))
x_feature_used,
( select decode(count(*),0,'FALSE','TRUE') abap_stack from
dba_tables where table_name = 'T000' and owner like 'SAP%')
x_abap_stack,
( select decode(substr(upper('<OLAP System? [n]>'),1,1),
'Y','TRUE',
'?','UNKNOWN',
'FALSE') olap from dual )
x_olap,
v$database
x_database,
( select count(*) value from v$datafile )
x_datafile_count,
( select count(*) contains_colon from gv$parameter2 where name = 'event' a
nd instr(value,':')>0)
x_event
where
o.inst_id = x_rl.inst_id(+) and
o.n = x_rl.RESOURCE_NAME(+) and
o.inst_id = x_pgastat.inst_id(+) and
o.inst_id = x_parameter.inst_id and
o.inst_id = x_undostat.inst_id(+) and
(o.r_mf is null or
x_mergefix.mergefix_at_least between
to_number(substr(o.r_mf,1,instr(o.r_mf,'-')-1)) and
to_number(substr(o.r_mf,instr(o.r_mf,'-')+1))) and
lower(decode(instr(o.n,','),0,' ',substr(o.n,instr(o.n,',')+1)))=
to_char(x_fix_control.bugno(+)) and
decode(x_fix_control.bugno(+),
null, decode(instr(lower(o.n),'_fix_control'),
0,'OK',
'HIDE'),
'OK')='OK' and
(o.r_osf is null or instr(o.r_osf, x_os_family.os_family)>0) and
(o.r_os is null or instr(o.r_os, x_database.platform_name)>0) and
(o.r_rac is null or o.r_rac = x_parameter.cluster_database) and
(o.r_asm is null or o.r_asm = x_feature_used.asm_used) and
(o.r_exadata is null or o.r_exadata = x_feature_used.exadata_used) and
(o.r_abap is null or o.r_abap = x_abap_stack.abap_stack) and
(o.r_bw is null or o.r_bw = x_olap.olap ) and
(o.r_ps is null or instr(o.r_ps,decode(substr(o.version,1,7),
'11.2.0.',substr(o.version,8,1),'?'))>0)
)
where hide='FALSE'
) s,
(
select
inst_id,
name,
subname,
trim(substr(max(sort_string),1,5)) isdefault,
substr(max(sort_string),6)||
decode(count(*),1,'',
decode(name,'event','',
decode(substr(name,1,1),'_','',
', ...'))) value,
max(ismodified) ismodified
from
(
select
inst_id,
lower(name) name,
' ' subname,
concat(lpad(isdefault,5),value) sort_string,
ismodified
from
gv$parameter2
where
name not in ('event','_fix_control')
union
(
select
a.inst_id,
a.name,
substr(trim(translate(value,
chr(10)||chr(13)||chr(9),' ')),1,decode(a.name,'event',5,instr(tri
m(value),':')-1)) subname,
concat('FALSE',trim(translate(value,
chr(10)||chr(13)||chr(9),' '))) sort_string,
a.ismodified
from
(
select
vparam.inst_id,
vparam.name,
substr(decode(vparam.name,'event',':',',')||vparam.value,
instr(decode(vparam.name,'event',':',',')||vparam.value,decode(vpar
am.name,'event',':',','),1,vcnt.cnt)+1,
decode(instr(decode(vparam.name,'event',':',',')||vparam.value,deco
de(vparam.name,'event',':',','),1,vcnt.cnt+1),
0,length(decode(vparam.name,'event',':',',')||vparam.value),
instr(decode(vparam.name,'event',':',',')||vparam.value,decode(vp
aram.name,'event',':',','),1,vcnt.cnt+1)-1)decode(instr(decode(vparam.name,'event',':',',')||vparam.value,deco
de(vparam.name,'event',':',','),1,vcnt.cnt),
0,length(decode(vparam.name,'event',':',',')||vparam.value),
instr(decode(vparam.name,'event',':',',')||vparam.value,decode(vp
aram.name,'event',':',','),1,vcnt.cnt))) value,
vparam.ismodified
from
gv$parameter2 vparam,
(select rownum cnt from gv$parameter2 where rownum <= 20) vcnt
where
vparam.name in ('event','_fix_control')
) a
where
value is not null
)
union
(
select
inst_id,
decode(substr(lower(n),1,5),
'event','event',
'_fix_','_fix_control',
lower(n)) name,
decode(substr(lower(n),1,5),
'event',substr(n,7),
'_fix_',substr(n,14),
' ') subname,
' TRUE ' sort_string,
'FALSE' ismodified
from
(
select
inst_id,
'*** INFORMATION '||lpad(rownum,2)||
' ***' n
from
gv$mystat
where
rownum < 12
union
(
select
inst_id,
n
from
(
select
substr(val,instr(val,'#',1,r-0)+1,
instr(val,'#',1,r+1)-instr(val,'#',1,r-0)-1) n
from
( select '#'||
'_AWR_MMON_DEEP_PURGE_ALL_EXPIRED#_B_TREE_BITMAP_PLANS#'||
'_BUG16850197_ENABLE_FIX_FOR_13602883#_DISABLE_CELL_OPTIMIZED_BACKUPS#'||
'_ENABLE_NUMA_SUPPORT#'||
'_FIFTH_SPARE_PARAMETER#_FILE_SIZE_INCREASE_INCREMENT#_FIRST_SPARE_PARAMETER#'||
'_FIX_CONTROL 4728348#_FIX_CONTROL 5099019#'||
'_FIX_CONTROL 5705630#_FIX_CONTROL 6055658#'||
'_FIX_CONTROL 6120483#_FIX_CONTROL 6399597#'||
'_FIX_CONTROL 6430500#_FIX_CONTROL 6440977#_FIX_CONTROL 6626018#'||
'_FIX_CONTROL 6972291#_FIX_CONTROL 7168184#'||
'_FIX_CONTROL 8937971#_FIX_CONTROL 9196440#'||
'_FIX_CONTROL 9495669#_FIX_CONTROL 12693573#_FIX_CONTROL 13077335#'||
'_FIX_CONTROL 13627489#_FIX_CONTROL 14255600#_FIX_CONTROL 14595273#'||
'_FIX_CONTROL 14764840#_FIX_CONTROL 16015637#_FIX_CONTROL 16825679#'||
'_FIX_CONTROL 17736165#_FIX_CONTROL 17799716#_FIX_CONTROL 18115594#'||
'_FIX_CONTROL 18134680#_FIX_CONTROL 18304693#_FIX_CONTROL 18365267#'||
'_FIX_CONTROL 18405517#_FIX_CONTROL 18798414#'||
'_GC_OVERRIDE_FORCE_CR#'||
'_IN_MEMORY_UNDO#_KTB_DEBUG_FLAGS#_MUTEX_WAIT_SCHEME#_MUTEX_WAIT_TIME#'||
'_NINTH_SPARE_PARAMETER#_OPTIM_PEEK_USER_BINDS#'||
'_OPTIMIZER_ADAPTIVE_CURSOR_SHARING#_OPTIMIZER_EXTENDED_CURSOR_SHARING_REL#'||
'_OPTIMIZER_USE_CBQT_STAR_TRANSFORMATION#_OPTIMIZER_USE_FEEDBACK#'||
'_SECOND_SPARE_PARAMETER#_SECUREFILES_CONCURRENCY_ESTIMATE#_SIMPLE_VIEW_MERGING#
'||
'EVENT 10027#EVENT 10028#EVENT 10142#EVENT 10183#EVENT 10191#EVENT 10198#'||
'EVENT 10995#EVENT 31991#EVENT 38068#EVENT 38085#EVENT 38087#EVENT 44951#'
val from dual
),
( select rownum r from v$parameter2 )
where
substr(val,instr(val,'#',1,r-0)+1,
instr(val,'#',1,r+1)-instr(val,'#',1,r-0)-1) is not null
),
gv$instance)
) underscore
)
)
group by
inst_id,
name,
subname
) c
where
c.inst_id=s.inst_id(+) and
c.name=s.name(+) and
c.subname=s.subname(+)
) union all
( select /* This dummy select is needed due to an SQL Editor Bug */
null,null,null,null,null,null,null,null,null,null from dual where 1=0 )
order by
id,
i,
u,
name,
inst_id;