[ТЕМА ЗАКРЫТА]
28.03.2015 11:01
DMaslov
 
Подскажите, можно ли подружить Toad SQL monitor и СуперМАГ.

С PL/SQL developer работает нормально: Хранилище

С Супермагом зависает: Хранилище (Windows XP)

Или подскажите другие средства мониторинга из опыта работы.
28.03.2015 11:14
DMaslov
 
Забыл добавить - Супермаг версия 1.30, патч 4.
Toad SQL monitor скачал с сайта разработчика, до этого пробовал поставить Toad DBA suite 10, 11, 12, но там SQL monitor (tracker) не запускался, ругался на отсутствие лицензии, хотя ключик в сам Toad я вводил.
28.03.2015 15:21
OlegON
 
для начала бы понять, что и зачем мониторить... встроенные средства трассировки вполне себе ничего...
28.03.2015 17:10
DMaslov
 
Мониторить хочу весь SQL и PL/SQL, который Супермаг шлет в базу. Познакомился я с ним несколько дней назад, поэтому о средствах трассировки ничего не знаю. Если дадите ссылку на доку касательно этих средств, буду признателен. Пока у меня валяются следующие файлы:

Бюллетень изменений ТС СуперМагПлюс v. 1.030.1.pdf
Том 1.1. Соглашения Системы Базовые настройки, Справочники, v.1030.1.pdf
Том 2. Ценообразование Карточки Маркетинг, v.1030.1.pdf
Том 3. Контракты Заказы Платежи Требования, v1030.1.pdf
Том 4. Товаросопроводительные документы, v1030.1.pdf
Том 5. Инвентаризация, v.1030.1.pdf
Том 6. Производство, v1030.1.pdf
Том 7_1. Руководство Администратора БД, v1030.1.pdf
Том 7_2. Руководство Администратора БД_Приложения, v1030.1.pdf
Том 8. Альбом печатных форм, v1030.1.pdf
Том 9. Структура БД v1030.pdf
Том1.2.Места хранения,Структура МХ,Аналитические данные,Приложения v.1030.1.pdf

В них пока ничего не находил по поводу трассировки.

Встретил тут в одной теме упоминание SQL monitor, вот и решил его попробовать.
28.03.2015 18:25
OlegON
 
У меня пока не сходится уровень твоих знаний и возможные цели такого мониторинга. Есть подозрение, что средство выбрано неправильно от непонимания поставленной задачи.
Итак, повторяю, зачем?
29.03.2015 08:00
DMaslov
 
Цели:

1. Автоматизация некоторых задач. Даже при наличии штатных средств всегда хочется их использовать более гибко. Да, есть вероятность, что чего-то недопонял, и будут ошибки, но с этим приходится мириться.
2. Получение отправной точки для копания в коде.

Примеры:

1. Поставили чистую подчиненную БД, из старшей перенесли документы почтовым модулем. Чтобы заново сформировать проводки (остатки, цены и пр.), нужна массовая перепроводка документов.
Кстати, буду рад пояснению о корректности такой операции. Возможно, перепроводка происходит в момент копирования, пока не проверял массово. Но, собсно, для этого и нужна автоматизация - проверить все остатки и прочие проводки, сверить с документами, массово запустить исправление. Тут еще с почтовым модулем напортачил, льются документы с других складов - надо бы их почистить.

2. При некоторых действиях имеем ORA-20XXX. Выяснить, чего ему не нравится можно а) методом тыка и б) залезть в код.

Итого - все для того, чтобы залезть в потроха и управлять системой более гибко. По возможности, разумеется, используя штатные средства.
29.03.2015 08:04
DMaslov
 
Цитата:
DMaslov Возможно, перепроводка происходит в момент копирования, пока не проверял массово.
Немного поправлю: массово проверял сразу после копирования документов за 2014 год, остатков и цен точно не было, пришлось вылить, кроме справочников, SMPRICES из центра, чтоб продажи по кассе шли. А щас надо покопаться более подробно с остатками.
29.03.2015 10:48
OlegON
 
