Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

What's in directory /TT_DB? 1

Status
Not open for further replies.

StickyBit

Technical User
Jan 4, 2002
264
CA
Folks,

What's in directory /TT_DB? This directory isn't covered in any of my Solaris 8 sysadmin books.

Thanks,

Stickybit.
 
The TT_DB directory and contents are created by the rpc.ttdbserver
program. They exist in every partition where a client application has
requested a file scoped message for a file in that partition.

'Some' client program is registering file scoped messages in
on one or more files in those partitions. If you would like
to see which files (as root):

ttdbck -a <partition-name>

Example:

ttdbck -a /var/mail/TT_DB

regards ph
 
Under certain circumstances, the ToolTalk databases (TT_DB)can become corrupted to the extent that the rpc.ttdbserverd daemon will repeatedly crash, or simply produce many NetISAM errors.

This usually manifests itself in messages appearing in /var/adm/messages such as:

/usr/dt/bin/rpc.ttdbserverd: child status changed - core dumpedlast message repeated twenty times
or:

rpc.ttdbserverd[9010]: NetISAM: read failed
NetISAM[9010]: Fatal error: read failed - UNIX errno 11
inetd[100]: /usr/dt/bin/rpc.ttdbserverd: Child Status Changed

This condition can occur for a number of reasons such as an inconsistent installation, under rev. patches installed, or a full disk partition.

However, after such problems have been resolved, it is still necessary to clean out the old ToolTalk databases on disk.

This is best accomplished while the system is in a quiescent state (single-user mode), but if this is not possible for some reason, you can do it using the following procedure:

1) Stop the ToolTalk daemon.

Suspend the rpc.ttdbserver program with:

kill -TERM <pid-#-of-rpc.ttdbserverd>

Ensure that it has died using the command ;

ps -aef | grep rpc.ttdbserverd | grep -v grep

If it is still running, kill it using the command ;

kill -KILL <pid-#-of-rpc.ttdbserverd>

Once it is no longer running, comment out the line in /etc/inetd.conf so that it looks like:

for Solaris 2.5.1 and earlier -
#100083/1 stream rpc/tcp wait root /usr/dt/bin/rpc.ttdbserverd \
/usr/dt/bin/rpc.ttdbserverd

for Solaris 2.6 and later -
#100083/1 tli rpc/tcp wait root /usr/dt/bin/rpc.ttdbserverd \
/usr/dt/bin/rpc.ttdbserverd

and refresh inetd with the command:

kill -HUP <pid-#-of-inetd>


2) Remove all of the TT_DB directories and contents.

It is very important to clean ALL the ToolTalk databases otherwise the corruption may remain. To get a list of all possible locations where the TT_DB directories can exist for a host, use the command:

df -kF ufs | awk '{if (NR>1) print $6 &quot;/TT_DB&quot;}'

Don't worry if some of these don't contain a TT_DB directory; it is just a list of possible locations.

3) Remove the files within the directories that were returned using the rm command with the following format:

rm -f {mount_point}/TT_DB/*

4) Restart the daemon.

If you edited /etc/inetd.conf, then uncomment the rpc.ttdbserverd line again, and type:

kill -HUP <pid-#-of-inetd>

Otherwise, kill the rpc.ttdbserverd program with:

kill -KILL <pid-#-of-rpc.ttdbserverd>

The next request to rpc.ttdbserverd will restart the program and re-create the */TT_DB files as they are needed.

regards ph
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top