Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / dbms_lock.sleep спит слишком долго / 8 сообщений из 8, страница 1 из 1
04.04.2019, 10:08
    #39796187
Eugene12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dbms_lock.sleep спит слишком долго
Есть несколько БД 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
04.04.2019, 10:22
    #39796206
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dbms_lock.sleep спит слишком долго
А сколько "спит" 0.49?
Eugene12Подскажите хотя бы направление, куда копать?
Код: plsql
1.
where object_name = 'DBMS_LOCK'
...
Рейтинг: 0 / 0
04.04.2019, 11:03
    #39796258
Eugene12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dbms_lock.sleep спит слишком долго
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
04.04.2019, 14:32
    #39796497
Sayan Malakshinov
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dbms_lock.sleep спит слишком долго
Eugene12,

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

Хотя проще и быстрее всего было бы снаппером пронаблюдать, но лень объяснять как им пользоваться
...
Рейтинг: 0 / 0
19.07.2019, 14:51
    #39839257
dbms_lock.sleep спит слишком долго
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
19.07.2019, 17:23
    #39839425
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dbms_lock.sleep спит слишком долго
Есть просто смехуечки
Есть еще и длительность работы, 250 дней или около того (но вроде, стреляло только на 32-битном дистрибутиве)
...
Рейтинг: 0 / 0
19.07.2019, 18:24
    #39839465
dbms_lock.sleep спит слишком долго
Вячеслав Любомудров,

У него на одном компьютере та же процедура работает 10 секунд, а на другом 5.
...
Рейтинг: 0 / 0
20.07.2019, 09:03
    #39839538
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dbms_lock.sleep спит слишком долго
Роман Кудрявцев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
Форумы / Oracle [игнор отключен] [закрыт для гостей] / dbms_lock.sleep спит слишком долго / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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