|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
andrey_anonymous, Если у тебя в пакете кроме три раза select нет ничего, то конечно используй))). Если использовать Профессионально то БЛ смещается в субд. В пакеты. Два тезиса осмыслил? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:04 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
SpringMan, Конечно это костыль реконнекта. Я юзверю выводил сообщение что на сервере технические работы. Не люблю автореконнект без 100 проц гарантии. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:07 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev andrey_anonymous ...Надо дальше объяснять почему их избегают в логике приложения и как именно это делается?... само наличие данного топика, говорит о том, что избежать-то и не получилось ))) ...и не требовалось. Используются вполне безопасно и к месту. Leonid Kudryavtsev Ну и кэш который передается между чужими коннектами (через пул) - это жесть. IMHO Фантазия - это здорово. Но Вы заблуждаетесь. Leonid Kudryavtsev Осмысленность кэша на уровне сессии передающейся между чужими коннектами - для меня загадка. Узкоспециальное применение на уровне сессии. К примеру, я такие иногда использую для обогащения потока данных - повышает производительность за больших объемах и снижает стоимость поддержки системы за счет снижения сложности sql. Leonid Kudryavtsev 2. Программный 2.1. Корректно (пере) инициализировать соединение в момент получения из пула 2.2. Реализовывать повтор etc... Если посмотрите внимательнее, то коллеги предложили два вполне реальных варианта, надеюсь, один из них на текущем проекте нам подойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:08 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
PetroNotC Sharp andrey_anonymous, Если у тебя в пакете кроме три раза select нет ничего, то конечно используй))). Если использовать Профессионально то БЛ смещается в субд. В пакеты. Два тезиса осмыслил? Еще раз, медленно, задаю вопрос: - каким образом применение пакетированной логики мешает проводить короткие транзакции? Попробуйте осмыслить перед тем, как жать на кнопки. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:12 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Leonid Kudryavtsev, Он не знает разницы между физической транзакцией и бизнес транз. Петро, просто поверь , что Андрей точно много больше тебя знает, понимает и видел в этом вопросе. По крайней мере, допусти по вероятности. И рассуждает он, кстати, как раз о том, о чём программисту задумываться не положено. Хотя в техническом плане, некоторые из его категорично высказанных тезисов, имхо, спорны. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:15 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
SpringMan Leonid Kudryavtsev 1.2. Более мягкий вариант (требует программирование, нового API) - "сдувать быстро пул до нулевого размера" 22321026 Ну вот я имел ввиду именно на уровне конфигурации пула. В пулах в том или ином виде есть настройки: "минимальное количество коннектов" и "сколько времени держать коннект в пуле в случае бездействия". Вот обе настройки в 0. Это конечно не самое хорошее решение, но в определенных жизненных обстоятельствах может снять немного боли. Ну и, возможно, добавить немного боли в будущем :) Ну это вообще пул выключит Тут то проблема, как я понимаю, что пул после наката патча не очищается. Не сложно сделать на сервере служебное Rest API / URL и дергать его после наката патча. А в нем уже ужимать пуль (AFAIK многие пулы такое предоставляют). Накатили патч. Дернули URL на серверах. Пулы переиницилизировались, все работает. Но на мой взгляд, более правильно, было бы: 1. Дернули URL на серверах, преостановили работу пользователей 2. Накатили патч на СУБД 2. Дурнули URL на серверах, очистили пул, продолжили работу пользователей Я понимаю, что: Сейчас вообще в моде девопс и накат изменений без перерыва сервиса. но как при этом гарантировать корректную работу при серьезных изменениях - не очень представляю. Половина пакетов накатилась, половина нет. А мы работает, команды переповторяем.... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:17 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
booby PetroNotC Sharp Leonid Kudryavtsev, Он не знает разницы между физической транзакцией и бизнес транз. Петро, просто поверь , что Андрей точно много больше тебя знает, понимает и видел в этом вопросе. По крайней мере, допусти по вероятности. И рассуждает он, кстати, как раз о том, о чём программисту задумываться не положено. Хотя в техническом плане, некоторые из его категорично высказанных тезисов, имхо, спорны. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:19 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
andrey_anonymous PetroNotC Sharp andrey_anonymous, Если у тебя в пакете кроме три раза select нет ничего, то конечно используй))). Если использовать Профессионально то БЛ смещается в субд. В пакеты. Два тезиса осмыслил? Еще раз, медленно, задаю вопрос: - каким образом применение пакетированной логики мешает проводить короткие транзакции? Попробуйте осмыслить перед тем, как жать на кнопки. Я знаю бизнес логику). Давайте по ней вопросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:21 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
PetroNotC Sharp booby ... Хотя в техническом плане, некоторые из его категорично высказанных тезисов, имхо, спорны. Его слова, дословно, как раз у меня критики и не вызывают. Кто же спорит, что глобальные переменные, goto и 100500 других вещей - это не есть хороший стиль. Но некоторые его высказывания воспринимаются слишком "категорично". Я с самого начала подчеркивал, что в его случае - наверное все хорошо. Но в целом, без знаний и гарантий об устройстве конкретной системы - это может не работать или, что хуже, может делать вид, что работает, а на деле работать не корректно. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:24 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev но как при этом гарантировать корректную работу при серьезных изменениях - не очень представляю. Половина пакетов накатилась, половина нет. А мы работает, команды переповторяем.... Ну как-как... Патчи делятся на те, которые подлежат накату online и те, которые требуют остановки сервиса. Под вторые согласуется технологическое окно (перерыв сервиса), первые применяются в часы наименьшей нагрузки. Патчи отдельно тестируются на накат. Ну и безусловно, при работе на серьезной системе накат изменений без согласованного документа вида "план внедрения" не выполняется. Нормальный план внедрения предусматривает заранее согласованные действия в аварийной ситуации - например, ту же остановку сервиса с последующим откатом патча или - бывают и такие сценарии - продолжение работы в режиме ограниченной функциональности. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:29 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
PetroNotC Sharp ...и как это соотнести с тем что переменные вредны в пакетах? Его слова? Нет. это вы сейчас за него додумали. Про то, что пакетные переменные эквивалентны глобальным переменным он говорил. И про то, что считается, что не следует чрезмерно увлекаться глобальными переменными - тоже говорил. А вредны - это ваш домысел. Контекстные переменные - тоже сорт глобальных переменных, между прочим. Существо того, о чем он говорил, сводится вот чему, с моей точки зрения: При работе с пулом соединений явное состояние пакета может быть, при определенных обстоятельствах, помехой, как и вообще любая другая сохранившаяся "глобальная переменная" на стороне базы. Тема, в общем случае достаточно сложная, но а) я понимаю это, и б) я знаю что делаю. Вот я бы так расшифровывал то, что он говорил, независимо от того, есть тут предмет для спора или нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:31 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
booby, Вот и пошло поехало - у него градации пакетов оказывается - переменными не увлекаться - То есть куча условностей о которых молчал. Стакан полуналитый или полупустой? Это профессионально? Нафиг пакеты при трехзвенке? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:35 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
andrey_anonymous, но, вообще EBR в Oracle взлелеивали именно для обсуждаемого рода задач. Хочу полюбопытствовать, если не секрет, почему именно в вашем случае эти лыжи не едут? (у "нас" тоже не едут, но это не моего ума вопрос) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:35 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
booby, Решение топика то где? Пул обнулить?)) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:37 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
PetroNotC Sharp booby, Решение топика то где? Пул обнулить?)) Ну будем надеятся, что когда решат, то отпишется, что и как ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:38 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Я знаю бизнес логику). Давайте по ней вопросы. Давайте. Берем бизнес-процесс заведения нового клиента в банке. Он по факту достаточно сложен и может содержать сотни вызовов плюс несколько интеграционных взаимодействий. Но мы упростим до предела - всего одна БД, всего пяток необходимых действий по регистрации. В базе создан пакет содержаший метод registerNewClient(...), инкапсулирующий эти действия. Каким образом вызов указанного метода противоречит тезису про "короткие транзакции без состояния"? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:40 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
Учитывая что имеем дело с ораклом мы еще можем обсудить другие ситуации. Не только PL/пакет был пересобран. Но и инстанс кластера мог упасть. Умный драйвер нас перебалансировал на другие инстансы. Но мы что-то потеряли. Потеряли context. Сессионные настройки. Так что задача не так проста как кажется. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:42 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, В трехзвенке и база нафик не нужна. Тут и мнения второго быть не может. Иначе ты навсегда будешь чьим-нибудь рабом, например майбатиса. База смысла не имеет, если в ней нет хранимого кода. Но большинство современных "системостроителей" на голубом глазу технической политикой запрещают его наличие. И у нас на форуме есть ярые размахиватели этим флагом. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:42 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
booby (у "нас" тоже не едут, но это не моего ума вопрос) Потому что я плавно становлюсь динозавром, наверное. И не доверяю я индусам в таких вопросах. Да и текущий проект сильно проще в этом плане нежели чем предыдущий, где, впрочем, тоже как-то обошлись. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:45 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
booby База смысла не имеет, если в ней нет хранимого кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:49 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
mayton Умный драйвер нас перебалансировал на другие инстансы. Поручик, ну как можно в приличном обществе так выражаться?!!! Какой кластер, какой TAF, Вы о чем?! Может, предложите обсудить в этом контексте cache fusion, result cache с его багами и условностями? Вы еще про FAN вспомните или, не приведи Господь, про GoldenGate на каскадном стендбае... Оффтопик это, злой оффтопик. Тут даже сугубо ламповая тема про корректное использование переменных пакета на ровном месте целый холивар подняла ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 17:56 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev booby База смысла не имеет, если в ней нет хранимого кода. Рискну предположить, что коллега booby имел ввиду "вам не нужна серьезная промышленная БД там, где достаточно мешка с данными". Оракель выставляет прайс на свою rdbms за очень мощный функционал. Нет никакого смысла платить миллионы за тот же Oracle EE, если все что требуется от базы - это CRUD. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 18:09 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev booby База смысла не имеет, если в ней нет хранимого кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 18:21 |
|
Mybatis vs Ora-04068
|
|||
---|---|---|---|
#18+
andrey_anonymous Когллеги, подскажите плиз, какие существуют варианты воткнуть обработку oracle exception ORA-04068 в приложении, использующем MyBatis? Обработка ora-4068, понятно, заключается в повторе вызвавшей сбой операции. Наши джависты вменяемого решения предложить отчего-то не в состоянии - предлагают чуть ли не все вызовы в проекте catch-ами обвешивать. История про то что на все вызовы нужно лепить catch звучит довольно странно, при работе с MyBatis обычно одному методу в жаве соответствует один вызов jdbc, т.е. в первом приближении размер бедствия довольно-таки замкнутый и накидать костылей в виде catch не должно составлять каких-либо проблем, это раз. Во-вторых, ничего не мешает воткнуть декоратор для дата-сорса, и перехватывать исключения там, здесь трудоемкость зависит от того как реализовано приложение, и может выходить от получаса до ~дня. Однако по моему мнению, если бы ко мне пришли с такой "идеей", то я бы предложил написать декораторы в PL/SQL - ошибка летит оттуда, ну вот пусть оно через execute immediate и делает вызовы с перехватом. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2021, 18:56 |
|
|
start [/forum/topic.php?fid=59&msg=40069729&tid=2120449]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 178ms |
0 / 0 |