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

Oracle *

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

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

Препятствуют ли cloud-сервисы доминированию Oracle в сфере баз данных?

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

В 2016 году компания Shutterfly сделала смелый шаг, перенеся метаданные из более чем 10 миллиардов наборов фотографий из частного центра обработки данных в общедоступное облако. Shutterfly рассматривала несколько потенциальных поставщиков облачного сервиса, и в конечном итоге, остановила выбор на AWS. Многие годы Shutterfly использовала инструменты Oracle для хранения и управления фотобиблиотеками более чем 20 миллионов активных клиентов. Но с течением времени, компания расширялась и развивалась, и стала переключать свои системы на cloud-сервисы Amazon. Представители компании заявили, что им необходимо было перевести свою БД на «систему более простую в использовании». Изучив разные варианты на рынке, в Shutterfly выявили, что системы Oracle «перестали соответствовать требованиям компании, чтобы иметь необходимый уровень гибкости».

Миграция данных — это процесс переноса данных из одной системы хранения в другую. Shutterfly — не единичный случай, когда крупная компания во время роста поставщиков облачных сервисов мигрируют за пределы Oracle. В итоге таких тенденций в корпоративной технологической отрасли баз данных предприятия отдают предпочтение более новым поставщикам: MongoDB, Databricks и Snowflake, и другим.
Читать дальше →

Баг с псионическими сигнатурами в Java

Время на прочтение6 мин
Количество просмотров5.4K
В классическом научно-фантастическом сериале BBC Доктор Кто часто используется следующий сюжетный приём: Доктору удаётся избежать неприятностей, показав удостоверение личности, которое на самом деле совершенно пустое. Разумеется, удостоверение сделано из специальной «психобумаги», заставляющей смотрящего на неё человека видеть то, что удобно для Доктора: пропуск, ордер или что-то ещё.


Оказывается, некоторые новые релизы Java тоже были подвержены подобному трюку в реализации широко используемых сигнатур ECDSA. Если запустить одну из уязвимых версий, то нападающий легко сможет подделать некоторые типы сертификатов SSL и handshake (что позволяет вмешиваться в обмен данными и модифицировать их), подписанные JWT, декларации SAML или id-токены OIDC и даже сообщения аутентификации WebAuthn. И для всего этого достаточно цифрового аналога чистого листа бумаги.
Читать дальше →

30 тыс. строк кода или как мы переходили с Oracle на PostgreSQL с помощью утилиты Ora2Pg 23.0

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

Привет, меня зовут Андрей, я работаю ведущим разработчиком в компании СИГМА и отвечаю за решения по автоматизации расчетов технических условий. Сегодня хочу поделиться своим опытом переноса в среду PostgreSQL данных из СУБД Oracle и процедур, разработанных на PL/SQL.

Перед моей командой была поставлена срочная и нетривиальная задача перенести разрозненный функционал, ранее разработанный на базе СУБД Oracle, в единую систему управления распределительными электрическим сетями (по-простому СИГМА СУС), которая работает на основе PostgreSQL и сочетает в себе подсистемы DMS, SCADA, GIS, NIS, OMS и другие.

Читать далее

Как мы мигрировали критичную БД с Oracle в CockroachDB

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

… простите, мигрировали куда? Туда!


CockroachDB — PostgreSQL-совместимая (по SQL-синтаксису DML) распределенная СУБД с открытым кодом (ну, почти). Ее название символизирует, что она, как таракан, выживает в любых экстремальных ситуациях. Лично мне крайне импонирует такая СУБД с привычным SQL-интерфейсом, настройка которой занимает 5 минут, которая хранит данные — как Kafka — на нескольких узлах в нескольких ЦОДах сразу, имеет настраиваемый replication factor на уровне конкретных таблиц, легко переживает потерю как одного узла, так и целого ЦОДа, использует для этого механизм распределенного консенсуса Raft и при этом еще и имеет строгую консистентность и уровень изоляции serializable. Разработчики CockroachDB — выходцы из компании Google, которые решили коммерциализировать архитектуру распределенной СУБД Spanner.



Недостатки тоже есть, не переживайте, но про них лучше в другой раз :)

Почему именно CockroachDB?


