Size: a a a

2020 October 02

MO

Max Olsson in Oracle RU
Zte
В принципе ни чего, при условии что это один или пара экземпляров, но как то приходилось сталкиваться с какой то orm, точно стек не помню, суть в том что там под каждый  insert  создавался экземпляр. В любом случае формирование sql строки в цикле отрабатывает быстрее любой ормки
А мы про какой ЯП, про Java? Там на обращение к БД довольно много экземпляров создаётся.
String для sql'я, PreparedStatement для обращения к бд, ResultSet для получения результата, и короче куча еще всего.
Еще ORM сверху своей логики накручивает.

Но за время дискового io при обращении к базе у тебя приложение успеет создать и прожевать десятки тысяч этих классов.
Это всё вообще ничтожно в плане потребляемых ресурсов в сравнение с тем, что в БД происходит. Например новое подключение это запуск нового процесса на сервере со всеми вытекающими. Поэтому параллелизм через dbms_job или хинт parallel в запросе это крайне тяжелые штуки.
источник

СК

Сергей Кучеренко... in Oracle RU
Egor 🐱 Solominov
ну а если серьезно, бить по рукам за такое, на крайняк sql_translate
Скажу так, в одной из информационных систем пресекли этот момент организационно + перевели на ТП с uniform size extent. Этого было достаточно.
А вот в другой архаичной ИС эта проблема образовалась с течением времени.
источник

ES

Egor 🐱 Solominov in Oracle RU
ну если такая проблема постоянно возникает я бы собрал статистику по таблицам в этом ТП, отфильтровал бы таблицы где строк сильно меньше чем блоков, и в зависимости от размера делал мув\коалиск этих таблиц по расписанию
источник

ES

Egor 🐱 Solominov in Oracle RU
ну или если уж быть мудаком - то записывать себе сверхурочные и делать это вручную
источник

У

Уруруборос Иванович... in Oracle RU
Egor 🐱 Solominov
ну или если уж быть мудаком - то записывать себе сверхурочные и делать это вручную
Написать скрипт, а потом брать сверхурочные и смотреть как он работает
источник

У

Уруруборос Иванович... in Oracle RU
Спокойнее.
Но местами чёт странное написано.
источник

У

Уруруборос Иванович... in Oracle RU
Грузить данные по дблинку через рефкурсор, вместо инсерт селект, чтобы сохранить план запроса во вьюхе.
источник

У

Уруруборос Иванович... in Oracle RU
Или это норм?
источник

У

Уруруборос Иванович... in Oracle RU
Уруруборос Иванович
Грузить данные по дблинку через рефкурсор, вместо инсерт селект, чтобы сохранить план запроса во вьюхе.
+ ещё и не балками, а по одной записи...
источник

DC

Dmitry Comanda in Oracle RU
insert ... select  и чистый select - 2 разных запроса для CBO, планы выполнения будет строить по разному
Для распределённых запросов есть свои заморочки, т.к. участвуют 2 и более инстанса, выполняться разные куски запроса могут в разных БД (как CBO решит или разраб "заставит")
Для их случая, вероятно, можно было обойтись хинтом insert /*+ driving_site ...*/ select. Основная цель - минимизация сетевого трафика, т.к. он ещё медленней дисков
источник

DC

Dmitry Comanda in Oracle RU
Уруруборос Иванович
+ ещё и не балками, а по одной записи...
Балк даст эффект /*+ all_rows*/, а эффективнее для конкретного плана может оказаться режим /*+ first_rows*/ (сдвиг в сторону NL от Hash/Merge)
источник

У

Уруруборос Иванович... in Oracle RU
Dmitry Comanda
insert ... select  и чистый select - 2 разных запроса для CBO, планы выполнения будет строить по разному
Для распределённых запросов есть свои заморочки, т.к. участвуют 2 и более инстанса, выполняться разные куски запроса могут в разных БД (как CBO решит или разраб "заставит")
Для их случая, вероятно, можно было обойтись хинтом insert /*+ driving_site ...*/ select. Основная цель - минимизация сетевого трафика, т.к. он ещё медленней дисков
Надо запомнить хинт
источник

У

Уруруборос Иванович... in Oracle RU
Dmitry Comanda
Балк даст эффект /*+ all_rows*/, а эффективнее для конкретного плана может оказаться режим /*+ first_rows*/ (сдвиг в сторону NL от Hash/Merge)
Ну там если пару тысяч строк, то фиг с ним. А если сотни миллионов.
источник

ИГ

Илья Гущенский... in Oracle RU
Привет ребята, у кого то была проблема в службе TNSLlistener? Дело в том что он пропадает и если вы знаете как его восстановить подскажите пожалуйста )
источник

АЛ

Аггей Лоскутников... in Oracle RU
netca запустить?
источник

АЛ

Аггей Лоскутников... in Oracle RU
Там интерфейс для настройки листнера
источник

АЛ

Аггей Лоскутников... in Oracle RU
А так можно и файлик руками нагенерировать, если все параметры знаете
источник

DC

Dmitry Comanda in Oracle RU
Уруруборос Иванович
Ну там если пару тысяч строк, то фиг с ним. А если сотни миллионов.
Для "сотен миллионов строк" нужны другие решения вместо линков, это быстрее залить expdp/impdp, перенести через TTS или другими способами для таких объёмов
Через db_link обычно таскаются какие-нибудь регулярные обновления/загрузки, раз в неделю/день или меньше. Там сложно такие объёмы накопить
источник

DF

Dmitri F in Oracle RU
Доброго всем дня
источник

DF

Dmitri F in Oracle RU
Подскажите, БД была перемотана назад с помощью flashback database. Можно ли из словаря выбрать информацию о том на какое время была выполнена перемотка?
источник