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

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.4K
Всем доброго утра!

Понадобилось нам тут в оперативном порядке перейди на 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. Заинтересовавшихся прошу под кат.
Читать дальше →

PL/SQL через dblink

Время на прочтение15 мин
Количество просмотров68K
On metalink, every one said there's no solution…
Oracle can't do that ...


Приходилось ли Вам реализовывать нестандартные решения? А в Oracle? Мне бы хотелось рассмотреть использование техник, позволяющих лучше узнать принципы работы СУБД, а в совокупности предоставляющие удобство для разработчика.
Читать дальше →

Настройка двухсторонней синхронизации БД Oracle (Oracle Streams)

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


Что делать, если нет дисковой полки под RAC, а отказоустойчивость БД Oracle в реальном времени обеспечить нужно? Настроить потоки данных Oracle (Oracle Streams)!

Про потоки данных написано много. Например, здесь, здесь и здесь, в том числе и в официальной документации. В данной статье описан вариант настроек без использования redo-логов, работающий для редакций Oracle Standard Edition One и Oracle Standard Edition 11gR2 (лицензия на Enterprise позволяет провести настройку проще, прямо в Enterprise Manager Console, см. ограничения).
Читать дальше →

С чего начинается дружба с Active Directory

Время на прочтение4 мин
Количество просмотров59K
Мне часто приходится сталкиваться с обработкой информации из Active Directory. Так как данная система много где распространена, я решил поделиться своим опытом работы с ней.

Началось всё с того, что я раздавал доступ в MS Sharepoint. В заявках от сотрудников, в лучшем случае, приходили учетные записи, в худшем могли написать что-то типа “Мне и моему начальнику”.
Читать дальше →

Автоматизация бизнес-процессов по работе с картами лояльности

Время на прочтение4 мин
Количество просмотров7.1K
В этой статье мы хотим поделиться опытом внедрения системы управления программой лояльности Siebel Loyalty на базе Oracle Siebel CRM для крупной розничной сети магазинов.

Основные функциональные требования к системе:
  • Расчет скидок, применение ценовых акций
  • Процессинг чеков (начисление/списание баллов)
  • Автоматизация процессов управления картами лояльности
  • Ведение клиентской базы
  • Проведение маркетинговых кампаний

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

Поддержкой клиентов по вопросам работы с картами лояльности занимается Сервисный Центр компании. Все действия по карте, выполняемые сотрудниками, должны фиксироваться в CRM системе.

Бизнес-процессы по работе с картами делятся на следующие типы:
  • Поиск клиента
  • Изменение данных клиента
  • Выдача карты
  • Замена карты
  • Изменение владельца карты
  • Блокировка карты

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

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