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

Oracle *

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

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

Атака на оракула. Подробный гайд по векторам атак на Oracle DB

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


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

Все о триггерах в Oracle

Время на прочтение17 мин
Количество просмотров193K
Традиционно статья написана тезисно. Более подробное содержание можно найти в приложенном внизу статьи видео с записью лекции про триггеры Oracle.

Все шокирующие подробности про триггеры в Oracle

В поисках несуществующего времени

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

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

Все о коллекциях в Oracle

Время на прочтение12 мин
Количество просмотров288K
Статья имеет довольно таки тезисный стиль. Более подробное содержание можно найти в приложенном внизу статьи видео с записью лекции по коллекциям Oracle.

Коллекции присутствую в том или ином виде в большинстве языков программирования и везде имеют схожую суть в плане использования. А именно – позволяют хранить набор объектов одного типа и проводить над всем набором какие-либо действия, либо в цикле проводить однотипные действия со всеми элементами набора.

Таким же образом коллекции используются и в Oracle.

Содержание статьи



Шокирующие детали про коллекции в Oracle

Автоматизация финансовой отчетности

Время на прочтение13 мин
Количество просмотров15K
Тот, кто несет фонарь, спотыкается чаще,
чем тот, кто идет следом
Жан Поль



Предисловие


В данной статье я хочу рассказать о том, чем я занимаюсь последние 5 лет. Информации скопилось очень много и я попытался изложить её в простой и доступной форме. Схема системы:
Подробности

Из Oracle да в Postgres

Время на прочтение10 мин
Количество просмотров72K
Так уж случилось, что с Oracle организация наша работает давно и плотно. Сам я познакомился с Oracle Database ещё во времена 6-ой версии и, с тех пор, какого либо дискомфорта не испытывал. Всё испортили рыночные отношения. С недавних пор, мы начали замечать, что Заказчик гораздо благосклоннее смотрит на наши проекты если в них используются бесплатные СУБД. О портации одного из таких проектов и будет мой рассказ... 
Читать дальше →

APEX: Почему использование HTML в составе SQL-запросов для Interactive Report может быть опасно?

Время на прочтение4 мин
Количество просмотров8.3K
Почему использование HTML в составе SQL-запросов для Interactive Report может быть опасно? Посмотрите на скриншоты! Неострожное использование HTML может повлечь за собой неочевидные на первый взгляд проблемы:



Проблема 1: С точки зрения бизнес-пользователя отфильтрованные строки не содержат слова «default» (это слово содержится внутри HTML-тега)
Проблема 2: При фильтрации по статусу вместо понятного пользователю текста он получает HTML-выражение, которое выглядит для него как абракадабра



Экспорт тоже выглядит ужасно.
Как лучше все поправить?
Читать дальше →

Опубликован официальный Node.JS-драйвер для базы данных Oracle

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

На конференции OpenWorld 2014 корпорация Oracle объявила о том, что она работает над собственным Node.JS-драйвером для своей базы данных. На прошлой неделе был открыт его исходный код под лицензией Apache 2.0.

Драйвер включает в себя не только стандартные средства для исполнения SQL-запросов и PL/SQL-кода, но и инструменты для прозрачной работы с объектами JavaScript и массивами, продвинутые средства для работы с транзакциями и встроенными в Oracle инструментами масштабирования. Например, можно быстро прервать неудачную транзакцию на событие от сервера о невозможности корректно закончить работу, позволяя Node.js-приложению быстро переключиться на другую базу данных без потери пользовательских данных.
Читать дальше →

Oracle join elimination

Время на прочтение15 мин
Количество просмотров26K
Оптимизатор в Oracle может применять различные способы трансформации запросов для улучшения их производительности. Одним из таких способов является join elimination. В официальной документации Oracle Database SQL Tuning Guide об этом способе сказано достаточно мало, в отличие от других.
Приглашаю читателей под кат, чтобы поговорить об этом способе поподробнее.
Читать дальше →

Кластеризация данных СУБД Oracle вне кластерной таблицы

Время на прочтение5 мин
Количество просмотров11K
Oracle кластер умер, да здравствует кластеризация!
Здесь и далее имеется в виду cluster хранения данных, а не Oracle Real Application Custer


Проблематика


Большим информационным системам свойственно постоянное поступление различной информации, которая накапливается, обсчитывается и архивируется. Мы рассмотрим вариант структурированных данных, хранящихся на сервере RDBMS Oracle и в качестве примера возьмём таблицу, содержащую CDR записи (т.е. записи о вызовах) для абонентов оператора связи.
Данные о звонках поступают хаотично, т.е. не упорядоченно, как вы понимаете, по атрибутам абонентов. Все данные имеют свой жизненный цикл — оперативные, актуальные и архивные. Со временем частота обращений и требования по скорости доступа к данным меняются (т.е. падают). Т.о. записи годичной давности вполне можно хранить на медленных дисках, активные — на дисках с высокой скоростью доступа и без претензий на производительность операций записи, а вот вновь поступающим данным свойственно требование к максимально высокой скорости записи и чтения.
Читать дальше →

Диагностика проблем после инсталляции или апгрейда ORACLE APEX

Время на прочтение4 мин
Количество просмотров8.4K
Что делать, если после апгрейда или инсталляции APEX вместо стартовой страницы браузер показывает сообщение об ошибке или пустую белую страницу? В данной статье собраны наиболее частые причины и методы решения подобных проблем.

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

ASH Viewer

