Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 9146

Re: Sybase&networker restore master error

$
0
0

Sounds like you should be able to log into the master database despite the error during recovery of tempdb.  The error suggests a problem with the sysusages rows for tempdb.

Please do a "select * from master..sysusages where dbid = 2 order by lstart"  and post the results here.

 

Most likely the way past this error will be to do a little slight-of-hand to replace the troubled tempdb with a good database.  To do that

 

1)  manually edit the $SYBASE/ASE-*/<servername>.cfg file to turn on the "allow updates to system tables" option

 

2) edit the $SYBASE/ASE-*/install/RUN_<servername> file and add -T3608 to the list of dataserver parameters.  This flag causes ASE to only recover the master database when rebooted and avoids the possibility of recovery leaving a lock on sysdatabases if a problem happens during recovery

 

3) reboot the server.  Only the master database should recover.

 

4) log in and run the following:

 

-- create a dummy database on master device

create database foo on master

go

-- remove the existing sysusages entries for tempdb

delete sysusages where dbid = 2

go

-- reassign the sysusages row for foo to tempdb

update sysusages set dbid = 2 where dbid = db_id("foo")

go

-- remove the now-defunct "foo" entry from sysdatabases.

delete sysusages where name = "foo"

go

 

5) Shutdown ASE.  Remove the 3608 flag from the RUN_SERVER file.  Reboot ASE.  Recovery of tempdb should now complete without error.  You will want to enlarge tempdb to a reasonable size.  Assuming sybsystemprocs recovers, use sp_configure to run off the "allow updates to system tables" option.

 

-bret


Viewing all articles
Browse latest Browse all 9146

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>