powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как в trace по полю tim понять реальное время
8 сообщений из 8, страница 1 из 1
Как в trace по полю tim понять реальное время
    #40040857
serg_777777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть к примеру любое событие из trace файла:

WAIT #0: name='log file sync' ela= 596 buffer#=34556 sync scn=105513015 p3=0 obj#=-1 tim=25068196606411
WAIT #0: name='SQL*Net message to client' ela= 1 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=25068196606470

есть вроде поле tim которое равно мкс с начала эпохи.


Но если воспользоваться к примеру проверенным конвертером epochconverter.com то получить время не получается

Например при попытке перевести
25068196606411
получаем:
Your time zone: вторник, 19 мая 2764 г., 6:56:46.411 GMT+03:00

Нигде не смог найти как конвертировать, просьба подсказать.
Спасибо.
...
Рейтинг: 0 / 0
Как в trace по полю tim понять реальное время
    #40040871
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак, к сожалению
Его можно использовать только как относительные значения (в микросекундах от предыдущего)

Чем оно руководствуется при выборе стартового значения -- загадка
...
Рейтинг: 0 / 0
Как в trace по полю tim понять реальное время
    #40040890
serg_777777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав Любомудров
Никак, к сожалению
Его можно использовать только как относительные значения (в микросекундах от предыдущего)

Чем оно руководствуется при выборе стартового значения -- загадка


хм, печально.

Но как тогда в TOAD-е(есть такое приложение) ->DataBase-> Diagnose-> TraceFileBrowser выводится какое-то точное время "Time completed" с миллисекундами.
Проверить честность этих данных я не могу, но час и минута точно совпадают :)
...
Рейтинг: 0 / 0
Как в trace по полю tim понять реальное время
    #40040902
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
serg_777777есть вроде поле tim которое равно мкс с начала эпохи.

Просто эпохи бывают разные. И вариантов не так уж и много. В Жабе просто подобрали нужную.
Источников времени с микросекундной точностью тоже немного, что тоже упрощает подбор эпохи.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как в trace по полю tim понять реальное время
    #40040911
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попробовать этот вариант
...
Рейтинг: 0 / 0
Как в trace по полю tim понять реальное время
    #40040927
Фотография SeaGate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Официальный источник:
Interpreting Raw SQL_TRACE output (Doc ID 39817.1)
Не официально можно подобрать для конкретного случая. Например, я потрассировал на 19.9 RHEL 7.9, tim - микросекунды, считаются с загрузки системы:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
*** 2021-02-02T13:36:34.483286+00:00 (PDB(3))
WAIT #140078190958976: nam='SQL*Net message from client' ela= 2619514 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=11158252780
CLOSE #140078190958976:c=16,e=16,dep=0,type=0,tim=11158252878
=====================
PARSING IN CURSOR #140078190958976 len=29 dep=0 uid=105 oct=3 lid=105 tim=11158252943 hv=1851660507 ad='69bccad0' sqlid='a6vvt01r5w66v'
select systimestamp from dual

[oracle@rac1 ~]$ uptime -s
2021-02-02 10:30:36

SQL> select timestamp'2021-02-02 10:30:36'+numtodsinterval(11158252943/1e6, 'second') from dual;

TIMESTAMP'2021-02-0210:30:36'+NUMTODSINTERVAL(11158252943/1E6,'SECOND')
---------------------------------------------------------------------------
02-FEB-21 01.36.34.252943000 PM


На деле все равно timestamp в трассировочном файле присутствует, который можно использовать для установки соответствия tim -> wall clock time (как tim=11158252780 -> 2021-02-02T13:36:34.483286 в примере выше).
...
Рейтинг: 0 / 0
Как в trace по полю tim понять реальное время
    #40041029
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во, от загрузки системы я не догадался, проверял от старта БД и как правило было близко, то только для тех БД, которые стартовали при загрузке операционки
Хотя в солярке, например, все равно не срастается точно, но хоть близко к телу (или я просто не знаю как достать время начала загрузки)
Код: plaintext
1.
2.
3.
CLOSE #18446744071330058712:c=0,e=1,dep=1,type=3,tim=5619369871084                                                                        
                                                                                                                                          
*** 2021-01-26T14:24:23.605736+10:00                                                                                                      
WAIT #18446744071341701920: nam='External Procedure initial connection' ela= 140929 p1=0 p2=0 p3=0 obj#=-1 tim=5619370012128              
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SQL> select to_char(to_timestamp('2021-01-26T14:24:23.605736', 'yyyy=mm-dd"T"hh24:mi:ss.ff')-5619370012128/1000000/60/60/24, 'dd-mm-yy hh24:mi:ss') from dual;

TO_CHAR(TO_TIMEST
-----------------
22-11-20 13:28:13

SQL> !who -r
   .       run-level 3  Nov 22 13:29     3      0  S

SQL> !perl -le "print scalar localtime $(kstat -pn system_misc -s boot_time|cut -f 2)"
Sun Nov 22 13:29:13 2020
...
Рейтинг: 0 / 0
Как в trace по полю tim понять реальное время
    #40042604
igaraev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL Developer тоже умеет смотреть trace файлы. Попробуйте в нем открыть и посмотреть tim.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как в trace по полю tim понять реальное время
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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