祝愿大家身体健康!

 站点注册  找回密码
 站点注册

QQ登录

只需一步,快速开始

查看: 6208|回复: 0

[参考资料] sybase系统和数据共享存储迁移

[复制链接]

[参考资料] sybase系统和数据共享存储迁移

[复制链接]
ehxz

主题

0

回帖

58万

积分

管理员

积分
588431
贡献
在线时间
小时
2013-2-1 05:01:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?站点注册

×
第1章    前期备份和准备工作
1.1 备份原所有数据文件
isql –U sa –P password –S SYBASE

/**password为sa的密码,服务名暂且定为SYBASE,后同***/

dump database master to ‘/cwback8000/master’

/***/cwback8000/为本次迁移备份目录*****/

dump database model to ‘/cwback8000/model’

dump database sybsystemdb to‘/cwback8000/sybsystemdb’

dump database sybsystemprocs to‘/cwback8000/sybsystemprocs’

dump database tempdb to ‘/cwback8000/tempdb’

dump database testdata to ‘/cwback8000/testdata’

go

1.2 备份配置文件
数据库配置文件位置

file:/sybase/ASE-12_5/SYBASE.cfg

#cp /sybase/Sybase-12.5/SYBASE.cfg /cwback8000/

1.3 备份数据库用户权限、角色等重要信息
重新建库后如果采取恢复master数据库的办法,由于恢复后的master库记录着原有的库以及设备等很多信息,强行启动数据库可能导致很多错误,甚至无法正常启动,所以不能直接恢复master库,最好是重建,然后导入需要的数据和用户登录信息并且新建设备和库。

isql –U sa –P password –S SYBASE

shutdown

go

/sybase/sybase-12.5/ASE-12_5/install/startserver -f /sybase/sybase-12.5/ASE-12_5/insta

ll/RUN_SYBASE –m

isql –U sa –P password –S SYBASE

bcp master..syslogins out /cwback8000/logins -Usa -P password -c -S SYBASE

bcp master..sysloginroles out /cwback8000/loginroles -Usa -P password -c -S SYBASE

bcp master..sysroles out /cwback8000/roles -Usa -P password -c -S SYBASE

bcp master..syssrvroles out /cwback8000/srvroles -Usa -P password -c -S SYBASE

bcp master..sysusers out /cwback8000/users -Usa -P password -c -S SYBASE

1.4 记录其它重要信息
1、查看服务器端字符集:

  在isql环境中执行:

  1>sp_helpsort

  2>go

2、查看客户端字符集:

  在isql环境中执行:

  1>select @@client_csname

2>; go

3、查看数据库page size信息

在isql环境中执行:

1>select @@maxpagesize

2>go

3、记录数据库信息

$scjview

进入管理界面,记录下原来数据库的名称、数据和日志设备大小、位置、名称、路径等信息

4、记录数据库服务名和备份服务名





第2章  恢复数据和系统
2.1  通过重新建立数据库的方法
2.1.1 创建新的数据库
在/Sybase/Sybase-12.5/ASE-12_5/bin下执行

./srvbuild

将Adaptive Server 和 Backup Server选中,在Adaptive Server中输入SYBASE

单击上图《OK》按钮,弹出Adaptive Server配置对话框

单击srvbuild介面的《OK》按钮,进入backup server配置

Adaptive Server ,Backup Server参数配置,单击上图的《Build Server》按钮完成创建服务器。

2.1.2 修改和优化新数据库参数
使用/sybase/Sybase-12.5/OCS-12_5/bin/isql –Usa –P –S SYBASE登陆数据库,配置以下参数,用户也可以用vi更改/sybase/Sybase-12.5/ASE-12_5/SYBASE.cfg配置文件来改参数,或可以实用原有备份配置文件进行恢复。

(1)    配置sybase的max memory

单位:Metebytes

一般将物理内存的60-70%分配给SYBASE,其余的用于操作系统以及其他应用软件,这样使sybase有足够的内存来快速的完成查询,统计任务.我们采用的服务器内存为4GB,这样我们分配2.65GB为max memory。

1>    sp_configure “max memory”,1356800

2>    go

此项为dynamic,不必重启动SYBASE

(2)扩充临时数据库(tempdb)的大小

由于查询时需调出大量的数据表,使用临时数据库可以加快数据的查询任务。

3>    disk init

4>    name=”tempdb_add”,

5>    physname=”/cwdata/data/tempdb_add.dat”,

6>    vdevno=10,

7>    size=512000

8>    go

1>    alter database tempdb on tempda_add=1024000

2>    go

此项为dynamic,不必重启动SYBASE

(3)增加sybase锁的个数

增加sybase锁的个数使得在查询过程中不会出现死锁的现象

1>    sp_configure “number of locks”,30000

2>    go

此项为dynamic,不必重启动SYBASE

