转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> SyBase >> 正文
SYBASE 使用技巧集锦 FAQ by 杨冶军(5)         ★★★★

SYBASE 使用技巧集锦 FAQ by 杨冶军(5)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:705 更新时间:2009/4/22 23:09:12
Q.如何做Rebuild Master(没有后备master库,而使用命令disk reinit,disk refit)?

A.提示1:

如果有可能,在执行这个任务之前,请先做操作系统级SYBASE DEVICES的后备。UNIX操作系统可使用命
令"dd"。因为如果disk reinit使用了错误的信息,那么,在执行了disk refit之后就会产生无法弥补的
错误。倘若,存在一个SYBASE DEVICES的后备文件,将会给我们一个弥补的机会。例如:当disk reinit
使用了过小的size值,我们还可以重新恢复SYBASE DEVICES文件,重新做disk reint、disk refit。

提示2:

在使用disk reinit命令时,将覆盖SYBASE DEVICE(请参照以下语法),安全的做法是size值使用裸分
区或系统文件的大小的最大值。如果使用的是UNIX裸分区,即使你不能确认SYBASE DEVICE最初大小是不
是最大值,都要使用裸分区大小的最大值。

步骤:

.获得将要被恢复的SYBASE DEVICE的信息。
这些信息被用来重建sysdevices,sysusages以及sysdatabases。
.从error log的server启动信息中获得SYBASE DEVICE的设备名、指定路径。
.使用裸分区或系统文件的大小的最大值作为SYBASE DEVICE的
大小。
.以上信息也可以通过最近的sysdevices系统表的内容来获得。如果
对此信息怀有疑问,还是使用以上的方法比较稳妥。
.做操作系统级的SYBASE DEVICE后备。UNIX操作系统,使用"dd"命令实现。
.配置一个新的ASE Server。在以后的步骤中会用到这个新的master。
.如果需要,请再配置一个Backup Server。
.用单用户模式启动Server。
.运行disk reinit,用来重建sysdevices系统表,而没有重新初始化SYBASE DEVICE。
语法如下:
disk reinit
name="device_name",
physname="physical_name",
vdevno=virtual_device_number,
size=number_of_blocks
完成后,请查看error log。
.确认重建的sysdevices系统表中信息正确:
——select * from sysdevices
比较表中的信息是否与error log或者保留的sysdevices中的信息相同。
.运行disk refit,用来重建sysdevices以及sysdatabases。
用法如下:
use master
go
disk refit
go
查看error log中是否有错误提示。
.当disk refit完成后,会自动shut down ASE Server。
.确认重建的系统表的信息是否正确:
——单用户模式启动ASE Server
——select * from sysusages、select * from sysdatabases
——sysusages系统表看起来是否正确?可以和以前保留的的信息进行比较。如果没有这种可能,那么应该
保证不出现显而易见的错误。例如:是否缺少dbid;是否缺行;是否对于一个数据库来说只有segmap=4(表
示为日志行)的行等等。
——sysdatabases系统表看起来是否正确?是不是没有显而易见的错误?
11、 启动ASE Server,查看是否所有的数据库都已经正常恢复。
.对所有的库做dbcc检查。
.对所有库做后备。


Q.如何移植master设备?

A.以下步骤说明了如何将master设备移植到不同的磁盘上。请注意,在执行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 -ssize
VMS:buildmaster /disk= /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查看字符集与语言模块是否相同。


[办公软件]SYBASE数据库用户管理基本概念  [办公软件]关于SYBASE的自动启动
[办公软件]SYBASE事务  [办公软件]SYBASE dbcc
[聊天工具]sygate的FAQ大全  [聊天工具]TOM-Skype使用技巧与FAQ
[系统软件]交叉编译sshd for IXP425 ARM  Platform by MVL 3…  [常用软件]office2000FAQ(三)
[C语言系列]SQL Server到SYBASE连接服务器的实现  [Delphi程序]报表处理组件 BY DELPHI
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台