Cpu used by session event
I have a 88 MB table having no index on it.
select count(*) from ( select * from tbl where flag1=:1 and flag2=:2 and flag3=:3)The above sql is in the top cpu consuming session while I query "cpu used by session event"
how does above query different from :-
select count(*) from tbl where flag1=:1 and flag2=:2 and flag3=:3)version is 10.2.0.2
when tried to see the explain plan for both sql
it is showing same plan.
@?/rdms/admin/utlxpls
is showing full table scan
and with message cpu cost is not configured/shown
please help me understand this
which query is better and why?
why explain plan is not showing cpu cost?
SQL> explain plan for
2 select count(*) from (select * from t1)
3 /
Explained.
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
Plan hash value: 3724264953
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 3 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | TABLE ACCESS FULL| T1 | 301 | 3 (0)| 00:00:01 |
9 rows selected.
SQL> explain plan for
2 select count(*) from t1;
Explained.
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
Plan hash value: 3724264953
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 3 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | TABLE ACCESS FULL| T1 | 301 | 3 (0)| 00:00:01 |
9 rows selected.
SQL> explain plan for
2 select count(*) from (select * from t1)
3 /
Explained.
SQL> @?/rdbms/admin/utlxpls
PLAN_TABLE_OUTPUT
Plan hash value: 3724264953
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 3 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | TABLE ACCESS FULL| T1 | 301 | 3 (0)| 00:00:01 |
9 rows selected.
SQL>I see the same Execution Plan.
Edited by: Hemant K Chitale on Jul 23, 2009 11:34 PM
Similar Messages
-
WebDynpro ABAP - inter session events possible?
Hi Experts,
I have a ABAP-WebDynpro application with various tabstrips to show and maintain process data within a production process. Each tabstrip contains several data of a specific process step. At the beginning, very few data are already present. While production progresses, chemical analysis is being taken and machine data is gathered. Assoon as new data for the process step is available, a refresh should be performed.
Though not perfect in every aspect, we made this scenario work in a similar way in ABAP Dynpro by using inter session eventing (ISE). Is there a possibility to trigger events in WebDynpro cross-session - for example after adding data to the database?
Best regards
JensThere is no real cross session eventing available in Web Dynpro. The problem is two fold. First, UI updates can't be initiated by the server in HTTP (unlike the SAPGUI which does have a push mechanism to the client). This is a current limitaiton of HTTP itself and not something Web Dynpro related. So to trigger the phase model of Web Dynpro, something must occur on the client to trigger the server event. In NetWeaver 7.0 and 7.01 you have to use the timedTrigger UI element to acomplish this:
http://help.sap.com/saphelp_nw70ehp1/helpdata/en/da/a6884121a41c09e10000000a155106/frameset.htm
You then generally used a shared memory object (or even temporary database entries) to communicate data or events between to different processes. For instance a background job is running and places it status in a shared memory object attribute. The Web Dynpro can then fire a TimedTrigger every minute to check the value of this shared memory object attribute.
In NetWeaver 7.02 we improve this process with a new capability called the Web Dynpro Notification Service. Instead of the timedTrigger, we can simulate a push of data/events to the client using AJAX. We open an secondary server request to the ICM to check the status of an event. That way we don't have to disrupt the client side activity or incurre the full Web Dynpro Phase Model until we know a change in the status of our event has occured. Also since the status info is stored in the ICM Cache, you don't even have to fall into an ABAP Workprocess to check the status. -
Cpu used by a user (session wise)
how will i find how much cpu used by a user(session wise)
select a.sid, a.username, a.osuser, c.name, b.value
from v$session a, v$sesstat b, v$statname c
where a.sid = b.sid
and b.statistic# = c.statistic#
and (c.name like '%CPU%' or c.name like '%sorts (memory)%' or c.name like '%table scan%' or c.name like '%commit%' or c.name like '%cursor%' or c.name like '%read%' or c.name like '%buffer%' or c.name like '%cache%')
and b.value > 0
order by a.sid, c.name
Just revised version of previous query / reply.
Regards
Girish -
Try to get CPU usage from within Oracle by monitoring "CPU used by this session" parameter in v$sysstat, but got some values over 100%. Is my calculation wrong or this is the problem of how Oracle collecting the data? Here's my calculation: CPU Usage (percent) = round((end_value - begin_value) / time_in_seconds, 2)
Please don't double post: {thread:id=933247}
Thanks! -
Performance issue showing read by other session Event
Hi All,
we are having a severe performance issue in my database when we are running batch jobs.
This was a new database(11.2.0.2) and we are testing the performance by running some batch jobs. These batch jobs included some inserts and updates.
I am seeing read by other session in top 5 timed events and cache buffers chains in Latch Miss Sources section.
Please help me to solve this out.
Inst Num Startup Time Release RAC
1 27-Feb-12 09:03 11.2.0.2.0 NO
Platform CPUs Cores Sockets Memory(GB)
Linux x86 64-bit 8 8 8 48.00
Snap Id Snap Time Sessions Curs/Sess
Begin Snap: 5605 29-Feb-12 03:00:27 63 4.5
End Snap: 5614 29-Feb-12 12:00:47 63 4.3
Elapsed: 540.32 (mins)
DB Time: 1,774.23 (mins)
Cache Sizes Begin End
~~~~~~~~~~~ ---------- ----------
Buffer Cache: 1,952M 1,952M Std Block Size: 16K
Shared Pool Size: 1,024M 1,024M Log Buffer: 18,868K
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~ --------------- --------------- ---------- ----------
DB Time(s): 3.3 0.8 0.02 0.05
DB CPU(s): 1.1 0.3 0.01 0.02
Redo size: 55,763.8 13,849.3
Logical reads: 23,906.6 5,937.4
Block changes: 325.7 80.9
Physical reads: 665.6 165.3
Physical writes: 40.4 10.0
User calls: 60.7 15.1
Parses: 10.6 2.6
Hard parses: 1.1 0.3
W/A MB processed: 0.6 0.2
Logons: 0.1 0.0
Executes: 151.2 37.6
Rollbacks: 0.0 0.0
Transactions: 4.0
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 99.94 Redo NoWait %: 100.00
Buffer Hit %: 97.90 In-memory Sort %: 100.00
Library Hit %: 98.06 Soft Parse %: 90.16
Execute to Parse %: 92.96 Latch Hit %: 100.00
Parse CPU to Parse Elapsd %: 76.71 % Non-Parse CPU: 98.57
Shared Pool Statistics Begin End
Memory Usage %: 89.38 87.96
% SQL with executions>1: 97.14 95.15
% Memory for SQL w/exec>1: 96.05 92.46
Top 5 Timed Foreground Events
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Avg
wait % DB
Event Waits Time(s) (ms) time Wait Class
db file sequential read 14,092,706 65,613 5 61.6 User I/O
DB CPU 34,819 32.7
read by other session 308,534 1,260 4 1.2 User I/O
direct path read 97,454 987 10 .9 User I/O
db file scattered read 71,870 910 13 .9 User I/O
Host CPU (CPUs: 8 Cores: 8 Sockets: 8)
~~~~~~~~ Load Average
Begin End %User %System %WIO %Idle
0.43 0.36 13.7 0.6 9.7 85.7
Instance CPU
~~~~~~~~~~~~
% of total CPU for Instance: 13.5
% of busy CPU for Instance: 94.2
%DB time waiting for CPU - Resource Mgr: 0.0
Memory Statistics
~~~~~~~~~~~~~~~~~ Begin End
Host Mem (MB): 49,152.0 49,152.0
SGA use (MB): 3,072.0 3,072.0
PGA use (MB): 506.5 629.1
% Host Mem used for SGA+PGA: 7.28 7.53
Time Model Statistics
-> Total time in database user-calls (DB Time): 106453.8s
-> Statistics including the word "background" measure background process
time, and so do not contribute to the DB time statistic
-> Ordered by % or DB time desc, Statistic name
Statistic Name Time (s) % of DB Time
sql execute elapsed time 105,531.1 99.1
DB CPU 34,818.8 32.7
parse time elapsed 714.7 .7
hard parse elapsed time 684.8 .6
PL/SQL execution elapsed time 161.9 .2
PL/SQL compilation elapsed time 44.2 .0
connection management call elapsed time 16.9 .0
hard parse (sharing criteria) elapsed time 10.2 .0
hard parse (bind mismatch) elapsed time 9.4 .0
sequence load elapsed time 2.9 .0
repeated bind elapsed time 0.5 .0
failed parse elapsed time 0.0 .0
DB time 106,453.8
background elapsed time 1,753.9
background cpu time 61.7
Operating System Statistics
-> *TIME statistic values are diffed.
All others display actual values. End Value is displayed if different
-> ordered by statistic type (CPU Use, Virtual Memory, Hardware Config), Name
Statistic Value End Value
BUSY_TIME 3,704,415
IDLE_TIME 22,203,740
IOWAIT_TIME 2,517,864
NICE_TIME 3
SYS_TIME 145,696
USER_TIME 3,557,758
LOAD 0 0
RSRC_MGR_CPU_WAIT_TIME 0
VM_IN_BYTES 358,813,045,760
VM_OUT_BYTES 29,514,830,848
PHYSICAL_MEMORY_BYTES 51,539,607,552
NUM_CPUS 8
NUM_CPU_CORES 8
NUM_CPU_SOCKETS 8
GLOBAL_RECEIVE_SIZE_MAX 4,194,304
GLOBAL_SEND_SIZE_MAX 1,048,586
TCP_RECEIVE_SIZE_DEFAULT 87,380
TCP_RECEIVE_SIZE_MAX 4,194,304
TCP_RECEIVE_SIZE_MIN 4,096
TCP_SEND_SIZE_DEFAULT 16,384
TCP_SEND_SIZE_MAX 4,194,304
TCP_SEND_SIZE_MIN 4,096
Operating System Statistics -
Snap Time Load %busy %user %sys %idle %iowait
29-Feb 03:00:27 0.4 N/A N/A N/A N/A N/A
29-Feb 04:00:35 1.4 11.9 11.2 0.6 88.1 14.3
29-Feb 05:00:41 1.7 13.8 13.2 0.6 86.2 15.8
29-Feb 06:00:48 1.5 14.0 13.5 0.6 86.0 12.3
29-Feb 07:01:00 1.8 16.3 15.8 0.5 83.7 10.4
29-Feb 08:00:12 2.6 23.2 22.5 0.6 76.8 12.6
29-Feb 09:00:26 1.3 16.6 16.0 0.5 83.4 5.7
29-Feb 10:00:33 1.2 13.8 13.3 0.5 86.2 2.0
29-Feb 11:00:43 1.3 14.5 14.0 0.5 85.5 3.8
29-Feb 12:00:47 0.4 4.9 4.2 0.7 95.1 10.6
Foreground Wait Class
-> s - second, ms - millisecond - 1000th of a second
-> ordered by wait time desc, waits desc
-> %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
-> Captured Time accounts for 97.9% of Total DB time 106,453.79 (s)
-> Total FG Wait Time: 69,415.64 (s) DB CPU time: 34,818.79 (s)
Avg
%Time Total Wait wait
Wait Class Waits -outs Time (s) (ms) %DB time
User I/O 14,693,843 0 69,222 5 65.0
DB CPU 34,819 32.7
Commit 40,629 0 119 3 0.1
System I/O 26,504 0 57 2 0.1
Network 1,945,010 0 11 0 0.0
Other 125,200 99 4 0 0.0
Application 2,673 0 2 1 0.0
Concurrency 3,059 0 1 0 0.0
Configuration 31 19 0 15 0.0
Foreground Wait Events
-> s - second, ms - millisecond - 1000th of a second
-> Only events with Total Wait Time (s) >= .001 are shown
-> ordered by wait time desc, waits desc (idle events last)
-> %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
Avg
%Time Total Wait wait Waits % DB
Event Waits -outs Time (s) (ms) /txn time
db file sequential read 14,092,706 0 65,613 5 108.0 61.6
read by other session 308,534 0 1,260 4 2.4 1.2
direct path read 97,454 0 987 10 0.7 .9
db file scattered read 71,870 0 910 13 0.6 .9
db file parallel read 35,001 0 372 11 0.3 .3
log file sync 40,629 0 119 3 0.3 .1
control file sequential re 26,504 0 57 2 0.2 .1
direct path read temp 14,499 0 49 3 0.1 .0
direct path write temp 9,186 0 28 3 0.1 .0
SQL*Net message to client 1,923,973 0 5 0 14.7 .0
SQL*Net message from dblin 1,056 0 5 5 0.0 .0
Disk file operations I/O 8,848 0 2 0 0.1 .0
ASM file metadata operatio 36 0 2 54 0.0 .0
SQL*Net break/reset to cli 2,636 0 1 1 0.0 .0
ADR block file read 472 0 1 1 0.0 .0
os thread startup 8 0 1 74 0.0 .0
SQL*Net more data to clien 17,656 0 1 0 0.1 .0
asynch descriptor resize 123,852 100 0 0 0.9 .0
local write wait 110 0 0 4 0.0 .0
utl_file I/O 55,635 0 0 0 0.4 .0
log file switch (private s 8 0 0 52 0.0 .0
cursor: pin S wait on X 2 0 0 142 0.0 .0
enq: KO - fast object chec 13 0 0 20 0.0 .0
PX Deq: Slave Session Stat 248 0 0 1 0.0 .0
enq: RO - fast object reus 18 0 0 11 0.0 .0
latch: cache buffers chain 2,511 0 0 0 0.0 .0
latch: shared pool 195 0 0 1 0.0 .0
CSS initialization 12 0 0 8 0.0 .0
PX qref latch 54 100 0 2 0.0 .0
SQL*Net more data from cli 995 0 0 0 0.0 .0
SQL*Net more data from dbl 300 0 0 0 0.0 .0
kksfbc child completion 1 100 0 56 0.0 .0
library cache: mutex X 244 0 0 0 0.0 .0
PX Deq: Signal ACK RSG 124 0 0 0 0.0 .0
undo segment extension 6 100 0 7 0.0 .0
PX Deq: Signal ACK EXT 124 0 0 0 0.0 .0
library cache load lock 3 0 0 9 0.0 .0
ADR block file write 45 0 0 1 0.0 .0
CSS operation: action 12 0 0 2 0.0 .0
reliable message 28 0 0 1 0.0 .0
CSS operation: query 72 0 0 0 0.0 .0
latch: row cache objects 14 0 0 1 0.0 .0
enq: SQ - contention 17 0 0 0 0.0 .0
latch free 32 0 0 0 0.0 .0
buffer busy waits 52 0 0 0 0.0 .0
enq: PS - contention 16 0 0 0 0.0 .0
enq: TX - row lock content 6 0 0 1 0.0 .0
SQL*Net message to dblink 1,018 0 0 0 0.0 .0
cursor: pin S 23 0 0 0 0.0 .0
latch: cache buffers lru c 8 0 0 0 0.0 .0
SQL*Net message from clien 1,923,970 0 944,508 491 14.7
jobq slave wait 66,732 100 33,334 500 0.5
Streams AQ: waiting for me 6,481 100 32,412 5001 0.0
wait for unread message on 32,858 98 32,411 986 0.3
PX Deq: Execution Msg 1,448 0 190 131 0.0
PX Deq: Execute Reply 1,196 0 74 62 0.0
HS message to agent 228 0 4 19 0.0
single-task message 42 0 4 97 0.0
PX Deq Credit: send blkd 904 0 2 3 0.0
PX Deq Credit: need buffer 205 0 1 3 0.0
Foreground Wait Events
-> s - second, ms - millisecond - 1000th of a second
-> Only events with Total Wait Time (s) >= .001 are shown
-> ordered by wait time desc, waits desc (idle events last)
-> %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
Avg
%Time Total Wait wait Waits % DB
Event Waits -outs Time (s) (ms) /txn time
PX Deq: Table Q Normal 4,291 0 1 0 0.0
PX Deq: Join ACK 124 0 0 1 0.0
PX Deq: Parse Reply 124 0 0 0 0.0
KSV master wait 256 0 0 0 0.0
Latch Miss Sources
-> only latches with sleeps are shown
-> ordered by name, sleeps desc
NoWait Waiter
Latch Name Where Misses Sleeps Sleeps
ASM map operation freeli kffmTranslate2 0 2 0
DML lock allocation ktadmc 0 2 0
FOB s.o list latch ksfd_allfob 0 2 2
In memory undo latch ktiFlushMe 0 5 0
In memory undo latch ktichg: child 0 3 0
PC and Classifier lists No latch 0 6 0
Real-time plan statistic keswxAddNewPlanEntry 0 20 20
SQL memory manager worka qesmmIRegisterWorkArea:1 0 1 1
active service list kswslogon: session logout 0 23 12
active service list kswssetsvc: PX session swi 0 6 1
active service list kswsite: service iterator 0 1 0
archive process latch kcrrgpll 0 3 3
cache buffers chains kcbgtcr_2 0 1,746 573
cache buffers chains kcbgtcr: fast path (cr pin 0 1,024 2,126
cache buffers chains kcbgcur_2 0 60 8
cache buffers chains kcbchg1: kslbegin: bufs no 0 16 3
cache buffers chains kcbgtcr: fast path 0 14 20
cache buffers chains kcbzibmlt: multi-block rea 0 10 0
cache buffers chains kcbrls_2 0 9 53
cache buffers chains kcbgtcr: kslbegin shared 0 8 1
cache buffers chains kcbrls_1 0 7 84
cache buffers chains kcbgtcr: kslbegin excl 0 6 14
cache buffers chains kcbnew: new latch again 0 6 0
cache buffers chains kcbzgb: scan from tail. no 0 6 0
cache buffers chains kcbzwb 0 5 8
cache buffers chains kcbgcur: fast path (shr) 0 3 0
cache buffers chains kcbget: pin buffer 0 3 0
cache buffers chains kcbzhngcbk2_1 0 1 0
cache buffers lru chain kcbzgws 0 19 0
cache buffers lru chain kcbo_link_q 0 3 0
call allocation ksuxds 0 14 10
call allocation ksudlp: top call 0 2 3
enqueue hash chains ksqgtl3 0 2 1
enqueue hash chains ksqrcl 0 1 2
enqueues ksqgel: create enqueue 0 1 0
object queue header oper kcbo_unlink_q 0 5 2
object queue header oper kcbo_sw_buf 0 2 0
object queue header oper kcbo_link_q 0 1 2
object queue header oper kcbo_switch_cq 0 1 2
object queue header oper kcbo_switch_mq_bg 0 1 4
parallel query alloc buf kxfpbalo 0 1 1
process allocation ksucrp:1 0 2 0
process queue reference kxfpqrsnd 0 1 0
qmn task queue latch kwqmnmvtsks: delay to read 0 1 0
redo allocation kcrfw_redo_gen: redo alloc 0 17 0
row cache objects kqreqd: reget 0 6 0
row cache objects kqrpre: find obj 0 6 13
row cache objects kqrso 0 2 0
row cache objects kqreqd 0 1 2
row cache objects kqrpre: init complete 0 1 1
shared pool kghalo 0 199 106
shared pool kghupr1 0 39 109
shared pool kghfre 0 18 19
shared pool kghalp 0 7 29
space background task la ktsj_grab_task 0 21 27
Mutex Sleep Summary
-> ordered by number of sleeps desc
Wait
Mutex Type Location Sleeps Time (ms)
Library Cache kglhdgn2 106 338 12
Library Cache kgllkc1 57 259 10
Library Cache kgllkdl1 85 123 21
Cursor Pin kkslce [KKSCHLPIN2] 70 286
Library Cache kglget2 2 31 1
Library Cache kglhdgn1 62 31 2
Library Cache kglpin1 4 26 1
Library Cache kglpnal1 90 18 0
Library Cache kglpndl1 95 15 2
Library Cache kgllldl2 112 6 0
Library Cache kglini1 32 1 0
-------------------------------------------------------------Thanks in advance.Hi,
Thanks for reply.
I provided one hour report.
Inst Num Startup Time Release RAC
1 27-Feb-12 09:03 11.2.0.2.0 NO
Platform CPUs Cores Sockets Memory(GB)
Linux x86 64-bit 8 8 8 48.00
Snap Id Snap Time Sessions Curs/Sess
Begin Snap: 5606 29-Feb-12 04:00:35 63 3.7
End Snap: 5607 29-Feb-12 05:00:41 63 3.6
Elapsed: 60.11 (mins)
DB Time: 382.67 (mins)
Cache Sizes Begin End
~~~~~~~~~~~ ---------- ----------
Buffer Cache: 1,952M 1,952M Std Block Size: 16K
Shared Pool Size: 1,024M 1,024M Log Buffer: 18,868K
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~ --------------- --------------- ---------- ----------
DB Time(s): 6.4 0.8 0.03 0.03
DB CPU(s): 1.0 0.1 0.00 0.00
Redo size: 84,539.3 10,425.6
Logical reads: 23,345.6 2,879.1
Block changes: 386.5 47.7
Physical reads: 1,605.0 197.9
Physical writes: 7.1 0.9
User calls: 233.9 28.9
Parses: 4.0 0.5
Hard parses: 0.1 0.0
W/A MB processed: 0.1 0.0
Logons: 0.1 0.0
Executes: 210.9 26.0
Rollbacks: 0.0 0.0
Transactions: 8.1
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 99.62 Redo NoWait %: 100.00
Buffer Hit %: 95.57 In-memory Sort %: 100.00
Library Hit %: 99.90 Soft Parse %: 98.68
Execute to Parse %: 98.10 Latch Hit %: 99.99
Parse CPU to Parse Elapsd %: 32.08 % Non-Parse CPU: 99.90
Shared Pool Statistics Begin End
Memory Usage %: 89.25 89.45
% SQL with executions>1: 96.79 97.52
% Memory for SQL w/exec>1: 95.67 96.56
Top 5 Timed Foreground Events
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Avg
wait % DB
Event Waits Time(s) (ms) time Wait Class
db file sequential read 3,054,464 17,002 6 74.0 User I/O
DB CPU 3,748 16.3
read by other session 199,603 796 4 3.5 User I/O
direct path read 46,301 439 9 1.9 User I/O
db file scattered read 21,113 269 13 1.2 User I/O
Host CPU (CPUs: 8 Cores: 8 Sockets: 8)
~~~~~~~~ Load Average
Begin End %User %System %WIO %Idle
1.45 1.67 13.2 0.6 15.8 86.2
Instance CPU
~~~~~~~~~~~~
% of total CPU for Instance: 13.0
% of busy CPU for Instance: 94.7
%DB time waiting for CPU - Resource Mgr: 0.0
Memory Statistics
~~~~~~~~~~~~~~~~~ Begin End
Host Mem (MB): 49,152.0 49,152.0
SGA use (MB): 3,072.0 3,072.0
PGA use (MB): 513.5 467.7
% Host Mem used for SGA+PGA: 7.29 7.20
Time Model Statistics
-> Total time in database user-calls (DB Time): 22960.5s
-> Statistics including the word "background" measure background process
time, and so do not contribute to the DB time statistic
-> Ordered by % or DB time desc, Statistic name
Statistic Name Time (s) % of DB Time
sql execute elapsed time 22,835.9 99.5
DB CPU 3,748.4 16.3
parse time elapsed 15.4 .1
hard parse elapsed time 14.3 .1
PL/SQL execution elapsed time 7.5 .0
PL/SQL compilation elapsed time 6.0 .0
connection management call elapsed time 1.6 .0
sequence load elapsed time 0.4 .0
hard parse (sharing criteria) elapsed time 0.0 .0
repeated bind elapsed time 0.0 .0
failed parse elapsed time 0.0 .0
DB time 22,960.5
background elapsed time 238.1
background cpu time 4.9
Operating System Statistics
-> *TIME statistic values are diffed.
All others display actual values. End Value is displayed if different
-> ordered by statistic type (CPU Use, Virtual Memory, Hardware Config), Name
Statistic Value End Value
BUSY_TIME 396,506
IDLE_TIME 2,483,725
IOWAIT_TIME 455,495
NICE_TIME 0
SYS_TIME 16,163
USER_TIME 380,052
LOAD 1 2
RSRC_MGR_CPU_WAIT_TIME 0
VM_IN_BYTES 95,646,943,232
VM_OUT_BYTES 1,686,059,008
PHYSICAL_MEMORY_BYTES 51,539,607,552
NUM_CPUS 8
NUM_CPU_CORES 8
NUM_CPU_SOCKETS 8
GLOBAL_RECEIVE_SIZE_MAX 4,194,304
GLOBAL_SEND_SIZE_MAX 1,048,586
TCP_RECEIVE_SIZE_DEFAULT 87,380
TCP_RECEIVE_SIZE_MAX 4,194,304
TCP_RECEIVE_SIZE_MIN 4,096
TCP_SEND_SIZE_DEFAULT 16,384
TCP_SEND_SIZE_MAX 4,194,304
TCP_SEND_SIZE_MIN 4,096
Operating System Statistics -
Snap Time Load %busy %user %sys %idle %iowait
29-Feb 04:00:35 1.4 N/A N/A N/A N/A N/A
29-Feb 05:00:41 1.7 13.8 13.2 0.6 86.2 15.8
Foreground Wait Class
-> s - second, ms - millisecond - 1000th of a second
-> ordered by wait time desc, waits desc
-> %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
-> Captured Time accounts for 97.6% of Total DB time 22,960.46 (s)
-> Total FG Wait Time: 18,651.75 (s) DB CPU time: 3,748.35 (s)
Avg
%Time Total Wait wait
Wait Class Waits -outs Time (s) (ms) %DB time
User I/O 3,327,253 0 18,576 6 80.9
DB CPU 3,748 16.3
Commit 23,882 0 69 3 0.3
System I/O 1,035 0 3 3 0.0
Network 842,393 0 2 0 0.0
Other 10,120 99 0 0 0.0
Configuration 3 0 0 58 0.0
Application 264 0 0 1 0.0
Concurrency 1,482 0 0 0 0.0
Foreground Wait Events
-> s - second, ms - millisecond - 1000th of a second
-> Only events with Total Wait Time (s) >= .001 are shown
-> ordered by wait time desc, waits desc (idle events last)
-> %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
Avg
%Time Total Wait wait Waits % DB
Event Waits -outs Time (s) (ms) /txn time
db file sequential read 3,054,464 0 17,002 6 104.5 74.0
read by other session 199,603 0 796 4 6.8 3.5
direct path read 46,301 0 439 9 1.6 1.9
db file scattered read 21,113 0 269 13 0.7 1.2
log file sync 23,882 0 69 3 0.8 .3
db file parallel read 4,727 0 68 14 0.2 .3
control file sequential re 1,035 0 3 3 0.0 .0
SQL*Net message to client 840,792 0 2 0 28.8 .0
direct path read temp 95 0 2 18 0.0 .0
local write wait 79 0 0 4 0.0 .0
Disk file operations I/O 870 0 0 0 0.0 .0
ASM file metadata operatio 4 0 0 50 0.0 .0
log file switch (private s 3 0 0 58 0.0 .0
ADR block file read 36 0 0 3 0.0 .0
enq: RO - fast object reus 5 0 0 16 0.0 .0
latch: cache buffers chain 1,465 0 0 0 0.1 .0
SQL*Net break/reset to cli 256 0 0 0 0.0 .0
asynch descriptor resize 10,059 100 0 0 0.3 .0
SQL*Net more data to clien 1,510 0 0 0 0.1 .0
enq: KO - fast object chec 3 0 0 8 0.0 .0
SQL*Net more data from cli 91 0 0 0 0.0 .0
latch: shared pool 14 0 0 0 0.0 .0
ADR block file write 5 0 0 1 0.0 .0
reliable message 8 0 0 0 0.0 .0
direct path write temp 1 0 0 2 0.0 .0
SQL*Net message from clien 840,794 0 68,885 82 28.8
jobq slave wait 7,365 100 3,679 499 0.3
Streams AQ: waiting for me 721 100 3,605 5000 0.0
wait for unread message on 3,648 98 3,603 988 0.1
KSV master wait 20 0 0 0 0.0
Background Wait Events
-> ordered by wait time desc, waits desc (idle events last)
-> Only events with Total Wait Time (s) >= .001 are shown
-> %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
Avg
%Time Total Wait wait Waits % bg
Event Waits -outs Time (s) (ms) /txn time
log file parallel write 29,353 0 83 3 1.0 34.8
db file parallel write 5,753 0 17 3 0.2 6.9
db file sequential read 1,638 0 15 9 0.1 6.1
control file sequential re 5,142 0 13 2 0.2 5.4
os thread startup 140 0 8 58 0.0 3.4
control file parallel writ 1,440 0 8 6 0.0 3.4
log file sequential read 304 0 8 26 0.0 3.3
db file scattered read 214 0 2 9 0.0 .8
ASM file metadata operatio 1,199 0 1 1 0.0 .3
direct path write 35 0 0 6 0.0 .1
direct path read 41 0 0 5 0.0 .1
kfk: async disk IO 6 0 0 9 0.0 .0
Disk file operations I/O 1,266 0 0 0 0.0 .0
ADR block file read 16 0 0 2 0.0 .0
read by other session 3 0 0 8 0.0 .0
Log archive I/O 2 0 0 10 0.0 .0
log file sync 3 0 0 5 0.0 .0
asynch descriptor resize 341 100 0 0 0.0 .0
CSS initialization 1 0 0 6 0.0 .0
log file single write 4 0 0 1 0.0 .0
latch: redo allocation 3 0 0 1 0.0 .0
ADR block file write 5 0 0 1 0.0 .0
LGWR wait for redo copy 45 0 0 0 0.0 .0
CSS operation: query 6 0 0 0 0.0 .0
CSS operation: action 1 0 0 1 0.0 .0
SQL*Net message to client 420 0 0 0 0.0 .0
rdbms ipc message 47,816 39 61,046 1277 1.6
DIAG idle wait 7,200 100 7,200 1000 0.2
Space Manager: slave idle 1,146 98 5,674 4951 0.0
class slave wait 284 0 3,983 14026 0.0
dispatcher timer 61 100 3,660 60006 0.0
Streams AQ: qmn coordinato 258 50 3,613 14003 0.0
Streams AQ: qmn slave idle 130 0 3,613 27789 0.0
Streams AQ: waiting for ti 7 71 3,608 515430 0.0
wait for unread message on 3,605 100 3,606 1000 0.1
pmon timer 1,201 100 3,604 3001 0.0
smon timer 15 73 3,603 240207 0.0
ASM background timer 754 0 3,602 4777 0.0
shared server idle wait 120 100 3,601 30006 0.0
SQL*Net message from clien 554 0 4 7 0.0
KSV master wait 101 0 0 2 0.0
Wait Event Histogram
-> Units for Total Waits column: K is 1000, M is 1000000, G is 1000000000
-> % of Waits: value of .0 indicates value was <.05%; value of null is truly 0
-> % of Waits: column heading of <=1s is truly <1024ms, >1s is truly >=1024ms
-> Ordered by Event (idle events last)
% of Waits
Total
Event Waits <1ms <2ms <4ms <8ms <16ms <32ms <=1s >1s
ADR block file read 52 73.1 1.9 9.6 13.5 1.9
ADR block file write 10 100.0
ADR file lock 12 100.0
ARCH wait for archivelog l 3 100.0
ASM file metadata operatio 1203 97.3 .5 .7 .3 .2 .9
CSS initialization 1 100.0
CSS operation: action 1 100.0
CSS operation: query 6 83.3 16.7
Disk file operations I/O 2118 95.4 4.5 .1
LGWR wait for redo copy 45 100.0
Log archive I/O 2 100.0
SQL*Net break/reset to cli 256 99.6 .4
SQL*Net message to client 839.9 100.0 .0
SQL*Net more data from cli 91 100.0
SQL*Net more data to clien 1503 100.0
asynch descriptor resize 10.4K 100.0
buffer busy waits 2 100.0
control file parallel writ 1440 5.7 35.1 24.0 16.3 12.0 5.5 1.5
control file sequential re 6177 69.4 7.5 5.9 8.1 7.1 1.7 .3
db file parallel read 4727 1.7 3.2 3.2 10.1 46.6 33.3 1.8
db file parallel write 5755 42.3 21.3 18.6 11.2 4.6 1.4 .5
db file scattered read 21.5K 8.4 4.3 11.9 18.9 26.3 25.3 4.9
db file sequential read 3053. 28.7 15.1 11.1 17.9 21.5 5.4 .3 .0
direct path read 46.3K 9.9 8.8 18.5 21.7 22.8 15.7 2.7
direct path read temp 95 9.5 9.5 23.2 49.5 8.4
direct path write 35 11.4 31.4 17.1 22.9 11.4 2.9 2.9
direct path write temp 1 100.0
enq: KO - fast object chec 3 66.7 33.3
enq: RO - fast object reus 5 20.0 20.0 20.0 20.0 20.0
kfk: async disk IO 6 50.0 16.7 16.7 16.7
latch free 3 100.0
latch: cache buffers chain 1465 100.0
latch: cache buffers lru c 1 100.0
latch: object queue header 2 100.0
latch: redo allocation 3 33.3 33.3 33.3
latch: row cache objects 2 100.0
latch: shared pool 15 93.3 6.7
local write wait 79 35.4 34.2 21.5 8.9
log file parallel write 29.4K 47.8 21.7 11.9 9.9 6.8 1.6 .3
log file sequential read 304 6.3 3.0 3.6 10.2 23.4 24.3 29.3
log file single write 4 25.0 75.0
log file switch (private s 3 100.0
log file sync 23.9K 40.9 28.0 12.9 9.7 6.7 1.5 .3
os thread startup 140 100.0
read by other session 199.6 37.1 19.9 12.9 13.1 13.8 3.1 .2
reliable message 8 100.0
ASM background timer 755 2.9 .4 .1 .1 .3 .1 .3 95.8
DIAG idle wait 7196 100.0
KSV master wait 121 88.4 2.5 3.3 2.5 .8 .8 1.7
SQL*Net message from clien 840.1 97.1 1.8 .5 .2 .2 .1 .0 .1
Space Manager: slave idle 1147 .1 .5 99.4
Streams AQ: qmn coordinato 258 49.6 .4 50.0
Streams AQ: qmn slave idle 130 .8 99.2
Streams AQ: waiting for me 721 100.0
Streams AQ: waiting for ti 7 28.6 42.9 28.6
class slave wait 283 39.9 2.5 2.5 3.5 4.9 9.2 15.2 22.3
dispatcher timer 60 100.0
jobq slave wait 7360 .0 .0 .0 99.9
pmon timer 1201 100.0
rdbms ipc message 47.8K 2.7 31.6 17.4 1.1 1.1 .9 20.9 24.3
Wait Event Histogram DB/Inst: I2KPROD/I2KPROD Snaps: 5606-5607
-> Units for Total Waits column: K is 1000, M is 1000000, G is 1000000000
-> % of Waits: value of .0 indicates value was <.05%; value of null is truly 0
-> % of Waits: column heading of <=1s is truly <1024ms, >1s is truly >=1024ms
-> Ordered by Event (idle events last)
% of Waits
Total
Event Waits <1ms <2ms <4ms <8ms <16ms <32ms <=1s >1s
shared server idle wait 120 100.0
smon timer 16 6.3 93.8
wait for unread message on 7250 .1 99.9
Latch Miss Sources
-> only latches with sleeps are shown
-> ordered by name, sleeps desc
NoWait Waiter
Latch Name Where Misses Sleeps Sleeps
In memory undo latch ktichg: child 0 1 0
active service list kswslogon: session logout 0 2 0
cache buffers chains kcbgtcr_2 0 1,123 483
cache buffers chains kcbgtcr: fast path (cr pin 0 496 1,131
cache buffers chains kcbrls_2 0 5 6
cache buffers chains kcbgcur_2 0 4 0
cache buffers chains kcbgtcr: fast path 0 3 1
cache buffers chains kcbzwb 0 2 4
cache buffers chains kcbchg1: kslbegin: bufs no 0 1 0
cache buffers chains kcbnew: new latch again 0 1 0
cache buffers chains kcbrls_1 0 1 6
cache buffers chains kcbzgb: scan from tail. no 0 1 0
cache buffers lru chain kcbzgws 0 1 0
object queue header oper kcbo_switch_cq 0 1 0
object queue header oper kcbo_switch_mq_bg 0 1 2
redo allocation kcrfw_redo_gen: redo alloc 0 3 0
row cache objects kqrpre: find obj 0 1 1
row cache objects kqrso 0 1 0
shared pool kghalo 0 13 3
shared pool kghupr1 0 4 15
shared pool kghalp 0 1 0
space background task la ktsj_grab_task 0 2 2
------------------------------------------------------------- -
Hi,
If I use transacted session in MDB with container managed transaction, dose the
weblogic ignore the transacted setting or start in it's own transaction. I looked
the JMS Tutorial from Sun, the J2EE server just ignore the transacted setting,
treated it as non-transacted session.
Thanks
Thanks, Greg. I created another XAQCF in MQ JMSADMIN, but still did not help. The
strange part is when this exception happens, in the Event Viewer there is a Message:
An internal Websphere MQ Error has occurred'. In the Trace Log of MQ, the Major
Error Code reported is arcE_XAER_PROTO.
Has anyone encountered this error? The same code works fine when enlist an XAQCF
defined in Weblogic and PUT into a Weblogic JMS Queue instead within the same
XA Transaction. I am attaching the stack trace to this message, just in case,
someone has useful pointers to help me. May be this is MQ Specific though I made
sure I have the latest FixPack for MQ installed.
Thanks,
Sridhar
"Greg Brail" <[email protected]> wrote:
>Yeah. This comes up from time to time. MQ is upset because it wants to
>be
>enlisted in the JTA transaction, but JTA is not enlisting it because
>it
>thinks it's already enlisted. It thinks it's already enlisted because
>the
>same MQ connection factory was used for the MDB input queue, even though
>it's a different JMS connection and session.
>
>You can avoid this by creating another "XAQCF" object in the MQ JNDI
>space
>and giving it a different name. If you do that -- essentially use different
>connection factories for the MDB's input and output queues -- then this
>will
>work.
>
>Also, the transaction enlistement code in 8.1 that supports the
>"resource-ref" feature avoids this problem.
>
> greg
>
>"Sridhar Krishnaswamy" <[email protected]> wrote in message
>news:[email protected]...
>>
>> Hi Greg:
>> I assume you meant to getXAResource() from an Object of type
>XAQueueSession. Here
>> is the code I tried within the onMessage() method of the MDB:
>>
>> XAQueueConnectionFactory factory = (XAQueueConnectionFactory)
>ctx.lookup("XAQCF")
>> ;
>> XAConnection connection = factory.createXAQueueConnection() ;
>>
>> XAQueueSession mqSession = connection.createXAQueueSession() ;
>> XAResource mqResource = mqSession.getXAResource() ;
>> Transaction tran = TxHelper.getTransaction() ;
>> tran.enlist(mqResource) ;
>>
>> //Then I was going to get the QueueSession Object from XAQueueSession,
>obtain
>> the Queue
>> //Object from JNDI, create the Sender
>> //and call the send. But I commented out these calls. Even then, after
>the
>onMessage
>> Method
>> // completes, I get the following error:
>>
>> javax.transaction.SystemException: start() failed on resource
>'com.ibm.mq.MQXAResource':
>> XAER_PROT : Routine was invoked in an improper context
>> javax.transaction.xa.XAException: XA Operation failed. see errorcode
>(which I
>> am assuming is XAER_PROT).
>>
>> Any idea, what I am doing wrong?
>>
>>
>>
>>
>> "Greg Brail" <[email protected]> wrote:
>> >In 7.0, you can do your MQ "put" inside the same JTA transaction that
>> >was
>> >used to receive the message for the MDB, but you have to do the
>transaction
>> >enlistment yourself. Basically, you have to use the class
>> >weblogic.transaction.TxHelper class to get a reference to the current
>> >transaction, then call "enlistResource" on the transaction using the
>> >JTA
>> >"XAResource" that you get from the MQ JMS "Session" object. I'm sure
>> >we've
>> >posted the code in this newsgroup before, but I don't know where,
>so
>> >it
>> >would look something like:
>> >
>> >// First, get the MQ QueueSession object you're going to use to send
>> >the
>> >message
>> >QueueSession mqSession = mqConnection.createQueueSession(false, 0);
>> >XAResource mqResource = mqSession.getXAResource();
>> >weblogic.transaction.Transaction tran =
>> >weblogic.transaction.TxHelper.getTransaction();
>> >tran.enlistResource(mqResource);
>> >// Now send your message
>> >
>> >In 8.1, this will still work, but it's not necessary. If you register
>> >the MQ
>> >XA connection factory as a "resource-reference" in your EJB deployment
>> >descriptors and look it up using java:comp/env the way the documentation
>> >link way below describes, then this transaction enlistment happens
>> >automatically. This only happens when you use the "resource-reference"
>> >feature (which means that old code will still work if it does NOT
>use
>> >this
>> >feature), and it's only in 8.1.
>> >
>> > greg
>> >
>> >"Sridhar Krishnaswamy" <[email protected]> wrote in
>message
>> >news:[email protected]...
>> >>
>> >> Hi Greg:
>> >> Is the Statement
>> >>
>> >> 'But in this case, you don't get a "non-transactional" session,
>but
>> >actually a
>> >> session that participates in the current JTA transaction for the
>thread
>> >where
>> >> your EJB is running'
>> >>
>> >> also true in the case of an MDB running in Weblogic 7.0 (Container
>> >Managed
>> >Transactions)
>> >> driven by an XAQCF and a Foreign JMS Provider such as MQSeries?
>In
>> >other
>> >words,
>> >> if I want the MDB to PUT the Message into an MQSeries Queue, can
>the
>> >PUT
>> >be invoked
>> >> under the Context of the Same XA Transaction? My understanding is
>that
>> >WebLogic
>> >> 7.0 doesn't support send
>> >> messages out of an MDB within the same XA transaction if the MDB
>is
>> >> XA-driven by a foreign JMS provider. Please let me know if this
>is
>> >false.
>> >If true,
>> >> does Weblogic 8.1 also have this restriction?
>> >>
>> >> Thanks,
>> >> Sridhar Krishnaswamy.
>> >>
>> >> "Greg Brail" <[email protected]> wrote:
>> >> >What do you mean by "use transacted session in MDB?" Are you creating
>> >> >a new
>> >> >session inside your MDB, or do you mean something else?
>> >> >
>> >> >The only Sun thing I can think of is in code that looks like this:
>> >> >
>> >> >InitialContext ctx = new InitialContext();
>> >> >QueueConnectionFactory qcf = ctx.lookup("java:comp/env/jms/QCF");
>> >> >Queue queue = ctx.lookup("java:comp/env/jms/Queue");
>> >> >QueueConnection connection = qcf.createQueueConnection();
>> >> >// Create "transacted" session:
>> >> >QueueSession session = connection.createQueueSession(true, 0);
>> >> >QueueSender sender = session.createQueueSender(queue);
>> >> >TextMessage message = session.createTextMessage("Hello, world");
>> >> >sender.send(message);
>> >> >connection.close();
>> >> >
>> >> >If you do this, and exactly this, inside an EJB, including the
>use
>> >of
>> >> >"java:comp/env/jms", in WebLogic Server 8.1, then we do indeed
>ignore
>> >> >the
>> >> >"transacted" flag when you create the session, just like Sun says
>> >we
>> >> >should
>> >> >in the EJB and J2EE specs. But in this case, you don't get a
>> >> >"non-transactional" session, but actually a session that participates
>> >> >in the
>> >> >current JTA transaction for the thread where your EJB is running.
>> >> >
>> >> >The idea is that if you are working inside an EJB, you don't use
>> >transacted
>> >> >sessions -- you use the transaction control given to you by the
>EJB
>> >> >container, including the UserTransaction interface and/or the various
>> >> >container-managed transaction flags, rather than the JMS "transacted
>> >> >session".
>> >> >
>> >> >You can find more information here:
>> >> >
>> >> >http://e-docs.bea.com/wls/docs81/jms/j2ee_components.html
>> >> >
>> >> > greg
>> >> >
>> >> >"Jen" <[email protected]> wrote in message
>> >> >news:[email protected]...
>> >> >>
>> >> >> Hi,
>> >> >>
>> >> >> If I use transacted session in MDB with container managed
>transaction,
>> >> >dose the
>> >> >> weblogic ignore the transacted setting or start in it's own
>> >transaction.
>> >> >I
>> >> >looked
>> >> >> the JMS Tutorial from Sun, the J2EE server just ignore the
>transacted
>> >> >setting,
>> >> >> treated it as non-transacted session.
>> >> >> Thanks
>> >> >
>> >> >
>> >>
>> >
>> >
>>
>
>
[eRRORS.txt]
-
Hi,
on 11G R2, on Win 2008.
In Windows we can not see background process (mmon, pmon, ...). Can we ?
How to see CPU used by Oracle background process ?
To day CPU was used at 90% by oracle.
I ran an AWR. But nothing about them in it. I wonder why Oracle was CPU intensive ?
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~ --------------- --------------- ---------- ----------
DB Time(s): 1.5 1.7 0.05 0.05
DB CPU(s): 0.9 1.0 0.03 0.03
Redo size: 3,294.8 3,914.9
Logical reads: 42,405.9 50,387.3
Block changes: 19.5 23.2
Physical reads: 14.8 17.6
Physical writes: 1.2 1.4
User calls: 27.2 32.3
Parses: 9.9 11.7
Hard parses: 0.2 0.2
W/A MB processed: 0.1 0.1
Logons: 0.3 0.3
Executes: 27.9 33.2
Rollbacks: 0.0 0.0
Transactions: 0.8
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 100.00 Redo NoWait %: 100.00
Buffer Hit %: 99.97 In-memory Sort %: 100.00
Library Hit %: 98.46 Soft Parse %: 97.94
Execute to Parse %: 64.67 Latch Hit %: 100.00
Parse CPU to Parse Elapsd %: 10.90 % Non-Parse CPU: 99.92
Shared Pool Statistics Begin End
Memory Usage %: 81.43 83.60
% SQL with executions>1: 92.47 84.84
% Memory for SQL w/exec>1: 86.88 79.50
Top 5 Timed Foreground Events
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Avg
wait % DB
Event Waits Time(s) (ms) time Wait Class
DB CPU 6,317 60.4
db file sequential read 44,888 2,407 54 23.0 User I/O
db file scattered read 5,522 441 80 4.2 User I/O
control file sequential read 4,725 268 57 2.6 System I/O
Disk file operations I/O 1,089 73 67 .7 User I/OThank you.Hi,
You can go to TASK Manager -> click on Resource Monitor and there can see different services/processes along with the amount of CPU they are consuming.
Hope this helps you.
Regards,
Chirag -
An SDK user recently sent me this query:
So I wrote this parser:
instance.PARSER.assemble = function() {
var idx = 0; // table index
---SNIP---
return true;
I still don't understand when to use "this.PARSER.xxx" and
"instance.PARSER.xxx" or "Record.prototype.xxx".
I guess that's my main problem at the moment (understanding the laxness
of ECMA script - I'm used to use JAVA, C++ and all that stuff)
Also I don't get it which info to put into the newEvt and which one
into sessRec[0]...
And I also don't get when to use the "legacy" attributes and when the
"new ones" (like evt vs EventName) ...
DCorlette
DCorlette's Profile: http://forums.novell.com/member.php?userid=4437
View this thread: http://forums.novell.com/showthread.php?t=449867And here was my (long-winded) response, which has some details that
folks might find interesting:
1) When the Collector initializes, it creates a few global objects to
keep track of, well, global things.
- One such object is 'instance', which is of class 'Collector' and
represents the actual running Collector instance. We put lots of other
stuff, like the state of parameters, caches, and other "in-memory"
objects into 'instance' as a convenient place to store them (so
'instance.MAPS' holds our maps, for instance).
- In the main Collector loop, we also create (and delete) a couple
other global objects, one of which is 'rec', which represents the next
inbound log record (class 'Record') from the event source.
- Also we create 'e' which represents that output Sentinel event
(class 'Event') that is currently being constructed.
2) In 'normal' Collector flow, the basic idea is that you take the
input record ('rec'), chop it up into pieces (and typically we store
that parsed data back as new attributes of 'rec') and normalize the
data, and then call a conversion routine to "convert" the 'rec' into
'e'. In other words, with rare exceptions you really shouldn't modify
'e' directly, instead you do all your partial parsing on and in 'rec',
and then the conversion to 'e' is dictated by the Rec2Evt DataMap.
3) Also just to make sure this is clear, methods that are declared as
prototypes on a class are members of that class, essentially, sort of
like normal member methods on a Java class. So if you have 'rec', and a
method Record.prototype.foo(), you can call rec.foo() and you'll end up
in a member method (and 'this' will refer to 'rec'). So in general if
you call the method from 'rec' it's a Record class member, from
'instance' it's a Collector member method (and 'this' will be
'instance', and from a Session object (like 'sess' in my example) it's a
Session member method (and 'this' will be the Session).
So you made a comment: "And I also don't get when to use the "legacy"
attributes and when the "new ones" (like evt vs EventName) ..."
The answer here is that the "long" variable aliases are recognized
attributes of the Event class. In most cases, you will NOT access them
directly so it would be somewhat unusual for you to actually write them
in your code. The 'short' tags you're talking about are probably
attributes of the 'rec' object, and those are just temporary variables
you create to hold the partial results from your parsing - they can
actually be anything you want, can be nested into deep structures if you
wish, etc etc. We happen to use the Sentinel internal field names for
convenience and because it helps to indicate (sometimes) the purpose for
which we intend to use that parsed data later on. Ultimately, the only
place you need to care about those 'rec' variables is when you construct
your Rec2Evt.map file that describes how a Record can be converted into
an Event - you'll see those Sentinel long field names on the left (the
*target* Event fields) and you put whatever Record attributes (again,
array references and deep structures in the Record are supported) on the
RHS.
When you're dealing with a Session, however, things get a little wonky.
First of all, you don't have the "simple" logic of 1-1 map from Record
to Event, so in general you don't end up using the global 'e' object as
your output Event (the main loop is typically short-circuited before
e.send() is called). Second, we play some tricks to allow you to
construct Sessions in re-usable ways. Let me explain this second point
first:
A) So, as you know we have a defined Session class. A Session will hold
some number of input Record objects (N+1, since Record [0] is an empty
Record), which then will need to be re-assembled, or parsed, or
summarized, or something. We don't know in advance. As a result, there's
no way we can pre-define a method by which the Session will be parsed -
that's up to you, the developer. So how do you do that?
Well, the first option would be for you to define a *prototype* method
on the Session object. Then when you create a Session in your code, that
method will be available as a prototype. But that can be a little tricky
- we have some scenarios where there are different Session types that
require different parsers, or that the parser may need to be modified
mid-stream. Our solution therefore is to have you create some number of
generic "Session" parsers, essentially as anonymous methods that aren't
attached to anything in particular. For convenience (so we can find them
later), we recommend you put them in the instance.PARSERS bucket, where
there could in fact be other parsers (like SQLOffset parsers). But at
that point the parsers are kind of disembodies parsers that can't really
be used to do anything yet.
At runtime, when you create a Session object, you then determine which
Session parser makes sense for the type of Session you are creating, and
you use the addParser() method to attach one of your stored Session
parsers to the Session. That parser then becomes the canonical parser
for that Session (although you could swap it out later if you wanted
to), and will automatically be called when the Session expires.
B) The second wrinkle is that since you don't have the simple 1-1
Record to Event logic, you have to re-create some of that basic logic
yourself. Your Session parser actually runs in the Session namespace,
and hence 'this' is the Session itself - underneath that you have
sessRecs[0] (a blank record) and sessRecs[1] - [N] which represent the
stored input Records. The general idea is that you would take the bits
and pieces you need from sessRecs[1]-[N] and copy that data into
sessRecs[0] (so it becomes your staging area for parsed data), but
that's optional - you could do it other ways if you really want. For
example, if you know that most of the data you need is already parsed
and in sessRecs[1], then you can just say sessRecs[0] = sessRecs[1], and
you have a copy of the starting record.
The Session object itself has a special send() method that essentially
takes sessRecs[0] and converts it into an Event, but again you don't
have to use that logic if you don't want to. In fact, you could create
multiple custom Rec2Evt DataMaps, multiple output Events from a single
Session, any sort of manipulation is possible. But if you want the
simplest approach, just make sessRecs[0] look like a complete input
Record, and use Rec2Evt.map to define the conversion, then use the
Session.send() method to send it (you need to pass in an Event that has
things like the DeviceEventTime preset, however).
Hope this helps!
DCorlette
DCorlette's Profile: http://forums.novell.com/member.php?userid=4437
View this thread: http://forums.novell.com/showthread.php?t=449867 -
How using sql trace event 10128 level 1&2
hi all,i want ask about sql trace event 10128. how using sql trace event 10128 level 1&2??
when I've enabled sql trace event 10128 level 2,and i execution query then appears error
ORA-00604: error occurred at recursive SQL level 1
ORA-00942: table or view does not exist
where the fault lies??
i'm using
ALTER SYSTEM SET timed_statistics=TRUE;
ALTER SESSION SET EVENT '10128 TRACE NAME CONTEXT FOREVER, LEVEL 2';But nothing issue with me on 10g on windows xp:
SQL> ALTER SYSTEM SET timed_statistics=TRUE;
System altered.
SQL> ALTER SESSION SET EVENT '10128 TRACE NAME CONTEXT FOREVER, LEVEL 2';
ALTER SESSION SET EVENT '10128 TRACE NAME CONTEXT FOREVER, LEVEL 2'
ERROR at line 1:
ORA-00927: missing equal sign
SQL> ALTER SESSION SET EVENTS
2 '10128 trace name context forever, level 2';
Session altered.
SQL>HTH
Girish Shamra
Edited by: Girish Sharma on Dec 9, 2009 11:46 AM
This is not "EVENT" .. it is "EVENTS" -
Hi,
on 10 g R2, on Windows SEVER 2003
oracle user SCOTT connect from SQLPLUS and runs a large query. Is there any way to see how much CPU does he use ?
Thanks.CPU used by a user(session wise)
select a.sid, a.username, a.osuser, c.name, b.value
from v$session a, v$sesstat b, v$statname c
where a.sid = b.sid
and b.statistic# = c.statistic#
and c.name like '%CPU%'
and a.username='SCOTT'
order by a.sid, c.name
Per user (session wise) following information:
1.cpu usages
2.memory sorts
3.table scan
4.commit
5.cursor
6.physical reads
7.logical reads
8.BCHR (buffer cache hit ratio)
select a.sid, a.username, a.osuser, c.name, b.value
from v$session a, v$sesstat b, v$statname c
where a.sid = b.sid
and b.statistic# = c.statistic#
and (c.name like '%CPU%' or c.name like '%sorts (memory)%' or c.name like '%table scan%' or c.name like '%commit%' or c.name like '%cursor%' or c.name like '%read%' or c.name like '%buffer%' or c.name like '%cache%')
and b.value > 0
order by a.sid, c.name
If you have the licences for the diagnostic pack and performance pack, you can look at the active session history for this type of information. You can query view DBA_HIST_ACTIVE_SESS_HISTORY, or run the ashrpt.sql script from $ORACLE_HOME/rdbms/admin, or use OEM for a graphic representation of the workload over time.
HTH
Girish Sharma
Edited by: Girish Sharma on Dec 8, 2009 5:23 PM
"and a.username='SCOTT'" added. -
제품 : ORACLE SERVER
작성날짜 : 2002-05-22
4 USES OF DIAGNOSTIC EVENTS
===========================
PURPOSE
Event를 사용한 시스템 진단방법에 대해 알아본다.
Explanation
<Event를 사용하는 방법>
1. Immediate Dump---cursor
alter session set events ‘immediate trace name <dump> level <level>;
2. On error dump
alter session set events ‘60 trace name <dump> level <level>;
3. Behavior Change
alter session set events ‘<event> trace name context forever, level
<level>;
4 .Trace---plus trace
alter session set events ‘<event> trace name context forever,level <level>;
Example
Reference Document
------------------제품 : ORACLE SERVER
작성날짜 : 2002-05-22
4 USES OF DIAGNOSTIC EVENTS
===========================
PURPOSE
Event를 사용한 시스템 진단방법에 대해 알아본다.
Explanation
<Event를 사용하는 방법>
1. Immediate Dump---cursor
alter session set events ‘immediate trace name <dump> level <level>;
2. On error dump
alter session set events ‘60 trace name <dump> level <level>;
3. Behavior Change
alter session set events ‘<event> trace name context forever, level
<level>;
4 .Trace---plus trace
alter session set events ‘<event> trace name context forever,level <level>;
Example
Reference Document
------------------ -
When calling webservice Session event listener threw exception
Hi All,
I have Schdule the process to call webservice for 1 hour.
When it accessed It is throwing Exception But data send to Server and received response as true from webservice.
Exception details found in log file.
2007-12-04 01:00:36 StandardManager[npbpqa] Session event listener threw exception
java.lang.IllegalStateException: getAttribute: Session already invalidated
at org.apache.catalina.session.StandardSession.getAttribute(StandardSession.java:925)
at org.apache.catalina.session.StandardSessionFacade.getAttribute(StandardSessionFacade.java:124)
at org.apache.axis.transport.http.AxisHTTPSessionListener.destroySession(AxisHTTPSessionListener.java:43)
at org.apache.axis.transport.http.AxisHTTPSessionListener.sessionDestroyed(AxisHTTPSessionListener.java:72)
at org.apache.catalina.session.StandardSession.expire(StandardSession.java:623)
at org.apache.catalina.session.StandardSession.expire(StandardSession.java:572)
at org.apache.catalina.session.StandardManager.processExpires(StandardManager.java:746)
at org.apache.catalina.session.StandardManager.run(StandardManager.java:823)
at java.lang.Thread.run(Thread.java:534)
Can any one help me urgently.
Thanks in advance.
Venkat K
Edited by: venkat2007 on Dec 4, 2007 2:44 PMThe service is working fine from a web page that my coworker did. I have not installed soap UI yet, but I used it at my last job. Since I posted this I have a new computer, have installed BizTalk Server 2013 R2 and Visual Studio 2013 Premium.
This is what I've done...
Created a new Host called BizTalkServerApplication64 with the '32-Bit only' unchecked.
Created a new host instance using the new host.
Created a new Send Handler for both Adapters 'WCF-BasicHttp' and 'WCF-Custom' using the new host.
configured both Send Ports (WCF-BasicHttp and WCF-Custom) to use the new send handler.
Have tried binding the logical port to both basic and the custom ports.
Now I get a different error which is:
Error Description: System.ServiceModel.CommunicationException: An error occurred while receiving the HTTP response to http://lbenson/MDSVC2/Service1.svc. This could be due to the service endpoint binding not using the HTTP protocol. This could also be due
to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details. ---> System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive. --->
System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host...
Any suggestions for this error? I'm not sure if this means I'm closer to getting it work or further.
Thanks for your help!
Jean
jRenae.s -
Postmerge session event question
We have implemented a custom session event listener that utilizes the postmerge session event.
We have observed some unexpected behavior and were hoping that the product architect or manager could explain this behavior.
We have the following graph of objects:
A has a many-to-many privately owned collection of B
B in turn has a many-to-many privately owned collection of C
After commiting a transaction involving object A we observe:
postMerge event for A
postMerge event of each of A's privately owned Bs
yet NO postMerge event for any of B's privately owned Cs
Questions:
1) Is this the expected behavior?
2) Since we need to do some processing of Cs, we are using the postMerge event that occurs on Bs to update the Cs. Is this a safe/correct approach?
3) In a transaction that involved only updates to Cs, (no changes to A or B), would we see a postMerge event for each updated C?
Thanks in advance for any clarification you can provide.
...SteveYou could paste the results (tkprof ?) of the trace.
The "missing" time could be an uninstrumented wait --- i.e. a wait event that is not captured in v$session_event. Particularly because you are using external calls.
For example, see "Case Study 1" at http://blog.tanelpoder.com/2007/08/27/advanced-oracle-troubleshooting-guide-part-2-no-magic-is-needed-systematic-approach-will-do/
Hemant K Chitale -
UP-link, cpu use reports and Polling times
Hello,
1.-Do you have the polling and collecting times for each view in LMS3.1?
RME=?
CM=?
DFM=?
Because when I get a report with some modification like interface administratively DOWN or changing different MAC address in a port switch, this report doesn't show the change inmediately.
I think that this is not usefull to troubleshooting,please, What is your recomendation?
Because I needed seek a MAC address that jumps in differents ports into a switch in real time.
2.-Could you please helpme How to get an UP-link report. I need statistics like behavior of UP-links.
3.-I don't find how to obtain a CPU used report of my routers and switches, Can you help me?
DATA:
LMS3.1
Windows2003
Thanks in advance!!!The operationally down events in DFM are discovered via periodic polling. By default, DFM polls every four minutes. This would explain the time discrepancy you are seeing. If you need to track MAC address changes in real-time, consider enabling dynamic User Tracking in Campus Manager. See http://SERVER/help/CMcore/CmHelp/ut_UstndingDynamicUpdate.html#wp1434393 (the context sensitive online help) for more details on what dynamic UT is, and how to enable it on your switches.
As for getting a report on CPU usage, you will need to install the Health and Utilization Monitor add-on to LMS. It ships with LMS 3.1, but you need to purchase a separate license for it. Out of the box, it comes with a 90-day evaluation license so you can see if it will meet your needs. -
CPU consumption from session stats 9i .
Hi,
I've checked 9.2.0.8 statname view and found out such CPU related stats:
CPU used when call started
CPU used by this session
recursive cpu usage
When I measure deltas (lets say 1 sec delta) of that stats is that good indicator of which session is burning CPU the most ?
Since 10.2 we have DB time (time model) so its kind of obvious but, what about 9.2 DB ?
Any ideas ?
Regards
GregGHi
I suggest please review:
Troubleshooting: High CPU Utilization [ID 164768.1]
How to find TOP SQL statements ordered by CPU TIME or ELAPSED TIME from 9i STATSPACK snapshots [ID 1273968.1]
TKProf Interpretation (9i and above) [ID 760786.1]
Regard
Helios
Maybe you are looking for
-
How can I download a file over the internet from a WebDAV server?
I am trying to download a file over the internet from a WebDAV server. I've tried doing it with Datasocket as suggested in these articles, <a href="http://digital.ni.com/public.nsf/websearch/f3cc5f7e60a75cb2862567e700696abf?opendocument">Retrieving a
-
Set a Default Calendar for New Appointments in iCal?
I never found a post with a sufficient answer to this question. However, it seems as though I may have stumbled on a resolution myself. iCal has it's own default calendars: Home and Work. I use MobileMe so the MoblieMe calendar is listed there as wel
-
Java.lang.ClassNotFoundException: access
Hi,i typed in a code and started compiling it,it got compiled but while running its giving the following error Unable to create MIDlet access java.lang.ClassNotFoundException: access at com.sun.midp.midlet.MIDletState.createMIDlet(+29) at c
-
How can I turn off the url that continues to print at the bottom of the page?
Anytime I print, a URL appears at the bottom of the page. How do I turn this off?
-
IPhone Order Status page down for almost 24 hours?
I last checked the status of my iPhone order last night online at around 7:00 pm and it listed the status as "shipped" but no tracking number. The status page has been down ever since. Customer Service at Verizon also said the phones have shipped but