Could someone give some reasons why the tempdb log could fill up. It is
set to truncate on checkpoint and is 1GB in size with usage "data and log".
Thanks,
Bill
error log:
server Space available in the log segment has fallen critically low
in database 'tempdb'.
All future modifications to this database will be suspended
until the log is successfully dumped and space becomes available.
server background task message: ***** Threshold Action *****
server background task message: LOG FULL: database 'tempdb'
server background task message: LOG DUMP: database 'tempdb', threshhold
'16'
server Error: 4205, Severity: 16, State: 1
server Syslogs does not exist in its own segment in database
'tempdb' with segmap '7' with logical start page number of '0'.
You cannot use DUMP TRANSACTION in this case, use DUMP DATABASE
instead.
server background task message: LOG DUMP ERROR: 4205
If available in 11.9.2 I would turn on 'abort tran on log full' in tempdb
(& model) so that any user that fills up tempdb is immediately killed and
rolled back.
Bill
Yes it could be a long-running open transaction as well.
If you turn on "abort tran on log full" then Sybase should automatically
recover and it shouldn't be necessary to restart
Sybase.
One thing I might do is set up a script to run sp_who & sp_lock and maybe
'select * from syslogshold' periodically, every 10 minutes for example. The
next time the problem happens, you'll probably have captured a snapshot of
the offending process.
Another thing I might experiment with is modifying the threshold procedure
to write some information about the process that triggered it to the log.
mc
Thoughts?
Bill
Indeed, it may be an open transaction. Look into master..syslogshold
for the offending spid.
But, also note that since the log shares the device with data, that it
may be that you have a large amount of data in tempdb which restricts
how large you log may grow. What the error is really saying is that the
device is almost full. It could be either the log, or the rest of the
data (or both) which is growing out of control. Someone could be
creating a very large temp table...
That's a good idea in general though it's better to use truncate_only than
no_log. My thresholdaction proc checks
sysusages to see if data/log share the same segment. If not,
it will try to dump the tran log to disk. Otherwise, it will
do a truncate_only.
However I don't think this will help your current issue. tempdb has 'trunc
log on chkpt' on so it would have already truncated
the log if it could have.
mc
Bill
"Sherlock, Kevin" <ksh...@qwest.com.nospam> wrote in message
news:3E677902...@qwest.com.nospam...