Как стать автором
Поиск
Написать публикацию
Обновить
6.55

Oracle *

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

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

Часть 2. Идентификация событий происходящих в Oracle PL/SQL

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

На картинке представлен пример обработки одной и той же ошибки. В первом случае ("красный" квадрат) представлен результат стандартной обработки ошибки. Во втором случае ("зеленый" квадрат) представлен результат кодирования ошибок в событийной модели логирования. Помимо информативности текста ошибки для пользователя, мы можем реализовать сбор статистики возникновения ошибки, идентификацию места возникновения ошибки. О том как это можно сделать, постараюсь описать в данной статье.

Читать далее

Unit-тесты в СУБД — как мы делаем это в Спортмастере, часть третья

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

Привет, привет!

Пару лет назад было решено поделиться историей про автоматизированное тестирование СУБД и наш опыт применения в Спортмастере. С результатами можно ознакомиться здесь и здесь.

И сейчас, спустя значительное время, хочется подвести итоги и порефлексировать о системе. Да и даже просто ответить на вопрос: «Как там ваши автотесты?»

Читать далее

Иммутабельность в Java

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

Иммутабельный (неизменяемый, immutable) класс — это класс, который после инициализации не может изменить свое состояние. То есть если в коде есть ссылка на экземпляр иммутабельного класса, то любые изменения в нем приводят к созданию нового экземпляра.

Чтобы класс был иммутабельным, он должен соответствовать следующим требованиям:

Читать далее

Войны лоббистов и развитие BIM. Часть 5: BlackRock — хозяин всех технологий. Как корпорации контролируют Open source

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

Технологические гиганты при помощи денег инвестиционных фондов контролируют всё большую часть новых разработчиков и продуктов, перекрывая тем самым путь для новых программ и новых технологий в строительной отрасли. 

Сегодняшние лидеры САПР-индустрии: Autodesk, Hexagon, Nemetschek, Bentley, Trimble - хорошо готовятся к будущим угрозам: стандартной тактикой больших корпораций стал агрессивный захват новых рынков и поглощение возможных конкурентов на ранних стадиях развития. 

В результате вся САПР-индустрия стала похожа на олигополию, в которой доминирует группа из нескольких компаний. И их положение на вершине становится всё более непоколебимым.

Читать далее

Мониторинг популярных баз данных из единого интерфейса Quest Foglight — анонс вебинара

Время на прочтение2 мин
Количество просмотров1.9K
Foglight for Databases — удобный инструмент для DBA, который поддерживает мониторинг SQL Server, Oracle, MySQL, PostgreSQL, DB2, SAP ASE, MongoDB и Cassandra. И всё это в одном интерфейсе.

Кроме этого, инструмент позволяет сравнивать производительности БД в разные периоды времени (например, до релиза и после него), а также выполнять сравнение производительности различных экземпляров.

image

Приглашаем вас зарегистрироваться на вебинар, который состоится 7 апреля в 11 часов по московскому времени. Вы узнаете о возможностях решения, кейсах использования, лицензировании и сможете задать интересующие вопросы. Если вы не сможете присутствовать на вебинаре, в любом случае оставьте ваши контактные данные, мы вышлем вам запись после мероприятия. Под катом описание функционала решения и несколько скриншотов.
Читать дальше →

Часть 1. Логирование событий в Oracle PL/SQL

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

Добрый день! Работая разработчиком Oracle PL/SQL, часто ли вам приходилось видеть в коде dbms_output.put_line в качестве средства debug-а? Стоит признать, что к сожалению, большинство (по моему личному мнению и опыту) разработчиков Oracle PL/SQL не уделяет должного внимания логированию как к «спасательному кругу» в случае возникновения ошибок. Более того, большая часть разработчиков не совсем понимает зачем нужно логировать информацию об ошибках и самое главное, не совсем понимают что делать и как использовать эту информацию в будущем.

Читать далее

Хватит это терпеть: как мы обновили архитектуру системы мониторинга автотранспорта на 15 000 машин и 17 000 магазинов

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