(4)配置sybase中default data cache

增大default data cache的大小使得系统可以动态的利用该资源,使得查询任务的速度提高

sp_cacheconfig “default data cache”,”1000M”

3>    go

此项必须要求重新启动SYBASE才可生效

(5)调整Number of open databases,将参数设置如下

sp_configure “number of open databases”,50

3>    go

此项为dynamic,不必重启动SYBASE

(6)调整Number of open objects,将参数设置如下

1>sp_configure “number of open objects”,2000

2>go

此项为dynamic,不必重启动SYBASE

(7)配置CPU,使负载均衡,参数如下:

1>sp_configure “max online engines”,2

2>sp_configure “number of engines at startup”,2

此项为dynamic,不必重启动SYBASE

(8)调整Number of devices,参数设置如下

1>sp_configure “number of devices”,40

2>go

此项为dynamic,不必重启动SYBASE

    (9)配置过程cache,参数配置如下:

sp_configure “procedure cache size”, 271360

1>    go

此项必须要求重新启动SYBASE才可生效

     (10)绑定临时库cache,参数配置如下:

sp_cacheconfig tempdb_cache,”500M”

1>    go

绑定到临时库

sp_bindcache tempdb_cache,tempdb

1>    go

此项必须要求重新启动SYBASE才可生效

(11)索引数配置:

sp_configure 'number of open indexes', 10000

1>    go

此项为dynamic,不必重启动SYBASE

(12)增加用户连接个数

sp_configure “number of user connections”,100

1>    go

此项为dynamic,不必重启动SYBASE

2.1.3              导入数据库model、sybsystemdb、sybsystemprocs
isql –U sa –P –S SYBASE

load database model from '/cwback8000/model'

load database sybsystemprocs from '/cwback8000/sybsystemprocs'

load database sybsystemdb from '/cwback8000/sybsystemdb'

online database sybsystemprocs

online database sybsystemdb

online database model

注意导入sybsystemdb数据库的时候需要修改参数:

sp_configure 'enable xact coordination',0

导入数据库后重新修改参数

sp_configure 'enable xact coordination',1

2.1.4 导入系统用户权限、角色等信息
1> sp_dboption database dbname ,"select into/bulkcopy",true

2> go

1> sp_dboption database dbname,"trunc log on chkpt",true

sp_configure "allow updates to system tables", 1

go

bcp master..sysloginroles in /cwback8000/loginroles -U sa -P -b 1 -c -S ibmserver(34,4)

bcp master..syslogins in  /cwback8000/logins -U sa -P -b 1 -c -S ibmserver(135,2)

bcp master..sysroles in  /cwback8000/roles -U sa -P -b 1 -c -S ibmserver(0,9)

bcp master..sysusers in  /cwback8000/users -U sa -P -b 1 -c -S ibmserver(0,)

bcp master..syssrvroles in  /cwback8000/srvroles -Usa -P -b 1 -c -S ibmserver(0,)

2.1.5 创建用户数据和日志设备
1、创建用户数据文件设备

disk init name ='testdata ',physname='/sybase/cwhadata/testdata.dat',size=1024000

disk init name=’tempda_add’,physname=’/sybase/cwhadata/tempda_add.dat’,size=1024000

disk init name=’tempda_add1’,physname=’/sybase/cwhadata/tempda_add1.dat’,size=1024000

2、创建用户日志设备

disk init name='testdatalog',physname='/sybase/cwhadata/testdatalog.dat',size=256000

2.1.6 创建用户数据库
create database testdata on testdata =1024000 log on testdatalog=256000

2.1.7 导入用户数据文件
load database testdata from '/cwback8000/testdata '

2.1.8 恢复用户数据库在线
online database testdata

2.2 通过打包迁移系统和数据文件的方法
本迁移方法是直接将原有安装目录以及数据目录进行tar打包,然后在新的文件系统上解包,相当于仅仅目录发生变化,实际的系统文件、配置文件和数据文件均未发生变化,如果数据库正常启动,相当于所有数据和配置未发生变化,这种应该是比较安全、对系统影响最小的解决方案,但需要解决的是部分数据文件目录发生变化,需要重新修改系统表里关于设备位置的参数。

2.2.1 原来系统和数据打包
打包并压缩存储上的文件系统:

#tar czvf sybase.tar.gz /Sybase

#tar czvf testdata.tar.gz /testdata

2.2.2 创建文件系统mount点
新盘的挂载点为/sybdata,然后在下分别创建目录testdata,生成后的目录为/sybdata/testdata。

2.2.3 释放压缩文件到新的文件系统上
#tar zxvf sybase.tar.gz /Sybase/

#tar zxvf testdata.tar.gz /sybdata/testdata/

2.2.4 启动数据库
以单用户模式启动数据库

