Interpreting 10053 trace output
Hi,
I am trying to analyze one sql performance issue. In 10053 trace of the SQL, one analyzed index(IDX_OCI_INSTRMNT_ID) is reflected as Unanalyzed:
BASE STATISTICAL INFORMATION
Table Stats::
Table: OCI Alias: OCI (Using composite stats)
#Rows: 119379620 #Blks: 4412959 AvgRowLen: 205.00
Index Stats::
Index: IDX_OCI_BANK_BR_CODE Col#: 15 16
LVLS: 3 #LB: 578655 #DK: 20668 LB/K: 27.00 DB/K: 4191.00 CLUF: 86632520.00
Index: IDX_OCI_INSTRMNT_AMT_ZDATE Col#: 12 2
LVLS: 3 #LB: 601715 #DK: 4917119 LB/K: 1.00 DB/K: 21.00 CLUF: 107389165.00
Index: IDX_OCI_INSTRMNT_ID Col#: 9
PARTITION [6] LVLS: 3 #LB: 55130 #DK: 24310 LB/K: 2.00 DB/K: 375.00 CLUF: 9132500.00
(NOT ANALYZED)===========================================> The index is locally partitioned and analyzed.
LVLS: 3 #LB: 55130 #DK: 24310 LB/K: 2.00 DB/K: 375.00 CLUF: 9132500.00
Index: IDX_OUT_CLG_INSTRMNT_TABLE Col#: 1 2 3 4 5 58
USING COMPOSITE STATS
LVLS: 3 #LB: 977360 #DK: 118952050 LB/K: 1.00 DB/K: 1.00 CLUF: 95676615.00
SINGLE TABLE ACCESS PATH
BEGIN Single Table Cardinality Estimation
Column (#9): INSTRMNT_ID(VARCHAR2)
AvgLen: 17.00 NDV: 1081566 Nulls: 0 Density: 9.2459e-07
Column (#19): STATUS_FLG(CHARACTER)
AvgLen: 2.00 NDV: 5 Nulls: 2459035 Density: 0.2
Column (#12): INSTRMNT_AMT(NUMBER)
AvgLen: 5.00 NDV: 1061850 Nulls: 0 Density: 9.4175e-07 Min: 0 Max: 4000020025000
Table: OCI Alias: OCI
Card: Original: 119379620 Rounded: 1 Computed: 0.00 Non Adjusted: 0.00
END Single Table Cardinality Estimation
Access Path: TableScan
Cost: 791920.71 Resp: 791920.71 Degree: 0
Cost_io: 716556.00 Cost_cpu: 128124159092
Resp_io: 716556.00 Resp_cpu: 128124159092
Access Path: index (RangeScan)
Index: IDX_OCI_INSTRMNT_AMT_ZDATE
resc_io: 106.00 resc_cpu: 868831
ix_sel: 9.4401e-07 ix_sel_with_filters: 9.4401e-07
Cost: 21.30 Resp: 21.30 Degree: 1
Access Path: index (AllEqRange)
Index: IDX_OCI_INSTRMNT_ID
resc_io: 114.00 resc_cpu: 934714
ix_sel: 9.2459e-07 ix_sel_with_filters: 9.2459e-07
Cost: 22.91 Resp: 22.91 Degree: 1
****** trying bitmap/domain indexes ******
Access Path: index (AllEqRange)
Index: IDX_OCI_INSTRMNT_ID
resc_io: 4.00 resc_cpu: 50686
ix_sel: 9.2459e-07 ix_sel_with_filters: 9.2459e-07
Cost: 1.01 Resp: 1.01 Degree: 0
Access Path: index (IndexOnly)
Index: IDX_OCI_INSTRMNT_AMT_ZDATE
resc_io: 4.00 resc_cpu: 51086
ix_sel: 9.4401e-07 ix_sel_with_filters: 9.4401e-07
Cost: 1.01 Resp: 1.01 Degree: 0
SORT resource Sort statistics
Sort width: 3070 Area size: 1048576 Max Area size: 536862720
Degree: 1
Blocks to Sort: 1 Row size: 21 Total Rows: 112
Initial runs: 1 Merge passes: 0 IO Cost / pass: 0
Total IO sort cost: 0 Total CPU sort cost: 1734406
Total Temp space used: 0
****** finished trying bitmap/domain indexes ******
Best:: AccessPath: IndexRange Index: IDX_OCI_INSTRMNT_AMT_ZDATE
Cost: 21.30 Degree: 1 Resp: 21.30 Card: 0.00 Bytes: 0The query is using 'IDX_OCI_INSTRMNT_AMT_ZDATE' index which is resulting in 542,193.8 gets/exec, whereas if the query uses index 'IDX_OCI_INSTRMNT_ID' the gets will reduce to 1660 per execution.
Since the index 'IDX_OCI_INSTRMNT_ID' is appearing to be not analyzed to CBO, it's not picked by the plan. What could be the reason that 10053 is reflecting the index as not analyzed.
Regards,
S.K.
Miscellaneous Information:
The query:
SELECT /*+ SANTU */ COUNT(1)
FROM oci
where oci.INSTRMNT_ID = LPAD( :b2 , :b3 , :b4 )
AND OCI.STATUS_FLG in ( :b5 , :b6 )
AND OCI.INSTRMNT_AMT = LPAD( :b7 , :b8 , :b9 )
-------------------------------------------------------------------------+-----------------------------------+---------------+
| Id | Operation | Name | Rows | Bytes | Cost | Time | Pstart| Pstop |
-------------------------------------------------------------------------+-----------------------------------+---------------+
| 0 | SELECT STATEMENT | | | | 21 | | | |
| 1 | SORT AGGREGATE | | 1 | 24 | | | | |
| 2 | TABLE ACCESS BY GLOBAL INDEX ROWID | OUT_CLG_INSTRMNT_TABLE | 1 | 24 | 21 | 00:00:01 | ROW LOCATION| ROW LOCATION|
| 3 | INDEX RANGE SCAN | IDX_OCI_INSTRMNT_AMT_ZDATE| 112 | | 1 | 00:00:01 | | |
-------------------------------------------------------------------------+-----------------------------------+---------------+
Predicate Information:
2 - filter(("OCI"."INSTRMNT_ID"=LPAD(:B2,:B3,:B4) AND INTERNAL_FUNCTION("OCI"."STATUS_FLG")))
3 - access("OCI"."INSTRMNT_AMT"=TO_NUMBER(LPAD(:B7,:B8,:B9)))
INDEX_NAME COLUMN_NAME COLUMN_POSITION
IDX_OCI_INSTRMNT_AMT_ZDATE INSTRMNT_AMT 1
IDX_OCI_INSTRMNT_AMT_ZDATE CLG_ZONE_DATE 2
IDX_OCI_INSTRMNT_ID INSTRMNT_ID 1
COLUMN_NAME DATA_TYPE NUM_DISTINCT NUM_NULLS DENSITY HISTOGRAM
CLG_ZONE_DATE DATE 822 0 .001216545 NONE
INSTRMNT_AMT NUMBER 1010184 0 9.8992E-07 NONE
INSTRMNT_ID VARCHAR2 1077892 0 9.2774E-07 NONE
INDEX_NAME COM PARTITION_NAME SUBPARTITION_COUNT BLEVEL LEAF_BLOCKS CLUSTERING_FACTOR LAST_ANALY GLO
IDX_OCI_INSTRMNT_ID NO IDXG1_OCI_PART1 0 3 134940 25616770 29-07-2010 YES
IDX_OCI_INSTRMNT_ID NO IDXG1_OCI_PART10 0 2 2047 370408 29-07-2010 YES
IDX_OCI_INSTRMNT_ID NO IDXG1_OCI_PART11 0 1 51 8503 29-07-2010 YES
IDX_OCI_INSTRMNT_ID NO IDXG1_OCI_PART2 0 2 67630 12927440 29-07-2010 YES
IDX_OCI_INSTRMNT_ID NO IDXG1_OCI_PART3 0 2 57235 10958505 29-07-2010 YES
IDX_OCI_INSTRMNT_ID NO IDXG1_OCI_PART4 0 2 51985 9934295 29-07-2010 YES
IDX_OCI_INSTRMNT_ID NO IDXG1_OCI_PART5 0 2 48395 9260565 29-07-2010 YES
IDX_OCI_INSTRMNT_ID NO IDXG1_OCI_PART6 0 2 50560 9680680 29-07-2010 YES
IDX_OCI_INSTRMNT_ID NO IDXG1_OCI_PART7 0 2 44935 8600995 29-07-2010 YES
IDX_OCI_INSTRMNT_ID NO IDXG1_OCI_PART8 0 2 41030 7858735 29-07-2010 YES
IDX_OCI_INSTRMNT_ID NO IDXG1_OCI_PART9 0 3 73820 14134540 29-07-2010 YES
COM = Composite
GLO = Global_stats@Girish,
I have already gone through the article by Wolfgang. The index should not be reflected as 'Not analyzed' in 10053 trace files.
BTW..The database version is 10.2.0.4.
Regards,
S.K.
Similar Messages
-
Optimizer parameters different in 10053 trace
Hello,
The optimizer settings and the ones reported in the 10053 trace does not match. Is this a known issue ? Version is printed in the code snippet.
Here, optimizer_mode is set to ALL_ROWS, but 10053 trace reports this as first_rows_100. Similarly, optimizer_index_cost_adj is 1. But, it is 25 in the trace.
The query is not using hints.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP and Data Mining options
SQL> show parameter opti
NAME TYPE VALUE
filesystemio_options string none
object_cache_optimal_size integer 102400
optimizer_dynamic_sampling integer 2
optimizer_features_enable string 10.2.0.3
optimizer_index_caching integer 100
optimizer_index_cost_adj integer 1
optimizer_mode string ALL_ROWS
optimizer_secure_view_merging boolean TRUE
plsql_optimize_level integer 2
SQL>Contents of 10053 trace
PARAMETERS USED BY THE OPTIMIZER
PARAMETERS WITH ALTERED VALUES
sort_area_retained_size = 65535
optimizer_mode = first_rows_100
optimizer_index_cost_adj = 25
optimizer_index_caching = 100
*********************************I can see the same used in here..
Content of other_xml column
===========================
db_version : 10.2.0.3
parse_schema : COT_PLUS
plan_hash : 733167152
Outline Data:
/*+
BEGIN_OUTLINE_DATA
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
OPT_PARAM('optimizer_index_cost_adj' 25)
OPT_PARAM('optimizer_index_caching' 100)
FIRST_ROWS(100)
OUTLINE_LEAF(@"SEL$5DA710D3")
UNNEST(@"SEL$2")
OUTLINE(@"SEL$1")
OUTLINE(@"SEL$2")
FULL(@"SEL$5DA710D3" "CDW"@"SEL$1")
INDEX_RS_ASC(@"SEL$5DA710D3" "O"@"SEL$2" ("ORDERS"."STATUS_ID"))
LEADING(@"SEL$5DA710D3" "CDW"@"SEL$1" "O"@"SEL$2")
USE_NL(@"SEL$5DA710D3" "O"@"SEL$2")
END_OUTLINE_DATA
*/Rgds,
Gokul
Edited by: Gokul Gopal on 13-Jun-2012 03:14Gokul,
Please report the output of the following, which checks the V$SES_OPTIMIZER_ENV view for the current session:
SELECT
NAME,
VALUE,
ISDEFAULT
FROM
V$SES_OPTIMIZER_ENV
WHERE
SID=(SELECT SID FROM V$MYSTAT WHERE ROWNUM=1)
AND NAME IN ('optimizer_mode','optimizer_index_cost_adj','optimizer_index_caching')
ORDER BY
NAME;In the same session, execute the following (your SQL statement with 1=1 added in the WHERE clause to produce a hard parse):
ALTER SESSION SET TRACEFILE_IDENTIFIER='OPTIMIZER_TEST';
ALTER SESSION SET EVENTS '10053 TRACE NAME CONTEXT FOREVER, LEVEL 1';
select * from A where 1=1 AND col1 = (select to_char(col1) from B where status in (16,12,22));
ALTER SESSION SET EVENTS '10053 TRACE NAME CONTEXT OFF';Take a look in the generated 10053 trace file. Are the values for the optimizer_mode, optimizer_index_cost_adj, and optimizer_index_caching found in the OPTIMIZER_TEST 10053 trace file the same as what was produced by the above select from V$SES_OPTIMIZER_ENV?
Charles Hooper
http://hoopercharles.wordpress.com/
IT Manager/Oracle DBA
K&M Machine-Fabricating, Inc. -
Why using afxDump now in VS2013 generates extra TRACE output
Hi,
since using VS2013 instead of VS2010 old code using the afxDump object creates "extra" output.
Something like:
d:\...\bcgcbpro\bcgcbpro.cpp(39) : atlTraceGeneral - BCGCBPRO.DLL Initializing!
The reason for the TRACE related output is to be found in "dumpcont.cpp":
void CDumpContext::OutputString(LPCTSTR lpsz)
// use C-runtime/OutputDebugString when m_pFile is NULL
if (m_pFile == NULL)
TRACE(atlTraceGeneral, 0, _T("%s"), lpsz);
return;
ASSERT( lpsz != NULL );
if( lpsz == NULL )
AfxThrowUserException();
// otherwise, write the string to the file
m_pFile->Write(lpsz, static_cast<UINT>(_tcslen(lpsz))*sizeof(TCHAR));
One of the most unreadable outputs via afxDump is:
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - CRibbonButtonf:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - @ f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - $0BB99940f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - disabledf:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - "f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - Open Objectf:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - " (description "f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - Open the object referenced in the current cell.f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - ", tooltip "f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - Open Objectf:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - ", image sizef:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - s f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - (f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - 16f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - x f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - 16f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - )f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - /f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - (f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - 32f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - x f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - 32f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - )f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - , image indexes f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - 27f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - /f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - 27f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - , keys "f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - OOf:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - "f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - ) -> f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - 34329f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - / f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - CRibbonItemResources { ID f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - 34329f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - , resource "f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - Open the object referenced in the current cell.\nOpen Object\nOpen Objectf:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - ", name "f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - Open Objectf:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - ", tooltip "f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - Open Objectf:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - ", description "f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - Open the object referenced in the current cell.f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - ", from f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - module f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - $43000000f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - }f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral -
Is there any chance to switch the TRACE output off?
Since the big changes in the ATL library and since the AtlTraceTool got unnecessary removed from the distribution ... how to configure TRACE output?
Best regards,
Martin
Martin Lemburg Berlin / Germany
Martin0815@twitter
martinlemburg@facebook
http://about.me/Martin0815Hello Together,
I have got this issue now in porting Sources from VS2010 (vc10) to VS2013 (vc12)
The recommended fixes in
https://social.msdn.microsoft.com/Forums/en-US/cfc569ef-e229-4559-b245-ece2bba1e238/getting-rid-of-atltracegeneral-category-shown-in-atltrace-output?forum=vcgeneral
defining ATLTRACE and ATLTRACE2 with own Custom Methods worked fine for me. All
simple TRACE - calls but only in my own code was handled better.
But afxDump - Output is not affected by this change.
After some investigation I believe the here suggested tip
ATL::CTrace::SetLevel(ATL::CTrace::DisableTracing);
will also not produce the expected results, because it will simply disable all the afxDump-Output. by returning the method.
I believe, Microsoft has to implement some flags to configure and suppress filename/category-Output for afxDump (CDumpContext), and finally in _CrtDbgReportW because CTrace::TraceV will finally run in
this method. So, the output of 3rd-party assemblies could also be affected. (probably also for ATLTRACE, ATLTRACE2 to avoid own override of TraceImplementation.
In this case I will see dump output, but without filename/category
eg.
#ifdef _DEBUG
afxDump << "ValidateName: returns <" << fileName << "> \n";
#endif
should return simple (old) output
ValidateName: returns<SomeTestFileName>
instead of funny:
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral -
ValidateName: returns <f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral -SomeTestFileNamef:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral
- >
I think, I will replace some of these simple afxDumps with simple TRACE with pre-formatted-single string.
Best regards
Dietmar. -
How to create "Verbose mode" (Enable/disable trace output)?
Hi there! I'd like to do as Papervision:
// Block Papervison3D trace output
Papervision3D.VERBOSE = false;
that is, a global variable for enabling/disabling the trace outputs of my own program. I come up with creating
a class and putting a static boolean member variable. But there is something I'm not sure about: How to use
it...
For example: every time I need to do a trace, would I have to put this ? -->
if( MyClass.VERBOSE ) trace("whatever");
So it isn't needed to instance the object because a static variable is used. That's the way, isn't it?
Thanks and regads.From the book I'm reading, the author uses it the same way you're saying:
Inside your Classes, you have
private var _verbose:Boolean = false;
I noticed he uses it always (or almost) in the constructor of the classes:
public function whatever (var:*, verbose:Boolean);
//I tend to use verbose:Boolean = false on the constructor too so you don't have to always set it.
inside the constructor you have:
_verbose = verbose;
and normaly inside methods handling events like Event.OPEN, Event.INIT, IOErrorEvent.IO_ERROR, HTTPStatusEvent.HTTP_STATUS, you have something like this:
private function onOpen (e:Event):void {
if (_verbose) {
trace("The loading process has begun, or whatever"); -
I can no longer trace Output in Flash. Please Help!
Hi, I'm learning Flash and Action Script 3 but I'm stuck with a problem.
The Output panel stopped tracing my scripts. For example the Output panel will not display anything after I type trace("this"); in the Actions window and press Shift + Enter. I'm not sure what's the cause but this started after I tried to use Debug Movie for the first time.The Output panel still shows errors though but no tracing.
Restarting Flash and the Computer didn't help. I tried deleting the user files. I'm using Vista and I decided that Flash by default stores the user files in C:\Users\Me\AppData\Local\Adobe\Flash CS4. I removed the Flash CS4 folder there hoping that restarting with a fresh settings will fix the problem. Unfortunately it didn't. And I'm not sure it this is where Flash stores the user files because after what I thought will be fresh restart, Flash still remembers which were my most resent files in its Welcome window. At the moment I don't have any other ideas but to reinstall Flash.
I would greatly appreciate any help with this.thank you kglad,
Now I remember that I played with that without understanding what it is. Now I know very well
Anyway I still would like to know where Flash stores the user settings files, in case I mess with other things in the future with my learning experiments.
I will read the entire manual but meanwhile I like to play with things and when stuck with something like that I rather delete the user settings files instead of bothering people here with my stupid problems.
Will apprecate any tip about that
Thanks -
How to interpret RFC trace in ST05: Objects column
Dear all,
I recorded trace for a call of RFC enabled function module in ABAP NetWeaver from external JAVA app in TA ST05.
Here how does it look like:
I'm struggling to interpret it at the moment. My main issue is column called Objects. What is meaning of this column?
Thanks,
m./I figured this out. The column Objects represents remote computer (hostname) which was used to make RFC call to SAP.
-
Help interpreting v$rowcache_parent output
Hi,
what saddr = 00 means in that output :
SQL> select count(*) , saddr from v$rowcache_parent group by saddr order by 1 desc;
COUNT(*) SADDR
413532 00
2 00000001DF739E88DB is RAC 10.2.0.3 .
Regards.
Greguser10388717 wrote:
Jonathan,
to make a long story short on my 4 node RAC 10.2.0.3 there was:
ORA-00603: ORACLE server session terminated by fatal error
ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 4120 bytes of shared memory ("shared pool","select name,online$,contents...","Typecheck","kgghteInit")
ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 4120 bytes of shared memory ("shared pool","select name,online$,contents...","Typecheck","kgghteInit")
in trace I've found huge utlization in 'KQR L PO ' (dont know what that means, probably row cache related)
Memory Utilization of Subpool 2
================================
Allocation Name Size
"free memory " 96364088
"KQR L PO " 866133600
The number of items you have in the rowcache is quite large - are you making a lot of use of partitioned tables ?
It might be quite interesting to see the results of querying
select cache_name, count(*) from v$rowcache_parent group by cache_name;
select subcache_name, count(*) from v$rowcache_subordiate group by subcache_name;But the bottom line on this is that you should report ORA-00600 / ORA_0060N to Oracle support.
In this case I think they'll tell you that you need to have a larger shared pool (given the ORA-04031). But it's possible that they will suggest you set a hidden parameter to reduce the number of subpools to 1; or adjust the shared pool reserved to allow all this stuff to get into it and avoid fragmentation issues.
The release of 500MB is not a surprise - it's the type of thing that can happen just before the ORA-04031: Oracle kicks out a batch of objects to see if that will free up enough contiguous space to allow for your 4K allocation, then another batch - and so on until (a) it succeeds, or (b) it has to give up with a 4031. As this happens your application may stall for a few seconds as the shared pool goes through a massive latch storm (and it may stall again as a flood of "hard parsing" takes place to replace all the stuff that's been kicked out).
Does your application do a lot of truncating, or permanent or global temporary tables, or lots of create/exchange partition/drop - if you're using partitioned tables ? This can have a catastrophic effect on the shared pool in RAC. It shouldn't introduce a huge growth in the rowcache - but maybe you've found a related memory leak.
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
http://www.jlcomp.demon.co.uk
To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format.
There is a +"Preview"+ tab at the top of the text entry panel. Use this to check what your message will look like before you post the message. If it looks a complete mess you're unlikely to get a response. (Click on the +"Plain text"+ tab if you want to edit the text to tidy it up.)
+"Science is more than a body of knowledge; it is a way of thinking"+
+Carl Sagan+ -
hi there from Portugal
I am running a trace using toad over an oracle 8 database which runs in a remote location.
I do not have an account to acess that machine - Only can connect to database with toad or sql plus.
Is there any other way to see the output of a trace command without accessing the server machine and opening the file stored in the user dump destination?!?!
For example output the trace result to the toad editor screen!?
PS: i do not have permissions to change the user dump destination
I'm sure you guys will find me a solution
Grateful for your help
Regards from Portugal
Edited by: user6364639 on 2/Fev/2009 11:29When I've been in this unfortunate situation (like on a hosted database) I have been able to create an external table that will give me access to the trace file.
First, look up user_dump_dest so you can create a directory object for this location.
Next you need to get the spid (from v$process) for the session that you are tracing - the default file name for the trace file is ${ORACLE_SID}_ora_${SPID}.trc
So if your spid is 12345
Create the directory and external table like this:
DECLARE
UDumpDir VARCHAR2(200);
SID VARCHAR2(16);
MySpid NUMBER := 12345; -- ***CHANGE THIS
ObjectExists EXCEPTION;
PRAGMA EXCEPTION_INIT(ObjectExists,-955);
BEGIN
-- get the udump dir
SELECT value
INTO UDumpDir
FROM v$parameter
WHERE name='user_dump_dest';
-- create the directory for the udump dir
EXECUTE IMMEDIATE 'CREATE OR REPLACE DIRECTORY udump_dir AS '''||UDumpDir||'''';
-- grant the necessary privileges
EXECUTE IMMEDIATE 'GRANT READ ON DIRECTORY udump_dir TO system';
-- get the SID
SELECT instance_name INTO SID FROM v$instance;
EXECUTE IMMEDIATE 'CREATE TABLE system.TRACE_'||MySpid||'_EXTERNAL
(TEXT VARCHAR2(255)
) ORGANIZATION EXTERNAL
(TYPE ORACLE_LOADER
DEFAULT DIRECTORY UDUMP_DIR
ACCESS PARAMETERS
(records delimited by newline
nobadfile
nologfile
LOCATION ('''||SID||'_ora_'||MySpid||'.trc'')
REJECT LIMIT UNLIMITED'
-- ignore ORA-955 errors (object already exists)
EXCEPTION WHEN ObjectExists THEN NULL;
END;
/Now that you have the external table (trace_12345_external). Select from it, spooling the output into a local copy of the trace file.
like this:
set pages 0
set linesize 255
set trimspool on
spool MyLocalTraceFile.trc
select * from trace_12345_external;
spool offYou can now tkprof (or otherwise analyze) your trace file on your client machine.
Don't forget to clean up after yourself and drop the external table when you're done.
Good Luck -
Capturing trace() output
Does anyone know if there's a way to capture the output of
trace()? I'm trying to display trace statements in my application
for debugging purposes. I know I can use the debugging console in
Flex Builder or view the log files directly, but this approach has
its advantages for our situation. Any suggestions would be
appreciated. Thanks.Would a sql based solution (not from the OLAP worksheet tool/utility) work for you?
DECLARE
a_out varchar2(2000);
BEGIN
a_out := '';
dbms_aw.aw_attach(name=>'USER1.AW1',forwrite=>false);
dbms_aw.run(cmd=>'dsc DIM1', output=>a_out);
dbms_output.put_line('AW cmd output (object DIM1): '|| a_out);
dbms_aw.aw_detach(name=>'BIA_RTL_OLAP.PSLSINV');
END;
************** -
Help interpreting verbose GC output
Below is the output of a verbose GC using concurrent market sweep and parallel new GC's (XX:+UseParNewGC -XX:+UseConcMarkSweepGC)
java version "1.4.2_07"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_07-b05)
Java HotSpot(TM) Client VM (build 1.4.2_07-b05, mixed mode)
I'd like to be able to understand this output better.
What are the steps involved with concurrent market sweeps as outlined below? And how do I best read this?
During a GC what state is the application in? My understanding is that is it effectively paused and not serving requests. Below suggests that the application has paused for 3+ seconds.
290903.690: [GC [1 CMS-initial-mark: 714288K(1048576K)] 721114K(1298816K), 0.0211860 secs]
290903.712: [CMS-concurrent-mark-start]
290905.235: [CMS-concurrent-mark: 1.523/1.523 secs]
290905.236: [CMS-concurrent-preclean-start]
290905.236: [CMS-concurrent-preclean: 0.000/0.000 secs]
290905.296: [GC290905.296: [Rescan (parallel) , 0.0478730 secs]
290905.344: [weak refs processing, 0.0102490 secs] [1 CMS-remark: 714288K(1048576K)] 732512K(1298816K), 0.0586340 secs]
290905.355: [CMS-concurrent-sweep-start]
290906.948: [CMS-concurrent-sweep: 1.593/1.593 secs]
290906.948: [CMS-concurrent-reset-start]
290906.978: [CMS-concurrent-reset: 0.031/0.031 secs]
The total time spent doing a GC appears to be
initial mark 0.02
concurrent mark 1.523
preclean 0.00
rescan 0.047
weak refs 0.01
remark 0.05
sweep 1.59
reset 0.031
total gc time 3.271sec
Is this a correct interpretation?
Many thanks.Your are using the low pause garbage collector or Concurrent Mark Sweep (CMS). Some of those times are done without pauses. See http://developers.sun.com/techtopics/mobility/midp/articles/garbagecollection2/#11.2.1. Just two of those phases are stop the world pauses. According to the above article it is the:
initial mark 0.02
remark 0.05
Total stop the world pause 0.07. The rest of them are down concurrenlty with the application still running. -
Exporting ST01 trace output cuts column info
Hi experts
I must export RFC trace information from ST01 Trace Analysis to any external format (XLS or XML or RTF...). My problem is: the info in Object column is shorter than that shown on detail screen. For example, in main screen Object column shows only BAPI_MDPROVIDER_. If I double click that line, a detail screen shows a longer text for Object column, whose title becomes "Function Module", with value BAPI_MDPROVIDER_GET_VARIABLES.
I need the full name of the function module available in the detail screen. However, I could not find any way to expand Object column width in main screen.
How can I customize width for Object column on ST01 Trace Analysis to get the full length information? Is there any external tool capable of reading a ST01 trace file?
Thanks.
FernandoGuys,
I really appreciate your suggestions but the problem still persists.
I opened an issue at SAP and support team answered that the standard output from trace analysis on transaction ST01 "is working as designed" and they cannot give me an alternative solution. I requested them to provide the layout of the records written into the trace file in order to decode the information needed, but I was told that it could not be provided.
Well, if SAP is unable to provide a solution then there's nothing else we can do.
Case closed (unfortunately). -
What is the proper interpretation of the output from PID vi?
Can someone clarify the meaning of the output from the NI PID vi's? From the documentation for the PID control toolkit, it appears that the output is an absolute quantity and not a delta (change) to the previous output. The problem I have is that if I am running proportional control only, and the controller is moving into a steady cooling air flow rate to achieve my setpoint temperature, the error goes to zero and the output from the controller drops to zero. This completely ruins the temperature control.
Simply: assume that the output to the control valve I am using needs 12mA (4-20mA controlled) constant value (flow rate) to maintain my setpoint. When the error goes to zero, the controller output goes to zero. This, of course, leads to terrible oscillation etc.
Other PID implementations I have used are all delta (change) based. In other words, you calculate a P, I, and D correction to the previous output.
What am I missing? All of the NI labview PID examples use the output directly to drive I/O, and never use it as a change (delta).
I read this newsgroup's archives and found a similar question, but the answer was not helpful.
thanks much in advance!Hi Darth,
You have read the documentation correctly. The output of the PID VI is an absolute value. If you are using a P algorithm then you will need to use the PID Output Rate Limiter VI to control the rate of the oscillation. Your other option is to use a PID algorithm rather than just the P algorithm. The I and D portion of the PID algorithm are based on the current and previous error and output respectively. For further information on how the PID output is calculated please reference chapter 2 of the LabVIEW PID Control Toolset User Manual
Hope this helps!
Brooks W.
National Instruments -
Please help to interpret this DumpPoolStatistics output ...
Hi All,
I am tuning the application module pool parameters in our production ADF 10g application. The reason is sometimes on peak load the respon is very slow then user assume it is hung and restart the opmn to start over again.
(Not DB issue & JVM is also being tuned)
I already run steve's DumpPoolStatistics.jsp to see the statistics of AM pools when the apps is running on real load, below is the output, could you please help .. does it indicates anything that could be made better ?
(currently the setting of Referenced Pool Size is 85)
Output of DumpPoolStatistics.jsp :
Pool Statistics for Pool 'itt.sales.model.service.SalesAMLocal'
Back to Pool List
head:Application module lifetime statistics
Number of application module creations,170
Number of application module removals,85
head:State management statistics
Number of transactional state activations,312
Number of transactional state passivations,557
head:Application pool use statistics
Number of application pool check outs,22665
Number of application pool check ins,22661
Number of referenced application modules that were reused,21853
Number of referenced application modules that were recycled,473
Number of unreferenced application modules that were recycled,169
Number of application pool check out failures,0
head:Application module statistics
Total number of application modules in the pool,85
Maximum number of application modules in the pool,85
Average number of application modules in the pool,83
Total number of available application modules in the pool,81
Average number of available application modules in the pool,80
Average number of unavailable application modules in the pool,3
Total number of referenced application modules in the pool,85
head:Application module age statistics
Number of referenced instances unused for >10 min,0
Number of referenced instances unused for >5 min,0
Number of referenced instances unused for >1 min,37
Number of referenced instances used during last 1 min,48
Number of instances unused for >10 min,0
Number of instances unused for >5 min,0
Number of instances unused for >1 min,0
Number of instances used during last 1 min,0
head:Session statistics
Number of sessions registered with the pool,181
Average number of sessions referencing transactional state,202
head:Session age statistics
Number of sessions inactive for >10 min,70
Number of sessions inactive for >5 min,18
Number of sessions inactive for >1 min,45
Number of sessions active during last 1 min,48
Thank you for your help,
xtantoIshan's solution is good. I would avoid updating rows which already have the right value - it's a waste of time.
You should have a UNIQUE or PRIMARY KEY constraint on t_acctnumberTab.account_id
merge rbabu.t_t_bil_bil_cycle_change a
using
( select distinct account_number, account_id
from rbabu.t_acctnumberTab
) t
on ( a.account_id = b.account_id
and decode(a.account_number, b.account_number, 0, 1) = 1
when matched then
update set a.account_number = b.account_number -
Can anyone interpret this trace for me please
I've had an ongoing issue for about 10 months which looks to me like data loss at peak times. I've got BT working on this but it's a slow and painful process. Outbound tracert from me to an IP address are fine and show slow times but no data loss. I've just done a couple of reverse Trace Routes (Tracert) i.e. in to my public IP rather than out from my computer and got the results below. What I don't know is whether they are reaching me and being blocked by the firewall or whether they are failing before they get to me. An IP lookup shows the last successful addresses are BT infrastructure servers but I can't tell whether they are at my local exchange or not. Thanks in advance.
Here are the 2 sets of results:
Test 1 - Run by a friend
Tracing route to host86-150-49-122.range86-150.btcentralplus.com [86.150.49.122]
over a maximum of 30 hops:
1 1 ms <1 ms <1 ms 192.168.0.1
2 39 ms 37 ms 38 ms cr4.clber.uk.easynet.net [87.87.253.223]
3 33 ms 33 ms 33 ms fe3-1-3.ar11.bllon.uk.easynet.net [82.111.96.81]
4 34 ms 32 ms 33 ms te0-2-0-2.er11.thlon.ov.easynet.net [89.200.131.89]
5 34 ms 34 ms 33 ms linx7.ukcore.bt.net [195.66.224.56]
6 48 ms 44 ms 74 ms core1-te-0-3-1-0.ealing.ukcore.bt.net [62.172.102.2]
7 38 ms 37 ms 37 ms acc1-10GigE-0-1-0-0.l-far.21cn-ipp.bt.net [109.159.249.16]
8 39 ms 38 ms 38 ms 109.159.249.100
9 36 ms 37 ms 37 ms 213.120.176.177
10 40 ms 45 ms 37 ms 213.120.176.21
11 44 ms 46 ms 41 ms 213.120.177.25
12 * * * Request timed out.
13 * * * Request timed out.
14 * * * Request timed out.
15 * * * Request timed out.
16 * * * Request timed out.
17 * * * Request timed out.
18 * * * Request timed out.
19 * * * Request timed out.
20 * * * Request timed out.
21 * * * Request timed out.
22 * * * Request timed out.
23 * * * Request timed out.
24 * * * Request timed out.
25 * * * Request timed out.
26 * * * Request timed out.
27 * * * Request timed out.
28 * * * Request timed out.
29 * * * Request timed out.
30 * * * Request timed out.
Trace complete.
Test 3 - Conducted from the internet
http://centralops.net/co/Traceroute.aspx
Tracing route to 86.150.49.122 [86.150.49.122]...
hop
rtt
rtt
rtt
ip address
fully qualified domain name
1
1
1
1
70.84.211.97
61.d3.5446.static.theplanet.com
2
1
0
0
70.87.254.1
po101.dsr01.dllstx5.networklayer.com
3
1
1
1
70.85.127.105
po51.dsr01.dllstx3.networklayer.com
4
0
0
0
70.87.253.85
e8-3.ibr03.dllstx3.networklayer.com
5
0
0
0
209.66.99.89
209.66.99.89.available.above.net
6
1
0
0
64.125.27.73
xe-0-1-0.cr1.dfw2.us.above.net
7
1
0
0
64.125.30.78
xe-1-0-0.cr2.dfw2.us.above.net
8
6
6
6
64.125.31.122
xe-4-2-0.cr2.iah1.us.above.net
9
33
57
34
64.125.28.49
xe-2-1-0.cr2.dca2.us.above.net
10
106
133
107
64.125.24.42
xe-4-1-0.mpr1.lhr3.uk.above.net
11
106
107
106
64.125.28.38
so-1-0-0.mpr1.lhr2.uk.above.net
12
107
108
109
64.125.27.150
xe-1-1-0.mpr1.lhr1.uk.above.net
13
116
107
107
195.66.224.69
linx1.ukcore.bt.net
14
112
112
111
62.6.200.102
core2-gig0-10-0-4.ilford.ukcore.bt.net
15
184
140
109
109.159.249.14
acc1-10gige-0-7-0-3.l-far.21cn-ipp.bt.net
16
109
109
110
109.159.249.85
17
109
109
109
213.120.176.177
18
110
109
110
213.120.176.21
19
131
168
213.120.177.9
20
21
22
23
Trace aborted
-- end --Here is my outbound tracert. I guess that hop 2 is my local exchange. There is no direct match between the IPs outbound and inbound. Hop 5 and 6 on this trace below are within 1 digit of hop 10 and hop 9 respectively of the first of the reverse traces above. I'm not an expert but guess this means they are likely to be co-located? And not my local exchange unless it takes 5 hops to get out of my exchange onto the BT infrastructure.
traceroute to 199.217.10.36 (199.217.10.36), 64 hops max, 52 byte packets
1 api (192.168.1.254) 0.896 ms 0.635 ms 0.633 ms
2 217.32.145.136 (217.32.145.136) 22.803 ms 24.074 ms 25.768 ms
3 217.32.145.206 (217.32.145.206) 25.868 ms 25.140 ms 24.855 ms
4 213.120.177.10 (213.120.177.10) 23.579 ms 23.575 ms 23.913 ms
5 213.120.176.22 (213.120.176.22) 23.895 ms 24.465 ms 23.703 ms
6 213.120.176.178 (213.120.176.178) 24.890 ms 23.638 ms 24.422 ms
7 acc1-10gige-0-7-0-5.l-far.21cn-ipp.bt.net (109.159.249.86) 23.800 ms
acc1-10gige-0-2-0-6.l-far.21cn-ipp.bt.net (109.159.249.101) 24.836 ms
acc1-10gige-0-1-0-5.l-far.21cn-ipp.bt.net (109.159.249.82) 24.035 ms
8 core1-te0-1-0-0.ealing.ukcore.bt.net (109.159.249.21) 26.865 ms
core2-te0-1-0-0.ilford.ukcore.bt.net (109.159.249.23) 28.352 ms
core1-te0-15-0-2.ealing.ukcore.bt.net (109.159.249.17) 27.069 ms
9 core1-xe1-1-0.redbus.ukcore.bt.net (62.6.200.101) 24.961 ms
core1-xe0-0-0.redbus.ukcore.bt.net (62.6.200.73) 26.039 ms 25.040 ms
10 ge-2-1-0.mpr1.lhr2.uk.above.net (195.66.224.76) 27.001 ms 26.359 ms 26.868 ms
11 ge-3-0-0.mpr1.lhr2.uk.above.net (64.125.28.126) 25.717 ms 39.982 ms 26.313 ms
12 so-0-1-0.mpr1.dca2.us.above.net (64.125.27.57) 99.724 ms 98.703 ms 99.029 ms
13 xe-0-3-0.cr1.dca2.us.above.net (64.125.29.17) 99.676 ms 98.223 ms 99.004 ms
14 xe-0-2-0.cr1.iah1.us.above.net (64.125.25.114) 126.086 ms 125.555 ms 125.492 ms
15 xe-1-3-0.cr1.lax112.us.above.net (64.125.26.122) 157.246 ms 157.818 ms 157.267 ms
16 xe-0-2-0.cr1.sjc2.us.above.net (64.125.26.26) 166.464 ms 165.509 ms 165.713 ms
17 xe-1-0-0.cr2.sjc2.us.above.net (64.125.30.138) 164.870 ms 165.932 ms 172.025 ms
18 xe-0-1-0.er2.sjc2.us.above.net (64.125.28.21) 165.686 ms 165.177 ms 165.077 ms
19 209.249.49.10.available.above.net (209.249.49.10) 165.920 ms 166.861 ms 165.738 ms
20 ip10-178.esignal.com (199.217.10.178) 167.362 ms 166.201 ms 167.331 ms
21 ip10-140.esignal.com (199.217.10.140) 166.171 ms 165.839 ms 165.510 ms
22 * * *
23 ip225-4.esignal.com (216.23.225.4) 167.897 ms * 167.373 ms -
Interpretation of result output - COGI (Background - CORUAFWP)
A background job(CORUAFWP) is scheduled, which runs once a day for clearing COGI errors, the output of background job has following numerical data
Number of total items :1726
Number of locked items : 0
Number of incorrect items :1720
Number of withdrawn items
Even though there is no clearing of COGI errors, why there is difference of 6 (between total items
and incorrect items)
Note:
Other day, there was 1 material document posted in background processing with following numerical data output
Number of total items : 1723
Number of locked items : 0
Number of incorrect items : 1716
Number of withdrawn items : 1
As one can notice, net difference between total items and incorrect items is 7 (while, only 1 item is withdrawn)
and six items is open question
Thanks,PPIO,
Probably not. If any user is accessing COGI (or) Goods Issue/Reciepts and
confirmations transactions where material movement is involved, there would locked entries
during background job execution. In here, lock entries count is ZERO
Maybe you are looking for
-
How do I extract a substring when I know what become before and after it
I am able to get the HTML source of a web page and I want to get certain information from it. I am trying to extract a 1 or 2 digit number but sometimes it is not there but I know that this comes exactly before the number if it exists or not "</td>
-
Tcode to create single delivery document for all line items in PO
Hi all, Sorry if it is a simple question, But I am from SD module. What is Tcode to create a single delivery documents for all line items in PO. I have 3 line items with Different materials having diffent quantities and there are different delivery d
-
File Adapter Write missing files
Hello I have some trouble with a bpel process containing a file adapter that should write files to disk. Each bpel-process is started when a read file adapter reads a new matching file (*.xml). I have tested the process with a few files (5-20) and a
-
When transferring from an older imac, to my new one with mountain lion, I was persuaded to nominate about 3 account names. I really just want the whole lot under the one a/c name. So I am trying to delete 2 user names, but I think the orange ticks pr
-
Having trouble to arrange Bins & Files in CS3 Project Panel.
I am an IT professional in a TV station. In our station we are using both Adobe Premiere 2.0 and Adobe Premiere CS3 licensed software for making playlist of commercials. We use to import these commercials from a central storage & compile it. During t