powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Mybatis vs Ora-04068
25 сообщений из 270, страница 3 из 11
Mybatis vs Ora-04068
    #40069711
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,
Если у тебя в пакете кроме три раза select нет ничего, то конечно используй))).
Если использовать Профессионально то БЛ смещается в субд. В пакеты.
Два тезиса осмыслил?
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069712
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan,
Конечно это костыль реконнекта.
Я юзверю выводил сообщение что на сервере технические работы.
Не люблю автореконнект без 100 проц гарантии.
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069713
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
andrey_anonymous
...Надо дальше объяснять почему их избегают в логике приложения и как именно это делается?...

само наличие данного топика, говорит о том, что избежать-то и не получилось )))

...и не требовалось.
Используются вполне безопасно и к месту.

Leonid Kudryavtsev

Ну и кэш который передается между чужими коннектами (через пул) - это жесть. IMHO

Фантазия - это здорово.
Но Вы заблуждаетесь.

Leonid Kudryavtsev

Осмысленность кэша на уровне сессии передающейся между чужими коннектами - для меня загадка.

Узкоспециальное применение на уровне сессии.
К примеру, я такие иногда использую для обогащения потока данных - повышает производительность за больших объемах и снижает стоимость поддержки системы за счет снижения сложности sql.

Leonid Kudryavtsev

2. Программный
2.1. Корректно (пере) инициализировать соединение в момент получения из пула
2.2. Реализовывать повтор
etc...

Если посмотрите внимательнее, то коллеги предложили два вполне реальных варианта, надеюсь, один из них на текущем проекте нам подойдет.
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069714
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andrey_anonymous,
Если у тебя в пакете кроме три раза select нет ничего, то конечно используй))).
Если использовать Профессионально то БЛ смещается в субд. В пакеты.
Два тезиса осмыслил?

Еще раз, медленно, задаю вопрос:
- каким образом применение пакетированной логики мешает проводить короткие транзакции?
Попробуйте осмыслить перед тем, как жать на кнопки.
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069716
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Leonid Kudryavtsev,
Он не знает разницы между физической транзакцией и бизнес транз.

Петро, просто поверь , что Андрей точно много больше тебя знает, понимает и видел в этом вопросе.
По крайней мере, допусти по вероятности.

И рассуждает он, кстати, как раз о том, о чём программисту задумываться не положено.
Хотя в техническом плане, некоторые из его категорично высказанных тезисов, имхо, спорны.
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069717
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
Leonid Kudryavtsev

1.2. Более мягкий вариант (требует программирование, нового API) - "сдувать быстро пул до нулевого размера"
22321026

Ну вот я имел ввиду именно на уровне конфигурации пула. В пулах в том или ином виде есть настройки: "минимальное количество коннектов" и "сколько времени держать коннект в пуле в случае бездействия". Вот обе настройки в 0. Это конечно не самое хорошее решение, но в определенных жизненных обстоятельствах может снять немного боли. Ну и, возможно, добавить немного боли в будущем :)

Ну это вообще пул выключит

Тут то проблема, как я понимаю, что пул после наката патча не очищается. Не сложно сделать на сервере служебное Rest API / URL и дергать его после наката патча. А в нем уже ужимать пуль (AFAIK многие пулы такое предоставляют).

Накатили патч. Дернули URL на серверах. Пулы переиницилизировались, все работает.

Но на мой взгляд, более правильно, было бы:

1. Дернули URL на серверах, преостановили работу пользователей
2. Накатили патч на СУБД
2. Дурнули URL на серверах, очистили пул, продолжили работу пользователей

Я понимаю, что:
Сейчас вообще в моде девопс и накат изменений без перерыва сервиса.

но как при этом гарантировать корректную работу при серьезных изменениях - не очень представляю. Половина пакетов накатилась, половина нет. А мы работает, команды переповторяем....
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069718
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
PetroNotC Sharp
Leonid Kudryavtsev,
Он не знает разницы между физической транзакцией и бизнес транз.

