- 论坛徽章:
- 0
|
回复 2楼 trytodoit 的帖子
本篇还没有讲如何恢复MASTER,不过将在后面我的自学日记连载中登出!网上也能找到相关文章!
对于没有master备份的情况下的修复
1、编辑RUN_servername
在命令行最后加入:-T3607
2、单用户模式启动ASE
$cd install
$startserver -f RUN_servername -m
3、bcp out系统表
$bcp master..sysdevices out /sybase/wh/devs -Usa -P -c
$bcp master..sysdatabases out /sybase/wh/dbs -Usa -P -c
$bcp master..sysusages out /sybase/wh/usages -Usa -P -c
$bcp master..syslogins out /sybase/wh/logins -Usa -P -c
$bcp master..sysconfigures out /sybase/wh/configures -Usa -P -c
$bcp master..syscharsets out /sybase/wh/charsets -Usa -P -c
4、shutdownASE
5、创建新master设备
$buildmaster -d<path_to_new_master_device> -s<new_master_device_size>
(new_master_device_size以2K为单位)
6、编辑RUN_servername
将指定master设备指定为新创建的master设备,并删除在第1步中增加的参数。
7、删除/sybase/wh/dbs、/sybase/wh/usages(dbid=1,2,3)文件中有关master、tempdb、model的内容。
8、单用户模式启动ASE
$cd install
$startserver -f RUN_servername -m
9、 bcp in系统表(注意,如果bcp out的文件删除不干净,bcp in的时候可能会有错误,没有关系。)
$ bcp master..sysdevices in /sybase/wh/devs -Usa -P -b 1 -c
$bcp master..sysdatabases in /sybase/wh/dbs -Usa -P -b 1 -c
$bcp master..sysusages in /sybase/wh/usages -Usa -P -b 1 -c
$bcp master..syslogins in /sybase/wh/logins -Usa -P -b 1 -c
$bcp master..sysconfigures in /sybase/wh/configures -Usa -P -b 1 -c
$bcp master..syscharsets in /sybase/wh/charsets -Usa -P -b 1 -c
10、重启ASE
此时的数据库基本可以操作了,但存储过程不可用。
11、执行installmaster脚本
$isql -Usa -P –n –i $SYBASE/scripts/installmaster
数据库此时正常。
二、对于有master备份的情况下的修复
(一)、master库有最新的备份(此备份后没有做过系统更新,比如增减设备,增减库,
增减用户等),此情况下,直接load master的最新备份即可。
(二)、master没有最新的备份(此备份后做过系统更新)
1、恢复最近的备份。
2、恢复sysdevices,sysdatabases,sysuages,syslogins, sysconfigures, syscharsets中不一
致的内容(前题是这些系统表有最新的备份)
3、重新启动ASE
4、正常
[ 本帖最后由 backwang 于 2006-8-11 15:43 编辑 ] |
|