Привет, Хабр! Наш проект "Пятерочки #налету", описанный в статье "Как тебе такое, Джефф Безос?"продолжает развиваться - надеемся, что вскоре дадим по нему апдейт. Ну а пока расскажем о еще более масштабном проекте, в ходе которого удалось обновить систему мониторинга автотранспорта на 15 000 машин.

Зачем она нужна? Представьте, что у вас есть магазин с постоянными клиентами, которые каждый день приходят за нужными им товарами. И есть грузовик, который каждое утро привозит эти товары. И вдруг в одно прекрасное утро грузовик не приезжает, или приезжает, но гораздо позже обычного, либо приезжает, но привозит испорченные товары. Хаос и разочарование на лицах покупателей неминуемы. А ведь это только один магазин и один грузовик. А что, если магазинов и грузовиков - много тысяч? В этом случае нужна сверх -надежная система мониторинга транспорта, которая поможет навести порядок с доставкой товаров. Под катом - описание системы, рассказ о том, как однажды все (ну, почти) поломалось и о том, как мы все поправили, переделав систему.

Читать далее

О провиженинге тестовых баз

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

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

В общем, в одной далёкой-далёкой галактике динамичной-быстро развивающейся компании есть множество (десятки) продовых oracle-баз. Продовые бд - названы одинаково. Специфика обстановки, с этой стороны: SE, типовой размер баз 3-3.5Тб, самая большая бд - 7+Тб. Легаси-монолит, всё работает - на хранимках (да, буээ и фу, но разговор не об этом).

Из этого бытия следует что, поскольку легаси/монолит: существует армия разработчиков, поделённая на группы. И т.к. с одной стороны: группы - работают с разными проектами, в разных стадиях работы, групп много, а с другой стороны - всё запихано в одних и тех же базах - группы работают практически с одними и теми же объектами бд и с разными целями этой работы, включая разрушающие тесты.

Т.е., такое бытие определяет потребности каждой группы в выделенной, для группы тестовой бд. А то и: прям для каждого разработчика.

Иначе говоря: тестовых баз надо:

Читать далее

Создаём мини PHP SDK для подписи запросов к Oracle Cloud Infrastructure API

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

Идея написать эту библиотеку возникла, когда захотелось в полной мере воспользоваться всеми преимуществами бесплатного предложения Oracle Cloud Infrastructure, а именно 10 ГБ хранилища объектов (Object Storage) и 10 ТБ исходящего трафика в месяц. К сожалению, Oracle Cloud не имеет в наличии SDK для всё еще самого популярного языка программирования для разработки веб-сайтов. Хорошая новость состоит в том, что сервис частично совместим с Amazon S3, а это означает, что можно применить уже имеющиеся и отлично задокументированные инструменты разработчика, в том числе для PHP.

Читать далее

Oracle: Deterministic functions, result_cache and operators

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

После перевода статьи Oracle: разница между deterministic и result_cache от Steven Feuerstein, хотелось бы дополнить ее действительно важными деталями их устройства. У меня есть серия статей на эти темы, но тут я хотел бы просто все резюмировать и оставить самое важное.

Read more

Получаем бесплатные сервера в Oracle Cloud Free Tier

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

Искал я как-то себе дешевый VPS сервер. Ну для отладки чего-нибудь, моделирования сетей... Да мало ли еще для чего может понадобится личный сервер? И вот в результатах поиска всплыло, что Oracle предоставляет возможность получить бесплатно и "пожизненно" до двух виртуальных машин (Oracle Cloud Infrastructure Compute). А также еще кое-какие вкусняшки. Зарегистрировался, получил - действительно выдают, действительно работает, и действительно бесплатно. Но хочется же подключить полученные машинки в свою сеть! И, желательно, штатными средствами. Вот из экспериментов и получились две статьи, может быть кому-то они сэкономят часа четыре рабочего времени.

Читать далее

Oracle: разница между deterministic и result_cache

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

От переводчика: свой путь на habr я решил начать не с попытки написать какой-то уникальный текст с нуля, а с перевода относительно свежей (от 17.08.2020) статьи классика PL/SQL-разработки Стивена Фойерштайна, в которой он достаточно подробно рассматривает разницу между двумя основными вариантами кэша результатов выполнения PL/SQL функций. Надеюсь, что этот перевод будет полезен для многих разработчиков, начинающих работу с технологиями Oracle.