Среди распределенных SQL-СУБД есть альтернативы в виде Yugabyte и TiDB, и с прошлого месяца YDB. Вопрос «Почему?» связан в первую очередь с тем, зачем вообще нужна БД. Как мне кажется, БД нужна для того, чтобы надежно хранить данные и доставать их через стандартный язык SQL, а удобство ее использования — приятный, но вторичный фактор. Тут надо заметить, что я почти 9 лет проработал в техподдержке Oracle, и видел достаточно случаев порчи БД, как из-за дисковых сбоев и ошибок администраторов, так и из-за багов в приложении и даже в коде самой СУБД.

Ключевыми критериями выбора были:
Читать дальше →

Истории

Oracle. Ещё один способ партиционирования больших и нагруженных таблиц

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

Всем привет! Меня зовут Ольга и я разработчик в Ингосстрахе. В этой статье-туториале хочу поделиться способом партиционирования оооочень большой таблицы в Oracle 12c. Итак, погнали.

В жизни любой давно функционирующей системы наступает момент, когда уже невозможно хранить все исторические данные без разбору и пора думать, что это надо как-то поделить. Старое отправить на архивный или отчетный сервер, а оперативный слой существенно проредить. И самый очевидный и распространенный путь – партиционировать таблицу, а старые секции перенести на другое хранилище.

Читать далее

Жил на свете добрый Jooq – как подружиться с хранимками в Oracle

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

Приветствую!

Меня зовут Артём, я back-end разработчик на продукте WFM (Workforce Management). В компании наш продукт помогает в развитии процессов розничной сети, одна из основных наших задач — это построение рабочего графика для персонала розничного магазина.

В данной статье я хотел бы познакомить вас (в очередной раз, так как на хабре уже есть несколько статей, посвященных этой библиотеке) с Jooq и показать, как можно легко работать с хранимыми процедурами Oracle. Будет немного вводной части, а затем посмотрим примеры.

Почти в каждом продукте, скорее всего, есть база данных. В нашем случае это РСУБД Oracle, большая часть логики содержится внутри в виде хранимых процедур. Удобство взаимодействия с базой всегда было достаточно важной и щепетильной задачей для любого бэкендера, особенно, если речь идет о взаимодействии с хранимками, которые выдают и принимают "сложные" plsql-типы. Конвертация plsql-типа в java-тип — задачка не самая приятная, мягко говоря, и удобных инструментов в этом деле не так уж много.

Давайте кратко вспомним некоторые популярные подходы к взаимодействию с РСУБД, какими достоинствами и недостатками они обладают.

Читать далее

Как мы в команде Oracle-разработки организовали deploy

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

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

Читать далее

Миграция с Oracle на PostgreSQL: зачем, как и что для этого нужно

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

Привет, Хабр! Меня зовут Иван Чувашов, я сертифицированный администратор PostgreSQL с 13-летним опытом работы с БД. Хочу поговорить на весьма актуальную в последнее время тему — о миграции на PostgreSQL с Oracle. Расскажу, зачем вообще тратить время и деньги на миграцию, какие для этого понадобятся компетенции, какие есть варианты миграции, как этот процесс можно организовать и избежать типичных ошибок.

Читать дальше

Oracle Engineered Forum: подробности об использовании нового поколения Exadata в России

Время на прочтение1 мин
Количество просмотров842

Привет, Хабр! Буквально через пару дней пройдет очередной Oracle Engineered Forum. Мероприятия (виртуальное) будет полезно для тех, кто интересуется новым форматом работы программно-аппаратных комплексов Exadata — Cloud@Customer. Желающие узнать, как именно работают облачные сервисы с размещением оборудования в вашем ЦОД, могут уже сегодня зарегистрироваться на мероприятия. Подробнее о программе и акцентах ивента — под катом.

Читать далее

K8s кластер в Oracle Cloud для Always Free аккаунтов

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

На хабре уже не раз писали про бесплатные вычислительные ресурсы (ARM, 4 CPU, 24ГБ), которые можно развернуть в Oracle Cloud. После регистрации вы получаете $300 и 30 дней триального аккаунта, когда для развёртывания доступны все виды ресурсов. Когда эти 30 дней заканчиваются, аккаунт получает статус Always Free, и количество доступных ресурсов значительно урезается. Чтобы снова получить доступ к ним ко всем, можно сделать upgrade своего аккаунта до Pay-as-You-Go. Это односторонняя операция, переход обратно на Always Free невозможен, и после такого перехода нужно аккуратно следить и и контролировать траты. Тем не менее, Pay-as-You-Go аккаунты также могут бесплатно использовать Always Free ресурсы.

