如何移植master设备


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

请注意,在执行buildmaster之前,要停止SQL Server的应用。

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

  1. 对master库做dbcc检查,并后备master库。
  2. 执行select * from table_name命令,并保留其输出内容。其中,table_name包括:sysdevices、sysusages、sysdatabases。同样,可以使用bcp命令来实现。
  3. 执行sp_configure命令,并保留其输出内容。
  4. 拷贝$SYBASE/server_name.cfg文件,以做保留。
  5. Shut down SQL/ASE Server。
  6. 执行以下命令,创建一个新的master设备:

UNIX:buildmaster -d

 1<master_device> -ssize   
 2  
 3VMS:buildmaster /disk=<master_device> /size=size   
 4  
 5(size以页为单位,1页=2K) 
 6  7. 编辑RUN_server_name文件,-d(UNIX)或/device(VMS)参数指向新建的设   
 7  
 8备名。 
 9  8. 单用户模式启动SQL/ASE Server:   
10  
11UNIX:startserver -f RUN_sever_name -m   
12  
13VMS:startserver /server=server_name /masterrecover 
14  9. 执行select * from sysdevices命令,并保留其输出内容。 
15  10. 确认新建的sysusages系统表中每一行内容与旧的sysusages系统表内容相符,而且在配置好Server之后,没有做过alter database,那么系统表sysusages的内容是正确的。如果做过alter database,则要按原来的顺序执行这些脚本,如果没有脚本,就要到保存的sysusages系统表的信息中找到alter database的参数。 
16  11. Shutdown SQL/ASE Server,并用单用户模式启动Server,查看sysusages系统表内容是否正确。 
17  12. 如果所配置的Backup Server名称不是SYB_BACKUP,则要执行:   
18  
191&gt; sp_configure "allow updates",1   
20  
212&gt; go   
22  
231&gt; update sysservers set srvnetname="name in interfaces file"   
24  
25where srvname="SYB_BACKUP"   
26  
272&gt; go 
28  13. 装载master库。如果新master设备的大小与旧设备大小不同,则Server会Shut down。请注意新的系统表将会被重写,而且你需要调整Sysdevices系统表中master设备的大小。请执行以下两步: 
29  14. 用单用户模式启动Server. 
30  15. 如果新设备大小与旧设备大小不同,请执行:   
31  
321&gt; sp_configure "allow updates",1   
33  
342&gt; go   
35  
361&gt; update sysdevices set high=nnnn where name="master"   
37  
382&gt; go   
39  
40其中nnnn是以页(2K)为单位的master设备的大小,此值可以从保留的sysdevices系统表的信息中找到。如果所建的设备比旧设备大,请执行:1)创建一个与master设备差不多大的数据库,这样做的目的是重新初始化分配页,使得整个master设备可用。2)删除这个数据库。 
41  16. 重启Server。 
42  17. 后备master数据库。 
43
44
45
46注意: 
47
48  1. 在装载master库之前要确定SQL Server此时的字符集和语言模块与后备master库时的字符集和语言模块相同。 
49  2. 在执行此任务之前和完成以后使用sp_helpsort查看字符集与语言模块是否相同。 
50
51(</master_device></master_device>
Published At
Categories with 数据库类
Tagged with
comments powered by Disqus