Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Sybase ASA, ASE, IQ Новый топик    Ответить
 Syslogs  [new]
vadim63
Guest
Подскажите кто знает, что записываеться в Syslogs.
Хотелось бы пнять, что такое Xactid и op.
Подробного описания в документации не встретил.
Не там искал?
Хочеться иметь возможность прогнозирования роста логсегмента, зная
выполняемую транзакцию.
9 ноя 04, 21:07    [1092941]     Ответить | Цитировать Сообщить модератору
 Re: Syslogs  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 33424
Там записана просто какая-то бинарка, и все.
Структура этой таблицы (собственно, это даже не таблица, а набор страниц данных, у них даже структура другая) известна только разработчикам ASE и возможно они выдают спецификации сторонним производителям по требованию.
Никакой полезной информации из этой таблицы почерпнуть нельзя, поэтому абсолютно бессмысленно пытаться что-то оттуда прочитать.
10 ноя 04, 11:19    [1093722]     Ответить | Цитировать Сообщить модератору
 Re: Syslogs  [new]
Компостеров
Guest
В свое время у фирмы Platinum была какая-то утилита для чтения лога Sybase 11...
10 ноя 04, 13:00    [1094358]     Ответить | Цитировать Сообщить модератору
 Re: Syslogs  [new]
just_me
Guest
syslogs - псевдотаблица
Строится по логу базы.
XactID - ID транзакции
op - тип операции.

Посмотрите описание dbcc log
10 ноя 04, 15:53    [1095395]     Ответить | Цитировать Сообщить модератору
 Re: Syslogs  [new]
vadim63
Guest
Спасибо.
Я посмотрел MS sql7.0. МS SQL7.0 вообще уже лог начал хранить
в файловой системе. Я как бы сильно и не хотел читать SYSLOGS.
Я могу как то прогнозировать рост лог-сегмента????

Можно ли предположить для анализа роста логсегмента следующее???

1.Все транзакции создаюшие новые обьекты (напр Select into)
логируються только по поводу выделения пространства.
Т.е. занимают места в логе крайне мало.

2.Все сложные запросы типа: "insert into TAble1 select * from table2 "
раскладываються сначала на элементарные
типа "insert into TAble1(field1,field2) values(1,2).
Если не ошибаюсь это делает компилятор?
И здесь уже можно
по количеству строк в Table2 как то определиться.
Аналогично и с Update и DELETE.
11 ноя 04, 10:38    [1097393]     Ответить | Цитировать Сообщить модератору
 Re: Syslogs  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 33424
vadim63
Я посмотрел MS sql7.0.

Как-то я не понял, при чем здесь MSSQL.

vadim63

1.Все транзакции создаюшие новые обьекты (напр Select into)
логируються только по поводу выделения пространства.
Т.е. занимают места в логе крайне мало.

Не знаю, как на счет "крайне мало" ( я бы сказал, просто существенно меньше), но остальное верно.

vadim63

2.Все сложные запросы типа: "insert into TAble1 select * from table2 "
раскладываються сначала на элементарные
типа "insert into TAble1(field1,field2) values(1,2).

В смысле , в записях в логе ? Да, именно так. Там пишеться , какая запись была добавлена или изменена или удалена, и ее данные. Не знаю, все или не
все (скорее всего, все).

vadim63

Если не ошибаюсь это делает компилятор?
И здесь уже можно
по количеству строк в Table2 как то определиться.
Аналогично и с Update и DELETE.


Ошибаешься, это компилятор не делает, это делает процессор запросов.
По количеству строк определиться можно, с UPDATE/DELETE аналогично, но вот только проку я думаю от попыток вычислить нужный размер под лог все равно не будет. Проще просто за какой-то период измерить прирост лога под типовой загрузкой и потом на основании его вычислить необходимый размер лога. Но даже в этом случае нет гарантии, что его хватить при каких-то пиковых нагрузках, если они есть.
Лучше настраивать пороги и бэкапить автоматом лог (тем более, что это все равно надо делать).
11 ноя 04, 13:00    [1098206]     Ответить | Цитировать Сообщить модератору
 Re: Syslogs  [new]
vadim63
Guest
C пиковыми всё нормально.
Просто иногда приходиться делать манипуляции с большими
обьёмами данных(разбиение и обрезание таблиц) и не всегда удобно делать это BCP или Select into. Т.Е. один сложный Insert идет пару часов и потом
откатываеться столько же из за лога. Обидно!
12 ноя 04, 09:58    [1100511]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Syslogs  [new]
Сергей08
Member

