29.09.2014 16:33
alicedr
 
Цитата:
OlegON Перед остановкой сервиса делайте в sqlplus команду shutdown immediate, в Windows сервис не бесконечно останавливается, а вот ждать завершения shutdown immediate можно достаточно долго.
И я повторюсь.
Предлагаю и стартовать так же вручную плюсом. Кстати, какой-нибудь гадости, вроде домена, нет?
Зачем пользоваться спортивным велосипедом по бездорожью, если есть специально созданный для этого горный велосипед?
Специально для пользователей Виндоус Оракл создала утилиту, которой рекомендует пользоваться и которой я пользуюсь:
<тут я сначала добавила ссылку на оракл, где подробное описание, но получила нарушение правил форума>
Код:
Before you create the database, first create a Windows service to run the database. This service is the Oracle Database process,
 oracle.exe, installed in the form of a Windows service.

Use ORADIM to create the service. After it has been created, the service starts automatically.
...
To use ORADIM to start an instance and services, enter

oradim -STARTUP -SID SID | -ASMSID SID [-SYSPWD password] [-STARTTYPE srvc | 
inst | srvc,inst] [-PFILE filename | -SPFILE]
...
To use ORADIM to stop an instance, enter:

oradim -SHUTDOWN -SID SID | -ASMSID SID [-SYSPWD password] 
[-SHUTTYPE srvc | inst | srvc,inst] [-SHUTMODE normal | immediate | abort]
И еще раз, если внимательно посмотреть на лог орадима, то становится ясно, что при останове как раз и используется shutdown immediate:
Код:
Fri Sep 26 02:07:17 2014
c:\SM2000\oraSRV11203\bin\oradim.exe -shutdown -sid DBNAME -usrpwd * -shutmode immediate -log oradim.log 

Fri Sep 26 02:15:57 2014
c:\SM2000\oraSRV11203\bin\oradim.exe -startup -sid DBNAME -usrpwd *  -log oradim.log -nocheck 0 
Fri Sep 26 02:16:08 2014
ORA-01017: invalid username/password; logon denied


Fri Sep 26 09:05:38 2014
c:\SM2000\oraSRV11203\bin\oradim.exe -shutdown -sid DBNAME -usrpwd * -shutmode immediate -log oradim.log 
Fri Sep 26 09:05:42 2014
ORA-01507: database not mounted


Fri Sep 26 09:05:54 2014
c:\SM2000\oraSRV11203\bin\oradim.exe -startup -sid DBNAME -usrpwd *  -log oradim.log -nocheck 0
29.09.2014 17:35
bayan
 
Предполагаю следующее: oradim пытается сделать shutdown immediate, отваливается по таймауту (в реестре смотрите значение, дефолтное если я правильно помню 90) и просто стопает сервис. Мозги в итоге иногда не чистятся (нужна перезагрузка). Когда сервис поднимается база не стартует по причине ORA-27101 ну или чего то подобного. Поэтому вам говорят - гасите БД из sqlplus, который В ЛЮБОМ СЛУЧАЕ дождётся корректного закрытия.
Что такое "база залипает" я, например, не понял, привели бы пару примеров с клиента хотя бы.
29.09.2014 18:30
OlegON
 
alicedr, ну что ж такое-то :) зачем спорить, если у меня получается, а у тебя - нет?
намешано теплого с мягким страшно. начать бы даже с названием убогих костылей горным велосипедом. Oracle на Windows работает, я считаю, для галочки. Нормальные сервера на Windows никто не заводит. И чтобы идиотские виндосервисы как-то поддержать, написан костыль по имени oradim. Этот костыль используется и при остановке просто сервисом, настройки для остановки сервиса есть в реестре. Гадать, как именно он заваливается набок неинтересно. А так - да, выше идея раскрыта. Запускать и стартовать через sqlplus. Сервис при этом можно не останавливать. А сейчас получить битый бекап очень просто.

Более правильный вариант - переход на Linux.
29.09.2014 18:42
alicedr
 
