存档

文章标签 ‘设备’,文章数:2

SYBASE ASE12.5以上版本升级到ASE15的第三种办法

    SYBASE公司的产品Adapter Server目前最新的版本是ASE15.0.2,如何将原有的ASE12.5上的数据库升级到ASE15上?以前常用的方法有如下两种:
    1.upgrade
    2.dump/load
以上两种办法的具体实现方式可参考相关资料,ASE15目前提供了第三种升级的办法,主要是将数据库设备文件使用操作系统命令直接拷贝到升级的新平台。这种办法应该是速度最快的一种,而且Adapter Server的down机时间最短。但前提条件是源和目标均为同种操作系统平台,源和目标server页大小、语言和字符集均要相同,其中源必须是ASE12.5以上的版本。本文具体介绍第三种升级的办法。

假设源Adapter Server名为ase125, 目标Adapter Server名为ase15。可以分别在不同机器上 ,也可以在同一台机器上。
具体升级实现步骤如下:
1.在源Adapter Server上查找数据库所在的设备情况,记住设备逻辑名和所在物理位置。
H:\>isql -Usa -P -Sase125 -w2000
1> sp_helpdb testdb
2> go
1> sp_helpdevice dev1
2> go
1> sp_helpdevice log1
2> go
……
dev1  /data/dev1.dat
log1  /data/log1.dat
……
2.在源Adapter Server上静默数据库,产生一个清单。静默后的数据库就只能提供查询不能增/改/删了
H:\>isql -Usa -P -Sase125 -w2000
1>quiesce database for_upgrd hold testdb for external dump
2>to “/data/testdb_manifest.mfst” with override
3>go

3.将三个文件(/data/dev1.dat、/data/log1.dat、/data/testdb_manifest.mfst)用操作系统命令拷到目标机器(如拷入“/opt/”下)。如果源和目标在同一台机器上,该步不用。

4.现在在源Adapter Server上可以取消静默或直接删除源Adapter Server了。如果源和目标在同一台NT机器上的话,在保留三个文件的基础上可卸载ASE125后,再安装新的ASE15
H:\>isql -Usa -P -Sase125 -w2000
1>quiesce database for_upgrd release
2>go

5.以后的操作都在目标server上,先登记清单,后映射设备,注意设备逻辑名必须与源server一致,物理路径可不同。
H:\>isql -Usa -P -Sase15 -w2000
1>mount database all from “/opt/ testdb_manifest.mfst” with listonly
2>go
1>mount database all from “/opt/ testdb_manifest.mfst” using
2>“/opt/dev1.dat” = “dev1” ,
3>“/opt/log1.dat” =“log1”
4>go
1>use testdb
2>go

6.至此我们就完成了将ASE12.5升级到ASE15的工作。在系统空闲时还可以进行一些后续工作,如:重建索引、更新统计值、dbcc检查等。

这种办法除了可用于升级,还可用于单个数据库在相同操作系统平台下的不同Adapter Server之间迁移。

一个sybase工程师提供的方法!

今天下午一直在研究master设备的内部数据结构,尝试通过编写程序向master设备文件后面追加数据来达到增加master设备大小的目的。

在sybase中初始化一块设备就是向操作系统中的文件系统请求一块空间,并且sybase对这块空间进行了一定的分配初始化。

要是能够手动向master设备文件尾部追加初始化的分配信息数据就可以物理上增加master设备的大小;然后,在 sysdatabases,sysdevices,sysusages表中修改相应的信息。

手动扩展master设备大小的示例:

原master设备大小为50MB,逻辑页号:0 - 25599(逻辑页面大小为2K)。

将master设备增加50MB空间,使得master设备空间变为100MB。

新的master设备逻辑页号: 0 - 51199。

1、修改master设备的high为51199,

update sysdevices set high=51200-1 where name='master'

go

2、给master设备文件尾部增加50MB空间

dd if=/dev/zero  of=./master.dat bs=2048 seek=25600 count=25600

3、重启Sybase数据库服务器

4、验证master设备空间大小变为100MB

————————————————————————————————————
——— 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
——— 转载务必注明原始出处 : http://www.dbainfo.net
——— 关键字: ASE master 空间 扩展 手动
————————————————————————————————————