How do you troubleshoot if your tempdb gets filled

Answer Posted / dilip voora

1.Check the dataserver error log file, if it really exists or not.
2.Log into tempdb.
3.Check the free space available in logsegment of tempdb using the command - select lct_admin('logsegment_freepages', db_id())
4.If the logsegment is running out of space dump the transaction log using truncate_only.
5.Still if you are unable to access tempdb then opt for no_log(fire this upon confirming with the user/ respective teams).
6.Even still the problem persists check the longest open running transactions using the system table syslogshold. This will help you in analyzing the process/ spid that is holding the log.
7. Upon checking with your application team/user try to kill it using kill <spid>.
8.If the prcoess is not getting killed using 'kill' command opt for select lct_admin('abort', 0,2) to kill the culprit.
9.After all,you will be able to access the tempdb.

Is This Answer Correct ?    5 Yes 1 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Explain locking?

482


what is update statistics in sybase?

635


How does sybase replication work?

490


Why not max out all my columns sybase?

450


What is the difference between natural join and equi join?

491






What command helps you to know the process running on this port, but only su can run this command?

488


Explanation about replication server software?

500


How configure sybase odbc connection?

466


What you need to do is issue an ase kill command on the connection then un-suspend the db?

531


List similarities and differences between oracle & sybase.

524


What is cis and how can I use it?

582


You need to multiply all values of a single column. How would you do that?

479


Explain index covering?

484


Can I use a named pipe to bcp/dump data out or in in sybase?

587


Explain tds (tabular data streams).

504