如何移植master设备

以下步骤说明了如何将master设备移植到不同的磁盘上。在执行此项任务的同时,请参看SYBASE的相关文档(Technical Documents#1324 entitled "Segment Remapping with Load database When Moving a Database")。请注意,在执行buildmaster之前,要停止SQL Server的应用。

成功的关键在于,新建的sysusages系统表中每一行内容与旧的sysusages系统表内容相符。

对master库做dbcc检查,并后备master库。
执行select * from table_name命令,并保留其输出内容。其中,table_name包括:sysdevices、sysusages、sysdatabases。同样,可以使用bcp命令来实现。
执行sp_configure命令,并保留其输出内容。
拷贝$SYBASE/server_name.cfg文件,以做保留。
Shut down SQL/ASE Server。
执行以下命令,创建一个新的master设备:
UNIX:buildmaster -d<master_device> -ssize
VMS:buildmaster /disk=<master_device> /size=size
(size以页为单位,1页=2K)
编辑RUN_server_name文件,-d(UNIX)或/device(VMS)参数指向新建的设
备名。
单用户模式启动SQL/ASE Server:
UNIX:startserver -f RUN_sever_name -m
VMS:startserver /server=server_name /masterrecover
执行select * from sysdevices命令,并保留其输出内容。
确认新建的sysusages系统表中每一行内容与旧的sysusages系统表内容相符,而且在配置好Server之后,没有做过alter database,那么系统表sysusages的内容是正确的。如果做过alter database,则要按原来的顺序执行这些脚本,如果没有脚本,就要到保存的sysusages系统表的信息中找到alter database的参数。
Shutdown SQL/ASE Server,并用单用户模式启动Server,查看sysusages系统表内容是否正确。
如果所配置的Backup Server名称不是SYB_BACKUP,则要执行:
1> sp_configure "allow updates",1
2> go
1> update sysservers set srvnetname="name in interfaces file"
where srvname="SYB_BACKUP"
2> go
装载master库。如果新master设备的大小与旧设备大小不同,则Server会Shut down。请注意新的系统表将会被重写,而且你需要调整Sysdevices系统表中master设备的大小。请执行以下两步:
用单用户模式启动Server.
如果新设备大小与旧设备大小不同,请执行:
1> sp_configure "allow updates",1
2> go
1> update sysdevices set high=nnnn where name="master"
2> go
其中nnnn是以页(2K)为单位的master设备的大小,此值可以从保留的sysdevices系统表的信息中找到。如果所建的设备比旧设备大,请执行:1)创建一个与master设备差不多大的数据库,这样做的目的是重新初始化分配页,使得整个master设备可用。2)删除这个数据库。
重启Server。
后备master数据库。

注意:

在装载master库之前要确定SQL Server此时的字符集和语言模块与后备master库时的字符集和语言模块相同。
在执行此任务之前和完成以后使用sp_helpsort查看字符集与语言模块是否相同。

时间: 2024-10-03 13:08:51

如何移植master设备的相关文章

UBI 文件系统移植 sys 设备信息【转】

转自:http://blog.chinaunix.net/uid-25304914-id-3058647.html cat /sys/class/misc/ubi_ctrl/dev -------------------------------------------- UBI: attaching mtd11 to ubi0UBI: physical eraseblock size:   262144 bytes (256 KiB)UBI: logical eraseblock size:  

Sybase的设备(Device)

Sybase将数据库中的所有数据存放在设备上. 1.设备的概念 设备是Sybase预先配置的专门存放数据库的一块连续的磁盘空间,并且它被映射到一操作系统文件或一原始磁盘分区上.它有两个对应的名称:逻辑名和物理名.NT仅支持设备映射到文件. 设备与数据库之间的关系:多对多关系.一个数据库可以被创建或扩充到多个设备上,一个设备也可以被用来存放多个数据库.不同的设备操作系统可以对其并行地读写,因此我们可以人为地将一个数据库放置到多个数据库设备上. 设备的分类:Database Device和Dump

Sybase master库日志管理

Sybase master 库日志满了应该如何清除呢?可以通过以下的方法对 master库进行管理,如果确实没有足够的空间了,可以考虑对 master库进行扩容操作. 1.简单的情况下 dump trans with no_log 就可以了,master库一般不会满. 1> use master 2> go 1> checkpoint 2> go 1> dump tran master with no_log 2> go 00:00000:00011:2006/02/2

Sybase数据库设备与存储空间管理概述

1.安装初始化 初始安装SQL Server时,安装程序和脚本初始化主设备,并建立master.model.tempdb和sybsystemprocs数据库. 系统数据库.预定义设备和段按下列默认方式组织: a.master.model.tempdb数据库安装在主设备master上: b.sybsystemprocs数据库安装在安装时选择的设备上(sysprocsdev): c.为每个数据库创建三个预定义段:system.default和logsegment: d.所有用户创建数据库的默认设备是

Sybase的master库日志管理

Sybase master 库日志满了应该如何清除呢? 可以通过以下的方法对 master库进行管理,如果确实没有足够的空间了,可以考虑对 master库进行扩容操作. 1.简单的情况下 dump trans with no_log 就可以了,master库一般不会满. 1> use master 2> go 1> checkpoint 2> go 1> dump tran master with no_log 2> go 00:00000:00011:2006/02/

如何恢复master数据库

ASE can't setup and has no valid dump of master 1.编辑RUN_servername在命令行最后加入:-T3607 2.单用户模式启动ASE$cd install$startserver -f RUN_servername -m 3.bcp out系统表$bcp master..sysdevices out /directory.spec/devs -Usa -P -c$bcp master..sysdatabases out /directory

用ADO管理SQL Server数据库及其设备

    微软公司的SQL Server是目前小型网络中常用的数据库管理系统之一.面向这种网络数据库的应用程序也在日益增多,这种网络数据库应用系统的正常运行,一般都依赖于已经存在的用户数据库.创建数据库的工作当然可以用SQL Server提供的SQL Enterprise Manager工具来完成,但是,如果能够提供一种定制的数据库管理工具,专门管理应用系统需要的数据库及其设备,对用户来说无疑更加理想. 现存问题 我们知道,在使用CREATE DATABASE语句创建一个数据库之前,必须存在一个有

linux设备号详解

[原文] http://blog.csdn.net/zjjyliuweijie/article/details/7001383 linux 中的设备有2种类型:字符设备(无缓冲且只能顺序存取).块设备(有缓冲且可以随机存取).每个字符设备和块设备都必须有主.次设备号,主设备号相同的设 备是同类设备(使用同一个驱动程序).这些设备中,有些设备是对实际存在的物理硬件的抽象,而有些设备则是内核自身提供的功能(不依赖于特定的物理硬件,又称为"虚拟设备").每个设备在 /dev 目录下都有一个对

vs2005 移植到 VS2003

问题描述 各位.NET&&c#大神们:公司现在有一个项目,原来是用VS2003写的程序,在WINCE的设备上能运行,现在我们做开发用的是VS2005,将写好的程序移植到设备上后提示:thisapplicationrequiresanewerversionoftheMicrosoft.NETCompactFrameworkthantheversioninstalledonthisdevice然后我就把.NET2.0的架构在设备上安装一下,原来的设备上是NET1.0的架构,现在装上NET2.0