Как стать автором
Обновить
2.25

Oracle *

Система управления базами данных

Сначала показывать
Порог рейтинга
Уровень сложности

Как перейти с Oracle на PostgreSQL, используя Ora2Pg

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.9K

Привет, Хабр!

Сегодня мы поговорим об актуальной задаче — миграции баз данных с Oracle на PostgreSQL с использованием Ora2Pg. Сейчас популярность PostgreSQL обоснована его мощностями и экономически выгодной альтернативы коммерческим решениям.

Читать далее
Всего голосов 14: ↑8 и ↓6+5
Комментарии0

Новости

Как мы переехали с Oracle на PostgreSQL в нагруженном сервисе без даунтайма

Уровень сложностиСредний
Время на прочтение30 мин
Количество просмотров23K

Всем привет! Я Сергей, работаю в B2B-команде Яндекс Маркета последние 3,5 года. Как уже понятно из заголовка, сейчас я вам расскажу про yet-another-миграцию с базы на базу, которая началась в середине 2021 года и заняла почти год. Получается, мемуары.

Вас ждёт рассказ о том, как мы:

- несколько месяцев чинили тесты и делали трансформер;

- десятки раз переливали данные;

- чинили баги незаметно для пользователей;

- заставили сервис работать на PostgreSQL быстрее, чем он работал на Oracle.

Читать далее
Всего голосов 90: ↑90 и ↓0+92
Комментарии15

Погубит ли Java 22 сборочные инструменты?

Время на прочтение6 мин
Количество просмотров11K

Вступление


Я Николай Парлог, представитель отдела разработки Java в Oracle, и, отвечу на вопрос, вынесенный в заголовок — нет, конечно же, нет! Как вы могли только подумать о таком!
Но она немного снижает их актуальность, и в правильных обстоятельствах это очень хорошо. Позже я объясню, что я имею в виду. Сначала давайте разберемся, как работает эта новая функция. Готовы? Тогда давайте окунемся с головой!

Версия Java 22 обогатилась возможностью выполнения исходного кода сразу из нескольких файлов. В таком случае простой команды java достаточно, чтобы выполнять программы, состоящие из нескольких исходных файлов и даже содержащие зависимости. Для опытных разработчиков это упростит поиск и эксперименты, но для тех, кто только осваивает Java или просто программирует, это настоящая революция: теперь можно писать код Java как из одного, так и из нескольких исходных файлов и даже добавлять зависимости, безотносительно IDE или сборочных инструментов.
Читать дальше →
Всего голосов 17: ↑14 и ↓3+17
Комментарии14

Как неПросто сделать холодный бэкап Postgres

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров6K

File system level backup  в Postgres это первое чему нужно научится при использовании Postgres . Никакие pg_dump \ pg_restore не заменят Полный бэкап на уровне файлов. File system level backup это первая ступень для подготовки к Continuous archiving. Понимание архитектуры хранения – это фундамент, по которому можно понять сможете ли Вы жить с Postgres на больших объемах или у Вас другой путь?

Начать копировать кластер правильно
Всего голосов 8: ↑3 и ↓5+1
Комментарии45

Истории

Инструкция по бэкапу одной базы в Postgres – миф или реальность

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров8.4K

Бэкап в Postgres состоит из набора граблей, которые нужно обойти для успешного восстановления. Они заложены в самых неожиданных местах от предмета резервного копирования (база или кластер), до структуры каталогов. Один неверный шаг и восстановление будет невозможным. Почему нельзя  было сделать проще как в MS SQL или Oracle? Почему бэкап в Postgres оставляет впечатление чьей то лабораторной работы? Статья адресована прежде всего специалистам 1С избалованным комфортом в MS SQL, в суровых буднях импортозамещения на Postgres.

Сохранить в бэкап
Всего голосов 12: ↑7 и ↓5+3
Комментарии67

Отладка в PL/SQL Developer

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров7.2K

Привет! Меня зовут Алексей Маряхин, я работаю разработчиком на Oracle и пишу много, очень много кода. И когда программа ведёт себя не так, как ожидалось, на помощь приходит отладка.

Не так давно выяснил, что не все разработчики владеют функционалом отладки или знают её фичи. А если код сложный и баги искать всё равно надо? Литературы на русском языке про отладку практически нет.

Тогда я собрал подробный гайд для коллег и провёл внутренний семинар по обмену опытом. Материал получился настолько подробным и полезным, что решил поделиться им с сообществом программистов. На примере инструментов для работы с СУБД Oracle, которые используются у нас в компании, посмотрим, как работает отладка, сравним их в теории и узнаем, что внутри.

В серии из двух статей подробно расскажу о способах, инструментах и нюанса отладки кода PL/SQL. Первая часть — про инструмент PL/SQL Developer. Поехали!

Читать далее →
Всего голосов 9: ↑8 и ↓1+8
Комментарии2

Как ускорить бекап данных из OracleDB в 5 раз? Или в 10. Можно и больше…

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.8K

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

