powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ждать без sleep
25 сообщений из 83, страница 1 из 4
ждать без sleep
    #34591773
Muxx1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как можно ждать в функции без использования системных ресурсов, не используя функцию процедуры dbms_lock.sleep.То есть есть ли какой-то аналог этой процедуры?
Просто подключение пакета сопряжено с некоторыми трудностями.
...
Рейтинг: 0 / 0
ждать без sleep
    #34591781
db-man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
l_start := sysdate;
while sysdate - l_start <  10  /  24 / 3600  loop
  null; -- или любая операция занимающая время
end loop;
...
Рейтинг: 0 / 0
ждать без sleep
    #34591787
Muxx1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ресурсы эта штука не жрет. Это же сколько сравнений надо сделать, чтоб одну секунду прождать?
...
Рейтинг: 0 / 0
ждать без sleep
    #34591810
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Muxx1986А ресурсы эта штука не жрет. Это же сколько сравнений надо сделать, чтоб одну секунду прождать?

Ещё как жрёт!

PS. На дурацкие вопросы, можно получить только дурацкие ответы.
...
Рейтинг: 0 / 0
ждать без sleep
    #34591820
a398
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Muxx1986Просто подключение пакета сопряжено с некоторыми трудностями.
Решать их.
...
Рейтинг: 0 / 0
ждать без sleep
    #34591827
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Muxx1986не используя dbms_lock.sleep. Просто подключение пакета сопряжено с некоторыми трудностями.Лучше их преодолеть. Например, DBA может обврапить этот вызов отдельной процедурой и выдать права только на неё.
Хотя после прогона парочки прогонов токих вечных циклов он сам прибежит искать консенсус :)

Ещё под выдерживание таймаута можно приспособить dbms_pipe, utl_tcp, utl_http, ... :)
...
Рейтинг: 0 / 0
ждать без sleep
    #34591828
db-man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Muxx1986А ресурсы эта штука не жрет. Это же сколько сравнений надо сделать, чтоб одну секунду прождать?
Жрёт :)

А итераций не очень много:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
declare
  l_start date;
  cntr number;
  dummy number;
begin
  l_start := sysdate;
  cntr :=  0 ;
  while sysdate - l_start <  10  /  24 / 3600  loop
    cntr := cntr +  1 ;
  end loop;
  dbms_output.put_line('Iterations with NULL: ' || cntr);
  l_start := sysdate;
  cntr :=  0 ;
  while sysdate - l_start <  10  /  24 / 3600  loop
    dummy := sin(cos(tan(cntr)));
    cntr := cntr +  1 ;
  end loop;
  dbms_output.put_line('Iterations with OPs: ' || cntr);
end;

Iterations with NULL:  135315 
Iterations with OPs:  8023 
Для точности лучше не sysdate использовать, а dbms_utility.get_time
Еще наверняка можно на Java написать. Может кто умеет?
...
Рейтинг: 0 / 0
ждать без sleep
    #34591830
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Muxx1986Просто подключение пакета сопряжено с некоторыми трудностями.
Полагаю, Вам лучше эти трудности преодолеть.
Sleep, конечно, сделать можно - например, повиснуть на блокировке, которая освободится через заданное время параллельным процессом (на вскидку - можно соорудить из двух job и dbms_pipe), то это сильно напоминает удаление гланд через задний проход.
...
Рейтинг: 0 / 0
ждать без sleep
    #34591834
Muxx1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какие остроумные ответы. Можно было бы просто написать "Не знаю".
Возможности обойтись без dbms_lock.sleep нету?
...
Рейтинг: 0 / 0
ждать без sleep
    #34591861
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Muxx1986Какие остроумные ответы. Можно было бы просто написать "Не знаю".
Возможности обойтись без dbms_lock.sleep нету?
Вы читать не умеете? Вам предложили несколько вариантов на выбор, но все сходятся в том, что лучшим решением будет все-таки использование dbms_lock.sleep.
...
Рейтинг: 0 / 0
ждать без sleep
    #34591865
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Muxx1986Какие остроумные ответы. Что ж. Тогда создавай себе и решай свои проблемы сам.
...
Рейтинг: 0 / 0
ждать без sleep
    #34591867
slepslap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Muxx1986Какие остроумные ответы. Можно было бы просто написать "Не знаю".
Возможности обойтись без dbms_lock.sleep нету?