Время на прочтение5 мин
Количество просмотров23K
Предыстория (2008 г.)

По работе часто приходилось разбираться с производительностью серверов БД Oracle. После выхода Oracle 10g задача по мониторингу и диагностике проблем с производительностью значительно упростилась – с помощью истории активных сессий (Active Session History, ASH) стало возможно узнать, что происходило с БД в прошлом, что творится на сервере в данный момент, и даже прогнозировать, что будет происходить с нагрузкой в будущем.

Но, во-первых, процесс миграции на новую версию достаточно длительный, и некоторые заказчики продолжали использовать старые версии. А во-вторых, средства визуализации истории активных сессий от Oracle, которые имелись в наличии:
  • Требовали некоторых телодвижений по их установке и настройке – это Oracle Enterprise Manager Console (DB Console) или Oracle Enterprise Manager Grid Control (сейчас Oracle Enterprise Manager Cloud Control). DB Console из моей (и не только) практики требовал для установки применения очень сильных админских заклятий. Также в целях экономии ресурсов не все хотят ставить на сервера БД дополнительные сервисы или разворачивать на своей площадке отдельную инфраструктуру для мониторинга;
  • Обладали рядом архитектурных недостатков. К примеру, в случае зависания сервера БД доступ к информации из истории активных сессий посредством Oracle Enterprise Manager Console становился невозможным, и оперативно выяснить, что «что-то пошло не так» (с) было практически нереально;
  • Отсутствовала функциональность в части сохранения данных мониторинга и последующего его анализа на своей площадке.

Из сторонних бесплатных средств, похожая функциональность была реализована в утилите ASHMON за авторством Kyle Hailey. Но функционал был только для просмотра, и работала она под одну платформу – Windows.

В общем, после рассмотрения всех доступных на тот момент вариантов, было принято волевое решение собирать свой «велосипед» из подручных материалов.



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

Partition Option & Oracle Server SE One

Время на прочтение2 мин
Количество просмотров4.7K
Собственно, возник вопрос: а присутствуют ли всякие DBA_TAB_PARTITIONS и иные объекты словаря в SE One? Причина вопроса проста: код заточен на Oracle EE и использует эти представления. После установки обнаружилось, что данные объекты не только присутствуют, но и не пусты. Раз не пусты, то из этого вытекает, что создать сегментированные таблицы возможно, а раз так, то неплохо бы посмотреть, как это происходит.
Читать дальше →

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

Oracle, SQL*Net или ORDER BY экономит сетевые ресурсы…

Время на прочтение4 мин
Количество просмотров15K
Все справедливо считают, что конструкция ORDER BY расходует ресурсы на проведение сортировки результата и в итоге мы должны получить результат несколько позже. Всегда ли это так?..
Читать дальше →

Об Oracle Coherence по-русски: Зачем он нужен?

Время на прочтение12 мин
Количество просмотров22K
В данной статье вы найдете ответ на поставленный вопрос, а также в ней будут объяснены базовые понятия по технологии распределенных вычислений в Oracle Coherence. Это вводная статья, главной задачей которой является объяснение “словаря” терминов, которым пользуются разработчики Coherence. Я приведу термины в том числе и на английском языке, для облегчения поиска информации для тех, кто захочет узнать больше в этом направлении.
Для тех, кому эта тема интересна, прошу под кат
Читать дальше →

Oracle PL/SQL. Для профессионалов. 6-е изд

Время на прочтение5 мин
Количество просмотров37K
Привет Хаброжители!
У нас вышло 6 переиздание книги

image

Прототип: Oracle PL/SQL Programming (Sixth Edition)
Paperback – March 3, 2014
Читать дальше →

Мегатонны макулатуры легким движением руки

Время на прочтение6 мин
Количество просмотров10K
Добрый день. В этой статье расскажем о том, как устроена печать в нашей платформе.

Немного истории


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


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

Краткий обзор новых возможностей JPA-RS в EclipseLink

Время на прочтение7 мин
Количество просмотров12K
EclipseLink — это ORM фрэймворк с открытым исходным кодом, разрабатываемый Eclipse Foundation. В конце года запланирован выход версии 2.6.0. проекта. В преддверии этого, я хочу ознакомить вас с некоторыми новыми возможностями службы JPA-RS, которая является частью EclipseLink.
JPA-RS позволяет автоматически генерировать RESTful сервисы на базе предоставленной пользователем JPA модели. При этом практически никакой дополнительной работы от пользователя не требуется.
Читать дальше →

Переход с ODAC 10 на ODAC 12

Время на прочтение2 мин
Количество просмотров6.5K
Всем доброго утра!

Понадобилось нам тут в оперативном порядке перейди на Oracle.DataAcess 12й версии в нашем .Net проекте. И все нормально шло ровно до того момента, как мы попытались запустить приложение. В паре тысяч мест внезапно вывалилась ошибка типа:

Unable to cast object of type 'Oracle.DataAccess.Types.OracleDecimal' to type 'System.IConvertible'.

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

Как я писал свой «велосипед» для ротирования таблиц в Oracle и Postgre

Время на прочтение4 мин
Количество просмотров8.8K
Приветствую, Хабр!

В этой статье я расскажу о том, как мы боролись с проблемой быстрого роста размера таблиц в базе данных в высоконагруженной EMS системе. Свою изюминку добавляет то, что проблема решалась для двух баз данных: Oracle и Postgre. Заинтересовавшихся прошу под кат.
Читать дальше →

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