Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / MDA таблицы ASE 12.5.3 / 10 сообщений из 10, страница 1 из 1
11.08.2006, 15:21
    #33913581
yourij_mw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDA таблицы ASE 12.5.3
Хотел замутить процедурку для дампа данных из таблиц master..monSysPlanText и master..monSysSQLText чтобы можно было сохранить себе на память волнующие и примечательные моменты из жизни БД.
Если делаешь Select из таблички master..mon.. то выдаётся 100 записей, ещё один Select то следующие 100 и т.д. и ни чё не ругается.
но когда делаю выборку в таблицу :
Код: plaintext
1.
2.
3.
insert into keeper..monSysSQLText ( SPID, KPID, ServerUserID, BatchID, SequenceInBatch, SQLText)
select SPID, KPID, ServerUserID, BatchID, SequenceInBatch, SQLText
from master..monSysSQLText
пишет:
Could not reserve log space in sybsystemdb database. Retry your transaction later, or please contact a user with System Administrator role.
Log в tempDB - 200mb и сейчас он свободен. Где может быть подвох?
...
Рейтинг: 0 / 0
11.08.2006, 17:28
    #33914022
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDA таблицы ASE 12.5.3
yourij_mwХотел замутить процедурку для дампа данных из таблиц master..monSysPlanText и master..monSysSQLText чтобы можно было сохранить себе на память волнующие и примечательные моменты из жизни БД.
Если делаешь Select из таблички master..mon.. то выдаётся 100 записей, ещё один Select то следующие 100 и т.д. и ни чё не ругается.
но когда делаю выборку в таблицу :
Код: plaintext
1.
2.
3.
insert into keeper..monSysSQLText ( SPID, KPID, ServerUserID, BatchID, SequenceInBatch, SQLText)
select SPID, KPID, ServerUserID, BatchID, SequenceInBatch, SQLText
from master..monSysSQLText
пишет:
Could not reserve log space in sybsystemdb database. Retry your transaction later, or please contact a user with System Administrator role.
Log в tempDB - 200mb и сейчас он свободен. Где может быть подвох?
ну хотя бы @@version покажи ...
...
Рейтинг: 0 / 0
11.08.2006, 18:08
    #33914111
yourij_mw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDA таблицы ASE 12.5.3
Adaptive Server Enterprise/12.5.3/EBF 13332 ESD#7/P/Linux Intel/Enterprise Linux/ase1253/1951/32-bit/OPT/Fri Mar 24 00:40:52 2006
...
Рейтинг: 0 / 0
11.08.2006, 18:38
    #33914173
yourij_mw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDA таблицы ASE 12.5.3
Сори...сам уже раскурил.. Просто мне читать надо внимательнее sybsystemdb там написано а я по привычке в tempDB залез
...
Рейтинг: 0 / 0
21.08.2006, 14:08
    #33932308
_makSim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDA таблицы ASE 12.5.3
sybsystemdb приходится расширять, когда активно используются прокси таблицы (тут mon таблицы).

yourij_mw
Если делаешь Select из таблички master..mon.. то выдаётся 100 записей, ещё один Select то следующие 100 и т.д. и ни чё не ругается.


Если каждый раз возвращается по 100 записей, то вероятно нужно увеличивать их количество (соответствующие параметры "...max messages"), так как то, что не помещается в эти 100, пропадает.

А сохраняете ли Вы такой показатель, как Загрузка процессора сервером? Интересно было бы узнать, как.
...
Рейтинг: 0 / 0
28.08.2006, 12:11
    #33946389