Петро, просто поверь , что Андрей точно много больше тебя знает, понимает и видел в этом вопросе.
По крайней мере, допусти по вероятности.

И рассуждает он, кстати, как раз о том, о чём программисту задумываться не положено.
Хотя в техническом плане, некоторые из его категорично высказанных тезисов, имхо, спорны.
и как это соотнести с тем что переменные вредны в пакетах? Его слова?
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069719
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous
PetroNotC Sharp
andrey_anonymous,
Если у тебя в пакете кроме три раза select нет ничего, то конечно используй))).
Если использовать Профессионально то БЛ смещается в субд. В пакеты.
Два тезиса осмыслил?

Еще раз, медленно, задаю вопрос:
- каким образом применение пакетированной логики мешает проводить короткие транзакции?
Попробуйте осмыслить перед тем, как жать на кнопки.
"пакетированная логика" это в вузе термин такой?
Я знаю бизнес логику). Давайте по ней вопросы.
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069720
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
booby

...
Хотя в техническом плане, некоторые из его категорично высказанных тезисов, имхо, спорны.
и как это соотнести с тем что переменные вредны в пакетах? Его слова?

Его слова, дословно, как раз у меня критики и не вызывают.

Кто же спорит, что глобальные переменные, goto и 100500 других вещей - это не есть хороший стиль. Но некоторые его высказывания воспринимаются слишком "категорично".

Я с самого начала подчеркивал, что в его случае - наверное все хорошо. Но в целом, без знаний и гарантий об устройстве конкретной системы - это может не работать или, что хуже, может делать вид, что работает, а на деле работать не корректно.
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069721
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
но как при этом гарантировать корректную работу при серьезных изменениях - не очень представляю. Половина пакетов накатилась, половина нет. А мы работает, команды переповторяем....

Ну как-как...
Патчи делятся на те, которые подлежат накату online и те, которые требуют остановки сервиса.
Под вторые согласуется технологическое окно (перерыв сервиса), первые применяются в часы наименьшей нагрузки.
Патчи отдельно тестируются на накат.
Ну и безусловно, при работе на серьезной системе накат изменений без согласованного документа вида "план внедрения" не выполняется.
Нормальный план внедрения предусматривает заранее согласованные действия в аварийной ситуации - например, ту же остановку сервиса с последующим откатом патча или - бывают и такие сценарии - продолжение работы в режиме ограниченной функциональности.
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069722
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
...и как это соотнести с тем что переменные вредны в пакетах? Его слова?

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

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

При работе с пулом соединений явное состояние пакета может быть, при определенных обстоятельствах, помехой,
как и вообще любая другая сохранившаяся "глобальная переменная" на стороне базы.
Тема, в общем случае достаточно сложная, но а) я понимаю это, и б) я знаю что делаю.

Вот я бы так расшифровывал то, что он говорил, независимо от того, есть тут предмет для спора или нет.
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069723
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby,
Вот и пошло поехало
- у него градации пакетов оказывается
- переменными не увлекаться
-
То есть куча условностей о которых молчал.
Стакан полуналитый или полупустой?
Это профессионально?
Нафиг пакеты при трехзвенке?
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069724
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

но, вообще EBR в Oracle взлелеивали именно для обсуждаемого рода задач.
Хочу полюбопытствовать, если не секрет, почему именно в вашем случае эти лыжи не едут?

(у "нас" тоже не едут, но это не моего ума вопрос)
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069725
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby,
Решение топика то где? Пул обнулить?))
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069726
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
booby,
Решение топика то где? Пул обнулить?))

Ну будем надеятся, что когда решат, то отпишется, что и как )))
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069727
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Я знаю бизнес логику). Давайте по ней вопросы.