Откуда:
Сообщений: 207
Sybase ASE 15.7 sp 131
just_me
syslogs - псевдотаблица
Строится по логу базы.
XactID - ID транзакции
op - тип операции.

Посмотрите описание dbcc log


Спасибо.
xactid вроде понятно.
Кто то может подсказать что такое xactkey :)

Зачем ?
Запись в error логе которую связываем с проблемой :
Transaction (40331402, 10) is being rolled back using an optimized scan.

Получаю xactid (Rob Verchor for ASE 15) :
SELECT convert(binary(4), 40331402)+convert(binary(10), convert(smallint,19)) xactid

Можно ли связать systransaction xactkey c xactid полученным выше что бы понять кто у нас откатывается?
10 июл 17, 17:06    [20630297]     Ответить | Цитировать Сообщить модератору
 Re: Syslogs  [new]
Сергей08
Member

Откуда:
Сообщений: 207
Добрый день.
Ниже тем для кого Syslogs не просто бинарка.
Понимаю так:
Xactid = 6 байт . 4 байта страница и 2 байта номер стоки в syslogs. (таблица syslogshold д.р.) - уникальна на уровне базы. Список поля syslog.OP ниже.


Xactkey 14 байт Старшие 6 -Xactid , младшие 2 - база данных . Уникальна на уровне сервера. (таблица systransaction) . Остальные 7 байт пока не знаю.

Кто то может дополнить/возразить?
Ещё вопросик. Есть подозрение что внутренние серверные транзакции (типа сортировки) пишутся по другому или вообще не в таблице systransactions.
Проблема в том что 'sort local' переполняет темпдб потом долго ролбечится делая недоступным темпдб.


------------------OP
0 BEGINXACT Implicit/explicit BEGIN TRAN
1 CHSYSIND
2 SWITCHTO
3 RETURN
4 INSERT Data page INSERT
5 DELETE Data page DELETE
6 INSIND INSERT by deferred INSERT/UPDATE (read insert from log)
7 IINSERT Index page INSERT
8 IDELETE Index page DELETE
9 MODIFY Direct UPDATE in-place
10 NOOP NOOP RECORD, skipped by recovery
11 INOOP First phase of deferred INSERT/UPDATE (write insert to log)
12 DNOOP First phase of deferred UPDATE/DELETE (write RowID to log)
13 ALLOC Page allocation record
14 DBNEXTID Next objectid that can be used to create object
15 EXTENT Obsolete
16 SPLIT Split of data page
17 CHECKPOINT Checkpoint record of checkpoint proces
18 SAVEXACT Logged by SAVE TRAN command
19 CMD Logged when any update begins
20 SOPGDEALLOC Sort page deallocation
21 DEALLOC Deallocate page
22 DROPEXTS Delete all extents on allocation page
23 AEXTENT Allocate extent, mark all pages used
24 SALLOC Alloc for new page of split
25 PGCHGSYSIND Direct change to sysindexes
27 SORT Sort record type
28 SODEALLOC Sort record deallocate type
29 ALTDB
30 ENDXACT End of transaction (COMMIT/ROLLBACK)
31 SORTTS Sort timestamp record
32 TEXT Direct TEXT insert
33 INOOPTEXT Deferred TEXT insert
34 DNOOPTEXT Deferred TEXT delete
35 INSINDTEXT Indirect insert log record
36 TEXTDELETE Delete text log record
37 OAMALLOC Allocate page to OAM
38 OAMDEALLOC Deallocate OAM-page
39 OAMINSERT Insert new entry in OAM
40 OAMDELETE Delete entry from OAM
41 OAMCREATE Alloc of OAM during create or sort
42 CMDNOOP Noop'ed CMD-record
43 EXECBEGIN Rep. server support : begin stored proc
44 EXECEND Rep. server support : stored proc complete
45 SYNCDPDB Rep. server support : dump database sync.
46 TRUNC Saved truncation point
47 SYNCLDDB Load database sync.
48 SYNCLDXACT Load transaction sync.
49 ROWIMAGE
51 OAMENTRYMOVE Move OAM-entries between OAM-pages
52 OAMATPUT Record attribute data on OAM-page
53 DROPCOL Delete column from row
54 MAXRECTYPE Log for Max record length
21 июл 17, 13:46    [20664716]     Ответить | Цитировать Сообщить модератору
Все форумы / Sybase ASA, ASE, IQ Ответить