В этой статье будут рассмотрены две возможности Oracle Database - создание детерминированных функций (deterministic) и функций, использующий общий кэш результатов исполнения (result_cache). Будут показаны основные сценарии использование каждого из этих видов функций, требования к ним и основные сценарии использования.

Читать далее

Эволюция моих SQL запросов

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

Всем привет! Я тимлид и Senior Oracle Developer, 12 лет работаю с OeBS и в основном пишу SQL запросы. Хотел бы рассказать, как за это время менялся мой подход в написании SQL запросов.

Читать далее

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

Cli-IDE для Oracle СУБД. Ну. Почти IDE

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

Добрый день.

Первый вопрос: зачем, есть же Toad/SQL-developer/PLSQL-developer и т.п. графические ide-среды.

Ну. Да. Есть. Однако не всем именно они нужны, как средство работы с объектами oracle-субд.

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

Второй момент: сейчас: удалёнка, везде и всюду. В этой связи доступ на работу - организовывается удалённый.

Либо: через что то типа VDI/RDP. Либо: выдаётся рабочий ноутбук и от на нём, с него - работай.

В первом случае - ну, часто подразумевается графический интерфейс удалённого рабочего стола и: виндовый и с ограничением по ресурсам.

Во втором случае: ну, организации часто пытаются и тут сэкономить - выдадут какой-нибудь ноутбук с 8Гб оперативы и - как хочешь, так на этом и работай. Т.е.: файрфокс, с N>>10 кол-вом вкладок, какой-нибудь sql-developer/Жаба/plsql-девелопер, скайп/зум, ещё что то.

В обоих случаях: возникает вопрос - а как то бы тут сэкономить, на ресурсах, например - на IDE для oracle-субд.

Читать далее

Как настроить мониторинг бизнес-процессов в БД Oracle и построение графиков, используя бесплатную версию Grafana

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

Настройка мониторинга процессов в Oracle с выводом графиков в Grafana через simple-json-plugin, и веб-сервис на php (oci8 library)

Читать далее

Опыт сопряжения Java, JavaScript, Ruby и Python в одном проекте посредством GraalVM

Время на прочтение18 мин
Количество просмотров8.2K
В прошлом месяце вышла стабильная LTS-версия многоязычной среды выполнения GraalVM 20.3.0 от корпорации Oracle и мне захотелось испробовать её для решения какой-нибудь интересной практической задачи. Для тех кто не в курсе, приведу краткое описание этой новой платформы. GraalVM позволяет использовать в едином окружении различные популярные языки программирования и обеспечивает их разностороннее взаимодействие в рамках некоторой общей среды выполнения.


Схематическое изображение архитектуры GraalVM из официальной документации.

Добавление новых языков в GraalVM осуществляется с помощью специального фреймворка Truffle, выполненного в виде библиотеки Java. Фреймворк предназначен для создания реализаций языков программирования в качестве интерпретаторов для самомодифицируемых абстрактных синтаксических деревьев (AST). При желании на его основе можно создать собственный язык, в официальных репозиториях GraalVM подробно рассмотрен пример реализации такого проекта под названием SimpleLanguage. Интерпретаторы, которые были написаны с использованием фреймворка Truffle, будут автоматически использовать GraalVM как JIT-компилятор непосредственно для самой реализации языка запускаемой на JVM-платформе и, соответственно, иметь возможность взаимодействия и двустороннего обмена данными в одном и том же пространстве памяти посредством специально разработанного протокола и программного интерфейса Polyglot API.

Платформа GraalVM вместе с исполняемой программой на смеси самых разных языков может быть представлена в виде автономного и самодостаточного исполняемого файла, либо работать поверх OpenJDK, Node.js или даже внутри Oracle Database.
Читать дальше →

Облачная консолидация: стоит ли ей доверять?

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

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

Одним из популярных направлений сейчас является уход от on-premise решений на облачную инфраструктуру. Финансовая консолидация — не исключение. Несколько лет назад Oracle выпустил новый продукт для автоматизации финансовой консолидации – Financial Consolidation and Close Cloud Service (далее – FCCS). Он является развитием предыдущего флагмана для этих же задач — Hyperion FinancialManagement (далее – HFM). Несмотря на то, что продукт выпущен несколько лет назад, пока он не стал очень популярным, и многие специалисты даже не знают о его существовании. 

