Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как проверить работает ли сервер Oracle в сети [D7, WinXP]


Andron.Ru ©   (2005-12-13 14:09:00) 

Как проверить работает ли сервер Oracle, в локальной сети.. Или подскажите кто знает как обработать Oracle-вскую ошибку при коннекте к серверу, я все испробывал, нифига не подключается... Можно на примере работы с компонентами ODAC
???????????? ПОЖАЛУЙСТА ???????????????


evvcom   (2005-12-13 16:32:00) [1]


> В параметре указывается имя записи.
> Из этой же записи берется

Если указывается запись, то все понятно откуда и что может браться. С этим я не спорю. Но на это

C:\>tnsping 172.16.2.134

TNS Ping Utility for 32-bit Windows: Version 8.1.7.0.0 - Production on 13-DEC-20
05 16:02:32

(c) Copyright 1997 Oracle Corporation.  All rights reserved.

Attempting to contact (ADDRESS=(PROTOCOL=TCP)(HOST=172.16.2.134)(PORT=1521))
OK (0 msec)

мне ж сервер ответил. Значит IP тоже его устраивает. Или я что-то не так понимаю?


Reindeer Moss Eater   (2005-12-13 16:14:00) [2]

В параметре указывается имя записи.
Из этой же записи берется адрес или IP сервера.
Еще оттуда берется SID инстанса.
Если изменить SID на неправильный, то tnsping сообщить об ошибке.

Итого: tnsping приблизительно отвечает на вопрос "работает ли БД"


evvcom   (2005-12-13 16:09:00) [3]


> параметром тнспинга является не IP, а имя записи в tnsnames.ora

наверное, все-таки здесь уместно "ИЛИ". Только что проверил по IP и по имени записи. Ответ получен в обоих случаях, но по IP пишет "OK (0 msec)", а по имени 10 или 20 msec. Когда писал [12], тоже проверял, но не учел, что в том моем тесте имя записи совпадало с сетевым именем сервера, поэтому решил, что просто поработал DNS, и обращение было в результате по IP.


Reindeer Moss Eater   (2005-12-13 15:39:00) [4]

параметром тнспинга является не IP, а имя записи в tnsnames.ora
На одном хосте может быть несколько инстансов и листенеров.
а tnsping проверяет конкретный.


evvcom   (2005-12-13 15:33:00) [5]


> Листенер связан с конкретным инстансом.

Я не силен в администрировании Оракла, но тем не менее. А если запущено 2 инстанса? И если листенер связан, то почему в командной строке tnsping присутствует IP, но не присутствует какое бы ни было имя БД или сервиса? Что-то не вяжется.


Reindeer Moss Eater   (2005-12-13 15:19:00) [6]

>tnsping определяет активен ли листенер

Не только. Листенер связан с конкретным инстансом. А инстанс это и есть воплощение БД в Оракле.


Erik1   (2005-12-13 15:15:00) [7]

tnsping определяет активен ли листенер, но достаточно попробовать подключится к базе.
try
Database.Connection := True;
exception
 обрабатывай как хочется.
end;


evvcom   (2005-12-13 15:10:00) [8]

Я сначала тоже не особо понял, что ему надо. Часто очень то, что хотел спросить автор выражают глаголами "работает", "запущен" и т.п. Я и сам не знаю, как это правильно выразить, грамотно и без сленга. Потому проинтуичил и упомянул про сервис. Если сервис остановлен, то к базе хоть лоб разбей, а не подцепишься, т.е. "БД не работает" :)
2 автор: посмотри на сервере, если он виндовый, сервисы OracleListener и Oracle<YourDBName> (как-то так они называются) работают?


Reindeer Moss Eater   (2005-12-13 15:07:00) [9]

Еще одна иллюстрация бессмысленности вопроса "работает ли БД?"


Desdechado   (2005-12-13 15:02:00) [10]

> БД не работает. Она существует или не существует.
Вообще-то, она может существовать, но быть в состоянии SHUTDOWN


Reindeer Moss Eater   (2005-12-13 14:38:00) [11]

И что из этого? Из этого как-то следует, что вопрос "работает ли БД?" имеет смысл?


evvcom   (2005-12-13 14:36:00) [12]


> БД не работает. Она существует или не существует.

И тем не менее база может "существовать", а сервис остановлен (это для винды, не знаю, как в *никсах).


Reindeer Moss Eater   (2005-12-13 14:26:00) [13]

а вот как проверить работает ли сама БД..
<Цитата>

БД не работает. Она существует или не существует.


Andron.Ru   (2005-12-13 14:23:00) [14]

Пропинговать сервак можно, а вот как проверить работает ли сама БД..


evvcom   (2005-12-13 14:23:00) [15]


> кто знает как обработать Oracle-вскую ошибку при коннекте
> к серверу

Там много разных ошибок может быть, и каждую можно обработать несколькими способами.

> нифига не подключается

И не подключится, если возникает ошибка, как не обрабатывай.


Reindeer Moss Eater   (2005-12-13 14:13:00) [16]

tnsping <имя хоста>


Наверх

Титульная страница Поиск, карта сайта Написать письмо