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

Oracle *

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

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

Oracle Business Intelligence — обзор

Время на прочтение8 мин
Количество просмотров95K
Привет, хабр. По работе мне приходится иметь дело с OBIEE (Oracle Business Intelligence Enterprise Edition) в качестве разработчика и администратора, поэтому я решил поделиться тем объемом знаний, который успел накопить. Надеюсь, кому-нибудь это поможет в освоении системы. Сначала я планирую рассказать про систему в целом, затем — про архитектуру и взаимодействие компонентов, а в конце — рассказать про те особенности, с которыми пришлось столкнуться за время работы.

Обзор системы


Oracle Business Intelligence Enterprise Edition (OBIEE, OBI) — программная платформа для решения задач бизнес-аналитики: интерактивных и публикуемых отчетов, мониторинга KPI и бизнес-процессов. Является потомком Siebel Analytics. Основные функциональные части, доступные пользователям:

  • Answers (также называются Interactive Dashboards) — построение интерактивных отчетов, доступных для пользователей через веб-интерфейс OBIEE. Единицей отчетности является analysis — простой отчет, как правило, включающий в себя одно отображение (таблицу, график, диаграмму и т.п.). Analysis объединяются в информационные панели (Dashboards), с которыми работают конечные пользователи. Информационные панели также могут включать в себя приглашения (prompts) — элементы настройки, с помощью которых пользователь может взаимодействовать с панелью.
  • Publisher (также иногда в него включают Delivers) — средство создания и рассылки статических отчетов. Т.к. publisher развился из отдельного продукта, то в нем есть возможность строить отчеты на собственной модели данных, независимой от модели данных OBI, однако можно использовать и общую модель. Также есть возможность рассылки существующих отчетов из answers.
  • Action Framework — набор средств для выполнения каких-либо автоматизированных действий из OBIEE — например, рассылка отчетов по достижению показателем определенного значения, вызова внешних веб-служб, вызова java кода и т.п. Действия могут быть объединены в цепочки. Возможно настройка различных каналов оповещения пользователей — e-e-mail, sms, пейджер и т.п.
  • Scorecard and Strategy Management — средства для отслеживания ключевых параметров производительности (KPI) и работы с системами показателей (Scorecard — http://en.wikipedia.org/wiki/Balanced_scorecard). Используются для наглядного отображения статуса выполнения целей (компании, проекта). Доступ пользователей, как и в случае с answers, осуществляется через веб-интерфейс.
  • Marketing — средства интеграции с Siebel Marketing.
  • Office Tools — средства интеграции с Microsoft Office.

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

Хитрые задачи по Java

Время на прочтение7 мин
Количество просмотров117K
Совсем недавно я сдал OCA Java SE 7 Programmer I. За время подготовки успел решить огромное количество задач и извлечь из них много тонких моментов языка. Самые интересные и ловкие — сохранял на будущее. И вот у меня накопилась небольшая личная коллекция, лучшую часть которой я здесь и опишу.

В замечательной статье Знаешь ли ты JAVA, %username% и её второй части автор тоже поделился опытом после подготовки. Однако я пришёл к выводу, что могу добавить что-то своё. Так и зародилась эта статья.

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

Именование объектов в Oracle. Взгляд «со стороны»

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

«Старая песня о главном»


«Стандарты именование объектов БД» и «правила оформления кода» темы не новые. Так или иначе, к вопросу выработки или заимствования таких стандартов и правил приходят все команды разработчиков. При желании в сети можно найти статьи и презентации по данной теме, а так же примеры и шаблоны различных соглашений. Многие из них безусловно полезны, некоторые — практически идеальны, если бы не одна маленькая оговорка: они написаны разработчиками и для разработчиков.

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

В принципе, пожелания по оформлению и именованию у «прикладника» (администратора приложения/технолога) и разработчика на 90 процентов совпадают. Но существуют все же некоторые отличия в восприятии «читателя» и «писателя», о которых я хотел бы поговорить.
Читать дальше →

А у вас тоже 50% маркетинговых акций играют в минус по продажам?

Время на прочтение5 мин
Количество просмотров28K
Представьте себе, что вы производите сок. Этот самый сок вы развозите по крупным розничным сетям и ставите на полку рядом с ещё десятком похожих. Вы хотите продавать его больше, и решаете для этого сделать акцию. Например:
  1. Снизить цену на 25%. Понятно, что прибыль с единицы сока упадёт, но получится ли продать его настолько больше, что в целом прибыль вырастет?
  2. Или, может, сделать «купи три – четвёртый бесплатно»? Технически, почти то же самое, но в деньгах может оказаться совсем иначе.
  3. Или, может, лучше заплатить те же деньги сети, чтобы они поставили его прямо по центру полки?
  4. Хотя нет, давайте наймём промо-девочек в миниюбках, да?

Как принять решение?

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

Существуют экспертные системы принятия таких решений. Про них я и расскажу.
Читать дальше →

Мануал по сертификации Oracle

Время на прочтение3 мин
Количество просмотров61K
Рано или поздно многие приходят к тому, что необходимо подтверждать свои знания различного рода сертификатами. Это может быть как для статуса, так ввиду производственной необходимости. Данная статья является описанием того, что нужно для получения сертификатов Oracle.
Читать дальше →

Загружаем в Oracle данные SNMP-мониторинга

Время на прочтение38 мин
Количество просмотров6.4K
Некоторое время назад, я написал статью посвященную вопросам оптимизации загрузки данных в БД Oracle. Судя по обилию последовавших комментариев, статья вызвала живой интерес, но, судя по тем-же комментариям (а также последовавшей статье о загрузке данных в PostgreSQL) многими она была понята не так, как я на то рассчитывал. По большей части, виноват в этом я сам, поскольку, в процессе упрощения изложения материала, оторвался от жизни настолько, что задача перестала быть понятна окружающим (это, в свою очередь, негативно сказалось на понимании причин выбора методов, использованных для ее решения).

Сегодня, я хочу исправить допущенные ошибки. Я расскажу о реальной задаче обработки данных SNMP-мониторинга, уделяя максимальное внимание техническим подробностям. Я постараюсь обосновать выбор подходов для ее решения и сравнить их производительность. Также, я уделю внимание тем техническим моментам, которые могут вызвать сложности у новичков. Прежде чем двигаться дальше, я хочу выразить свою признательность DenKrep, xlix123, zhekappp и всем прочим товарищам, давшим невероятное количество полезных советов, в процессе обсуждения предыдущей статьи.
Читать дальше →

Быстрая компиляция большого количества инвалидных объектов в БД

Время на прочтение1 мин
Количество просмотров6.3K
БД находится в restricted (выполнен startup restrict или alter sytem enable restricted session+убиты все пользовательские сессии).
listener остановлен.

Последовательность действий.
  • exec dbms_scheduler.set_scheduler_attribute('scheduler_disabled','true');alter system disable restricted session;
  • @?/rdbms/admin/utlrp
  • в другой сессии: alter system enable restricted session;exec dbms_scheduler.set_scheduler_attribute('scheduler_disabled','false');


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

Раздуваем таблицы и пожираем tablespaces

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

Картинка для придания нужного настроения

Доброго времени суток!


В интернете вообще и на Хабре в частности немало публикаций о ремонте битых блоков. Например, здесь о выдергивании неповрежденных данных, а тут история победы над битым LOB сегментом.

Приводить легионы ссылок на инет с подобными статьями не буду. Но есть в большинстве этих статей общая черта. Когда данные спасены (или уничтожены, как получится), предлагается победить поврежденный free block захватом всего свободного места в tablespace. И почему то это предложение описательно.

Так добавим конкретики!
Читать дальше →

Java Stored Procedure в субд Oracle на примере формирования PDF-файла

Время на прочтение4 мин
Количество просмотров19K
Всем доброго времени суток!
Недавно имел опыт создания функций (хранимых процедур) на языке Java в СУБД Oracle (Java Stored Procedures). Постараюсь описать шаги по созданию таких функций, расмотрев пример работы с pdf-файлом.

Вот, что для этого потребуется:
  • СУБД Oracle (в моем случае версии 10)
  • библиотеки iText (версия 1.4.8)
  • Java-код, реализующий требуемые функции

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

Что я не ожидал увидеть в тесте Java Programmer I (1Z0-803)

Время на прочтение3 мин
Количество просмотров41K
Здесь нету примеров идеального кода, пяти шагов «как получить сертификат с вероятностью 100%, гарантия». Нету даже фотографий котиков :/
Читать дальше →

Загружаем данные в Oracle

Время на прочтение14 мин
Количество просмотров93K
В своей предыдущей статье я показал, что при использовании асинхронных запросов, скорость опроса устройств по протоколу SNMP может достигать 9000 запросов в секунду (при условии, что у нас есть достаточное количество устройств для формирования такого потока ответов). Вопрос о том, что делать с этим потоком данных остался открытым.

Обычной практикой является обработка данных мониторинга посредством RDBMS (таких как Oracle Database). Но способны ли традиционные реляционные базы данных справиться с такой нагрузкой? Попробуем в этом разобраться.
Читать дальше →

Использование Oracle RESULT_CACHE 
«не по прямому назначению»

Время на прочтение6 мин
Количество просмотров16K
Как многие знают в СУБД Oracle начиная с версии 11g появилась технология сохранения результата выполнения функции для заданного набора параметров в специально выделенном для этого cache по аналогии с buffer cache для блоков данных.
В данной статье я собираюсь рассмотреть вариант использования «побочного эффекта» данной технологии.
Читать дальше →

Oracle 12c. Новые фичи приносят новые подводные камни

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

Разбирая новые возможности Oracle 12c, то тут, то там сталкиваюсь с подводными камнями, когда не всё работает так, как ожидалось, падает или просто не очевидно. Конечно, это стандартная ситуация когда в первом релизе новой версии много сырого… но, как известно, предупреждён — значит вооружен. Вероятно, кому-то пригодится, чтобы не повторять мои грабли.

Пишу грабли в порядке наступления на них.

PS: edited: добавил в конце баг о котором забыл написать сразу (использование в PL/SQL, SQL-конструкций в WITH которых испоьзован PL/SQL).

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

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

Простой парсер JSON на PL/SQL

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров53K
Буквально вчера внезапно возникла задача — понадобилось разобрать данные в формате JSON непосредственно в хранимой процедуре Oracle. Разумеется, именно для таких вещей в Oracle и была добавлена Java, но хотелось чего-то более своего и написанного непосредственно на PL/SQL. Результаты своего порыва я и выкладываю на суд общественности. Вдруг кому пригодится.
Читать дальше →

Команда Ларри Эллисона Oracle Team USA выиграла «Кубок Америки»

Время на прочтение1 мин
Количество просмотров19K
Команда Ларри Эллисона Oracle Team USA на этой неделе выиграла 34-ый чемпионат America's Cup (Кубок Америки). Ситуация в нынешней регате была совсем драматическая – главные конкуренты Oracle, команда Emirates Team New Zealand, лидировали со счетом 8-1 и им надо было победить всего один раз, однако восемь побед подряд все-таки позволили Oracle Team USA выиграть чемпионат, который уже назвали одним из самых интересных спортивных событий в истории.

Немного о яхте и еще фотографии...

Сломается ли база, если выдернуть сервер из розетки, или потроха DB ORACLE для чайников

Время на прочтение5 мин
Количество просмотров29K
Писал для коллег — программистов, далёких от предметной области, которые действительно, искренне не понимали, что такого сложного в базе данных. Они хотели хранить критические данные в простых файлах. Я задавал им каверзные вопросы о надёжности, скорости и одновременном доступе, они пытались «на ходу» придумать хитрые решения. В конце они трезво оценили требуемый объём кода и поняли, что им придётся написать свой маленький ORACLE или, хотя бы, MySQL. Затем я рассказал им, как были решены эти проблемы в DB ORACLE, их поразило изящество некоторых алгоритмов. Лекция понравилась, и я решил выложить её в открытый доступ.

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

Oracle WebLogic Server, Oracle Database 12c, Oracle Linux официально доступны в Windows Azure

Время на прочтение1 мин
Количество просмотров5.4K
В рамках действия соглашения между Oracle и Microsoft подписанного в июне 2013 года для пользователей Windows Azure стали доступны официальные образы продуктов компании Oracle – WebLogic Server 11g/12c, Oracle Database 12c, Oracle Linux 6.4.0.0 и Java 6/7. При этом и Java, WebLogic и Oracle Database доступны как на базе виртуальных машин Windows Server 2012 так и на базе Oracle Linux.

image

Лицензирование этих продуктов производится по принципу “своя лицензия”, что подразумевает, что пользователи должны воспользоваться собственными лицензиями на продукты Oracle. Поддержка продуктов осуществляется компанией Oracle.

Подробное описание ценообразования и лицензирования продуктов Oracle можно найти на официальном портале Windows Azure. Там же можно найти ответы на наиболее часто задаваемые вопросы.
Читать дальше →

Решение японских кроссвордов одним запросом SQL

Время на прочтение4 мин
Количество просмотров60K
Привет хабр! Приближается день программиста, и я спешу поделиться своими ненормальными наработками.

Японский кроссворд — NP-полная задача, как и задача коммивояжёра, укладки рюкзака и др. Когда ее решает человек, следует последовательно определять гарантированно заполненные и пустые ячейки. Одну за другой вычеркивать колонки и строки, пока не сложится весь рисунок. Как же возможно запрограммировать решение подобной задачи на языке, который официально даже не является языком программирования, не содержит циклов и переменных? SQL — язык запросов, его главная задача — выбирать строки. Вот мы и будем генерировать множество всех возможных перестановок и, словно скульптор, отсекать все лишнее.

укусить себя за пятку

Выполнение внешнего файла из БД Oracle с целью получения информации о дисковом пространстве

Время на прочтение5 мин
Количество просмотров12K
Зачастую для тех или иных нужд возникает необходимость выполнить команду OS из pl/sql или даже sql внутри Oracle Database.
Ниже описывается один из способов и его применение в задаче определения доступного дискового пространства.
Предлагаемый способ заключается в использование добавленного в 11.2 функционала «Препроцессинг данных внешних таблиц».
Читать дальше →

Методы доступа к данным в Oracle

Время на прочтение4 мин
Количество просмотров87K
Не найдя на хабре статьи, объединяющей в удобном для чтения виде информацию о методах доступа к данным, используемых СУБД Oracle, я решил совершить «пробу пера» и написать эту статью.

Общая информация


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

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