Я много лет работаю на проектах компании «КОРУС Консалтинг» по автоматизации финансовой консолидации. На основе нашего опыта я дам обзор продукта, модели данных, настройки процесса консолидации и ключевых функций, выделю сильные стороны, а также расскажу о нашем опыте внедрения на примерах из жизни.

Поехали!

Читать далее

Базы данных. Тенденции общемировые и в России

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

Эта статья не является ответом на множество вопросов по базам данных (БД) и системам управлениям базами данных (СУБД). Я как автор выражаю своё собственное мнение о  трендах, стараясь опираться на беспристрастные показатели, статистики и т.д., но для примера приводя собственный опыт. Я не являюсь ангажированным представителем какой-либо компании и выражаю точку зрения опираясь на опыт более 25 лет работы с разными СУБД, в том числе, которую создавал своими руками. Не так много даже опытных программистов и архитекторов, которые знают все термины, технологии, какие подводные камни и куда идёт движение. Тема поистине огромная, поэтому в рамках одной статьи не раскрыть даже верхний уровень информации. Если кто-то не встретит свою любимую СУБД или её невероятный плюс, который стоит упомянуть, то прошу в комментариях указать и этим дополнить общую картину, что поможет другим разобраться и понять лучше предметную область. Поехали!

Open Source DBMS vs Commercial DBMS

 Для начала приведён график с сайта, db-engines.com, по моим ощущениям, неплохо отслеживающим тренды БД. Именно этот график добавил желания написать статью о текущем положении дел.

Читать далее (в конце краткие итоги)

varchar2 и Unicode для тех, кто ничего не понимает в базах данных Oracle или ORA-12899: value too large for column

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

Так случилось, что продукт, который мы разрабатываем работает с несколькими реляционными базами данных. Сейчас это MS SQL, Postgres и Oracle. Были запуски под много чем от MySQL до покойного, наверное, Firebird и экзотических Sybase с DB2, но сказ не об этом.

Если с MS SQL и Postgres все более мене понятное-привычное, то с Oracle каждый раз нас ждут какие-то сюрпризы. Проницательный читатель сразу заметит, что "руки у нас кривые" и мы "попросту не умеем его готовить", но если, уважаемому читателю захочется узнать чем varchar (а точнее varchar2) в Богоподобном Oracle отличается от его собратьев, то прошу под кат.

Читать далее

Резервирование СУБД Oracle силами Veritas NetBackup Appliance: быть или не быть?

Время на прочтение7 мин
Количество просмотров3.7K
Наладить резервное копирование СУБД Oracle инструментами того же вендора — просто. А если попытаться оптимизировать стоимость решения? Тогда возможные ИТ-инструменты стоит придирчиво рассмотреть в действии. Так и получилось: в поиске ответа на запрос заказчика обнаружилось, когда стоит «женить» Oracle и NBU, а когда лучше это не делать. Делимся опытом тестирования системы резервного копирования Veritas NBU для защиты данных в СУБД Oracle и интересными нюансами процесса настройки.


Один из наших клиентов — ритейлер федерального масштаба — озаботился резервированием данных в СУБД Oracle. По умолчанию для этого подходит Oracle Zero Data Loss Recovery Appliance (ZDLRA). Но стоит комплекс как круизный ледокол. К тому же ZDLRA не дал бы клиенту контролировать все процессы резервного копирования через единую консоль. Эти соображения заставили искать альтернативы. Одной из них стало устройство Veritas NetBackup Appliance 5240 — СРК среднего уровня с хорошей производительностью в стандартных условиях. Оптимизма добавляла и технология Copilot в арсенале Veritas, предназначенная специально для работы с СУБД Oracle.

Прежде чем испытывать Veritas NetBackup Appliance 5240 в «живой» инфраструктуре, заказчик попросил протестировать его. Мы собрали стенд и проверили решение в боевых условиях. Выводы оказались любопытными.
Читать дальше →

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