Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Konstantin Tokar                     2:5020/400     25 Nov 2004  17:41:27
 To : Ven
 Subject : Re: DBD::Oracle - отследить разрыв соединения с сервером
 -------------------------------------------------------------------------------- 
 
 Ven wrote:
 
 > Hi, All !
 > 
 > Есть скрипт на перле, который постоянно (в бесконечном цикле) обращается
 > к базе данных Oracle (DBD:Oracle) и при необходимости производит некоторые 
 > действия. В настоящее время и скрипт и база крутятся на одном компе и 
 > проблемм с
 > пропаданием соединения с базой нет. Появилась необходимость установить этот
 > скрипт на другом сервере, каналы между ними могут иногда (очень редко) 
 > пропадать.
 > Как мне "кошерно" определить в скрипте, что коннект с базой утерян, а самое
 > главное - как его восстановить. То есть что коннект утерян я вижу из ошибок
 > обращения к базе в очередном цикле, но мои попытки заново произвести коннект
 > к базе привели к Segmentation fault. Вот я и задумался, может быть есть 
 > какая-то
 > стандартная процедура для таких случаев ?
 > Если это важно OS - Linux, Oracle 8.1.7, perl 5.6 (на новом серваке будет 
 > что-то из более
 > новых версий, пока тестирую на старом периодически прибивая серверный 
 > процесс Оракла, по которому работает скрипт).
 > 
 > С Уважением, Сергей 
 > 
 > 
 
 Есть $dbh->ping() .
 
 В программе ниже выполняется опрос оракла каждую секунду, и при 
 пропадании связи (я перезапускал оракл) восстанавливается. 
 
 $dbh->disconnect() скорее всего не нужен, но может быть, полезно сделать 
 
 undef $dbh.
 
 #!perl -w
 use strict;
 use db_connect;
 
 my $dbh = db_connect;
 
 while(){
   $|=1;   
   print STDERR '.';
   unless($dbh->ping()){
    warn("Disconnect...");
    eval {
            $dbh->disconnect;
    };
    warn($@) if $@;
    eval {
       $dbh = db_connect;
    };
    warn($@) if $@;
   }
   sleep(1);
 }
 
 --- ifmail v.2.15dev5.3
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 DBD::Oracle - отследить разрыв соединения с сервером   Ven   25 Nov 2004 17:32:45 
 Re: DBD::Oracle - отследить разрыв соединения с сервером   Konstantin Tokar   25 Nov 2004 17:41:27 
 Re: DBD::Oracle - отследить разрыв соединения с сервером   Ven   26 Nov 2004 10:49:59 
 Re: DBD::Oracle - отследить разрыв соединения с сервером   Ven   26 Nov 2004 12:36:31 
Архивное /ru.perl/6577baa0cdc8.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional