Many students got into the following problem:
com.sybase.jdbc.SybSQLException: Can't allocate space for object 'syslogs'
in database 'c315_022' 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 to increase the size of the segment.
The
solution is to execute the following commands (in the sequence below, not in
reverse order) from an ISQL session before running a long transaction or beginning an experiment:
dump tran <databasename> with truncate_only
dump tran <databasename> with no_log
Note
that the database will not flush logs if there is an active transaction so the
students will have to "rollback" their transaction flush the log
files and then start the transaction once again. What
many students ended up doing (Which is
incorrect!) was: when a transaction stops half-way in the execution phase
complaining of space problems, they try issuing the above commands which will
not work unless the active transaction id is deleted from the syslogshold table which only the system administrator can
do.