Блокировки допустимы?
...
Рейтинг: 0 / 0
ждать без sleep
    #34591925
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db-man
Код: plaintext
1.
2.
3.
l_start := sysdate;
while sysdate - l_start <  10  /  24 / 3600  loop
  null; -- или любая операция занимающая время
end loop;


убивать на месте
...
Рейтинг: 0 / 0
ждать без sleep
    #34591932
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slepslap Muxx1986Какие остроумные ответы. Можно было бы просто написать "Не знаю".
Возможности обойтись без dbms_lock.sleep нету?

Блокировки допустимы?

зачем решать через жопу то что всегда можно решить прямо ?
...
Рейтинг: 0 / 0
ждать без sleep
    #34591942
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slepslap Muxx1986Какие остроумные ответы. Можно было бы просто написать "Не знаю".
Возможности обойтись без dbms_lock.sleep нету?

Блокировки допустимы?

авторподключение пакета (dbms_lock) сопряжено с некоторыми трудностями


PS. Воистину, на одну здравую мысль есть бесконечное множество дурацких.
...
Рейтинг: 0 / 0
ждать без sleep
    #34592044
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab slepslapБлокировки допустимы?Твоя мысль неочевидна. Но если ты на вопрос отвечаешь словами автора, то сам же попадпешь в то самое множество
...
Рейтинг: 0 / 0
ждать без sleep
    #34592074
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а этот sleep - он точно нужен? Может, без него можно обойтись? Чего вы ждёте-то на сервере/от сервера?
...
Рейтинг: 0 / 0
ждать без sleep
    #34592092
db-man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
убивать на месте
Угу. Но это они сами виноваты - привилегию не хотят давать :)

Еще вот что есть: SYS.DBMS_BACKUP_RESTORE.SLEEP(10);
Но на этот пакет у вас 100% нет прав.
...
Рейтинг: 0 / 0
ждать без sleep
    #34592098
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db-man убивать на месте
Угу. Но это они сами виноваты - привилегию не хотят давать :)
Справедливости ради следует отметить, что не всегда возможно дать привилегии без остановки эксплуатируемой прикладной системы.
...
Рейтинг: 0 / 0
ждать без sleep
    #34592124
evgenyg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вызов :dbms_lock.sleep == semtimedop (SunOS star 5.10)
Таким образом напишите программку на C которая получит номер светофора используемый ораклом вызовите ее из оракла и будет вам счастье
...
Рейтинг: 0 / 0
ждать без sleep
    #34592151
Сына
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgenygВызов :dbms_lock.sleep == semtimedop (SunOS star 5.10)
Таким образом напишите программку на C которая получит номер светофора используемый ораклом вызовите ее из оракла и будет вам счастье
Гыг )))
...
Рейтинг: 0 / 0
ждать без sleep
    #34592172
db-man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
create or replace
procedure my_sleep( p_sleep in number )
as language java
name 'java.lang.Thread.sleep( long )';
/

SQL> begin
   2     my_sleep( 5000 );
   3   end;
   4   /

PL/SQL procedure successfully completed.

Elapsed:  00 : 00 : 05 . 00 
...
Рейтинг: 0 / 0
ждать без sleep
    #34592178
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db-manas language java
А теперь вернемся к вопросу о ресурсах... Во что, говорите, обходится запуск такой функции?
...
Рейтинг: 0 / 0
ждать без sleep
    #34592211
Фотография Fucker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)зачем решать через жопу то что всегда можно решить прямо ?Как один из вариантов объяснения причин: http://www.neuro.net.ru/bibliot/b003/sx04060.html

А может мы просто отстали от жизни и это мода нынче такая: http://voffka.com/archives/2007/06/13/036254.html

Fucker
...
Рейтинг: 0 / 0
ждать без sleep
    #34592214
evgenyg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сына evgenygВызов :dbms_lock.sleep == semtimedop (SunOS star 5.10)
Таким образом напишите программку на C которая получит номер светофора используемый ораклом вызовите ее из оракла и будет вам счастье
Гыг )))
semop, semtimedop - semaphore operations , а как я это назвал без разницы :).
...
Рейтинг: 0 / 0
25 сообщений из 83, страница 1 из 4
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ждать без sleep
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]