Oracle Cloud предоставляет возможность managed развёртывания K8s кластера (в документации он называется OKE – Oracle Container Engine for Kubernetes), однако он недоступен для Always Free аккаунтов.

Чтобы обойти это ограничение, используем подход полностью ручного выделения облачных ресурсов (сети, виртуальных машин) и установки необходимых компонентов. На выходе получим кластер с четырьмя узлами (один control-plane и три worker'а) с установленным K8s'ом, балансировщиком нагрузки, публичным IP адресом и (бонусом) бесплатным доменом. Воспроизводимые Terraform скрипты (и readme по их использованию) опубликованы на github'е.

Читать далее

Создание и настройка Oracle standby без использования Oracle Data Guard

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

Данный пост будет интересен тем, перед кем стоит задача настройки Oracle standby, но по каким-либо причинам расширение Data Guard отсутсвует (обычно для его работы требуется Enterprise Edition, но во многих случаях можно встретить Standard Edition). Рассказываю, как настроить PRIMARY-STANDBY на Oracle Standard Edition на Centos 7 с помошью NFS.

Читать далее

Бесплатные Oracle Cloud серверы и Mikrotik — Site-to-Site VPN

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

Предоставление бесплатных серверов от малопопулярного облачного провайдера - это не новость. А новость в том, что теперь Oracle, вдобавок к двум едва живым бесплатным x86_64 серверам, открывает доступ к мощностям на ARM64 - для всех, даром, и пусть никто не уйдет обиженным!© Предложение по ARM значительно более производительное, чем на традиционных процессорах. Добавляя к этому отсальные бесплатные "плюшки", я задаюсь вопросом: а зачем я до сих пор плачу за VPS и держу собственный серверок в подвале?! Все это можно выкинуть если удастся надежно и безопасно связать дата центр с домашней сетью.

Читать далее

Как работает создание и управление маркетинговыми кампаниями Спортмастера и причём здесь Oracle

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

Приветствую! Меня зовут Михаил, я разработчик Oracle в ClubPro (Клубная программа, программа лояльности Спортмастера). В команде разработки моё основное направление связано с развитием Campaign Management. 

Campaign Management (далее для краткости Campaign) предназначен для создания и управления многошаговыми маркетинговыми кампаниями. Другие задачи, которые решает Campaign — формирование омниканальных предложений клиенту, начисление бонусов в Клубной программе, верстка и создание email-рассылок. 

В этой статье я сделал основной упор на то, как кампании работают в СУБД Oracle и какие технологии Oracle мы используем. Вначале предлагаю краткий обзор того, как создаются кампании и какой путь проходят от брифа до запуска. 

Читать далее

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

25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Хранители данных: как устроена работа с DWH в Lamoda

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

Всем привет! Меня зовут Юлия Скогорева, я системный аналитик в команде Center of excellence в Lamoda, которая входит в дирекцию данных и аналитики.

Если бизнесу нужны какие-то данные для принятия важных решений, то на помощь приходит наша команда. Мы тщательно изучаем множество микросервисов, чтобы определить, какие же данные нужны для решения бизнес-целей, формируем архитектуру хранилища, пишем скрипты запросов и витрин данных, строим юниверсы, делаем отчеты и дашборды. Большая часть работы не обходится без участия команды DWH-разработки.

В статье я расскажу, как устроено хранилище данных в Lamoda, что находится на каждом его слое, с помощью каких инструментов мы визуализируем данные, сколько у нас отчетов и зачем используем APEX.

Читать далее

Миграция 500 Гиг из Оракла за 5 часов

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


На самом деле, еще 9 часов заняла загрузка данных в PostgreSQL, но обо всем по порядку.
Ничто не предвещало грозы — у Заказчика упал сервер и всего-то предполагалось поднять Оракл ;-)


Что я и сделал.


Но ВНЕЗАПНО оказалось, что по договору нужна миграция а дедлайн через 3 дня и все заверте...

Читать дальше →

Работа с объектными переменными типа REF CURSOR в Oracle BI Publisher 12c

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

