What is truss?From the Solaris man pages, "the truss utility executes the specified command and produces a trace of the system calls it performs, the signals it receives, and the machine faults it incurs. Each line of the trace output reports either the fault or signal name or the system call name with its arguments and return value(s)".In this example, truss will be used to diagnose the error message generated by the agentctl agentctl startNMS-00010: Parsing parameter file failed. nmiclbg_ensureAlive:: Initialize error for nmigenctx Judging form the Oracle metalink, the cause of this error message can be buffling and it is therefore necessary to gather information about what agentctl is going. We will use truss with two switches:
truss -o /tmp/agent.log -f agentctl startIn the truss output the code ENOENT is shown very frequently; its meaning can be found in the system include file errno.h$ grep ENOENT /usr/include/sys/* /usr/include/sys/errno.h:#define ENOENT 2 /* No such file or directory */ We therefore know that in the output of truss the ENOENT means "no such file or directory" oracle: cat /tmp/agent.out.log The problem was therefore that there was no snmp*.ora on /var/opt/oracle Let's copy therefore the two snmp_*.ora onto /var/opt/oracle oracle: cp snmp*.ora /var/opt/oracle oracle: agentctl start DBSNMP for Solaris: Version 9.2.0.4.0 - Production on 31-MAR-2004 13:55:08 Copyright (c) 2003 Oracle Corporation. All rights reserved. Agent startedThe point is therefore that analyzing the output of truss is often possible to find out what the reason of the error message was. truss quite often shows clearly which files the application is looking for and on which directories (the search list coming from the $PATH variable). Another good example of using truss is in http://www.kevlo.com/~ebs/docs/truss.html |
|
| [Home] [Web Design] [HTML tutorials] [Javascript] [PSP] [About us] [Links] [Anonymous email] [Best hosting] [Daily Oracle Life] [IT jobs in Switzerland] [Web Submission] [Web traffic] | |