powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / dbms_lock.sleep спит слишком долго
8 сообщений из 8, страница 1 из 1
dbms_lock.sleep спит слишком долго
    #39796187
Eugene12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть несколько БД Oracle 11.2
На одной из них простой dbms_lock.sleep спит примерно в два раза дольше указанного параметра.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
SQL> set timing on
SQL> begin
for i in 1..10 loop
dbms_lock.sleep(0.5);
end loop;
end;
PL/SQL procedure successfully completed.
Elapsed: 00:00:10.65



на других все хорошо
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
SQL> set timing on
SQL> begin
for i in 1..10 loop
dbms_lock.sleep(0.5);
end loop;
end;
PL/SQL procedure successfully completed.
Elapsed: 00:00:05.01



Что может так повлиять на dbms_lock.sleep?
Подскажите хотя бы направление, куда копать?
...
Рейтинг: 0 / 0
dbms_lock.sleep спит слишком долго
    #39796206
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А сколько "спит" 0.49?
Eugene12Подскажите хотя бы направление, куда копать?
Код: plsql
1.
where object_name = 'DBMS_LOCK'
...
Рейтинг: 0 / 0
dbms_lock.sleep спит слишком долго
    #39796258
Eugene12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
SQL> set timing on
SQL> begin
for i in 1..10 loop
dbms_lock.sleep(0.49);
end loop;
end;
PL/SQL procedure successfully completed.
Elapsed: 00:00:10.34



0.1 еще интереснее
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
SQL> set timing on
SQL> begin
for i in 1..10 loop
dbms_lock.sleep(0.1);
end loop;
end;
PL/SQL procedure successfully completed.
Elapsed: 00:00:09.20
...
Рейтинг: 0 / 0
dbms_lock.sleep спит слишком долго
    #39796497
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Eugene12,

хотя бы трассировку 10046 сделайте и покажите здесь в сыром виде.

Хотя проще и быстрее всего было бы снаппером пронаблюдать, но лень объяснять как им пользоваться
...
Рейтинг: 0 / 0
dbms_lock.sleep спит слишком долго
    #39839257
Eugene12,
Возможно проблеме не в dbms_lock, а во времени запуска вашей программы.
Замерьте время так
Код: plsql
1.
2.
3.
4.
5.
6.
7.
begin
dbms_output.put_line(to_char(sysdate,'MI:SS'));
for i in 1..10 loop
dbms_lock.sleep(0.1);
end loop;
dbms_output.put_line(to_char(sysdate,'MI:SS'));
end;
...
Рейтинг: 0 / 0
dbms_lock.sleep спит слишком долго
    #39839425
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть просто смехуечки
Есть еще и длительность работы, 250 дней или около того (но вроде, стреляло только на 32-битном дистрибутиве)
...
Рейтинг: 0 / 0
dbms_lock.sleep спит слишком долго
    #39839465
Вячеслав Любомудров,

У него на одном компьютере та же процедура работает 10 секунд, а на другом 5.
...
Рейтинг: 0 / 0
dbms_lock.sleep спит слишком долго
    #39839538
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман КудрявцевEugene12,
Возможно проблеме не в dbms_lock, а во времени запуска вашей программы.
Замерьте время так
Код: plsql
1.
2.
3.
4.
5.
6.
7.
begin
dbms_output.put_line(to_char(sysdate,'MI:SS'));
for i in 1..10 loop
dbms_lock.sleep(0.1);
end loop;
dbms_output.put_line(to_char(sysdate,'MI:SS'));
end;

Предполагаемую неточность секунд следует проверять с помощью микросекундометра.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / dbms_lock.sleep спит слишком долго
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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