10-20-2006
Analysing truss log
I am facing the following issue when using db2. The JDBC prepared statement command is sending an incorrect value to the database for search. I did a truss on the app and here is the log. I want to know what is the value that is getting passed. is it possible.
26867/68: send(62, 0x02354050, 310, 0) = 310
26867/68: \0 ND0 Q\001\0 H \r\0 D !13C4C2F2C4 @ @ @ @ @ @ @ @ @ @ @ @ @ @
26867/68: D5E4D3D3C9C4 @ @ @ @ @ @ @ @ @ @ @ @E2E8E2E2C8F2F0F0 @ @ @ @ @ @
26867/68: @ @ @ @ S Y S L V L 0 1\006\018D0 S\001\012 $ P\0\n W I T H H
26867/68: O L D \0\0\0D0D003\001\0CA $14\0C2 S E L E C T I D _ A P P L
.
.
. I removed the SQL Query
.
.
26867/68: _ S Y S T F O R F E T C H O N L Y\0\0
26867/10: poll(0xF997FD18, 0, 50) = 0
26867/68: recv(62, 0x0234C040, 32767, 0) = 86
26867/68: \0 VD003\001\0 P $\b\0\0\0\0\0 0 0 0 0 0 D S N \0 E T S
26867/68: D B 2 D \0\0\0\0\0\0\0\0\0\0\0\0 A &88FE\0
26867/68: \0\0\0\0\0\0\0 \0\0\0\0
26867/68: send(62, 0x02354050, 144, 0) = 144
26867/68: \0 \D0 Q\001\0 V \f\0 D !13C4C2F2C4 @ @ @ @ @ @ @ @ @ @ @ @ @ @
26867/68: D5E4D3D3C9C4 @ @ @ @ @ @ @ @ @ @ @ @E2E8E2E2C8F2F0F0 @ @ @ @ @ @
26867/68: @ @ @ @ S Y S L V L 0 1\006\0\b !14\0\07FFF\006 ! AFFFF\0 4D003
26867/68: \001\0 . $12\013\010\t vD005\002 ?7FFF06 qE4D0\001\01714 z\0\002
26867/68: \t\0\0\f T T _ P L U M I C I N G
26867/68: recv(62, 0x0234C040, 32767, 0) = 200
26867/68: \0 D0 R\001\01A "05\00611 I\0\0\006 !02 $17\005 !1FF1\005 ! P01
26867/68: \013D0 S\001\0\r\0 /D8E3C4E2D8D3F3F7F0\01CD0 S\001\016\0 5\00611
26867/68: 9C01F4\006119D\0\0\006119E01F4\0 "D0 S\001\01C $1A\t vD0 3\0\n 3
26867/68: \014\t qE0 T\001D0\00106 qF0E0\0\0\0 WD003\001\0 Q $1B\0\0\0\0 d
26867/68: F0F2F0F0F0C4E2D5E7D9C6D5 @\0C5E3E2C4C2F2C4 @ @ @ @ @ @ @ @ @ @ @
26867/68: FFFFFF92\0\0\0\0\0\0\0\0FFFFFFFF\0\0\0\0\0\0\0\0 @ @ @ @ @ @ @ @
26867/68: @ @ @\0\0\0\0FF
26867/68: write(46, 0xC857BF40, 965) = 965
26867/68: 1 0 / 2 0 / 2 0 0 6 1 1 : 0 2 : 3 9 : 8 1 2 2 [ E x e c u
26867/68: t e T h r e a d : ' 5 6 ' f o r q u e u e : ' d e f a u
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Is it possible to track the progress of a job (informatica) by analysing the progress of it's log file ? I have a long running job, and no way of tracking how far allong it is. Thanks. (4 Replies)
Discussion started by: cosmos328is
4 Replies
2. HP-UX
Hi,
Is there any way to find the mode of the binary file (debug or release) by analyzing the core file generated by that binary on the HPUX11i Platform? (5 Replies)
Discussion started by: Prajakta
5 Replies
3. Shell Programming and Scripting
Hi all,
while trying to debug and figure out why a lofiadm command was not working on my script, i came across a cmd called "truss"
all i know about it is that it executes the specified command and produces a trace of the system calls it performs, the signals it receives, and the machine faults... (5 Replies)
Discussion started by: wrapster
5 Replies
4. UNIX for Dummies Questions & Answers
I'm not sure if this query is relevant to this forum but here goes anyways...
I want analyse log files that do not appear to be of standard format. I have tried using Analog but cannot config it to read the files.
Does anyone have any advice on working with log files taken from a Unix... (6 Replies)
Discussion started by: Sepia
6 Replies
5. Shell Programming and Scripting
i have to gather some info about a process and redirect it to a1.txt file. For this i m using truss command
truss -po a1.txt $PID_Detail
where $PID_Detail= 1482944 3362976
--------------------------------------------------------------------------
Below the script:
#!/bin/ksh
for i... (6 Replies)
Discussion started by: ali560045
6 Replies
6. Solaris
Friends
I was trying to analyse a core dump using pstack command in Sol5.9(Sparc)
The output is as below.
root: pstack core_mumux211_istauth_220_108_1229517198_21922
core 'core_mumux211_istauth_220_108_1229517198_21922' of 21922: istauth
fe1afbb8 ttcdrv (c10e0, c1db4, 30ad8, bc950, 0, 0)... (1 Reply)
Discussion started by: efunds
1 Replies
7. Shell Programming and Scripting
Hello,
I have a list of e-mails. I need to know, which email-s from that list not use. I want to do this things:
- take email address from email list
- find this address in mail logs
- if, there is no record about this e-mail adress in list, show this e-mail address on screen
I did... (0 Replies)
Discussion started by: naezdnik
0 Replies
8. Shell Programming and Scripting
Hi,
I have below type of data in a text file in unix.
Emp_Name Emp_Dept
Raj 101
Amruta 100
Shilpa 100
Rohit 123
Amol 198
Rosh 101
Gaurav 198
Number of employees can be even more.
Need a command or a... (2 Replies)
Discussion started by: rajneesh_kapoor
2 Replies
9. AIX
Dear Experts,
Am using nmon analyser version 3.3g, and when i tried analyzing my current nmon file it was done successfully. But the problem is all my old nmon files are compressed. So i uncompressed and analyzed using the same analyzer. but got this error
no valid input data! nmon run may... (8 Replies)
Discussion started by: jayadeava
8 Replies
10. Shell Programming and Scripting
Attached is the log file that I have generated through the following script:
last | head -2 |sed '2q;d' |awk '{ print $1"\t"$2"\t"$3"\t\t"$4"\t"$5"\t"$6"\t"$7"\t"$8"\t" $9"\t"$10"\t"$11}'>>/var/log/logadmin/logtest.txt
But now I'm unable to run the following operations on it:
1. Count... (1 Reply)
Discussion started by: Lionking93
1 Replies
PREPARE(7) SQL Commands PREPARE(7)
NAME
PREPARE - prepare a statement for execution
SYNOPSIS
PREPARE name [ ( datatype [, ...] ) ] AS statement
DESCRIPTION
PREPARE creates a prepared statement. A prepared statement is a server-side object that can be used to optimize performance. When the PRE-
PARE statement is executed, the specified statement is parsed, rewritten, and planned. When an EXECUTE command is subsequently issued, the
prepared statement need only be executed. Thus, the parsing, rewriting, and planning stages are only performed once, instead of every time
the statement is executed.
Prepared statements can take parameters: values that are substituted into the statement when it is executed. When creating the prepared
statement, refer to parameters by position, using $1, $2, etc. A corresponding list of parameter data types can optionally be specified.
When a parameter's data type is not specified or is declared as unknown, the type is inferred from the context in which the parameter is
used (if possible). When executing the statement, specify the actual values for these parameters in the EXECUTE statement. Refer to EXECUTE
[execute(7)] for more information about that.
Prepared statements only last for the duration of the current database session. When the session ends, the prepared statement is forgotten,
so it must be recreated before being used again. This also means that a single prepared statement cannot be used by multiple simultaneous
database clients; however, each client can create their own prepared statement to use. The prepared statement can be manually cleaned up
using the DEALLOCATE [deallocate(7)] command.
Prepared statements have the largest performance advantage when a single session is being used to execute a large number of similar state-
ments. The performance difference will be particularly significant if the statements are complex to plan or rewrite, for example, if the
query involves a join of many tables or requires the application of several rules. If the statement is relatively simple to plan and re-
write but relatively expensive to execute, the performance advantage of prepared statements will be less noticeable.
PARAMETERS
name An arbitrary name given to this particular prepared statement. It must be unique within a single session and is subsequently used to
execute or deallocate a previously prepared statement.
datatype
The data type of a parameter to the prepared statement. If the data type of a particular parameter is unspecified or is specified as
unknown, it will be inferred from the context in which the parameter is used. To refer to the parameters in the prepared statement
itself, use $1, $2, etc.
statement
Any SELECT, INSERT, UPDATE, DELETE, or VALUES statement.
NOTES
In some situations, the query plan produced for a prepared statement will be inferior to the query plan that would have been chosen if the
statement had been submitted and executed normally. This is because when the statement is planned and the planner attempts to determine the
optimal query plan, the actual values of any parameters specified in the statement are unavailable. PostgreSQL collects statistics on the
distribution of data in the table, and can use constant values in a statement to make guesses about the likely result of executing the
statement. Since this data is unavailable when planning prepared statements with parameters, the chosen plan might be suboptimal. To exam-
ine the query plan PostgreSQL has chosen for a prepared statement, use EXPLAIN [explain(7)].
For more information on query planning and the statistics collected by PostgreSQL for that purpose, see the ANALYZE [analyze(7)] documenta-
tion.
You can see all available prepared statements of a session by querying the pg_prepared_statements system view.
EXAMPLES
Create a prepared statement for an INSERT statement, and then execute it:
PREPARE fooplan (int, text, bool, numeric) AS
INSERT INTO foo VALUES($1, $2, $3, $4);
EXECUTE fooplan(1, 'Hunter Valley', 't', 200.00);
Create a prepared statement for a SELECT statement, and then execute it:
PREPARE usrrptplan (int) AS
SELECT * FROM users u, logs l WHERE u.usrid=$1 AND u.usrid=l.usrid
AND l.date = $2;
EXECUTE usrrptplan(1, current_date);
Note that the data type of the second parameter is not specified, so it is inferred from the context in which $2 is used.
COMPATIBILITY
The SQL standard includes a PREPARE statement, but it is only for use in embedded SQL. This version of the PREPARE statement also uses a
somewhat different syntax.
SEE ALSO
DEALLOCATE [deallocate(7)], EXECUTE [execute(7)]
SQL - Language Statements 2010-05-14 PREPARE(7)