Трассировка, а это она, а не мониторинг, в данном случае плоха тем, что жрет ресурсы, особенно, когда запросов вал. Делать на рабочей БД не рекомендую.
Код процедур в базе уже, клиентская часть процедуры просто вызывает.
О штатных Трассировка сессии Oracle
30.03.2015 07:12
Mtirt
 
Цитата:
DMaslov
1. Поставили чистую подчиненную БД, из старшей перенесли документы почтовым модулем. Чтобы заново сформировать проводки (остатки, цены и пр.), нужна массовая перепроводка документов.
Кстати, буду рад пояснению о корректности такой операции. Возможно, перепроводка происходит в момент копирования, пока не проверял массово. Но, собсно, для этого и нужна автоматизация - проверить все остатки и прочие проводки, сверить с документами, массово запустить исправление. Тут еще с почтовым модулем напортачил, льются документы с других складов - надо бы их почистить.
Не нужно ничего перепроводить. Нужно создать ОДИН акт переоценки, в который поместить текущие цены розничные цены на товар.
Цитата:
2. При некоторых действиях имеем ORA-20XXX. Выяснить, чего ему не нравится можно а) методом тыка и б) залезть в код.
Насколько я помню, это сообщения самого Супермага, и они довольно понятные. Почему вы с ними пытаетесь лезть в базу?
30.03.2015 09:57
kadr
 
Цитата:
DMaslov
2. При некоторых действиях имеем ORA-20XXX. Выяснить, чего ему не нравится можно а) методом тыка и б) залезть в код.
.
Умеете реврапить PL/SQL пакеты?

И если ответ, ДА, то
Цитата:
DMaslov
2. При некоторых действиях имеем ORA-20XXX. Выяснить, чего ему не нравится можно а) методом тыка и б) залезть в код.
.
СуперМаг выводя полный текст ошибки получает всё что ему отдает сервер, а там и имена пакетов и строчки на которых возникли ошибки и все это в виде матрешки, можно отследить поэтапно из пкакой процедуры функции все начинается и где прерывается.

По Toad SQL monitor ничего не могу сказать, но подобные средства иногда виснут на современных версиях СуперМага если их запускать на каком-то определённом моменте при уже работающем СМ+.
Если же сначала запустить мониторинг, а потом уже запустить СуперМаг, то есть вероятность что удастся отследить нужные вызовы
30.03.2015 11:08
DMaslov
 
Цитата:
OlegON Трассировка, а это она, а не мониторинг, в данном случае плоха тем, что жрет ресурсы, особенно, когда запросов вал. Делать на рабочей БД не рекомендую.
Спасибо, про трассировку я в курсе. Я говорю именно о мониторинге, который можно назвать трассировкой с минимальным уровнем детализации - только PL/SQL, то, что видно на стороне БД во вьюхах V$...

Цитата:
OlegON Код процедур в базе уже, клиентская часть процедуры просто вызывает.
Да, вот именно мне и хотелось бы видеть, какие процедуры и какими параметрами дергает клиентская программа. Аудит пообъектный в оракле я пользовал - типа "какие запросы к какой таблице идут". Почитаю еще про аудит PL/SQL - наверное им воспользуюсь, раз средств мониторинга на клиентской стороне с СуперМАГом не пользуют.
30.03.2015 11:15
DMaslov
 
Цитата:
Mtirt Не нужно ничего перепроводить. Нужно создать ОДИН акт переоценки, в который поместить текущие цены розничные цены на товар.
Если вы имеете в виду "не нужно перепроводить документы, скопированные из другой базы", возможно, вы имеете в виду, что проводка сама происходит при копировании документа?

Думаю, ответ "нет", т.к. вы советуете провести глобальную установку цен актом переоценки на все товары, несмотря на скопированные из другой БД уже существующие акты переоценки.

В таком случае, и приходные/расходные документы вы рекомендуете не перепроводить, а сделать один приход (инвентаризацию) на весь ассортимент товара, чтобы актуализировать остатки?

