Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

Помогите разобраться с холодным бекапом. : Супермаг Плюс (Супермаг 2000)

03.05.2024 6:59


18.09.2006 11:28
redshadow
 
Суть проблемы в следующем. 4 года стоит см2000. Каждую ночь делается холодный бекап базы, немного доработаным батником. запускается он планировщиком Ncron ежедневно в 2.00. Так вот последнее время все чаще стали возникать ситуации, когда база с утра не стартует, а батник зависает на копировании уже на мою машину Astra user01.dbf Делаю ребут все автоматом как часики стартует. у системы в этот момент полно ресурсов. бывает два дня подряд такая ситуация бывает 10 дне работает без сбоев. Сервер, мой комп, и хаб между ними висят на упесе.
Записи alterloga ----
Shutting down instance (immediate)
License high water mark = 23
Sun Sep 17 02:11:10 2006
ALTER DATABASE CLOSE NORMAL
Sun Sep 17 02:11:10 2006
SMON: disabling tx recovery
SMON: disabling cache recovery
Sun Sep 17 02:11:10 2006
Thread 1 closed at log sequence 194278
Sun Sep 17 02:11:10 2006
Completed: ALTER DATABASE CLOSE NORMAL
Sun Sep 17 02:11:10 2006
ALTER DATABASE DISMOUNT
Completed: ALTER DATABASE DISMOUNT
archiving is disabled
----------------------------
Запись эвен лога.
Деактивизирована БД dbmagis.
Время: 2:11:10
Shutdown normal performed on instance dbmagis.
Время 2:11:14
All process in instance dbmagis stopped
Далее.
Время 2:11:15
Instance dbmagis has been terminated.
---------------------------
Т.е. делаю вывод, что база остановилась и с утра не попыталась даже стартовать.
Проверял сервер, память сеть, место на моей машине все вобщем в норме. По этому прошу помощи, если кто сталкивался. И у меня вопрос есть-ли у кого батник или может программа которая проверяет запущена-ли база, и сервер см с кассовым модулем и в случает отрицательного ответа стартует их? Такую проверку я бы делал в 9 утра планировщиком чтобы временно проблему локализовать.
Ниже привожу батник. (Немного доработаный мной). Либо в нем беда, либо сеть.
@echo off
ECHO Старт резервного копирования
rem Установка вывода сообщений Оракла на английском
set nls_lang=american_america.cl8mswin1251
rem Остановка Сервера Супермага и сопутствующих
net stop "Кассовый сервер Супермага"
net stop "Сервер Супермага"
rem Создание скрипта на останов базы -----------------
rem подключение к базе, как internal, с паролем qqq
echo connect internal/qqq@DBMAGIS > db_shut.sql
echo shutdown immediate >> db_shut.sql
echo exit >> db_shut.sql
rem Завершение создания скрипта на опускание базы ------
rem Выполнение и убиение скрипта
svrmgrl.exe @db_shut.sql
del db_shut.sql
rem Вывод даты/времени
date /t
time /t
rem Остановка сервиса базы
net stop "OracleServiceDBMAGIS"
rem Создание бэкап-директории, если ее нет (проверки нет)
md z:\backup\tmp
rem Вывод даты/времени
date /t
time /t
@echo Копирование файлов базы данных
copy d:\oracle\oradata\dbmagis\*.* d:\backup /y
copy c:\oracle\admin\DBMAGIS\pfile\*.* z:\backup\tmp /y
copy D:\oracle\oradata\DBMAGIS\*.* z:\backup\tmp /y
copy c:\oracle\ora81\network\ADMIN\ z:\backup\tmp /y
copy c:\oracle\ora81\DATABASE\PWDdbmagis.ORA z:\backup\tmp /y
rem Вывод даты/времени
date /t
time /t
echo Запуск базы
net start "OracleServiceDBMAGIS"
rem Создание скрипта на подъем базы -----------------
rem подключение к базе, как internal, с паролем qqq
echo connect internal/qqq@DBMAGIS > db_shut.sql
echo startup >> db_shut.sql
echo exit >> db_shut.sql
rem Завершение создания скрипта на подъем базы ------
rem Выполнение и убиение скрипта
svrmgrl.exe @db_shut.sql
del db_shut.sql
rem Вывод даты/времени
date /t
time /t
echo Запуск сервисов
net start "Сервер Супермага"
net start "Кассовый сервер Супермага"
rem Вывод даты/времени
date /t
time /t
echo Архивирование базы
RAR a z:\BACKUP\base z:\backup\tmp\*.* -ep -ri1 -m5 -s -agYYYYMMDD rem rd z:\backup\tmp /Q /S
rem Вывод даты/времени
date /t
time /t
echo Завершение работы
-------------------
Z сетевой путь моей машины.
Вот такая вот беда.
18.09.2006 11:30
redshadow
 