yourij_mw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDA таблицы ASE 12.5.3
_makSim
А сохраняете ли Вы такой показатель, как Загрузка процессора сервером? Интересно было бы узнать, как.
.. да есть у меня чуть времени, и решил попробовать монитор себе заделать, он бы висел и должен был бы считывать раз в секунду @@cpu_busy. Другой процес раз в несколько секунд LogicalReads и CpuTime из таблицы monProcessActivity для каждого прцесса (уже немного пробовал и замечу что никакой ощутимой загрузки такой монитор не должен нести ). Тогда в любой момент (когда сильна зарузка сервера) можно будет запустить другую процедуру чтобы опередиль "лидеров продаж", и посмотреть чё они там делают через monSysSqlText И monSysPlanText да и списать всё это дело себе на память. Больше пользы это может принести если заставлять саму процедуру это делать (делать дамп monSysSqlText И monSysPlanText) если за опеределённое время например 45 сек средняя загрузка процессора также будет превышать определённое значение (думаю 85%)- таких моментов жизни у нас пока хфватает.
Для сохранения значений загрузки процессом сервера использую по 10 колонок, которые заполняються и обновляються по кругу, чтобы можно было вычислить усердие процессов за последднее время.
В общем задача не сложная и должна быть намоного полезннее в результах в сравнении с потраченим на ее написание временем, правда идёт это дело у меня трудновато да и в отпуске был... Не получалось у меня что-то там. Например получаються почему-то отрицательныйе значения. Может вы и удивитесь, но я почемуто думал что spid процесса к примеру не должен повторятся(просто замечал что он возрастает, а серевер наночь отключаем), это оказалось не так и теперь сравниваю по KPID хотя тоже не уверен что он не повторяется, тоесть я далеко не профи, но причина отрицательных значений разницы CpuTime не в этом и не знаю в чём. Кстати и не знал про sql text pipe max messages - большое спасибо.
Помню Вы спрашивали как-то про точность счётчика времени процессора зайнятым процессом. Вы тогда говорили что у Вас время сохраняется по секундам, и хотели бы точность увеличить. Если Вы с того времени не разбирались с этим, то вроде её можно увеличить параметром sql server clock tick length (для етого его нужно уменьшить) , если умножить @@cpu_busy на @@timeticks (последняя отображает этот параметр) то получиться значение в микросекундах. Если Вы его уменьшите на 100 (тоесть будет 10 000) то получите точность в сотых секунды. Значения в системних и MDA таблицах думаю также связаны с етим параметром.
...
Рейтинг: 0 / 0
29.08.2006, 11:08
    #33948845
_makSim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDA таблицы ASE 12.5.3
1. Почему получаются отрицательные значения при сборе данных из MDA таблиц: Вы через некоторый промежуток времени сохраняете значение какого-то показателя, который, например, имеет тип int. В момент Tk вы получаете значение близкое к границе диапазона int, тогда при Tk+1 вы получите значение близкое к 0 (при переходе границы он обнуляется и дальше увеличивается), в итоге: P(Tk+1)-P(Tk)=C<<0. Это вполне нормально и требует просто специальной обработки.

2. Насчет точности CPU_BUSY в MDA табл. пока не нашёл (отвлёкся пока от этих задач). Параметр sql server clock tick length посмотрю, возможно, как-то поможет. Спасибо.
...
Рейтинг: 0 / 0
30.08.2006, 11:46
    #33951811
yourij_mw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDA таблицы ASE 12.5.3
Жаль но думаю причина не в етом. Там числа не такие уж и большие что бы они перекручивались. Тем более для LogicalReads значения существенно больше, выбираю их сравниваю полностью аналогично и с ними такого нет. Думаю почемуто CPU обнуляються в некоторых случаях...
...
Рейтинг: 0 / 0
30.08.2006, 20:01
    #33953801
_makSim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDA таблицы ASE 12.5.3
Тогда причина, возможно, в следующем:
Some MDA table data is shared with sp_sysmon and Monitor Server. These columns will be cleared if sp_sysmon clears counters.

Насчёт установки sql server clock tick length равным 10000:
Illegal value '10000' specified for configuration option 'sql server clock tick length'. The legal values are between '100000' and '1000000'. . И по умолчанию стоит мин. значение 100000 (microseconds).
То есть получается мин. единица измерения процессорного времени, используя @@cpu_busy равна 0.1 сек. Или я не прав?
...
Рейтинг: 0 / 0
31.08.2006, 09:35
    #33954404
yourij_mw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDA таблицы ASE 12.5.3
_makSimТогда причина, возможно, в следующем:
Some MDA table data is shared with sp_sysmon and Monitor Server. These columns will be cleared if sp_sysmon clears counters.

думаю не в этом причина: отрицательные значеня получаються не по всем сразу, а только по некоторым SPID в некоторое время

_makSim
Насчёт установки sql server clock tick length равным 10000:
Illegal value '10000' specified for configuration option 'sql server clock tick length'. The legal values are between '100000' and '1000000'. . И по умолчанию стоит мин. значение 100000 (microseconds).
То есть получается мин. единица измерения процессорного времени, используя @@cpu_busy равна 0.1 сек. Или я не прав?


Adaptive Server Enterprise/12.5.3/EBF 13332 ESD#7/P/Linux Intel/Enterprise Linux/ase1253/1951/32-bit/OPT/Fri Mar 24 00:40:52 2006

у меня минимум 10 000...
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / MDA таблицы ASE 12.5.3 / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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