/sybase/sybase-12.5/ASE-12_5/install/startserver -f /sybase/sybase-12.5/ASE-12_5/insta

ll/RUN_SYBASE –m

启动数据库后明显可以看到除了系统库外的所有在用帐套和历史帐套均显示状态可疑,无法正常使用。

2.2.5 解决文件更改的故障
数据库建立设备时,每个设备文件不仅仅只是一个单纯的文件,还包含了文件的分配信息,磁盘块的划分等,所以挂载数据库设备文件时显示状态可疑或挂起的时候,需要进行解决:

1、重新构建 master..sysdevices 数据中的位置信息

sp_configure 'allow updates', 1

go

begin tran

go

update sysdevices set phyname=”new_dev_path”,where name =”old_dev_name”

go

commit tran

go

如果采取的新建设备的时候,特别注意要大小一致

如果位置未变,但是文件发生变化,可以使用如下命令:

disk reinit name="device_name", physname="full_path_of_device", vdevno=device_no,size=size_of_device

2、重新构建 master..sysusages 数据

disk refit

/****或者也可以直接修改sysdatabases、sysusages和master..sysdevices表。

3、重新启动数据库

2.3 通过数据设备镜像的方法
本迁移方法是首先在生产库在线的情况下,将数据库设备在线实现镜像到不同的目录或不同的设备上,然后卸载主设备,实际相当于迁移了数据文件或设备,但由于sybase系统文件也在原来的存储上,仅仅需要将系统文件打包备份,然后将sybase系统安装目录所在的存储卸载,在服务器本机硬盘建立相同的目录/sybase,然后将打包的系统安装文件解包,这样就使实现了系统文件和数据文件的迁移,这种方案安全性极高,对数据文件的操作最少,是针对本次迁移的最安全、最可靠和效率最高的一种方式。

2.3.1 在线镜像数据文件文件
1、修改系统参数使设备文件能够实现镜像

sp_configure 'disable disk mirroring',0

2、重新启动数据库:

1>shutdown

/sybase/sybase-12.5/ASE-12_5/install/startserver -f /sybase/sybase-12.5/ASE-12_5/install/RUN_SYBASE

3、在线镜像testdata数据库设备和日志设备

USE master

go

disk mirror name=' testdata ', mirror='/sybdata/testdata.dat', writes='noserial'

go

disk mirror name='testdata log', mirror='/sybdata/testdata log.dat', writes='noserial'

go

相应的镜像所有需要迁移的所有数据库数据和日志设备。

2.3.2  卸载旧存储上的设备
USE master

go

disk unmirror name='testdata ', side='primary', mode=remove

go

disk unmirror name='testdata log', side='primary', mode=remove

go

旧设备卸载后,相当于数据和日志设备自动迁移到了新的文件系统。

相应的卸载所有需要迁移的所有数据库数据和日志设备。至此整个所有数据和日志设备迁移成功。

但特别需要注意的是如果镜像master设备,则一定需要修改RUN_SYBASE文件,否则数据库无法启动。

2.3.3 打包所有sybase系统安装目录
#tar czvf sybase.tar.gz /Sybase

打包完成后拷贝tar包到备份目录/cwback8000/下存放

2.3.4 恢复sybase系统安装目录
在/分区下新建/Sybase目录,同时修改目录权限

#chown –R Sybase:sybase /Sybase

#tar zxvf sybase.tar.gz

2.3.5 启动数据库
/sybase/sybase-12.5/ASE-12_5/install/startserver -f /sybase/sybase-12.5/ASE-12_5/insta

ll/RUN_SYBASE

至此数据库完全迁移成功,包括sybase系统安装文件和数据文件。

2.3.6 恢复备份、维护等其它信息
按照对应的将备份脚本、维护脚本类信息拷贝到新的目录下,从而保证系统能够按照平时一样正常运行。
共享共进共赢Sharing And Win-win Results
SYBASEBBS - 免责申明1、欢迎访问“SYBASEBBS.COM”,本文内容及相关资源来源于网络,版权归版权方所有!本站原创内容版权归本站所有,请勿转载!
2、本文内容仅代表作者观点,不代表本站立场,作者自负,本站资源仅供学习研究,请勿非法使用,否则后果自负!请下载后24小时内删除!
3、本文内容,包括但不限于源码、文字、图片等,仅供参考。本站不对其安全性,正确性等作出保证。但本站会尽量审核会员发表的内容。
4、如本帖侵犯到任何版权问题,请立即告知本站 ,本站将及时删除并致以最深的歉意!客服邮箱:admin@sybasebbs.com
您需要登录后才可以回帖 登录 | 站点注册

本版积分规则

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com

QQ|Archiver|PowerBuilder(PB)BBS社区 ( 鲁ICP备2021027222号-1 )

GMT+8, 2024-11-21 21:22 , Processed in 0.034087 second(s), 8 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表