[ОТВЕТИТЬ]
Опции темы
13.11.2008 05:02  
Vovantus
Пока сидел на 8, перед перезагрузкой сервака запускал скрипт, следующего содержания (кусочек скрипта):
Цитата:
echo connect internal/qqq@BASE > db_shut.sql
echo shutdown immediate >> db_shut.sql
echo exit >> db_shut.sql
svrmgrl.exe @db_shut.sql
del db_shut.sql
На 9i этот скрипт не работает, как я понял, из-за отсутствия svrmgrl.exe. Вопрос. Для остановки базы на 9i нужно переводить её в состояние shutdown через скрипт, или в процессе выключения сервака, при остановке сервиса базы, он сам всё ПРАВИЛЬНО зделает.
 
13.11.2008 07:52  
OlegON
Не только из-за svrmgrl, но и потому, что internal в 9ке нет. Насчет остановки перед ребутом есть разные мнения. Дело в том, что в виндовом сервисе, если посмотреть заложен тот самый shutdown immediate. НО, у винды есть особенность не дожидаться остановки сервисов, даже если нет killservicetimeout (не помню, как он точно пишется). И в результате потом база поднимается с восстановлением. Я предпочитаю сервак не ребутить :) Остановишь скриптом - хорошо, не остановишь - тоже не смертельно, хотя хуже.
 
13.11.2008 08:32  
Vovantus
Цитата:
Сообщение от OlegON
Я предпочитаю сервак не ребутить :)
Я тоже. Но в силу разных обстоятельств иногда приходится сервак перезагружать.
Цитата:
Сообщение от OlegON
Остановишь скриптом - хорошо, не остановишь - тоже не смертельно, хотя хуже.
Мона пример скрипта?
З.Ы. У меня сейчас реализована следующая схема. В момент выключения/перезагрузки сервака, ОС сначало в вежливой форме "просит" сервисы прекратить работу (выделяя на это определённое время). Именно в этот момент происходит перехват управления и сервак не будет выключен/перезагружен, пока не будут остановлены важные сервисы.
 
13.11.2008 12:23  
baggio
oradim -shutdown -sid имябазы
 
13.11.2008 14:39  
OlegON
Цитата:
Сообщение от baggio
oradim -shutdown -sid имябазы
Это тоже самое, что net stop OracleService... Там ключ вроде shuttype, надо его переключить в inst, чтобы инстанс гасил.
 
13.11.2008 15:31  
baggio
токо шо... попробывал...
Код:
Shutting down instance: further logons disabled
Shutting down instance (immediate)
License high water mark = 1
Thu Nov 13 15:20:12 2008
alter database close normal 
Thu Nov 13 15:20:12 2008
SMON: disabling tx recovery
SMON: disabling cache recovery
Thu Nov 13 15:20:12 2008
Shutting down archive processes
Archiving is disabled
Archive process shutdown avoided: 0 active
Thread 1 closed at log sequence 84
Successful close of redo thread 1
Thu Nov 13 15:20:13 2008
Completed: alter database close normal
Thu Nov 13 15:20:13 2008
alter database dismount
Completed: alter database dismount
ARCH: Archiving is disabled
Shutting down archive processes
Archiving is disabled
Archive process shutdown avoided: 0 active
ARCH: Archiving is disabled
Shutting down archive processes
Archiving is disabled
Archive process shutdown avoided: 0 active
сервис закрылся...
Completed: alter database close normal
имхо я думаю это лучше и быстрее чем иммедиэйт..
но на всякий...
oradim -shutdown -shuttype inst -sid имябазы
oradim -startup -STARTTYPE inst -sid имябазы
 
14.11.2008 09:34  
OlegON
Дык я о чем говорю :) Что тебе повезло, сервис закрылся. А есть случаи, когда он не закрывается, например, когда какой-то джоб активизировался сильно или просто активность в базе высокая. "Вай", говорит винда и делает контрольный в голову. А база потом восстанавливается. Не так, чтобы смертельно, но неприятно и иногда заставляет юзера падать в обморок при надписи "media needs recovery", поверь, я видел это уже много раз. А скриптом останавливать - он однозначно положит базу корректно. Еще причина, по которой я не пользуюсь oradim - это сугубо виндовая утилита.
Что и чем лучше, чем immediate я не понял...
 
14.11.2008 10:34  
Vovantus
Цитата:
Сообщение от OlegON
А скриптом останавливать - он однозначно положит базу корректно.
Поделись кодом скрипта, пожалуйста, сам я не осилю
 
14.11.2008 12:49  
deucel
Цитата:
Сообщение от Vovantus
Поделись кодом скрипта, пожалуйста, сам я не осилю
Сделай батник в ДОСовой кодировке

Код:
net stop "Модуль контроля цен"
net stop "Кассовый модуль Супермага"
net stop "Почтовый сервер Супермага"
net stop "Сервер Супермага"
set nls_lang=russian_cis.ru8pc866
echo connect sys/qqq as sysdba > db_shut.sql
echo shutdown immediate >> db_shut.sql
echo exit >> db_shut.sql
sqlplus.exe /nolog @db_shut.sql
del db_shut.sql
net stop "OracleServiceBaseName"

Выключение компьютера - если нужно.
shutdown /s /d p:1:1
 
 
Опции темы



Часовой пояс GMT +3, время: 05:30.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.