Прочитав статью и восприняв понимание продукта Oracle BI Publisher критически, а именно, на момент существовавшей тогда версии 11.1.1.7.150120, хочется заметить, что все, указанное в цитируемой статье можно было сделать на BI Publisher и доверить любому непрограммирующему пользователю. Плюс к этому, продукт имел trial и stand-alone версию. Поддерживался API на Java, уже был доделан вызов продукта как web-сервиса.

Чуть более интересный вопрос, который был получен от читателей моего блога: как в 12-й версии работать с переменными типа REF CURSOR для массовой миграции с самодельной отчетной системы на продукт Oracle BI EE 12с.

Рассмотрим код, который вернет REF CURSOR в зависимости от параметра.

Читать далее

Как мы используем юнит-тестирование в СУБД Oracle

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

В некоторых технологиях и языках программирования юнит-тестирование — уже давно неотъемлемая часть написания кода. Оно интегрировано в разработку и доступно «из коробки» в виде фреймворков, как, например, JUnit для Java, xUnit/nUnit для C# и т. д. Но в Oracle культура юнит-тестирования мало распространена. В статье я расскажу, как и зачем мы внедрили автотесты при разработке на Oracle и для чего их используем.

Читать далее

Что такое проблема оракулов в блокчейн?

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

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

Смарт-контракты представляют огромный потенциал преобразить то, как независимые структуры вступают в контрактные обязательства и производят платежи. Отдельно от индустрии смарт-контрактов, мы имеем огромную традиционную цифровую экономику, состоящую из множества устройств, связанных с помощью интернета, и производящих вычисления онлайн. Производный продукт такой цифровой инфраструктуры — постоянно увеличивающийся объем данных и API, который дает представление о том как все в нашем мире работает; например, результаты поиска, выдающие самые популярные темы, или сенсоры IoT (Internet of Things или Интернет Вещей) предлагающие наиболее распространенные модели трафика.

Смарт-контракты построенные на блокчейн и традиционные базы данных и API имеют огромный потенциал для объединения в гибридные смарт-контракты и создания новой архитектуры для автоматизации баз данных. Но как связать эти два мира? В этом и заключается “Проблема оракулов” — главная тема этой статьи.

Статья разделена на пять частей:

Читать далее

Что случилось с High Availability в Oracle 19c Standard Edition, что такое SE2HA и при чём тут репликация

Время на прочтение3 мин
Количество просмотров2.6K
Если вы уже используете Oracle Standard Edition (SE) или планируете перейти на эту редакцию, чтобы сократить расходы на Oracle, вы, наверняка, знаете, что там урезаны опции HA и DR. Поскольку DataGuard недоступен для Standard Edition, RAC — единственный вариант обеспечения высокой доступности без использования сторонних решений. Так было до тех пор, пока компания Oracle не убрала его поддержку в Oracle 19c и не объявила о новой опции под названием Standard Edition High Availability (SE2HA), которая при внимательном рассмотрении оказывается даунгрейдом с RAC.



В этой статье я расскажу об отличиях технологий SE2HA и RAC, а также расскажу как тут может пригодиться инструмент для репликации Quest Shareplex. Погнали!
Читать дальше →

Визуализация данных с помощью Oracle Apex

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

Oracle Apex – компонент для разработки конечных приложений, входящий в состав поставки СУБД Oracle, позволяющий быстро «доставать» данные из базы и доставлять их через веб-интерфейс конечному пользователю. Как правило, данные для просмотра и редактирования выдаются в табличном виде и Apex предоставляет богатые возможности для настраивания отчета: можно накладывать фильтры, делать сортировку и группировку, скрывать имеющиеся столбцы и добавлять расчетные новые, делать сводные отчеты, выгружать данные в формате csv, pdf и даже Excel. Каждый пользователь может сохранить предпочитаемые им настройки каждого отчета как индивидуально, так и для совместного использования. В таком формате Apex функционирует у большинства наших заказчиков.

Однако мало кто использует довольно широкие возможности Apex’а для построения графиков. Эта тема, на наш взгляд, довольно интересна и мало освещена в интернете.

В этой статье будем предполагать, что читатель имеет представление о разработке приложений с помощью Oracle Apex.

Читать далее

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

Работа