Читать далее
Рейтинг0
Комментарии67

Иерархическая база данных (продолжение)

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров3.4K

Эта статья посвящена реально работающей информационной системе (ИС), основанной на иерархической модели данных. Скажу точнее - это не просто ИС - это инструмент разработки ИС любого уровня сложности, включая ERP, CRM, PPM и т.д., обладающий полным набором средств разработки (инструментом описания структуры данных, встроенным процедурным языком и языком запросов, инструментом разработки экранных форм, инструментом написания программного кода и т.д).

Во 2-ой части статьи описывается внутреннее устройство ИС.

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии3

Иерархическая база данных

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров8.1K

Эта статья посвящена реально работающей информационной системе (ИС), основанной на иерархической модели данных. Скажу точнее - это не просто ИС - это инструмент разработки ИС любого уровня сложности, включая ERP, CRM, PPM и т.д., обладающий полным набором средств разработки (инструментом описания структуры данных, встроенным процедурным языком и языком запросов, инструментом разработки экранных форм, инструментом написания программного кода и т.д).

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

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии24

Настройка NVMe over TCP — для тех, кому надо подключить больше 1 диска единственной конфигурации из всех примеров в Сети

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров14K

Технология NVMe через различные фабрики (далее NVMeOF) оформлена в качестве стандарта летом 2016 года, она была встроена в пятую ветку ядра Linux.

Поэтому, когда было решено мигрировать объемные базы данных с легаси-решений на общедоступные платформы, возник вопрос — можно ли применить эту технологию для увеличения дискового пространства для создания зеркал локальных дисков?

Чтобы все зеркала не вышли из строя сразу, принимать такие диски надо бы небольшими группами с нескольких машин из разных стоек. Идея показалась достойной рассмотрения, поэтому создали небольшой стенд.

Меня зовут Алексей Дрожжов, я старший инженер в билайне, и в этом посте расскажу, как мы решали эту задачу.

Задача: подключить много дисков с нескольких серверов

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии9

Oracle/ClickHouse. DWH. Партицирование как средство быстрого обновления данных

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров7.3K

В этой статье хотелось бы рассмотреть такой вопрос - как частичное обновление больших объемов данных в таблицах, которые активно используются пользователями на чтение. Задача является типовой, и с ней сталкивается каждый инженер данных. При этом не важно на какой ступеньке своей карьерной лестницы вы находитесь, Junior или Senior, такие задачи будут.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии5

Connect by — интересный случай

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров1.8K

Довольно интересный случай выполнения "Ораклового" запроса, который, надеюсь может навести на некоторые рассуждения о runtime механизмах исполнения.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии4

Быстрее быстрого в СУБД

Уровень сложностиСложный
Время на прочтение14 мин
Количество просмотров8.8K

Привет! Меня зовут Сергей, я технический эксперт в компании Bercut. Когда-то увлекался Delphi и J2ME, издал несколько книг на эти темы, и профессионально уже около 20 лет создаю высоконагруженные приложения баз данных, используя для этого PL/SQL и SQL.

В Bercut мы занимаемся разработкой и развитием IT-продуктов и решений для операторов цифровых услуг и мобильных сервисов. Наши системы работают на различном железе, разных СУБД и обслуживают 24x7x365 в режиме онлайн сотни миллионов абонентов по всему миру. И это только кажется, что абонент один раз в день куда-то позвонил и все, больше никакой нагрузки от него нет и никто с ним не работает. На самом деле каждый смартфон каждого абонента непрерывно обменивается данными с сетью, а это все работа инфраструктуры операторов сотовой связи, а значит, нашего ПО. Как же система справляется с таким огромным объемом нагрузки?

Сегодня расскажу, что нужно делать и чего избегать, чтобы построить максимально производительную систему на примере СУБД Оракл.

Читать далее
Всего голосов 24: ↑22 и ↓2+31
Комментарии18

Ближайшие события

Не Oracle единым: как мы обучили сотрудников PostgreSQL и сократили миграции БД на полгода

Время на прочтение7 мин
Количество просмотров9.1K

Привет, Хабр! На связи Т1 Цифровая Академия из Холдинга Т1. Сегодня хотим рассказать, как мы добились того, что 233 специалиста перешли с Oracle на PostgreSQL всего за 10 месяцев.

Почему часто лучше обучить, чем нанять

В начале 2022 года внешние условия резко поменяли картину мира и ИТ-отрасль. Во-первых, иностранные поставщики решений — Microsoft, IBM, Cisco, Adobe и не  только — ушли с российского рынка, и ИТ-специалисты остались один на один с отечественными разработками и альтернативными ИТ-решениями, которые приходилось изучать по ходу работы. Во-вторых, в среднем отрасли не хватает около 1 млн ИТ-специалистов, особенно уровня middle и senior. На поиск кандидатов с опытом от 6 лет может уходить до полугода. Такое положение дел заставляет бизнес искать альтернативы найму новых сотрудников с нужными знаниями.

