SYBASE8 (543028), страница 7
Текст из файла (страница 7)
в системе UNIX:
buildmaster -d/dev/rsdlf -s8704 -m
в системе VMS:
buildmaster /disk=dua0:[devices, master]d_master.dat
/size=8704/master
Чтобы перезапустить SQL-сервер в режиме одного пользователя, необходимо выполнить команду:
в системе UNIX:
startserver -f <имя сервера> -m
в системе VMS:
startserver / server=<имя сервера>/masterrecover
Если в распечатке таблицы sysusages, сделанной до запуска buildmaster, есть только одна запись для dbid 1, то ваша БД master не менялась и делать на этом шаге ничего не нужно. Если записей для dbid 1 больше одной, то необходимо увеличить размер БД master. В самых простых случаях увеличение БД master осуществляется командой alter database.
Для того, чтобы проверить имя в сети вашего сервера, необходимо сделать запрос:
select * from sysservers
where srvname="SYB_BACKUP"
Если в отчете по этому запросу значение поля srvnetname совпадает с именем вашего сервера дампирования, то переходите к следующему шагу. А если эти имена не совпадают, то необходимо обновить таблицу sysservers. Например, назначить имя серверу дампирования PRODUCTION_BSRV:
begin transaction
update sysserver set srvnetname="PRODUCTION_BSRV"
where srvname="SYB_BACKUP"
Если обновление выполнилось правильно (должна обновиться только одна запись), то выдать команду commit transaction.
Далее, командой showserver необходимо убедиться, что сервер дампирования запущен. Если он не запущен, то запустить его надо командой startserver.
Теперь выполняется восстановление БД master с дампа, например:
в системе UNIX:
load database master from "/dev/nrmt4"
в системе VMS:
load database master from "MTA0:"
После выполнения восстановления SQL-сервер автоматически отключается и его нужно снова запустить в режиме одного пользователя для проверки таблиц sysusages, sysdatabases и sysdevices.
Если в распечатке есть диски, которых нет в восстановленной таблице sysdevices, то необходимо добавить соответствующие диски и запустить команды disk reinit и disk refit. Если в распечатке есть БД, которых нет в восстановленной таблице sysdatabases, то необходимо добавить соответствующие БД и выполнить команду disk refit.
После этого проверяется целостность SQL-сервера. Если восстанавливалась только БД master, то не нужно восстанавливать БД model. Если восстанавливается полностью диск master, то необходимо восстановить БД model с дампа. Если у вас нет дампа, то необходимо:
1) запустить скрипт installmodel:
в системе UNIX:
cd $SYBASE/scripts
setenv DSQUERY <имя сервера>
isql -Usa -P<пароль> -S<имя сервера> в системе VMS: set default sybase_system:[sybase.scripts] define dsquery <имя сервера> isql/user="sa"/password="<пароль>" /input=installmodel 2) переделать все изменения, выполненные в БД model. Если на диске master есть пользовательские БД, то их тоже необходимо восстановить. Далее сравнить распечатку таблицы syslogins и восстановленную таблицу syslogins. Если есть различия, то нужно воспользоваться процедурами sp_addlogin, sp_droplogin, sp_locklogin и sp_modifylogin для ликвидации всех различий. И, наконец, необходимо перезапустить SQL-сервер в режиме многих пользователей и снять дамп с БД master. Восстановление БД sybsystemprocs Если у вас есть дампы БД sybsystemprocs, то восстановление этой БД выполняется командой load database, а если нет дампов, то - с помощью installmaster. Восстановление с помощью installmaster осуществляется за пять шагов: 1) выяснить имя диска, на котором расположена эта БД; это можно сделать двумя способами: - с помощью процедуры sp_helpdb; - с помощью следующего запроса: select sysdevices.name, sysusages.size/512 from sysdevices, sysdatabases, sysusages where sysdatabases.name="sybsystemprocs" and sysdatabases.dbid=sysusages.dbid and sysdevices.low <=sysusages.size+vstart and sysdevices.high>=sysusages.size+vstart-1 2) уничтожить БД: drop database sybsystemprocs. Если диск БД вышел из строя физически, то необходимо сделать новый диск, т.е. воспользоваться sp_dropdevice и disk init. 3) пересоздать БД, например: create database sybsystemprocs on sprocdev=10 4) запустить скрипт installmaster. В системе UNIX: cd $SYBASE/scripts setenv DSQUERY <имя сервера> isql -Usa -P<пароль> -S<имя сервера> В системе VMS: set default sybase_system:[sybase.scripts] define dsquery <имя сервера> isql/user="sa"/password="<пароль>"/input=installmaster 5) переделать все изменения, которые вы вносили в БД sybsystemprocs.