Цитата:
Mtirt Насколько я помню, это сообщения самого Супермага, и они довольно понятные. Почему вы с ними пытаетесь лезть в базу?
Даже если сообщение ORA-2XXXX приходит в ответ на некоторые действия в программе, хотелось бы понять, что она слала в базу (PL/SQL), в ответ на который пришла ошибка, чтобы ее воспроизвести и, возможно, выполнить PL/SQL пошагово, чтобы разобраться в проблеме. Но тут хотя бы можно предположить, какой пакет/процедура и с какими параметрами вызывается, исходя из бизнес-логики, и пошарить в коде.

А вот если ORA-2XXXX возникает в логе почтового модуля, то я имею еще меньше представления о том, как он общается с базой. Почему и пытаюсь делать мониторинг. Как уже написал выше, опробую штатный аудит оракла, надеюсь, этого будет достаточно.
30.03.2015 11:18
DMaslov
 
Цитата:
kadr СуперМаг выводя полный текст ошибки получает всё что ему отдает сервер, а там и имена пакетов и строчки на которых возникли ошибки и все это в виде матрешки, можно отследить поэтапно из пкакой процедуры функции все начинается и где прерывается.
Да, верно, но самого стека не всегда достаточно для воспроизведения проблемы.

Цитата:
kadr По Toad SQL monitor ничего не могу сказать, но подобные средства иногда виснут на современных версиях СуперМага если их запускать на каком-то определённом моменте при уже работающем СМ+.
Если же сначала запустить мониторинг, а потом уже запустить СуперМаг, то есть вероятность что удастся отследить нужные вызовы
Toad SQL monitor запускает программу как порожденный процесс. Но спасибо за совет, поищем, возможно, существуют такие средства мониторинга, которые могут подсоединиться каким-то образом к уже работающей программе.
30.03.2015 11:24
Mtirt
 
Цитата:
DMaslov Если вы имеете в виду "не нужно перепроводить документы, скопированные из другой базы", возможно, вы имеете в виду, что проводка сама происходит при копировании документа?
У меня возник вопрос, а что вы понимаете под словом "Перепроводить".
У меня ощущение, что я разговариваю с 1С-ником, который при любой болячке предлагает что-нибудь "перепровести".
Вы пересылаете документы из центральной базы в подчиненную. При приеме документа в подчиненной базе данных, меняются необходимые регистры учета (остатки товара, например). Дополнительных действий с документами производить не надо.
Увы, этот способ плохо работает со старыми актами переоценки. Система понимает, что акт переоценки прислан старый, и цену не меняет.
Чтобы поменять цену товара в подчиненной базе, надо создать новый акт переоценки (даже со старыми ценами) и тогда в подчиненной базе данных цена поменяется.
Цитата:
DMaslov В таком случае, и приходные/расходные документы вы рекомендуете не перепроводить, а сделать один приход (инвентаризацию) на весь ассортимент товара, чтобы актуализировать остатки?
Я этого не говорила.


Цитата:
DMaslov Даже если сообщение ORA-2XXXX приходит в ответ на некоторые действия в программе, хотелось бы понять, что она слала в базу (PL/SQL), в ответ на который пришла ошибка, чтобы ее воспроизвести и, возможно, выполнить PL/SQL пошагово, чтобы разобраться в проблеме. Но тут хотя бы можно предположить, какой пакет/процедура и с какими параметрами вызывается, исходя из бизнес-логики, и пошарить в коде.

А вот если ORA-2XXXX возникает в логе почтового модуля, то я имею еще меньше представления о том, как он общается с базой. Почему и пытаюсь делать мониторинг. Как уже написал выше, опробую штатный аудит оракла, надеюсь, этого будет достаточно.
Примеры приведите, чего вы не понимаете. Почтовик вы таким мониторингом все равно не отловите...
31.03.2015 09:47
DMaslov
 