Цитата:
bayan Предполагаю следующее: oradim пытается сделать shutdown immediate, отваливается по таймауту (в реестре смотрите значение, дефолтное если я правильно помню 90) и просто стопает сервис. Мозги в итоге иногда не чистятся (нужна перезагрузка). Когда сервис поднимается база не стартует по причине ORA-27101 ну или чего то подобного. Поэтому вам говорят - гасите БД корректно из sqlplus, который В ЛЮБОМ СЛУЧАЕ дождётся корректного закрытия.
Что такое "база залипает" я, например, не понял, привели бы пару примеров с клиента хотя бы.
Цитата:
oradim пытается сделать shutdown immediate, отваливается по таймауту (в реестре смотрите значение, дефолтное если я правильно помню 90)
Неверно. 1) орадим рапортует об успехе, 2)ивентлог рапортует об успехе, 3) алертлог рапортует об успехе

Цитата:
Мозги в итоге иногда не чистятся (нужна перезагрузка).
Какие мозги???? Какая перезаргузка????

Цитата:
Когда сервис поднимается база не стартует по причине ORA-27101 ну или чего то подобного.
По причине ORA-27101 прикладное ПО может не соединиться с БД, т.к. инстанс отпраляет запросы в несуществующий SGA.
А база не стартует по причине того, что ей пароль не подходит, о чем пишет в логе того, кто ее пытается стартануть, т.е. орадима.

Цитата:
Поэтому вам говорят - гасите БД корректно из sqlplus, который В ЛЮБОМ СЛУЧАЕ дождётся корректного закрытия.
уже без комментариев. Читайте мои посты выше.

Цитата:
Что такое "база залипает" я, например, не понял, привели бы пару примеров с клиента хотя бы.
Залипает=инстанс запустился, а база-нет.
Примеры с клиента (Сведу вместе алертлог и лог орадима):
Код:
Fri Sep 26 02:07:19 2014
Shutting down instance (immediate)
(орадим оначинает стопать базу, у себя в логе пишет
Fri Sep 26 02:07:17 2014
c:\SM2000\oraSRV11203\bin\oradim.exe -shutdown -sid DBNAME -usrpwd * -shutmode immediate -log oradim.log )
...
Fri Sep 26 02:07:42 2014
Instance shutdown complete   
(орадим корректно стопает базу)
Fri Sep 26 02:15:57 2014
Starting ORACLE instance (normal) 
(орадим стартует базу:
Fri Sep 26 02:15:57 2014
c:\SM2000\oraSRV11203\bin\oradim.exe -startup -sid DBNAME -usrpwd *  -log oradim.log -nocheck 0 )
...
Fri Sep 26 02:16:08 2014
starting up 1 shared server(s) ...
ORACLE_BASE from environment = d:\DATA\supermag\DBNAME
(орадим попытался смонтировать бд, но пароль не подошел
т.е. инстанс поднялся, база-нет. В моей терминологии "сервис залип".
Fri Sep 26 02:15:57 2014
c:\SM2000\oraSRV11203\bin\oradim.exe -startup -sid DBNAME -usrpwd *  -log oradim.log -nocheck 0 
Fri Sep 26 02:16:08 2014
ORA-01017: invalid username/password; logon denied)

Fri Sep 26 09:05:39 2014
Shutting down instance (immediate)
Shutting down instance: further logons disabled
Stopping background process MMNL
Stopping background process MMON
License high water mark = 2
All dispatchers and shared servers shutdown
alter database close normal
ORA-1507 signalled during: alter database close normal...
(орадим стопает базу, предупреждает у себя в логе, что она не была смонтирована и стопнуть можно только инстанс 
Fri Sep 26 09:05:38 2014
c:\SM2000\oraSRV11203\bin\oradim.exe -shutdown -sid DBNAME -usrpwd * -shutmode immediate -log oradim.log 
Fri Sep 26 09:05:42 2014
ORA-01507: database not mounted)

Fri Sep 26 09:05:54 2014
Starting ORACLE instance (normal)
(орадим успешно стартует базу
Fri Sep 26 09:05:54 2014
c:\SM2000\oraSRV11203\bin\oradim.exe -startup -sid DBNAME -usrpwd *  -log oradim.log -nocheck 0)
Fri Sep 26 09:06:07 2014
QMNC started with pid=24, OS id=6132 
ARC3: Archival started
ARC0: STARTING ARCH PROCESSES COMPLETE
Completed: alter database open
29.09.2014 18:51
OlegON
 
Домен? Еще раз... oradim - костыль, можете верить в доку оракла сколько угодно, но есть запланированное поведение программы, а есть реальное, в реальных же условиях.
Часовой пояс GMT +3, время: 18:27.

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