Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How to change config file for new file path of sybase files

1,069 views
Skip to first unread message

techgrl

unread,
Jul 18, 2008, 2:13:46 PM7/18/08
to
I am a complete newbie to sybase (I'm really a microsoft sql server
admin who just got a sybase db to admin). We had sybase running on
one linux server and we ran out of space on that one. So, we moved
the files over to a new linux server under a new filepath for the
files. Now, even though I can navigate to the RUN files I can't start
sybase on the new server. I'm assuming there is some config file out
there that I can change the path to it to but I can't find it. Any
ideas?

Thanks in advance!

Michael Peppler

unread,
Jul 18, 2008, 2:35:19 PM7/18/08
to

Did you move all the files to a new filepath (i.e. all the database
devices?)

If so you have a couple of options. The one I'd recommend as the
easiest is to create symbolic links for all the database devices so
that they can be found using the old paths. Create the directory tree
from the root filesystem to a level just above where the files are
supposed to live, and then use the "ln -s" command to create a symbolic
link.

If that's not feasible you can start the server with the -T3608 trace
flag, and then update the file paths in master..sysdevices. The process
to do this is as follows:

First, go to $SYBASE/ASE-xxx, and edit the <servername>.cfg file. Change
the line that says "Allow update to system tables" from DEFAULT to 1, and
save the file.
Now go to $SYBASE/ASE-xxx/install, and edit the RUN_<servername> file, and
add -T3608 to the command line that executes the dataserver command. Also
change all the paths in this file to match the current location of the
various files (i.e. the <servername>.cfg file, the interfaces file, etc.)
Start the server - the -T3608 flag will tell ASE to only recover the
master database.
Log in to the server with isql, and update the sysdevices table to change
the phyname column to match the actual location of the data devices.
Important: shut down the server with "shutdown with nowait".
Remove the -T3608 from the RUN_xxx file, and restart the server. If you
haven't made any mistakes the server should now come up with all the
necessary devices.

It goes without saying that you should have backups of all these files
somewhere before you start, so that if you make a mistake you can start
over!

Michael

--
Michael Peppler - Peppler Consulting SaRL
mpep...@peppler.org - http://www.peppler.org
Sybase DBA/Developer - TeamSybase: http://www.teamsybase.com
Sybase on Linux FAQ - http://www.peppler.org/FAQ/linux.html

techgrl

unread,
Jul 18, 2008, 3:09:42 PM7/18/08
to
> mpepp...@peppler.org      -                  http://www.peppler.org

> Sybase DBA/Developer      -   TeamSybase:http://www.teamsybase.com
> Sybase on Linux FAQ       -  http://www.peppler.org/FAQ/linux.html

Hi Michelle--

Thanks for the information. I followed it for the second suggestion
but I still cannot start up sybase server. Do I need to reinstall
sybase? All we did was copy the files over to a new file location on
the new server.

Bret Halford

unread,
Jul 18, 2008, 3:53:11 PM7/18/08
to

The RUN file calls the dataserver executable with a -d parameter
that specifies the location of the master device. If the path to
master has changed, you need to update that parameter.

The other device names are contained in the sysdevices table in the
master database; you will need to boot ASE before you can modify them
(ideally you would have modified them before shutting down and
moving the server, but that is hindsight for you...).

To minimize pain, add another parameter to the dataserver call
in the RUN file '-T3608' . This traceflag tells ASE to
boot and only recover the master database. In the server's .cfg
file, edit the "allow updates to system tables" to the setting '1'.

Boot the server.

If you don't have a good recent dump of the master database,
start up backupserver and dump master now.

Look at the sysdevices table. The physname column contains the
full path name of the devices. Update each device as needed.
Best to do this in a transaction:

begin tran
update sysdevices set physname = "/blah/blah/blah" where name = <blah>
go
-- verify one row affected and the value is correct before committing
commit tran
go

When all values are updated

checkpoint
go
shutdown
go

Remove -T3608 from the RUN file

Boot server

Dump master again.

Bret Halford

unread,
Jul 18, 2008, 4:04:04 PM7/18/08
to

>
> Thanks for the information. I followed it for the second suggestion
> but I still cannot start up sybase server. Do I need to reinstall
> sybase? All we did was copy the files over to a new file location on
> the new server.

I suggest you post the errorlog contents for this boot attempt, that
will tell us where things got hung up on. The RUN file had a parameter
that says where the errorlog goes, if you aren't sure.

techgrl

unread,
Jul 18, 2008, 4:17:19 PM7/18/08
to

Ok, figured out one thing wrong--put the -T switch at the beginning
instead of the end of the file. Did that, now I'm getting a "there is
no valid license for ASE server product". What is the name of that
file (will need to take it from the other server).

ThanksButNo

unread,
Jul 25, 2008, 2:30:19 AM7/25/08
to

"Michelle" ???

Do you know something about the poster that we don't?

\:-O

0 new messages