Unanswered: syslogs is full and cant connect with isql
We have a situation at our site here and dont really know how to go about. This is the message we are getting:
00:00000:00006:2003/10/02 08:18:56.46 server Can't allocate space for object 'syslogs' in database 'master' because 'logsegment' segment is full/has no free extents. If you ran out of space in syslogs, dump the transaction log. Otherwise, use ALTER DATABASE or sp_extendsegment to increase size of the segment.
Seems to be an error message that happens now and then (according to a quick google search). A solution that is mentioned is to use:
dump transaction master with truncate_only go
Unfortunately we cant connect to the database with isql because of this message:
The transaction log in database master is almost full. Your transaction is
being suspended until space is made available in the log.
So we cant dump the table with isql, is there another way to do this?
alter database master on master = <whatever space is left on the master device>
You should never let people run transactions in master. Normally by default all new logins have master as their default database. Users not knowingly run all their tests in master that causes the master logsegment to fillup.
Try Follwing Steps :-
1. Go to $SYBASE/install directory.
2. Give 'showserver' command.
3. Note down the process ID's .
4 . Kill the server processes from kill -9 <pid> command.
5. give 'ipcs -a' command to check whether all shared memory resources are free. ('ipcs -a should give 0 rows )
6. If the ipcs -a shows some rows, free the resources with following command
ipcs -m <ID>
(in ipcs -a output CPID column indiactes os level process id )
7. if ipcs -a gives rows give 0 rows ,then again restart the server.
with startserver command.
After restart, the server will redo all transactions.