Давайте.
Берем бизнес-процесс заведения нового клиента в банке.
Он по факту достаточно сложен и может содержать сотни вызовов плюс несколько интеграционных взаимодействий.
Но мы упростим до предела - всего одна БД, всего пяток необходимых действий по регистрации.
В базе создан пакет содержаший метод registerNewClient(...), инкапсулирующий эти действия.
Каким образом вызов указанного метода противоречит тезису про "короткие транзакции без состояния"?
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069728
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Учитывая что имеем дело с ораклом мы еще можем обсудить другие ситуации. Не только PL/пакет
был пересобран. Но и инстанс кластера мог упасть. Умный драйвер нас перебалансировал на другие
инстансы. Но мы что-то потеряли. Потеряли context. Сессионные настройки.

Так что задача не так проста как кажется.
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069729
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

В трехзвенке и база нафик не нужна.
Тут и мнения второго быть не может.
Иначе ты навсегда будешь чьим-нибудь рабом, например майбатиса.

База смысла не имеет, если в ней нет хранимого кода.
Но большинство современных "системостроителей" на голубом глазу технической политикой запрещают его наличие.
И у нас на форуме есть ярые размахиватели этим флагом.
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069731
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
(у "нас" тоже не едут, но это не моего ума вопрос)

Потому что я плавно становлюсь динозавром, наверное.
И не доверяю я индусам в таких вопросах.
Да и текущий проект сильно проще в этом плане нежели чем предыдущий, где, впрочем, тоже как-то обошлись.
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069733
booby
База смысла не имеет, если в ней нет хранимого кода.
Надеюсь это просто софистика, и на самом деле в этом мире нет людей которые так думают :D
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069736
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Умный драйвер нас перебалансировал на другие
инстансы.

Поручик, ну как можно в приличном обществе так выражаться?!!!
Какой кластер, какой TAF, Вы о чем?!
Может, предложите обсудить в этом контексте cache fusion, result cache с его багами и условностями?
Вы еще про FAN вспомните или, не приведи Господь, про GoldenGate на каскадном стендбае...
Оффтопик это, злой оффтопик.
Тут даже сугубо ламповая тема про корректное использование переменных пакета на ровном месте целый холивар подняла
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069742
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
booby
База смысла не имеет, если в ней нет хранимого кода.
Надеюсь это просто софистика, и на самом деле в этом мире нет людей которые так думают :D

Рискну предположить, что коллега booby имел ввиду "вам не нужна серьезная промышленная БД там, где достаточно мешка с данными".
Оракель выставляет прайс на свою rdbms за очень мощный функционал.
Нет никакого смысла платить миллионы за тот же Oracle EE, если все что требуется от базы - это CRUD.
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069745
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
booby
База смысла не имеет, если в ней нет хранимого кода.
Надеюсь это просто софистика, и на самом деле в этом мире нет людей которые так думают :D
))))
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069751
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous
Когллеги, подскажите плиз, какие существуют варианты воткнуть обработку oracle exception ORA-04068 в приложении, использующем MyBatis?
Обработка ora-4068, понятно, заключается в повторе вызвавшей сбой операции.
Наши джависты вменяемого решения предложить отчего-то не в состоянии - предлагают чуть ли не все вызовы в проекте catch-ами обвешивать.


История про то что на все вызовы нужно лепить catch звучит довольно странно, при работе с MyBatis обычно одному методу в жаве соответствует один вызов jdbc, т.е. в первом приближении размер бедствия довольно-таки замкнутый и накидать костылей в виде catch не должно составлять каких-либо проблем, это раз. Во-вторых, ничего не мешает воткнуть декоратор для дата-сорса, и перехватывать исключения там, здесь трудоемкость зависит от того как реализовано приложение, и может выходить от получаса до ~дня. Однако по моему мнению, если бы ко мне пришли с такой "идеей", то я бы предложил написать декораторы в PL/SQL - ошибка летит оттуда, ну вот пусть оно через execute immediate и делает вызовы с перехватом.
...
Рейтинг: 0 / 0
Mybatis vs Ora-04068
    #40069752
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов,
Хммм... Не понял как можно перехватить вызов хранимки с райзе в самой субд.
Разве это возможно?
...
Рейтинг: 0 / 0
25 сообщений из 270, страница 3 из 11
Форумы / Java [игнор отключен] [закрыт для гостей] / Mybatis vs Ora-04068
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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