Как представители одного из лидеров ИТ-отрасли мы понимаем, что сейчас постоянный апгрейд знаний в ИТ — основа основ. Компаниям выгодней взрастить текущие кадры, раскрыть их сильные стороны и улучшить навыки, чем потратить от 3-х месяцев на поиск идеального кандидата в условиях нехватки кадров.

Почему переход с одной СУБД на другую — это вызов

Одна российская компания обратилась к нам за помощью — ей требовалось импортозаместить Oracle на PostgreSQL за 1 год. По оценкам команд это заняло бы минимум 1,5 года из-за отсутствия специалистов по PostgreSQL, затяжной миграции и низкой мотивации специалистов. 

Такой длительный переход мог существенно затормозить бизнес-процессы: если в процессе перехода лицензия закончится, то купить новую уже не получится; при отсутствии технической поддержки со стороны Oracle нельзя будет устранить технические ошибки, из-за которых можно остаться без функционирующих БД как у всей компании, так и у заказчиков. Сбои в работе ПО, которые работают на основе БД, могли бы повлечь и более серьезные проблемы. А потеря данных была бы вовсе критической.

Читать далее
Всего голосов 5: ↑3 и ↓2+3
Комментарии7

Проектирование базы данных в SAP PowerDesigner

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4.8K

Привет!

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

В данной статье мы рассмотрим процесс проектирования базы данных с нуля (в качестве примера возьмем только один слой БД - витринный, он же Data Mart) с использованием ПО SAP PowerDesigner. В качестве СУБД мы будем использовать Oracle 19c, но вы можете выбрать любую другую, по вашим потребностям (как - об этом чуть ниже).

Рассмотренный в статье инструмент будет интересен системным аналитикам, архитекторам, разработчикам БД и даже бизнес-аналитикам, поскольку помимо создания физических и логических моделей в нем можно рисовать ER-диаграммы, BPMN-модели и многое другое.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии3

Оптимизация SQL-запросов в Oracle

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров33K

Всем привет. Меня зовут Михаил Потапов, я - главный системный аналитик компании "Ростелеком Информационные Технологии". В компании занимаюсь разработкой отчетности для сегмента B2B и проектированием хранилища данных, на базе которого эта отчетность функционирует. Работоспособность каждого отчета напрямую зависит от корректно выстроенных SQL-запросов к базе данных Oracle, поскольку при работе с большими объемами данных скорость выполнения запросов может существенно снижаться. Снижение скорости сильно затрудняет работу с отчетами для конечного пользователя, а в некоторых случаях и вовсе делает ее невозможной.

В этой статье мы рассмотрим основные принципы оптимизации запросов в Oracle SQL, которые помогут ускорить работу с базой данных и повысить эффективность работы. Сразу отмечу, что статья рассчитана на junior и middle-специалистов, которые пишут сложные запросы к базе данных, работают с большими объемами данных и при этом ранее с вопросом оптимизации не сталкивались. Статья не содержит подробное руководство к действию, но описывает базовые основы "культуры кода", соблюдение которых позволит снизить нагрузку на БД и даст возможность более эффективно извлекать из нее данные.

Читать далее
Всего голосов 18: ↑14 и ↓4+10
Комментарии23

Использование составных триггеров (compound triggers) Oracle

Время на прочтение4 мин
Количество просмотров2.5K

Пример использования триггеров, при взаимном обновлении таблиц. При таких задачах возникает ошибка мутирования таблиц ORA-04091: table is mutating.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии6

Логмайним Оракл

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.1K

Перед нашей командой была поставлена задача осуществить миграцию из Oracle в PostgreSQL большой (несколько десятков терабайт) работающей базы с нагрузкой порядка 20 миллионов dml-операций в час и генерацией 2ГБ редо-логов в минуту. Особенность задачи состояла в том, что миграция должна была происходить не один-в-один, а по частям в разные шарды. А какие данные в какие шарды и в каком порядке поедут, определялось бы в процессе самой миграции, по результатам этой миграции, в режиме, так сказать, ручного управления.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Профилирование данных из СУБД Oracle с помощью DataHub и Great Expectations. Часть 2

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров1.9K

В первой части статьи мы подключили DataHub к базе данных Oracle, во второй части рассмотрим подключение Great Expectations к DBMS Oracle, сделаем ряд проверок качества данных, а также отправим результаты проверок в DataHub.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Переезд с Oracle на опенсорсный PostgreSQL: кейс «Магнита»

Время на прочтение9 мин
Количество просмотров7.5K

У нас было 2 ТБ данных на 4 информационных системы, 237 таблиц, 221 хранимая процедура, свыше 30 тысяч строк кода, ванильная версия PostgreSQL и потребность в реализации обратного потока данных в Oracle. Не то чтобы мы были экспертами в создании потоков данных между СУБД, но я знал, что рано или поздно нам придется этим заняться. 

Читать далее
Всего голосов 12: ↑11 и ↓1+14
Комментарии16
1
23 ...

Вклад авторов

Работа