Understand MIBC Output
Hi Gurus,
I have a question on MIBC result's output field "%".
Based on my understanding, this field displays the percentage of a material's consumption value based on the total consumption value.
I run MIBC with below options.
With that said, the sum of all "%" is not equal to 100.
Why is this not 100%?
What is the missing percentage?
Thank you in advance,
Eddie
It should be pretty easy to find out from where this effect is caused.
I can just assume that it is a rounding effect or an applied filter which may hide one or more lines.
It is a simple rule of three. Click the Change Layout button and add a total to the value field.
This total is just a hundred percent. Now calculate the percentage for your first value and compare it with SAP. For the very first record, the percentage should be equal to the cumulative percentage
Then calculate your percentage for the second, see if it matches, add it to the ***. percentage from the prior record and see it this matches with SAP
Continue the same to the end or until you found a pattern that it is caused by rounding
or you find the place where SAP is totally off. Then share this screenshot
Similar Messages
-
Understand the output of explain plan
I am trying to understand the output of explain plan. I have 2 plans below and don't understand it completely.
In below SQL I would expect optimizer to fetch "ROWNUM < 500" first and then do the outer join. But below explain plan doesn't list it as No. 1. So I don't really understand how to intepret the sequence from the explain plan:
select TASK0_.TASK_ID from
( select TASK0_.TASK_ID from
( select task0_.task_id from task task0_) TASK0_ where ROWNUM < 500 ) TASK0_
left outer join f_message_task task0_1_ on task0_.task_id=task0_1_.task_id
left outer join b_a_task task0_2_ on task0_.task_id=task0_2_.task_id
left outer join i_task task0_3_ on task0_.task_id=task0_3_.task_id
left outer join o_task task0_4_ on task0_.task_id=task0_4_.task_id
left outer join r_transmission_task task0_5_ on task0_.task_id=task0_5_.task_id
left outer join s_error_task task0_6_ on task0_.task_id=task0_6_.task_id
PLAN_TABLE_OUTPUT
Plan hash value: 707970537
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 499 | 19461 | 1042 (6)| 00:00:13 |
|* 1 | HASH JOIN OUTER | | 499 | 19461 | 1042 (6)| 00:00:13 |
|* 2 | HASH JOIN OUTER | | 499 | 16966 | 757 (6)| 00:00:10 |
| 3 | NESTED LOOPS OUTER | | 499 | 14471 | 589 (4)| 00:00:08 |
| 4 | NESTED LOOPS OUTER | | 499 | 12475 | 588 (4)| 00:00:08 |
| 5 | NESTED LOOPS OUTER | | 499 | 10479 | 588 (4)| 00:00:08 |
| 6 | NESTED LOOPS OUTER | | 499 | 8982 | 588 (4)| 00:00:08 |
| 7 | VIEW | | 499 | 2495 | 588 (4)| 00:00:08 |
|* 8 | COUNT STOPKEY | | | | | |
| 9 | INDEX FAST FULL SCAN| PK_TASK | 697K| 3403K| 588 (4)| 00:00:08 |
|* 10 | INDEX UNIQUE SCAN | PK_r_TRANSMISSION | 1 | 13 | 0 (0)| 00:00:01 |
|* 11 | INDEX UNIQUE SCAN | PK_b_a_TASK | 1 | 3 | 0 (0)| 00:00:01 |
|* 12 | INDEX UNIQUE SCAN | PK_s_ERROR_TASK | 1 | 4 | 0 (0)| 00:00:01 |
|* 13 | INDEX UNIQUE SCAN | PK_i_TASK | 1 | 4 | 0 (0)| 00:00:01 |
| 14 | INDEX FAST FULL SCAN | PK_o_TASK | 347K| 1695K| 161 (6)| 00:00:02 |
| 15 | INDEX FAST FULL SCAN | PK_f_MESSAGE | 392K| 1917K| 276 (4)| 00:00:04 |
Predicate Information (identified by operation id):
1 - access("TASK0_"."TASK_ID"="TASK0_1_"."TASK_ID"(+))
2 - access("TASK0_"."TASK_ID"="TASK0_4_"."TASK_ID"(+))
8 - filter(ROWNUM<500)
10 - access("TASK0_"."TASK_ID"="TASK0_5_"."TASK_ID"(+))
11 - access("TASK0_"."TASK_ID"="TASK0_2_"."TASK_ID"(+))
12 - access("TASK0_"."TASK_ID"="TASK0_6_"."TASK_ID"(+))
13 - access("TASK0_"."TASK_ID"="TASK0_3_"."TASK_ID"(+))
In below SQL I expect rownum to be applied at the end but it gets applied first:
select * from ( select TASK0_.TASK_ID from ( select task0_.task_id from task task0_
left outer join f_message_task task0_1_ on task0_.task_id=task0_1_.task_id
left outer join b_a_task task0_2_ on task0_.task_id=task0_2_.task_id
left outer join i_task task0_3_ on task0_.task_id=task0_3_.task_id
left outer join o_task task0_4_ on task0_.task_id=task0_4_.task_id
left outer join r_t_task task0_5_ on task0_.task_id=task0_5_.task_id
left outer join s_error_task task0_6_ on task0_.task_id=task0_6_.task_id
) TASK0_ where ROWNUM < 500 ) TASK0_;
PLAN_TABLE_OUTPUT
Plan hash value: 673345378
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 499 | 6487 | 507 (1)| 00:00:07 |
| 1 | VIEW | | 499 | 6487 | 507 (1)| 00:00:07 |
|* 2 | COUNT STOPKEY | | | | | |
| 3 | NESTED LOOPS OUTER | | 501 | 19539 | 507 (1)| 00:00:07 |
| 4 | NESTED LOOPS OUTER | | 501 | 17034 | 5 (20)| 00:00:01 |
| 5 | NESTED LOOPS OUTER | | 501 | 15030 | 5 (20)| 00:00:01 |
| 6 | NESTED LOOPS OUTER | | 501 | 13026 | 5 (20)| 00:00:01 |
| 7 | NESTED LOOPS OUTER | | 501 | 11523 | 5 (20)| 00:00:01 |
| 8 | NESTED LOOPS OUTER | | 501 | 5010 | 5 (20)| 00:00:01 |
| 9 | INDEX FAST FULL SCAN| PK_TASK | 499 | 2495 | 2 (0)| 00:00:01 |
|* 10 | INDEX UNIQUE SCAN | PK_o_TASK | 1 | 5 | 1 (0)| 00:00:01 |
|* 11 | INDEX UNIQUE SCAN | PK_r_T | 1 | 13 | 0 (0)| 00:00:01 |
|* 12 | INDEX UNIQUE SCAN | PK_b_a_TASK | 1 | 3 | 0 (0)| 00:00:01 |
|* 13 | INDEX UNIQUE SCAN | PK_s_ERROR_TASK | 1 | 4 | 0 (0)| 00:00:01 |
|* 14 | INDEX UNIQUE SCAN | PK_i_TASK | 1 | 4 | 0 (0)| 00:00:01 |
|* 15 | INDEX UNIQUE SCAN | PK_f_MESSAGE | 1 | 5 | 1 (0)| 00:00:01 |
Predicate Information (identified by operation id):
2 - filter(ROWNUM<500)
10 - access("TASK0_"."TASK_ID"="TASK0_4_"."TASK_ID"(+))
11 - access("TASK0_"."TASK_ID"="TASK0_5_"."TASK_ID"(+))
12 - access("TASK0_"."TASK_ID"="TASK0_2_"."TASK_ID"(+))
13 - access("TASK0_"."TASK_ID"="TASK0_6_"."TASK_ID"(+))
14 - access("TASK0_"."TASK_ID"="TASK0_3_"."TASK_ID"(+))
15 - access("TASK0_"."TASK_ID"="TASK0_1_"."TASK_ID"(+))Edited by: user628400 on Feb 20, 2009 12:14 PM
Edited by: user628400 on Feb 20, 2009 12:15 PMPlease read the FAQ: http://forums.oracle.com/forums/help.jspa
And learn how to post code and explain plans using the tags. -
Help in understanding TKPROF output
Hi All,
Following is the TKPROF output of a user_dump_dest trace file, obtained by setting trace to 10046@level 12.
select "CHNNL"."CHNNL_BK" "C0", case "GEOG12"."SUB_STATE_PRVNC_CD" when
*:"SYS_B_000" then :"SYS_B_001" when :"SYS_B_002" then :"SYS_B_003" when*
*:"SYS_B_004" then :"SYS_B_005" when :"SYS_B_006" then :"SYS_B_007" when*
*:"SYS_B_008" then :"SYS_B_009" when :"SYS_B_010" then :"SYS_B_011" when*
*:"SYS_B_012" then :"SYS_B_013" else "GEOG12"."SUB_STATE_PRVNC_NAME_TXT" end*
*"C1", "TIME_PERIOD13"."MONTH_CD" "C2", lpad(to_char(EXTRACT( MONTH*
FROM
*(TIMESTAMP :"SYS_B_014") )), :"SYS_B_015", :"SYS_B_016") "C3", sum(case*
when "TIME_PERIOD13"."DAY_CLNDR_DATE"=TIMESTAMP :"SYS_B_017" then
*"SALES_FACT"."EXTND_NET_SALE_AMNT" else :"SYS_B_018" end ) over (partition*
by "CHNNL"."CHNNL_BK", case "GEOG12"."SUB_STATE_PRVNC_CD" when :"SYS_B_019"
then :"SYS_B_020" when :"SYS_B_021" then :"SYS_B_022" when :"SYS_B_023"
then :"SYS_B_024" when :"SYS_B_025" then :"SYS_B_026" when :"SYS_B_027"
then :"SYS_B_028" when :"SYS_B_029" then :"SYS_B_030" when :"SYS_B_031"
then :"SYS_B_032" else "GEOG12"."SUB_STATE_PRVNC_NAME_TXT" end ,
*"TIME_PERIOD13"."MONTH_CD") "C4", sum(case when*
*"TIME_PERIOD13"."DAY_CLNDR_DATE" between (TIMESTAMP :"SYS_B_033" -*
NUMTODSINTERVAL( EXTRACT( DAY FROM TIMESTAMP :"SYS_B_034" ), :"SYS_B_035" )
+ INTERVAL :"SYS_B_036" DAY) and TIMESTAMP :"SYS_B_037" then
*"SALES_FACT"."EXTND_NET_SALE_AMNT" else :"SYS_B_038" end ) over (partition*
by "CHNNL"."CHNNL_BK", case "GEOG12"."SUB_STATE_PRVNC_CD" when :"SYS_B_039"
then :"SYS_B_040" when :"SYS_B_041" then :"SYS_B_042" when :"SYS_B_043"
then :"SYS_B_044" when :"SYS_B_045" then :"SYS_B_046" when :"SYS_B_047"
then :"SYS_B_048" when :"SYS_B_049" then :"SYS_B_050" when :"SYS_B_051"
then :"SYS_B_052" else "GEOG12"."SUB_STATE_PRVNC_NAME_TXT" end ,
*"TIME_PERIOD13"."MONTH_CD") "C5", sum(case when*
*"TIME_PERIOD13"."DAY_CLNDR_DATE"=TIMESTAMP :"SYS_B_053" then*
*"SALES_FACT"."QTY_SOLD_IN_CASES" else :"SYS_B_054" end ) over (partition by*
*"CHNNL"."CHNNL_BK", case "GEOG12"."SUB_STATE_PRVNC_CD" when :"SYS_B_055"*
then :"SYS_B_056" when :"SYS_B_057" then :"SYS_B_058" when :"SYS_B_059"
then :"SYS_B_060" when :"SYS_B_061" then :"SYS_B_062" when :"SYS_B_063"
then :"SYS_B_064" when :"SYS_B_065" then :"SYS_B_066" when :"SYS_B_067"
then :"SYS_B_068" else "GEOG12"."SUB_STATE_PRVNC_NAME_TXT" end ,
*"TIME_PERIOD13"."MONTH_CD") "C6", sum(case when*
*"TIME_PERIOD13"."DAY_CLNDR_DATE" between (TIMESTAMP :"SYS_B_069" -*
NUMTODSINTERVAL( EXTRACT( DAY FROM TIMESTAMP :"SYS_B_070" ), :"SYS_B_071" )
+ INTERVAL :"SYS_B_072" DAY) and TIMESTAMP :"SYS_B_073" then
*"SALES_FACT"."QTY_SOLD_IN_CASES" else :"SYS_B_074" end ) over (partition by*
*"CHNNL"."CHNNL_BK", case "GEOG12"."SUB_STATE_PRVNC_CD" when :"SYS_B_075"*
then :"SYS_B_076" when :"SYS_B_077" then :"SYS_B_078" when :"SYS_B_079"
then :"SYS_B_080" when :"SYS_B_081" then :"SYS_B_082" when :"SYS_B_083"
then :"SYS_B_084" when :"SYS_B_085" then :"SYS_B_086" when :"SYS_B_087"
then :"SYS_B_088" else "GEOG12"."SUB_STATE_PRVNC_NAME_TXT" end ,
*"TIME_PERIOD13"."MONTH_CD") "C7", sum(case when*
*"TIME_PERIOD13"."DAY_CLNDR_DATE"=TIMESTAMP :"SYS_B_089" then*
*"SALES_FACT"."QTY_SOLD_IN_KLGMS" else :"SYS_B_090" end ) over (partition by*
*"CHNNL"."CHNNL_BK", case "GEOG12"."SUB_STATE_PRVNC_CD" when :"SYS_B_091"*
then :"SYS_B_092" when :"SYS_B_093" then :"SYS_B_094" when :"SYS_B_095"
then :"SYS_B_096" when :"SYS_B_097" then :"SYS_B_098" when :"SYS_B_099"
then :"SYS_B_100" when :"SYS_B_101" then :"SYS_B_102" when :"SYS_B_103"
then :"SYS_B_104" else "GEOG12"."SUB_STATE_PRVNC_NAME_TXT" end ,
*"TIME_PERIOD13"."MONTH_CD") "C8", sum(case when*
*"TIME_PERIOD13"."DAY_CLNDR_DATE" between (TIMESTAMP :"SYS_B_105" -*
NUMTODSINTERVAL( EXTRACT( DAY FROM TIMESTAMP :"SYS_B_106" ), :"SYS_B_107" )
+ INTERVAL :"SYS_B_108" DAY) and TIMESTAMP :"SYS_B_109" then
*"SALES_FACT"."QTY_SOLD_IN_KLGMS" else :"SYS_B_110" end ) over (partition by*
*"CHNNL"."CHNNL_BK", case "GEOG12"."SUB_STATE_PRVNC_CD" when :"SYS_B_111"*
then :"SYS_B_112" when :"SYS_B_113" then :"SYS_B_114" when :"SYS_B_115"
then :"SYS_B_116" when :"SYS_B_117" then :"SYS_B_118" when :"SYS_B_119"
then :"SYS_B_120" when :"SYS_B_121" then :"SYS_B_122" when :"SYS_B_123"
then :"SYS_B_124" else "GEOG12"."SUB_STATE_PRVNC_NAME_TXT" end ,
*"TIME_PERIOD13"."MONTH_CD") "C9", sum("SALES_FACT"."EXTND_GROSS_SALE_AMNT")*
over (partition by "CHNNL"."CHNNL_BK", case "GEOG12"."SUB_STATE_PRVNC_CD"
when :"SYS_B_125" then :"SYS_B_126" when :"SYS_B_127" then :"SYS_B_128"
when :"SYS_B_129" then :"SYS_B_130" when :"SYS_B_131" then :"SYS_B_132"
when :"SYS_B_133" then :"SYS_B_134" when :"SYS_B_135" then :"SYS_B_136"
when :"SYS_B_137" then :"SYS_B_138" else
*"GEOG12"."SUB_STATE_PRVNC_NAME_TXT" end , "TIME_PERIOD13"."MONTH_CD") "C10",*
*((sum(case when ("TIME_PERIOD13"."DAY_CLNDR_DATE"=TIMESTAMP :"SYS_B_139")*
then "SALES_FACT"."EXTND_NET_SALE_AMNT" else :"SYS_B_140" end ) over
*(partition by "CHNNL"."CHNNL_BK", case "GEOG12"."SUB_STATE_PRVNC_CD" when*
*:"SYS_B_141" then :"SYS_B_142" when :"SYS_B_143" then :"SYS_B_144" when*
*:"SYS_B_145" then :"SYS_B_146" when :"SYS_B_147" then :"SYS_B_148" when*
*:"SYS_B_149" then :"SYS_B_150" when :"SYS_B_151" then :"SYS_B_152" when*
*:"SYS_B_153" then :"SYS_B_154" else "GEOG12"."SUB_STATE_PRVNC_NAME_TXT" end*
*, "TIME_PERIOD13"."MONTH_CD")+sum(case when*
*"TIME_PERIOD13"."DAY_CLNDR_DATE" between (TIMESTAMP :"SYS_B_155" -*
NUMTODSINTERVAL( EXTRACT( DAY FROM TIMESTAMP :"SYS_B_156" ), :"SYS_B_157" )
+ INTERVAL :"SYS_B_158" DAY) and TIMESTAMP :"SYS_B_159" then
*"SALES_FACT"."EXTND_NET_SALE_AMNT" else :"SYS_B_160" end ) over (partition*
by "CHNNL"."CHNNL_BK", case "GEOG12"."SUB_STATE_PRVNC_CD" when :"SYS_B_161"
then :"SYS_B_162" when :"SYS_B_163" then :"SYS_B_164" when :"SYS_B_165"
then :"SYS_B_166" when :"SYS_B_167" then :"SYS_B_168" when :"SYS_B_169"
then :"SYS_B_170" when :"SYS_B_171" then :"SYS_B_172" when :"SYS_B_173"
then :"SYS_B_174" else "GEOG12"."SUB_STATE_PRVNC_NAME_TXT" end ,
*"TIME_PERIOD13"."MONTH_CD"))+(sum(case when*
*("TIME_PERIOD13"."DAY_CLNDR_DATE"=TIMESTAMP :"SYS_B_175") then*
*"SALES_FACT"."QTY_SOLD_IN_CASES" else :"SYS_B_176" end ) over (partition by*
*"CHNNL"."CHNNL_BK", case "GEOG12"."SUB_STATE_PRVNC_CD" when :"SYS_B_177"*
then :"SYS_B_178" when :"SYS_B_179" then :"SYS_B_180" when :"SYS_B_181"
then :"SYS_B_182" when :"SYS_B_183" then :"SYS_B_184" when :"SYS_B_185"
then :"SYS_B_186" when :"SYS_B_187" then :"SYS_B_188" when :"SYS_B_189"
then :"SYS_B_190" else "GEOG12"."SUB_STATE_PRVNC_NAME_TXT" end ,
*"TIME_PERIOD13"."MONTH_CD")+sum(case when "TIME_PERIOD13"."DAY_CLNDR_DATE"*
between (TIMESTAMP :"SYS_B_191" - NUMTODSINTERVAL( EXTRACT( DAY FROM
TIMESTAMP :"SYS_B_192" ), :"SYS_B_193" ) + INTERVAL :"SYS_B_194" DAY) and
TIMESTAMP :"SYS_B_195" then "SALES_FACT"."QTY_SOLD_IN_CASES" else
*:"SYS_B_196" end ) over (partition by "CHNNL"."CHNNL_BK", case*
*"GEOG12"."SUB_STATE_PRVNC_CD" when :"SYS_B_197" then :"SYS_B_198" when*
*:"SYS_B_199" then :"SYS_B_200" when :"SYS_B_201" then :"SYS_B_202" when*
*:"SYS_B_203" then :"SYS_B_204" when :"SYS_B_205" then :"SYS_B_206" when*
*:"SYS_B_207" then :"SYS_B_208" when :"SYS_B_209" then :"SYS_B_210" else*
*"GEOG12"."SUB_STATE_PRVNC_NAME_TXT" end , "TIME_PERIOD13"."MONTH_CD")))*
+(sum(case when ("TIME_PERIOD13"."DAY_CLNDR_DATE"=TIMESTAMP :"SYS_B_211")
then "SALES_FACT"."QTY_SOLD_IN_KLGMS" else :"SYS_B_212" end ) over
*(partition by "CHNNL"."CHNNL_BK", case "GEOG12"."SUB_STATE_PRVNC_CD" when*
*:"SYS_B_213" then :"SYS_B_214" when :"SYS_B_215" then :"SYS_B_216" when*
*:"SYS_B_217" then :"SYS_B_218" when :"SYS_B_219" then :"SYS_B_220" when*
*:"SYS_B_221" then :"SYS_B_222" when :"SYS_B_223" then :"SYS_B_224" when*
*:"SYS_B_225" then :"SYS_B_226" else "GEOG12"."SUB_STATE_PRVNC_NAME_TXT" end*
*, "TIME_PERIOD13"."MONTH_CD")+sum(case when*
*"TIME_PERIOD13"."DAY_CLNDR_DATE" between (TIMESTAMP :"SYS_B_227" -*
NUMTODSINTERVAL( EXTRACT( DAY FROM TIMESTAMP :"SYS_B_228" ), :"SYS_B_229" )
+ INTERVAL :"SYS_B_230" DAY) and TIMESTAMP :"SYS_B_231" then
*"SALES_FACT"."QTY_SOLD_IN_KLGMS" else :"SYS_B_232" end ) over (partition by*
*"CHNNL"."CHNNL_BK", case "GEOG12"."SUB_STATE_PRVNC_CD" when :"SYS_B_233"*
then :"SYS_B_234" when :"SYS_B_235" then :"SYS_B_236" when :"SYS_B_237"
then :"SYS_B_238" when :"SYS_B_239" then :"SYS_B_240" when :"SYS_B_241"
then :"SYS_B_242" when :"SYS_B_243" then :"SYS_B_244" when :"SYS_B_245"
then :"SYS_B_246" else "GEOG12"."SUB_STATE_PRVNC_NAME_TXT" end ,
*"TIME_PERIOD13"."MONTH_CD")) "C11" from "THA_SALES_DBA"."CHNNL" "CHNNL",*
*(select "GEOG"."GEOG_KEY" "GEOG_KEY", "GEOG"."SUB_STATE_PRVNC_CD"*
*"SUB_STATE_PRVNC_CD", "GEOG"."SUB_STATE_PRVNC_NAME_TXT"*
*"SUB_STATE_PRVNC_NAME_TXT" from "THA_SALES_DBA"."GEOG" "GEOG" where*
*"GEOG"."SUB_STATE_PRVNC_LOAD_DATA_TYPE"=:"SYS_B_247") "GEOG12",*
*"THA_SALES_DBA"."TIME_PERIOD" "TIME_PERIOD13", "THA_SALES_DBA"."SALES_FACT"*
*"SALES_FACT", (select "PROD"."PROD_KEY" "PROD_KEY", "PROD"."PROD_DVSN_CD"*
*"PROD_DVSN_CD", "PROD"."PCKG_SIZE_CD" "PCKG_SIZE_CD" from*
*"THA_SALES_DBA"."PROD" "PROD" where "PROD"."LOAD_DATA_TYPE_CD"=:"SYS_B_248")*
*"PROD14", "THA_SALES_DBA"."DSTRBTR" "DSTRBTR" where*
*"PROD14"."PROD_DVSN_CD"=:"SYS_B_249" and "PROD14"."PCKG_SIZE_CD"=*
*:"SYS_B_250" and "DSTRBTR"."DSTRBTR_CD"<>:"SYS_B_251" and CASE*
WHEN("DSTRBTR"."DSTRBTR_CD" IS NULL) OR ("CHNNL"."CHNNL_BK" IS NULL) THEN
NULL ELSE ("DSTRBTR"."DSTRBTR_CD"||"CHNNL"."CHNNL_BK") END<>:"SYS_B_252"
and "SALES_FACT"."CHNNL_KEY"="CHNNL"."CHNNL_KEY" and
*"SALES_FACT"."DSTRBTR_KEY"="DSTRBTR"."DSTRBTR_KEY" and*
*"SALES_FACT"."GEOG_KEY"="GEOG12"."GEOG_KEY" and "SALES_FACT"."PROD_KEY"=*
*"PROD14"."PROD_KEY" and "SALES_FACT"."TIME_PERIOD_KEY"=*
*"TIME_PERIOD13"."TIME_PERIOD_KEY"*
call count cpu elapsed disk query current rows
Parse 1 0.01 0.00 0 0 0 0
Execute 1 0.01 0.01 0 0 0 0
Fetch 7632 129.92 245.70 406278 12619 35 763042
total 7634 129.95 245.73 406278 12619 35 763042
Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: 68
Rows Row Source Operation
*763042 WINDOW BUFFER (cr=12619 pr=406278 pw=257613 time=239232878 us)*
*763042 WINDOW BUFFER (cr=12619 pr=372409 pw=237458 time=217248824 us)*
*763042 WINDOW BUFFER (cr=12619 pr=339595 pw=217662 time=194593662 us)*
*763042 WINDOW BUFFER (cr=12619 pr=307255 pw=198149 time=177438908 us)*
*763042 WINDOW BUFFER (cr=12619 pr=275292 pw=178940 time=157976971 us)*
*763042 WINDOW BUFFER (cr=12619 pr=244097 pw=160017 time=139997871 us)*
*763042 WINDOW BUFFER (cr=12619 pr=213275 pw=141404 time=119675383 us)*
*763042 WINDOW BUFFER (cr=12619 pr=184170 pw=123525 time=105714100 us)*
*763042 WINDOW BUFFER (cr=12619 pr=155800 pw=105953 time=88478655 us)*
*763042 WINDOW BUFFER (cr=12619 pr=128025 pw=88650 time=71243641 us)*
*763042 WINDOW BUFFER (cr=12619 pr=100871 pw=71641 time=54047210 us)*
*763042 WINDOW BUFFER (cr=12619 pr=73821 pw=54957 time=35324144 us)*
*763042 WINDOW SORT (cr=12619 pr=48205 pw=38587 time=18865032 us)*
*763042 HASH JOIN (cr=12619 pr=0 pw=0 time=3127703 us)*
*15098 TABLE ACCESS FULL TIME_PERIOD (cr=693 pr=0 pw=0 time=15216 us)*
*763042 HASH JOIN (cr=11926 pr=0 pw=0 time=2344335 us)*
*1845 TABLE ACCESS FULL GEOG (cr=92 pr=0 pw=0 time=1910 us)*
*763194 HASH JOIN (cr=11834 pr=0 pw=0 time=1577327 us)*
*11 TABLE ACCESS FULL CHNNL (cr=7 pr=0 pw=0 time=47 us)*
*765432 HASH JOIN (cr=11827 pr=0 pw=0 time=1580849 us)*
*2 TABLE ACCESS FULL DSTRBTR (cr=7 pr=0 pw=0 time=50 us)*
*765432 HASH JOIN (cr=11820 pr=0 pw=0 time=814835 us)*
*313 TABLE ACCESS FULL PROD (cr=174 pr=0 pw=0 time=1195 us)*
*1045260 TABLE ACCESS FULL SALES_FACT (cr=11646 pr=0 pw=0 time=31 us)*
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQLNet message to client 7633 0.00 0.01*
SQLNet message from client 7633 1826.57 2334.17*
SQLNet more data from client 1 0.00 0.00*
direct path write temp 5332 0.09 6.23
direct path read temp 389239 0.09 115.09
The query is automatically generated by Cognos 8.2. The database is 64-bit Oracle 10.2.0.4 on Windows 2003 Enterprise Edition R2.
I am unable to understand the "*WINDOW BUFFER/WINDOW SORT*" statement under the Row Source Operation. Could one of you please explain this operation to me?
Thanks and Regards,
SriramanThe WINDOW BUFFER/WINDOW SORT operations are used when processing analytical SQLs, you can see these in your SQL statement. In WINDOW BUFFER the SQL engine do calculations above some buffered data subset and in the WINDOW SORT data subsets are being sorted.
Dusan -
Understanding PAL output to fix Outlook "frozen state" problems
Masters,
EDITED INFORMATION:
Compared ten or more PAL analysis output, these are the main warnings and errors. Please help us to understand, give us advice how to look forward of those messages:
Questions:
- What means "increasing trends...."
- What should i do with disk queue? (exchnage edb cause main disk activity)
- How to track down TCP connection fails?
- The outlook "try to retrieve information" is Disk or TCP problem?
Which analisys may i believe in?
- If i run Exchange Best Practice and use the perfmon blg file, it show no error. (No proc, no disk, nothing..)
- If i use PAL to analyze the BLG file, i got lot of warning. (But in PAL i can't choose SBS2011 template file, i can pick Exchange 2010 template..)
- If i download Exchange 2010 counters and thresolds excel file and make a step by step manual analisys i found some problem with a few counters..
Condition
Counter
Min
Avg
Max
Hourly Trend
OWA response times high - greater than 100ms
\\SBS\MSExchange OWA\Average Response Time
236
236
236
0
Increasing trend of more than 100 handles per hour
\\SBS\Process(EdgeTransport)\Handle Count
3,227
3,539.30769231
3,838
890.97569098
Increasing trend of more than 100 handles per hour
\\SBS\Process(w3wp#6)\Handle Count
654
664.07692308
673
158.67465867
Increasing trend of more than 100 handles per hour
\\SBS\Process(w3wp#1)\Handle Count
1,785
1,829.84615385
1,882
441.09224109
Increasing trend of more than 100 handles per hour
\\SBS\Process(msftesql)\Handle Count
872
933.15384615
960
187.04628705
Disk approaching overwhelmed: Avg Disk Queue Length is greater than 1 and response times are greater than 15
ms
\\SBS\LogicalDisk(C:)\Disk Overwhelmed
0
.23
1
1
System Cache Resident Bytes is consumsing more than 10 percent of RAM
\\SBS\Memory\System Cache Resident Bytes
976,588,800
977,392,876.307692
979,042,304
-755,980.01998013
More than 10 TCP connection failures per hour
\\SBS\TCPv4\Connection Failures
89,523
89,714
89,902
7,672.72727273
!!Experimental!! Available physical memory is less than 10%
\\SBS\Memory\Physical Memory Overwhelmed
0
.23
1
1
Disk overwhelmed: Avg Disk Queue Length is greater than 1 and response times are greater
than 25 ms for IO sizes of 64 KB or smaller or 35 ms for IO sizes greater than 64 KB.
\\SBS\LogicalDisk(C:)\Disk Overwhelmed
0
.31
2
0
First of all
We have an intel modular server, with two host. Every host contain some virtual os - vmware -
At this time we talkin' about an SBS 2011 server and one Windows Server 2008 as Terminal server.
Parameters:
- On this terminal server we have 30 users approximatly (we have 45 user/mailbox on SBS)
- SBS and TS has:Intel Xeon E5620/4proc, 32GB memory
- Outlook set as Online mode
- Servers and users on same LAN
Users sometimes reporting the Outlook not response - Outlook trying to retreive data from exchange server....
- So we checked the e-mails / folder
- Checked the users
- We have automatic archiving so exhchange contain only a few month of e-mails.
At now, we get some information from exhcange performance counters, and used PAL to understand what happend....
What i would like to ask to take a look at our PAL output and say something 'coz we don't understand:
- if we any problem with "yellow" or just an alert.
- if the "red" lines can cause any problem with outlook
- what mean if "No Thresholds" / "Stats only"
- i don't know which one we could use:PAL analisys or Exchange 2010 counters and thresolds.XLS (there is an excel table on internet and the excel contains some counters with thresolds number which not included in PAL)
Thank you for any suggestion
I created a free website, to upload the PAL output, because i have no idea how to share with you...
http://pal.x3.hu/index.html
KriszitánHi,
Basic on my research, I find an familiar blog about your question, for your reference:
Improved PAL analysis for Exchange 2007:
http://blogs.technet.com/b/mikelag/archive/2009/12/14/improved-pal-analysis-for-exchange-2007.aspx
Performance Troubleshooting using the PAL tool:
http://blogs.technet.com/b/mikelag/archive/2008/08/20/performance-troubleshooting-using-the-pal-tool.aspx
Thanks
Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact [email protected]
Allen Wang
TechNet Community Support -
Help understanding Analyzer output
Can anyone help on understanding the db analyzer output attached ?
The MaxCPUs message is clear I'd like to understand there are some issues that can be fixed.
Thank you !!
===== #0 at 2009-03-20 11:53:42
* I Database Analyzer configuration file dbanalyzer77.cfg, version 7.7.06 Build 009-123-202-944
* I Number of logical CPUs: 8, physical CPUs: 2, processor type: x86_64
* I Configuration: number of CPUs (MAXCPU): 6, max user tasks: 1020
* I 'MaxCPUs' (6) exceeds number of physical CPUs (2)!
* I Physical memory 16088 MB, virtual memory 16386 MB, memory allocated from instance: 5292 MB
* I Operating system: Linux 2.6.23.1-42.fc8 #1 SMP Tue Oct 30 13:18:33 EDT 2007
* I Kernel version: Kernel 7.7.06 Build 009-123-202-944
* I Instance ECF3 (fatboy) is up since 23:59:58
* I Number of data volumes: 2
* I SQL commands executed: 174857156
* W1 Number of tables where update statistics is required: 1
* W1 Owner: DBA, table: SYSUPGRADEHISTORY
* W1 Lock list escalations: 12
* I Size of data cache 4094.43 MB, used data size in instance 1364.88 MB
* W3 Log automatic overwrite is set to 'on' !
===== #1 at 2009-03-20 11:54:42
* I SQL commands executed: 2148, avg. 39.31 per second
* I Active User tasks found in state 'Enter ExclLock': 2
* I Active User tasks found in state 'Running': 2
* I Active User tasks found in state 'Connect close': 1
* I Runnable User tasks found in state 'Enter ExclLock': 2
* I UKT11: commands: 25316973, dispatches: 109499812, user task 785 is running, 1 tasks are waiting for CPU
* I UKT10: commands: 18359305, dispatches: 107190388, user task 617 is running, 1 tasks are waiting for CPU
* I UKT10: user task 620 is waiting for CPU in state 'Enter ExclLock'
* I UKT11: user task 788 is waiting for CPU in state 'Enter ExclLock'
* W2 74 primary key range accesses, selectivity 0.33%: 31873 rows read, 106 rows qualified
* I CPU utilization: instance ECF3: 101.64% (usr: 101.64%, sys: 0%) host: 104.92% (usr: 103.28%, sys: 1.64%, idle: 691.8%)
===== #2 at 2009-03-20 11:55:43
* I SQL commands executed: 2527, avg. 46.28 per second
* I Active User tasks found in state 'Running': 1
* I Active User tasks found in state 'Connect close': 2
* I Active User tasks found in state 'ExclLock Yield': 1
* I Runnable User tasks found in state 'ExclLock Yield': 1
* I UKT11: commands: 25318126, dispatches: 109644955, user task 784 is running, 1 tasks are waiting for CPU
* I UKT11: user task 790 is waiting for CPU in state 'ExclLock Yield'
* W3 27 primary key range accesses, selectivity 0.17%: 16227 rows read, 27 rows qualified
* I DATA50: collision rate 3.29%, 436543 collisions, 1 waits (0%), 13256056 accesses on region 54
* W3 User task 1130 blocked in state 'Connect close' since 60s, application pid 1510
* I CPU utilization: instance ECF3: 113.33% (usr: 113.33%, sys: 0%) host: 115% (usr: 115%, sys: 0%, idle: 691.67%)
===== #3 at 2009-03-20 11:56:43
* I SQL commands executed: 1379, avg. 26.7 per second
* W3 20 primary key range accesses, selectivity 0.20%: 10148 rows read, 20 rows qualified
* I CPU utilization: instance ECF3: 47.54% (usr: 47.54%, sys: 0%) host: 50.82% (usr: 49.18%, sys: 1.64%, idle: 742.62%)
===== #4 at 2009-03-20 11:57:44
* I SQL commands executed: 6910, avg. 119.33 per second
* I Active User tasks found in state 'Connect close': 1
* W2 240 table scans, selectivity 0.64%: 196678 rows read, 1267 rows qualified
* W3 57 primary key range accesses, selectivity 0.28%: 26740 rows read, 76 rows qualified
* W2 330 index accesses, selectivity 1.54%: 36056 rows read, 557 rows qualified
* I CPU utilization: instance ECF3: 45% (usr: 45%, sys: 0%) host: 46.67% (usr: 46.67%, sys: 0%, idle: 760%)
===== #5 at 2009-03-20 11:58:44
* I SQL commands executed: 1522, avg. 29.05 per second
* I Active User tasks found in state 'Running': 1
* W3 56 primary key range accesses, selectivity 0.20%: 27880 rows read, 56 rows qualified
* I CPU utilization: instance ECF3: 73.77% (usr: 73.77%, sys: 0%) host: 78.69% (usr: 77.05%, sys: 1.64%, idle: 716.39%)
===== #6 at 2009-03-20 11:59:45
* I SQL commands executed: 1557, avg. 30.12 per second
* I Active User tasks found in state 'Running': 1
* W3 38 primary key range accesses, selectivity 0.16%: 23366 rows read, 38 rows qualified
* I CPU utilization: instance ECF3: 51.67% (usr: 51.67%, sys: 0%) host: 55% (usr: 53.33%, sys: 1.67%, idle: 755%)
===== #7 at 2009-03-20 12:00:45
* I SQL commands executed: 5712, avg. 97.74 per second
* I Active User tasks found in state 'Running': 1
* W3 47 primary key range accesses, selectivity 0.16%: 28046 rows read, 46 rows qualified
* I CPU utilization: instance ECF3: 73.77% (usr: 73.77%, sys: 0%) host: 75.41% (usr: 75.41%, sys: 0%, idle: 718.03%)
===== #8 at 2009-03-20 12:01:46
* I SQL commands executed: 1565, avg. 30.25 per second
* W3 42 primary key range accesses, selectivity 0.17%: 24666 rows read, 42 rows qualified
* I DATA50: collision rate 4.43%, 444353 collisions, no waits, 10038277 accesses on region 54
* I CPU utilization: instance ECF3: 86.67% (usr: 86.67%, sys: 0%) host: 91.67% (usr: 90%, sys: 1.67%, idle: 716.67%)
===== #9 at 2009-03-20 12:02:46
* I SQL commands executed: 2111, avg. 38.7 per second
* I Active User tasks found in state 'Running': 1
* I Active User tasks found in state 'Connect close': 1
* W3 53 primary key range accesses, selectivity 0.16%: 33101 rows read, 53 rows qualified
* I CPU utilization: instance ECF3: 86.89% (usr: 85.25%, sys: 1.64%) host: 86.89% (usr: 86.89%, sys: 0%, idle: 706.56%)
===== #10 at 2009-03-20 12:03:47
* I SQL commands executed: 1293, avg. 25.72 per second
* W3 43 primary key range accesses, selectivity 0.17%: 24667 rows read, 43 rows qualified
* I CPU utilization: instance ECF3: 65% (usr: 65%, sys: 0%) host: 70% (usr: 68.33%, sys: 1.67%, idle: 736.67%)Hi again Andrea!
> Can anyone help on understanding the db analyzer output attached ?
> The MaxCPUs message is clear I'd like to understand there are some issues that can be fixed.
Ok, let's see if we can provide a free walkthrough..
> ===== #0 at 2009-03-20 11:53:42
> * I Database Analyzer configuration file dbanalyzer77.cfg, version 7.7.06 Build 009-123-202-944
> * I Number of logical CPUs: 8, physical CPUs: 2, processor type: x86_64
> * I Configuration: number of CPUs (MAXCPU): 6, max user tasks: 1020
> * I 'MaxCPUs' (6) exceeds number of physical CPUs (2)!
> * I Physical memory 16088 MB, virtual memory 16386 MB, memory allocated from instance: 5292 MB
> * I Operating system: Linux 2.6.23.1-42.fc8 #1 SMP Tue Oct 30 13:18:33 EDT 2007
> * I Kernel version: Kernel 7.7.06 Build 009-123-202-944
> * I Instance ECF3 (fatboy) is up since 23:59:58
> * I Number of data volumes: 2
> * I SQL commands executed: 174857156
Ok, the I (= Information) messages are nothing to worry about.
It's just for your information.
> * W1 Number of tables where update statistics is required: 1
> * W1 Owner: DBA, table: SYSUPGRADEHISTORY
> * W1 Lock list escalations: 12
Then there are warning messages (W1, W2, W3).
These indicates violations to check rules.
These check rules are defined by the dbanalyzer configuration file and the warning severity level is simply chosen by the developer of that file.
These two warnings above (spread over 3 lines) are:
1. One table needs new statitics - it's table DBA.SYSUPGRADEHISTORY.
DBAnalyzer knows this, because the MaxDB Kernel inserted the tablename into a special system table SYSUPDSTATWANTED when it accessed it and found the statistics did not fit to the data in the table.
Run a "update statistics as per system table" to clear this warning.
2. There had been lock list escalations in the database.
This happens when a single transactions holds more than 20% of all available lock entries. If this happens all row-locks are escalated to tablelocks.
Since this obviously isn't the greatest thing for parallel data access, this should be avoided.
Increate the MAXLOCKS parameter (say to 1000000 for starters) and check whether there are still lock escalations.
> * I Size of data cache 4094.43 MB, used data size in instance 1364.88 MB
> * W3 Log automatic overwrite is set to 'on' !
This one is serious!
With log automatic overwrite on you basically say "the data in this database is not important - I do not need to recover this database instance".
Think about whether this fits the situation!
> * W2 74 primary key range accesses, selectivity 0.33%: 31873 rows read, 106 rows qualified
This is a warning about badly tuned SQL statements.
For the 74 primary key ranges more than 310000 rows were read and only 106 fitted to the WHERE clause.
Check your statetements and think about providing appropriate indexes.
> * W3 27 primary key range accesses, selectivity 0.17%: 16227 rows read, 27 rows qualified
Same again - only worse.
> * W3 User task 1130 blocked in state 'Connect close' since 60s, application pid 1510
You may want to check what user task 1130 is up to.
Why is it hanging on "Connect close" ? Maybe a network issue!?
> * W3 20 primary key range accesses, selectivity 0.20%: 10148 rows read, 20 rows qualified
Ok, we already know this one.
You need to tune your SQL.
> * W2 240 table scans, selectivity 0.64%: 196678 rows read, 1267 rows qualified
And again - SQL not tuned good enough.
This time it's table scanes with a slightly better selectivity but still: reading nearly 200000 rows to get around 1200 is not the most clever thing to do.
> * W3 57 primary key range accesses, selectivity 0.28%: 26740 rows read, 76 rows qualified
dito.
> * W2 330 index accesses, selectivity 1.54%: 36056 rows read, 557 rows qualified
Same in green - only that this time a secondary index was used. But still the index is not selective enough.
> * W3 56 primary key range accesses, selectivity 0.20%: 27880 rows read, 56 rows qualified
Just like television - repetitions all over again.
> * W3 38 primary key range accesses, selectivity 0.16%: 23366 rows read, 38 rows qualified
They do this with Star Trek or Bonanza...:-)
ok, lets skip the rest.
I think you get the picture.
Hope that helps,
Lars -
Can't understand the output of the exercise
here is the problem:-
An audio signal is sometimes stored as a list of int values. The values represent the intensity of the signal at successive time intervals. Of course, in a program the signal is represented with an array.
Often a small amount of noise is included in the signal. Noise is usually small, momentary changes in the signal level. An example is the "static" that is heard in addition to the signal in AM radio.
Smoothing a signal removes some of the noise and improves the perceptual quality of the signal. This exercise is to smooth the values in an integer array.
Say that the original values are in the array "signal". Compute the smoothed array by doing this: Each value smooth[N] is the average of three values: signal[N-1], signal[N], and signal[N+1].
For the first element of smooth, average the first two elements of signal. For the last element of smooth, average the last two elements of signal.
here is the original data for the signal array.
int[] signal = {5, 5, 4, 5, 6, 6, 7, 6, 5, 4, 1, 4};i had to declare another array by the name of smooth.
int[] smooth Now i am having a big problem. here is the output of the program from author point of view using the original data in signal array.
C:\>java Smooth
signal: 1 5 4 5 7 6 8 6 5 4 5 4
smooth: 3 3 4 5 6 7 6 6 5 4 4 4
C:\>i got completely lost. the original signal data is replaced by a new one but how ? if i can get a more detail explanation on this problem by anyone it would be great. so i thought to assign some duke dollars if i can understand the logic not trying to be greedy but to see who is a good teacher. thanks.
once i get a good explanation i can go ahead and start coding and see if i can achieve this. i am pretty much sure it is a simple task but author made it looks like my worst nightmare.here is the problem:-
An audio signal is sometimes stored as a list of int values. The values represent the intensity of the signal at successive time intervals. Of course, in a program the signal is represented with an array.
Often a small amount of noise is included in the signal. Noise is usually small, momentary changes in the signal level. An example is the "static" that is heard in addition to the signal in AM radio.
Smoothing a signal removes some of the noise and improves the perceptual quality of the signal. This exercise is to smooth the values in an integer array.
Say that the original values are in the array "signal". Compute the smoothed array by doing this: Each value smooth[N] is the average of three values: signal[N-1], signal[N], and signal[N+1].
For the first element of smooth, average the first two elements of signal. For the last element of smooth, average the last two elements of signal.
here is the original data for the signal array.
int[] signal = {5, 5, 4, 5, 6, 6, 7, 6, 5, 4, 1, 4};i had to declare another array by the name of smooth.
int[] smooth Now i am having a big problem. here is the output of the program from author point of view using the original data in signal array.
C:\>java Smooth
signal: 1 5 4 5 7 6 8 6 5 4 5 4
smooth: 3 3 4 5 6 7 6 6 5 4 4 4
C:\>i got completely lost. the original signal data is replaced by a new one but how ? if i can get a more detail explanation on this problem by anyone it would be great. so i thought to assign some duke dollars if i can understand the logic not trying to be greedy but to see who is a good teacher. thanks.
once i get a good explanation i can go ahead and start coding and see if i can achieve this. i am pretty much sure it is a simple task but author made it looks like my worst nightmare. -
Cannot understand the output of x*y
Hello All,
I was running the following program.
import java.io.*;
public class Basics {
public static void main(String[] args) {
System.out.println("---------" + args.length + "---------");
System.out.println("argument is " + args[1]);
If i run the program with arguments 3+4(numbers could be anything),it runs fine ,provides the desired output.
But if i run the program with 3*7 as its arguments it gives me the following output.
---------9---------
argument is .classpath
*Please explain why this difference in outputTry:
public class Basics {
public static void main(String[] args) {
System.out.println("---------" + args.length + "---------");
for (int i = 0; i < args.length; i++)
System.out.println("Argument #" + i + " is: " + args);
It may be more revealing... -
Can anyone help me understand this output from Console?
My Macbook Pro freezes and I have to manually shut it down and restart it. This is the error output from Console after I restart the Mac and find the time that the Mac froze.
Here is the error code again, if it was too hard to read from the image above:Hi, did you find any answer to this? I have the same problem with globeinvestor.com gold tracker program. It stops to run from very beginning and give me a 23 code error.
Their supprot can not fix this. Actually i have tried this in three different computers and all of them are same. -
in a debugging , i am getting error :
(dbx) run
Running: irun
(process id 21424)
t@3083814688 (l@21424) signal SEGV (Segmentation fault) in hoper_ at 0x804950a
0x0804950a: hoper_+0x0012: movl %ecx,0xfcd33470(%ebp)so i can see some SEGV problem in hoper file. but which line or which array(SEGV is generally for array bound overflow, i think) is not specified. is there any way to extract that data? i am using sunstudioexpress. machine is
$ uname -a
Linux roddur 2.6.27.21-170.2.56.fc10.i686 #1 SMP Mon Mar 23 23:37:54 EDT 2009 i686 i686 i386 GNU/Linuxplz help me to digout more info from this.Compile your program with -g option (to generate debug information)
-
class TrickyTest {
public static void main ( String args [ ] ) {
int i = 10 ; // line 1
i = ++i ; // line 2
i = i++ ; // line 3
System . out . println ( i ); // line 4
};The answer is 11. Why not 12?FFS!
1. NEVER write code like i = i++
2. Search the forum or google. This has been asked plenty of times. -
Don't understand result of output
Hello .I'm quite new in Java and i'm stuck on this exercise.I try to understand the output but i don't really get this one.Can someone explain to me in steps why output is as it is :) it wold help me a lot.
import java.util.ArrayList;
class Uppgift2{
public static void main(String[]args){
ArrayList<Gerrf> alla = new ArrayList<Gerrf>();
alla.add(new Davvi());
alla.add(new Kyyn("Soffa"));
alla.add(new Davvi());
alla.add(new Kyyn("Skrivbord"));
for (Gerrf ge : alla)
ge.skriv();
class Gerrf{
private static int tal=0;
private String grej="Stol";
public Gerrf(){
tal++;
public Gerrf(String str){
grej=str+tal++;
public void skriv(){
for (int x=1; x<tal; x++)
System.out.print(getGrej());
System.out.println("Stopp");
public String getGrej(){
return grej;
class Kyyn extends Gerrf{
public Kyyn(String str){
super(str);
public void skriv(){
System.out.println(getGrej());
class Davvi extends Gerrf{
public String annat="Bord";
public String getGrej(){
return annat;
output is
BordBordBordStopp
Soffa1
BordBordBordStopp
Skrivbord3
Edited by: adi117 on Aug 10, 2010 4:31 AMimport java.util.ArrayList;
class Uppgift2{
public static void main(String[]args){
ArrayList<Gerrf> alla = new ArrayList<Gerrf>();
alla.add(new Davvi());
alla.add(new Kyyn("Soffa"));
alla.add(new Davvi());
alla.add(new Kyyn("Skrivbord"));
for (Gerrf ge : alla)
ge.skriv();
class Gerrf{
private static int tal=0;
private String grej="Stol";
public Gerrf(){
tal++;
public Gerrf(String str){
grej=str+tal++;
public void skriv(){
for (int x=1; x<tal; x++)
System.out.print(getGrej());
System.out.println("Stopp");
public String getGrej(){
return grej;
class Kyyn extends Gerrf{
public Kyyn(String str){
super(str);
public void skriv(){
System.out.println(getGrej());
class Davvi extends Gerrf{
public String annat="Bord";
public String getGrej(){
return annat;
}Why output is
BordBordBordStopp
Soffa1
BordBordBordStopp
Skrivbord3
Edited by: adi117 on Aug 10, 2010 6:06 AM
Edited by: adi117 on Aug 10, 2010 6:07 AM -
Understanding db_stat -CA output, lockers, lock objects and locks
I'd like to understand this output. Transaction 80000045 is holding a write lock on page 11 and waiting for a write lock on page 13, which, however, isn't granted as long as transaction 80000051 holds on to its read lock.
Is there anything in this table explaining why 80000051 seems unwilling to move on and release the read lock?
And what does dd=37 mean?
Michael Ludwig
Locks grouped by lockers:
Locker Mode Count Status ----------------- Object ---------------
a1 dd=37 locks held 1 write locks 0 pid/thread 1284/4896
a1 READ 1 HELD test.dbxml handle 2
a4 dd=36 locks held 0 write locks 0 pid/thread 1284/4896
a5 dd=35 locks held 1 write locks 0 pid/thread 1284/4896
a5 READ 1 HELD test.dbxml handle 4
a8 dd=34 locks held 0 write locks 0 pid/thread 1284/4896
a9 dd=33 locks held 1 write locks 0 pid/thread 1284/4896
a9 READ 1 HELD test.dbxml handle 6
ac dd=32 locks held 0 write locks 0 pid/thread 1284/4896
ad dd=31 locks held 1 write locks 0 pid/thread 1284/4896
ad READ 1 HELD test.dbxml handle 8
b0 dd=30 locks held 0 write locks 0 pid/thread 1284/4896
b1 dd=29 locks held 1 write locks 0 pid/thread 1284/4896
b1 READ 1 HELD test.dbxml handle 10
b4 dd=28 locks held 0 write locks 0 pid/thread 1284/4896
b5 dd=27 locks held 2 write locks 0 pid/thread 1284/4896
b5 READ 1 HELD test.dbxml handle 12
b5 READ 6 HELD test.dbxml handle 0
b8 dd=26 locks held 0 write locks 0 pid/thread 1284/4896
bc dd=25 locks held 1 write locks 0 pid/thread 1284/4896
bc READ 1 HELD test.dbxml handle 14
bf dd=24 locks held 0 write locks 0 pid/thread 1284/4896
c0 dd=23 locks held 2 write locks 0 pid/thread 1284/4896
c0 READ 1 HELD test.dbxml handle 16
c0 READ 2 HELD test.dbxml handle 0
c3 dd=22 locks held 0 write locks 0 pid/thread 1284/4896
f1 dd=21 locks held 2 write locks 0 pid/thread 1284/4896
f1 READ 1 HELD test.dbxml handle 18
f1 READ 1 HELD test.dbxml handle 0
f4 dd=20 locks held 0 write locks 0 pid/thread 1284/4896
f5 dd=19 locks held 0 write locks 0 pid/thread 1284/2648
f6 dd=18 locks held 0 write locks 0 pid/thread 1284/2648
f7 dd=17 locks held 0 write locks 0 pid/thread 1284/2648
f8 dd=16 locks held 0 write locks 0 pid/thread 1284/2648
f9 dd=15 locks held 0 write locks 0 pid/thread 1284/2648
fa dd=14 locks held 0 write locks 0 pid/thread 1284/2648
fb dd=13 locks held 0 write locks 0 pid/thread 1284/2648
fc dd=12 locks held 0 write locks 0 pid/thread 1284/4184
fd dd=11 locks held 0 write locks 0 pid/thread 1284/2672
fe dd=10 locks held 0 write locks 0 pid/thread 1284/4184
ff dd= 8 locks held 0 write locks 0 pid/thread 1284/2672
100 dd= 7 locks held 0 write locks 0 pid/thread 1284/2672
101 dd= 5 locks held 0 write locks 0 pid/thread 1284/2648
102 dd= 4 locks held 0 write locks 0 pid/thread 1284/2648
80000044 dd= 9 locks held 0 write locks 0 pid/thread 1284/4184
80000045 dd= 9 locks held 1 write locks 1 pid/thread 1284/4184
80000045 WRITE 1 WAIT test.dbxml page 13
80000045 WRITE 1 HELD test.dbxml page 11
8000004d dd= 6 locks held 0 write locks 0 pid/thread 1284/4100
8000004e dd= 6 locks held 0 write locks 0 pid/thread 1284/4100
8000004e READ 1 WAIT test.dbxml page 11
80000051 dd= 3 locks held 1 write locks 0 pid/thread 1284/2648
80000051 READ 1 HELD test.dbxml page 13
80000054 dd= 2 locks held 0 write locks 0 pid/thread 1284/5816
80000054 READ 1 WAIT test.dbxml page 13
80000055 dd= 1 locks held 0 write locks 0 pid/thread 1284/4824
80000055 READ 1 WAIT test.dbxml page 13
80000056 dd= 0 locks held 0 write locks 0 pid/thread 1284/2648
80000057 dd= 0 locks held 0 write locks 0 pid/thread 1284/2648
80000057 READ 1 WAIT test.dbxml page 11
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Locks grouped by object:
Locker Mode Count Status ----------------- Object ---------------
80000045 WRITE 1 HELD test.dbxml page 11
8000004e READ 1 WAIT test.dbxml page 11
80000057 READ 1 WAIT test.dbxml page 11
b1 READ 1 HELD test.dbxml handle 10
ad READ 1 HELD test.dbxml handle 8
bc READ 1 HELD test.dbxml handle 14
80000051 READ 1 HELD test.dbxml page 13
80000045 WRITE 1 WAIT test.dbxml page 13
80000054 READ 1 WAIT test.dbxml page 13
80000055 READ 1 WAIT test.dbxml page 13
b5 READ 1 HELD test.dbxml handle 12
a1 READ 1 HELD test.dbxml handle 2
b5 READ 6 HELD test.dbxml handle 0
c0 READ 2 HELD test.dbxml handle 0
f1 READ 1 HELD test.dbxml handle 0
a9 READ 1 HELD test.dbxml handle 6
a5 READ 1 HELD test.dbxml handle 4
f1 READ 1 HELD test.dbxml handle 18
c0 READ 1 HELD test.dbxml handle 16Thanks, Lauren.
(1) Transaction 80000057 of thread 2648 is waiting for page 11.
(2) Page 11 is locked by transaction 80000045 of thread 4184, which is also waiting for page 13.
(3) Page 13 is locked by transaction 80000051 of thread 2648, which is, as you say, stalled with another transaction of the same thread, which is waiting for page 11.
So there is a circle here: 57 waiting for 45 waiting for 51 stalled by 57. But BDB can't see this is a conflictuous situation because 51 and 57 belong to the same thread, and conflict is defined to be between different threads, not within one thread.
How can I see that this is the case? Is it just a possibility to watch out for: Two transactions on the same thread?
Michael Ludwig -
Understanding output of : ucsm-B(nxos)# sh int br
Hi All ,
Could you please help me understand the output of the following command :
ucsm-B(nxos)# sh int br
I have a few queries on the interfaces number eth1/1/1 to eth 1/1/8 :
What governs the naming convetion used for the ethernet ports starting eth1/1/1 to eth1/1/9 ?
If I connect another chassis to the FI , will it start by eth2/1/1 ?
I would like to understand how Eth1/x/x or Eth2/x/x is decided by the UCS for naming ..
--------------- truncated -----------------------------------------------------------------------------------------------------
Interface Vsan Admin Admin Status SFP Oper Oper Port
Mode Trunk Mode Speed Channel
Mode (Gbps)
vfc684 102 F on trunking -- TF auto --
vfc688 102 F on trunking -- TF auto --
Ethernet VLAN Type Mode Status Reason Speed Port
Interface Ch #
Eth1/1/1 1 eth vntag up none 10G(D) --
Eth1/1/2 1 eth vntag up none 10G(D) --
Eth1/1/3 1 eth vntag up none 10G(D) --
Eth1/1/4 1 eth access down Administratively down 10G(D) --
Eth1/1/5 1 eth access down Administratively down 10G(D) --
Eth1/1/6 1 eth access down Administratively down 10G(D) --
Eth1/1/7 1 eth access down Administratively down 10G(D) --
Eth1/1/8 1 eth access down Administratively down 10G(D) --
Eth1/1/9 4044 eth trunk up none 10G(D) --Hello Vikas,
These are host interfaces ( HIF ) / backplane ports on the FEX / IOM connecting to the blades.
Eth//
" show fex detail " would provide additional information about FEX ports.
The ninth interface provides CIMC connectivity to the blades,
HTH
Padma -
Help needed in understanding the Java code.
Hi All,
I have recently started learning the Java language. I came across this example and had a problem in understanding the output of the program. I could follow that if the continue statement is present in the below program the output is "Found 9 p's in the string" . But if the continue statement is removed I could not understand why the output would be "Found 35 p's in the string" .Is it because of the spaces and characters other than p... (eter ier icked a eck of ickled eers)
Example-----------------------
The continue statement skips the current iteration of a for, while , or do-while loop. The unlabeled form skips to the end of the innermost loop's body and evaluates the boolean expression that controls the loop. The following program, ContinueDemo , steps through a String, counting the occurences of the letter "p". If the current character is not a p, the continue statement skips the rest of the loop and proceeds to the next character. If it is a "p", the program increments the letter count.
class ContinueDemo {
public static void main(String[] args) {
String searchMe
= "peter piper picked a " +
"peck of pickled peppers";
int max = searchMe.length();
int numPs = 0;
for (int i = 0; i < max; i++) {
// interested only in p's
if (searchMe.charAt(i) != 'p')
continue;
// process p's
numPs++;
System.out.println("Found " +
numPs + " p's in the string.");
Here is the output of this program:
Found 9 p's in the string.
To see this effect more clearly, try removing the continue statement and recompiling. When you run the program again, the count will be wrong, saying that it found 35 p's instead of 9.The answer is already in your example - "The unlabeled form skips to the end of the innermost loop's body and evaluates the boolean expression that controls the loop."
It unloads the current loop iteration when condition is matching. Loop is again starting from boolean expression inside loop declaration.
Java Programming - java forum -
HSBC: APP: Output foramt
Hi
this hsbc out put format given by hsbc bank people:
i cann't understand this output format...
anybody making payment through hsbc in india could you explain me ??
IFH<HD>,IFILE<HD>,CSV<HD>,ABC65385001<HSBC Connect ID>,INHBAPGIN115020513<HSBCnet Customer ID>,UBS140720070001<Unique File Reference>,2007/07/14<File Date>,12:10:01<Generation Time>,P<Authorisation type>,1.0<hardcoded>,69<Total number of lines>
BATHDR<HD>,COS<Payment type-PAPER>,1<HD>,UBS12345614072007<Batch refr>,,,,,,@1ST@<HD>,,041222222001<HSBC Bank Account No>,INR<hd>,94582.00<Instrument amount>,,,IN<HD>,HBAP<HD>,INR<HD>,,UBS ltd<HD>,,123456<Cheque number>,,,,UBS12345614072007<Batch refr>
COS<Payment type>,I<HD>,ACC<COS Type-CHEQUE>,IN<HD>,HBAP<HD>,041222222001<HSBC Bank Account No>,,,INR<HD>,94582.00<Instrument amt>,,,IN<HD>,123456<UNIQUE REFERNCE NUMBER>,,,,,,C,Y,N,1<HD>,,,,,,,,IN<HD>,,,,,,,,,,,Chennai<Printing location>
COS-BEN<HD>,I<HD>,,,GANESH STORES<BENE NAME>,RAMACHANDRAN<ADD 1>,6/38B MAIN ROAD<ADD 2>,VEERAKERALAMPUDUR<ADD 3>,VEERAKERALAMPUDUR<ADD 4>,VEERAKERALAMPUDUR<ADD 5>,627861<ADD 6>,IN<HD>,,,,,,,,,,,W<HD FOR CHEQUE>,,,,,,,,,C<HD>
COS-TXT,I,N<HD FOR CHEQUE ADVISING - MAXIMUM 90 CHAR PER LINE>,Note: Please find the payment details
COS-TXT,I,N,BILL NO DATE AMOUNT TDS STDS NET
COS-TXT,I,N,==========================================================================================
COS-TXT,I,N,4305011007 20050625 1000.00 0.00 0.00 1000.00
ADV,,R<EMAIL ADVISING>,,,,,2<NUMBER OF RECPNTS>,1<RECPNT NUMBR>,GANESH STORES<RECPNT RAME>,,,,,,,F,Y,1<HD>,[email protected]<EMAIL ID>,,IN<HD>
ADV,,R,,,,,2,2,Suguna,,,,,,,F,Y,1,[email protected],,IN
ADV-FREETXT<HD ADVISNG RECORD - FREE TEXT>,1<LINE NUMBER>,,,,Note: Please find the payment details<MAX 90 CHAR PER LINE>
ADV-TBLTXT<HD FOR TABULAR FORMAT HEADER>,6<MAX 6 COLUMN>,15<COLUMN WIDTH>,L<JUSTIFICATION(L OR r)>,BILL NO<COLUMN HEADER>,10,L,DATE,15,R,AMOUNT,10,R,TDS,10,R,STDS,15,R,NET
ADV-TBLBDY<HD FOR TABLE BODY>,4305011007<ENTRY DETAIL>,15<COLUMN WIDTH>,20050625,10,1000.00,15,0.00,10,0.00,10,1000.00,15
ADV-TBLBDY,Total,15,,10,,15,,10,,10,1000.00,15
BATHDR,COS,1,TNROUDTDD1234140707
COS,I,IDD<COS TYPE - DEMAND DRAFT>,IN,HBAP,041117433001,,,INR,9570.00,,,IN,,,,,,,C,Y,N,1,,,,,,,,IN,,,,,,,,,,,CHENNAI<PRINT LOCATION>,,MADURAI<PAYABLE LOCATION>
COS-BEN,I,,,ANNAMALAI,ANNAMALAI,Madurai,,,,600001,IN,,,,,,,,,,,S<HD FOR IDD/ICO/DDP>,,,,,,,,,C
COS-TXT,I,N,Note: Please find the payment details
COS-TXT,I,N,BILL NO DATE AMOUNT TDS STDS NET
COS-TXT,I,N,==========================================================================================
COS-TXT,I,N,4305011007 20050625 1000.00 0.00 0.00 1000.00
ADV,,R,,,,,2,1,GANESH STORES,,,,,,,F,Y,1,[email protected],,IN
ADV,,R,,,,,2,2,Suguna,,,,,,,F,Y,1,[email protected],,IN
ADV-FREETXT,1,,,,Note: Please find the payment details
ADV-TBLTXT,6,15,L,BILL NO,10,L,DATE,15,R,AMOUNT,10,R,TDS,10,R,STDS,15,R,NET
ADV-TBLBDY,4305011007,15,20050625,10,1000.00,15,0.00,10,0.00,10,1000.00,15
ADV-TBLBDY,Total,15,,10,,15,,10,,10,1000.00,15
BATHDR,COS,1,TNROUDTICO1234140707
COS,I,ICO<COS TYPE - CASHIER ORDER>,IN,HBAP,041117433001,,,INR,18940.00,,,IN,,,,,,,C,Y,N,1,,,,,,,,IN,,,,,,,,,,,Coimbatore
COS-BEN,I,,,BALAMURUGAN,BALAMURUGAN,COIMBATORE,,,,600001,IN,,,,,,,,,,,S<HD FOR IDD/ICO/DDP>,,,,,,,,,C
COS-TXT,I,N,Note: Please find the payment details
COS-TXT,I,N,BILL NO DATE AMOUNT TDS STDS NET
COS-TXT,I,N,==========================================================================================
COS-TXT,I,N,4305011007 20050625 1000.00 0.00 0.00 1000.00
ADV,,R,,,,,2,1,GANESH STORES,,,,,,,F,Y,1,[email protected],,IN
ADV,,R,,,,,2,2,Suguna,,,,,,,F,Y,1,[email protected],,IN
ADV-FREETXT,1,,,,Note: Please find the payment details
ADV-TBLTXT,6,15,L,BILL NO,10,L,DATE,15,R,AMOUNT,10,R,TDS,10,R,STDS,15,R,NET
ADV-TBLBDY,4305011007,15,20050625,10,1000.00,15,0.00,10,0.00,10,1000.00,15
ADV-TBLBDY,Total,15,,10,,15,,10,,10,1000.00,15
BATHDR,COS,1,TNROUDTDDP1234140707
COS,I,DDP<COS TYPE - DEMAND DRAFT PURCHASE>,IN,HBAP,041117433001,,,INR,22140.00,,,IN,,,,,,,C,Y,N,1,,,,,,,,IN,,,,,,,,,,,Coimbatore,,KOVILPATTI
COS-BEN,I,,,KANNAN,KANNAN,KOVILPATTI,,,,345455,IN,,,,,,,,,,,S,,,,,,,,,C
COS-TXT,I,N,Note: Please find the payment details
COS-TXT,I,N,BILL NO DATE AMOUNT TDS STDS NET
COS-TXT,I,N,==========================================================================================
COS-TXT,I,N,4305011007 20050625 1000.00 0.00 0.00 1000.00
ADV,,R,,,,,2,1,GANESH STORES,,,,,,,F,Y,1,[email protected],,IN
ADV,,R,,,,,2,2,Suguna,,,,,,,F,Y,1,[email protected],,IN
ADV-FREETXT,1,,,,Note: Please find the payment details
ADV-TBLTXT,6,15,L,BILL NO,10,L,DATE,15,R,AMOUNT,10,R,TDS,10,R,STDS,15,R,NET
ADV-TBLBDY,4305011007,15,20050625,10,1000.00,15,0.00,10,0.00,10,1000.00,15
ADV-TBLBDY,Total,15,,10,,15,,10,,10,1000.00,15
BATHDR,LTR<PAYMENT TYPE - ELECTRONIC>,1,TNROUDTNEFT134140707,,,,,,@1ST@,20070716<VALUE DATE>,115121139001,INR,500.00,,,IN,HBAP,INR,,ABC (PVT) LTD (OU),,,,,,TNROUDTNEFT134140707
SECPTY<HD FOR LTR>,60000001111<BENE AC NUMBER>,Ganesh Stores (PVT) LIMITED<BENE NAME>,,,,,500.00<AMOUNT>,20070716<VALUE DATE>,1110<UNIQUE REFERENCE>,,,,,Y,N<HD>,,,,,,@HVP@<HD>,1110<UNIQUE REFERNCE>,INR<HD>,,,,,,,,,,,BCD<HD>,IBKL0000006<IFSC CODE 11 DIGITS>,IDBI BANK LTD<BENE BANK NAME>,,,,,IN<HD>,,,,,,OUR<HD>,,,,,,,/ACC/NEFT<FOR NEFT>
ADV,,R,,,,,2,1,GANESH STORES,,,,,,,F,Y,1,[email protected],,IN
ADV,,R,,,,,2,2,Suguna,,,,,,,F,Y,1,[email protected],,IN
ADV-FREETXT,1,,,,Note: Please find the payment details
ADV-TBLTXT,6,15,L,BILL NO,10,L,DATE,15,R,AMOUNT,10,R,TDS,10,R,STDS,15,R,NET
ADV-TBLBDY,4305011007,15,20050625,10,1000.00,15,0.00,10,0.00,10,1000.00,15
ADV-TBLBDY,Total,15,,10,,15,,10,,10,1000.00,15
BATHDR,LTR,1,TNROUDTRTGS1234140707,,,,,,@1ST@,20070716,115121139001,INR,500000.00,,,IN,HBAP,INR,,ABC (PVT) LTD (OU),,,,,,TNROUDTNEFT134140707
SECPTY,60000001111,Ganesh Stores (PVT) LIMITED,,,,,500000.00,20070716,1110,8/116-C?, ATHIPALAYAM ROAD,CHINNAVEDAMPATTI?,,Ramachandran,,Y,N,,,,,,@HVP@,1110,INR,,,,,,,,,,,BCD,IBKL0000006,IDBI BANK LTD,,,,,IN,,,,,,OUR,,,,,,,/ACC/<FOR RTGS>
ADV,,R,,,,,2,1,GANESH STORES,,,,,,,F,Y,1,[email protected],,IN
ADV,,R,,,,,2,2,Suguna,,,,,,,F,Y,1,[email protected],,IN
ADV-FREETXT,1,,,,Note: Please find the payment details
ADV-TBLTXT,6,15,L,BILL NO,10,L,DATE,15,R,AMOUNT,10,R,TDS,10,R,STDS,15,R,NET
ADV-TBLBDY,4305011007,15,20050625,10,1000.00,15,0.00,10,0.00,10,1000.00,15
ADV-TBLBDY,Total,15,,10,,15,,10,,10,1000.00,15Supriya,
Even we are implementing malaysia also for our client
See just see the txt file
1 is header which contains the details of file like ISV format
2 Batch header which come second
Just ask the client to ask each and evry field so that u clan prepare the functanal specs
regards
Anand
Maybe you are looking for
-
Determination of billing type in sales order
Hi, I have newly created a sales order document type and a new billing type (copied from existing doc types) and i have done all copy controls too. When I create a new sales order contract in Tcode; VA41, enter all details, in the item- billing plan-
-
The problem with the return code of JOptionPane
I debug the follow code, when I press button No, return code is 0, but OpenXLSFile(ResultXSLName); executed, why? the result is whether I press YES or NO, the if condition will be true how to compare the return code? int open = JOptionPane.
-
Hi: I have a problem with a XML file. We are using Weblogic Server 6.1 sp1. We have developed a servlet, it invoke an EJB's method that it parse a xml file. This EJB obtain data from xml file and it query Oracle database. Then obtain data and create
-
E65 and Best CallRecorder from Smartphoneware
Hi, Has anyone managed to get the Best CallRecorder version 1.01 from SmartPhoneWare to work on their E65? I realize it is not on the supported phones list but I can get all there other software to work on the E65 apart from that one. If anyone has/d
-
Pls solve this problem as soon as possible