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