Цитата:
Mtirt У меня возник вопрос, а что вы понимаете под словом "Перепроводить".
У меня ощущение, что я разговариваю с 1С-ником, который при любой болячке предлагает что-нибудь "перепровести".
Вы пересылаете документы из центральной базы в подчиненную. При приеме документа в подчиненной базе данных, меняются необходимые регистры учета (остатки товара, например). Дополнительных действий с документами производить не надо.
Я на это и надеялся. Но тем не менее регистры - как минимум остатки и цены - не изменились после копирования документов.


Цитата:
Mtirt Примеры приведите, чего вы не понимаете. Почтовик вы таким мониторингом все равно не отловите...
Невозможно записать в БД объект «CS, ПКБТ20141221@25», таблица «SMSPECCOMPINF»"
ORA-20097: Несоответствие состава артикула набора/упаковки с документом
ORA-06512: at "SUPERMAG.CORE", line 301
ORA-06512: at "SUPERMAG.SMSPECCOMPLEXART", line 20
ORA-04088: error during execution of trigger 'SUPERMAG.SMSPECCOMPLEXART'
31.03.2015 10:11
Mtirt
 
Какая гадость эта ваша заливная рыба...

Суть ошибки в том, что разный состав одного и того же набора в магазине (где документ создался) и в офисе (куда документ не доходит).
По-хорошему, надо вернуть состав набора к исходному виду. А если хочется поменять, то создать новый...
31.03.2015 10:39
akonev
 
Цитата:
DMaslov Я на это и надеялся. Но тем не менее регистры - как минимум остатки и цены - не изменились после копирования документов...
Цены - как уже выше писали - и не обязаны были встать. Их действительно принято копировать одним актом переоценки. Все текущие.

Остатки при получении документа супермаг пересчитывает. При трех условиях:
1) документ должен менять остатки согласно своего типа (к примеру, это приход, возврат, продажа и т.п.)
2) статус документа выше, чем черновик
3) в настройках места хранения, к которому относится документ, не установлен признак "Отключить перерасчет остатков"

Если текущие остатки в базе не соответствуют имеющемуся набору документов, то нужно пересчитать остатки в "администраторе".

Безусловно, можно и цены и остатки перелить между таблицами.
Только при этом можно получить массу забавных побочных эффектов.

Например, стандартная процедура вычисления остатков сама выбирает, откуда ей считать остаток на дату:
- от текущих остатков из smgoods назад по документам;
- от начала времен вперед по документам;
- от остатков на дату закрытого периода.
Если текущие остатки перелить - можно поймать несходимость отчетов.

Потому призываю запросы мониторить и анализировать, чтобы лучше понимать, что происходит.

Для работы же пока использовать штатные механизмы.
31.03.2015 16:26
DMaslov
 
Цитата:
akonev Безусловно, можно и цены и остатки перелить между таблицами.
Только при этом можно получить массу забавных побочных эффектов.
Как обычно, все бегом, "давай-давай", "магазин стоит", а ты с этой системой познакомился 2 дня назад. Поэтому так.

Цитата:
akonev Потому призываю запросы мониторить и анализировать, чтобы лучше понимать, что происходит.

Для работы же пока использовать штатные механизмы.
Полностью согласен.

Пока сосредоточусь на изучении структуры БД и бизнес-логики, а к этой теме мониторинга можно вернуться во время передышки.
31.03.2015 16:29
DMaslov
 
Цитата:
Mtirt Суть ошибки в том, что разный состав одного и того же набора в магазине (где документ создался) и в офисе (куда документ не доходит).
Про наборы прочитал, спасибо. Это уже тема для отдельной темы :).
02.04.2015 19:50
DMaslov
 
Цитата:
регистры - как минимум остатки и цены - не изменились после копирования документов.
Исправляюсь. Остатки таки изменились, все в порядке. Наша ошибка была в том, что мы смотрели остатки при скопированных не до конца документах.
Опции темы


Часовой пояс GMT +3, время: 11:14.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.