1、编辑$SYBASE/ASE-12_5/install/RUN_etoh2 --RUN_etoh2指的sybase安装目录install下服务启动文件

在命令行最后加入:-T3607

2、单用户模式启动ASE

$su - sybase

$cd $SYBASE/ASE-12_5/install

$startserver -f RUN_etoh2 -m

3、bcp out系统表

$cd $SYBASE/data

$bcp master..sysdevices out sysdevices.txt -Setoh2 -Usa -P -c

$bcp master..sysdatabases out sysdatabases.txt -Setoh2 -Usa -P -c

$bcp master..sysusages out sysusages.txt -Setoh2 -Usa -P -c

$bcp master..syslogins out syslogins.txt -Setoh2 -Usa -P -c

$bcp master..syslogins out sysloginroles.txt -Setoh2 -Usa -P -c

$bcp master..sysconfigures out sysconfigures.txt -Setoh2 -Usa -P -c

$bcp master..syscharsets out syscharsets.txt -Setoh2 -Usa -P -c

4、shutdown ASE服务

5、冷备份好原先的系统库文件以及配置文件,注意判断下剩余磁盘空间

$cd $SYBASE/data

$mv master.dat master.dat.bak

$mv sybsystemdb.dat sybsystemdb.dat.bak

$mv sysprocs.dat sysprocs.dat.bak

$mv tempdb.dat tempdb.dat.bak

$mv $SYBASE/ASE-12_5/etoh2.cfg $SYBASE/ASE-12_5/etoh2.cfg.bak

$mv $SYBASE/interfaces $SYBASE/interfaces.bak

6、创建新master库

--ASE12.5及以后版本用dataserver实用程序创建,ASE12.0及以前的版本用buildmaster实用程序创建,而通过srvbuild和srvbuildres在创建时候可以加入字符的设置。详见:

--http://manuals.sybase.com/onlinebooks/group-as/asg1250e/svrtsg/@Generic__BookTextView/3059;pt=3054

--在这里不推荐用dataserver实用程序,因为通过dataserver创建出来后会跟原先通过srvbuildres配合$SYBASE/rs/db.rs创建出来的数据库环境不一致,所以还是用$SYBASE/ASE-12_5/bin/srvbuildres -r ~/rs/db.rs 来进行创建。

详见我的blog:ASE12.5.3在Linux上的安装配置

http://blog.csdn.net/xujinyang/article/details/5890645

其中db.rs内容:

sybinit.release_directory: /opt/sybase-12.5.4

sybinit.product: sqlsrv

sqlsrv.server_name: etoh2

sqlsrv.new_config: yes

sqlsrv.do_add_server: yes

sqlsrv.network_protocol_list: tcp

sqlsrv.network_hostname_list: 192.168.1.180

sqlsrv.network_port_list: 5000

sqlsrv.server_page_size: 8k

sqlsrv.force_buildmaster: yes

sqlsrv.master_device_physical_name: /opt/sybase-12.5.4/data/master.dat

sqlsrv.master_device_size: 200

sqlsrv.master_database_size: 160

sqlsrv.errorlog: /opt/sybase-12.5.4/ASE-12_5/install/etoh2.log

sqlsrv.do_upgrade: no

sqlsrv.sybsystemprocs_device_physical_name: /opt/sybase-12.5.4/data/sysprocs.dat

sqlsrv.sybsystemprocs_device_size: 250

sqlsrv.sybsystemprocs_database_size: 200

sqlsrv.sybsystemdb_device_physical_name: /opt/sybase-12.5.4/data/sybsystemdb.dat

sqlsrv.sybsystemdb_device_size: 50

sqlsrv.sybsystemdb_database_size: 50

sqlsrv.default_backup_server: SYB_BACKUP

7、编辑$SYBASE/ASE-12_5/install/RUN_etoh2

将指定master设备指定为新创建的master设备,并删除在第1步中增加的参数。

8、删除步骤3中bcp out出来的文件中有关master、tempdb、model、sybsystemdb、sybsystemprocs系统库(srvbuildres创建出来)部分的内容。

9、单用户模式启动ASE

$cd $SYBASE/ASE-12_5/install

$startserver -f RUN_etoh2 -m

10、设置允许更改系统表

sp_configure 'allow updates to system tables',1 --等效sp_configure "allow updates", 1

go

11、 bcp in系统表

$cd $SYBASE/data

$bcp master..sysdevices in sysdevices.txt -Setoh2 -Usa -P -c

$bcp master..sysdatabases in sysdatabases.txt -Setoh2 -Usa -P -c

$bcp master..sysusages in sysusages.txt -Setoh2 -Usa -P -c

$bcp master..syslogins in syslogins.txt -Setoh2 -Usa -P -c

$bcp master..syslogins in sysloginroles.txt -Setoh2 -Usa -P -c

$bcp master..sysconfigures in sysconfigures.txt -Setoh2 -Usa -P -c

$bcp master..syscharsets in syscharsets.txt -Setoh2 -Usa -P -c

12、禁止更改系统表

sp_configure 'allow updates to system tables',0 --等效sp_configure "allow updates", 0

go

13、shudown ASE

--14、执行installmaster脚本 --使用srvbuildres创建master库后无需执行这步,因为installmaster主要是创建sybsystemprocs库中的一系列系统过程,而通过srvbuildres + rs文件创建时已经生成了sybsystemprocs库及过程。

--$isql -Setoh2 -Usa -P <$SYBASE/ASE-12_5/scripts/installmaster

15、启动ASE