Повисает вот здесь
copy c:\oracle\ora81\network\ADMIN\ z:\backup\tmp /y
18.09.2006 11:42
redshadow
 
Поясню немного мне нужно два бекапа, один на сервере непосредственно и один в архиве на моей машине на случай падения сервера. такой вот двойной контроль.
18.09.2006 12:06
akonev
 
По моему, первое, что надо сделать - убрать копирование с локального диска на сетевой.
Копировать локально - и сразу можно стартовать базу

Результат первого копирования архивировать локально же. А уже то, что получится - кидать на Z

Это, кстати, довольно странная идея: сначала закинуть в сеть, а потом тащить обратно архиватором *13
18.09.2006 12:19
OlegON
 
На самом деле можно твоей машиной забирать готовый архив. А так - рекомендовал бы использовать мой же бэкапер, ибо в батнике два минуса - 1) можно потерять свежедобавленный файл 2) net stop "OracleServiceDBMAGIS" может закончиться неостановленным сервисом и ты долго будешь собирать битые бэкапы, не подозревая об этом.
18.09.2006 12:33
redshadow
 
Учту щас попробую Ваш бекапер поставить. А все же по поводу теста базы существует-ли утилитка или батник которая может проверить запущена ли база и сервисы супермага и в случае если нет запустить их?
18.09.2006 12:45
OlegON
 
Думаю, если нужно их именно запустить, то тот же net start спасет. Если база уже запущена, то ничего страшного, если его запустить, не произойдет. Он просто отвалится с сообщением, что сервис запущен. Можно просто связать их в зависимости в сервисах, но тут уже подумав подойти надо. Я бы например в зависимость от сервера СМ поставил бы все остальные сервисы. А в зависимость от базы и листенера - сервер СМ.
Кстати, там же можно настроить, чтобы при падении сервисы СМ перезапускались.
18.09.2006 12:50
redshadow
 
Такой батник я как раз щас вот дописал, что бы базу и сервисы запускал. А по поводу зависимости и перезапуска, дело как раз в том что они не виснут они корректно останавливаются и ждут запуска редиски :( Просто запуска нету а батник я щас повешу чтобы по выходным хоть не вызывали.
18.09.2006 12:57
OlegON
 
Немножко не в тему, но я раз в час, например, соединение с инетом, Апач, MySQL и прокси таким образом долблю. Не мешает, а от проблем с неожиданным падением по какой-то непредусмотренной причине спасает на ура. Именно на net start. Можешь и базу с листенером туда же воткнуть (лучше с добавкой из скрипта на команды startup;alter database open;recover;alter database open;), только учти, чтобы она не запустилась, когда ты бэкап делаешь. Если сделаешь - выложи тут, может кому-то еще понадобится, а заодно ошибки посмотрим.
18.09.2006 13:10
redshadow
 
Вот такой вот скрипт надо проверить конечно на кошках щас вот думаю поднять демо базу и потестить. Я мудрсотвовать лукаво не стал и просто взял концовку из архивирующего смдшника.

--------------------------------------------------
net start "OracleServiceDBMAGIS"
net start "Сервер Супермага"
net start "Кассовый сервер Супермага"

В принципе если база живая, должно стартовать. С командами оракла не очень знаком может дописать, что посоветуете?
Часовой пояс GMT +3, время: 06:59.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.