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

Oracle *

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

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

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 системе.

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

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

Недостатки RDBMS или RDBMS vs NoSQL

Время на прочтение2 мин
Количество просмотров24K
Изложу мое видение по каким причинам были созданы новые технологии хранения и обработки данные известные как NoSQL и MPP.
Статья будет полезна особенно начинающим пионерам в разработки БД.
В статье не рассматриваются специализированные базы данных для векторных, графический и прочих нестандартных форматов.

Первое, SQL и RDBMS
1.1. Необходимо знать язык SQL и основные принципы RDBMS как транзакции, foreign key, таблицы.
Допустим вы разработчик Java, и от вас еще требуют знать какой-то SQL и особенности RDBMS. Естественно вы ленитесь, пытаетесь как-то отвильнуть.
Да и к тому-же принцип ООП очень не похож на модель данных в RDBMS.
1.2. Если у вас большой проект, то вам нужен профессиональный БД разработчик, а это лишний балласт если не будет проектов в будущем.
Java программистам так и хочется сделать всю бизнес логику на Java в обход SQL и RDBMS.

Второе, Цена
Читать дальше →

Oracle vs Teradata vs Hadoop

Время на прочтение4 мин
Количество просмотров24K
Эта статья нацелена на Большие и Очень большие Хранилища Данных, но для ровной картины в классификации немного упомянуты и маленькие.

Статья написана для специалистов, которые ценят главный критерий работы с базами данными — скорость. Речь пойдет о системах, нацеленных на грубый full scan (ораклисты уже напряглись, а терадатовцы радуются).

Давайте рассмотрим, под какой объем данных и работ лучше всего подходит Oracle или Hadoop/NoSQL.
Читать дальше →

Интеграция Raspberry Pi с NetBeans 8.0

Время на прочтение3 мин
Количество просмотров9.6K
В марте этого года вышла новая версия NetBeans 8.0. Одной из её особенностей стала возможность работы через интерфейс NetBeans с встроенными версиями Java SE и ME. Разработчиками IDE от Oracle в качестве тестовой платформы предлагается использовать Raspberry Pi с устанавливаемой удалённо Java SE Embedded. Прежде я уже публиковал два перевода из журнала MagPi о Java программировании на Raspberry Pi, но в основном они были восприняты негативно, так как читатели не увидели в них чего-то особенного, характерного именно для такой связки, как Java и Raspberry Pi. Надеюсь, что после знакомства с этим уже оригинальным руководством, мне удастся немного смягчить позицию читателей в вопросе особенности подхода к Java программированию на встроенных системах типа Raspberry Pi.

Подготавливаем Raspberry Pi


Настроек Raspberry Pi немного. Ваш Raspberry Pi должен быть доступен в сети через SSH, а для вас на нём для чтения и записи должна быть доступна рабочая директория.

Подготавливаем NetBeans


Перед тем, как устанавливать новую платформу Java в NetBeans, я рекомендую прослушать небольшой доклад Льва Приймы по теме Java SE Embedded 8.


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

Как отобразить 350 миллионов строк из базы данных на Web-форме

Время на прочтение5 мин
Количество просмотров32K
Заголовок этой статьи — это краткое резюме того, что просил заказчик. Я в это время был в отпуске, а мой руководитель, не вдаваясь в детали, дал добро на реализацию. Хорошо отдохнув и выйдя на работу, я почувствовал себя в шкуре ёжика, который попал в туман в одном известном мультфильме. А ситуация требовала Волшебника изумрудного города.
Читать дальше →

Приемы работы с планами выполнения запросов в Oracle

Время на прочтение3 мин
Количество просмотров43K
Это как гвоздь в подошве любимого ботинка. Ходить можно, но все чаще ловишь себя на желании остаться на месте или перепоручить дело другим. Мелкие неудобства не только замедляют нашу работу, но и снижают мотивацию, вносят помехи в процесс, снижают качество результата. И если нашелся друг, который научил вас взять молоток и забить этот гвоздь, вы не только будете благодарны ему за помощь, но и сами поможете другим, избавив их от мелкой, но очень раздражающей помехи. Для этого и нужно общаться, делиться не только глубокими и сокровенными знаниями в форумах и на сайтах вроде Хабра, но и своими простыми трюками и «маленькими хитростями»

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

Недавно мне случилось общаться с одним из ведущих профессионалов СУБД Oracle. Он рассказал много интересного про работу с планами выполнения запросов в различных версиях этой СУБД и не постеснялся рассказать всем об используемых им инструментах, приемах и дать немного полезных мелких советов. Я сделал перевод одной из статей в его блоге и хотел бы предложить его вниманию Хабравчан. Несмотря на то, что описанный прием применялся для работы с Oracle, я теперь с успехом применяю тот же подход для MS SQL и Sybase.



Меня зовут Дан Хотка (Dan Hotka). Я директор Oracle ACE. Одной из моих привилегий в этой группе является помощь в распространении информации и полезных технических знаний, связанных с СУБД Oracle. Меня хорошо знают после моих 12 (скоро 14) опубликованных книг и буквально сотен статей. Я регулярно пишу в блоге и собираюсь делать это в дальнейшем. Мы даже могли встречаться на одном из событий или встреч группы пользователей. Я регулярно выступаю на эти темы по всему миру.
Я собираюсь поделиться с вами как техническими знаниями про Oracle, так и тем, как эти знания применяются в решениях Embarcadero.
Читать дальше →

How-to: Разворачиваем Oracle Real Application Cluster 11g на VirtualBox

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


1. Предыстория


Наша компания занимается серийным выпуском техники сугубо мирного назначения и вся сопутствующая информация с производства пишется в БД Oracle, которая располагается на виртуальном сервере под управлением VMware ESX. И вроде бы все налажено, конвейер работает, данные пишутся, идет отгрузка готовой продукции.

Но стойка, на которой кроме сервера БД, базируется еще куча каких-то непонятных серверов, имеет удивительное свойство иногда падать. Да и с самой БД в один прекрасный момент может произойти все, что угодно. Конечно, первым делом на ум приходит грамотная организация резервного копирования БД или создание спапшотов VMware. Однако, все эти действия, в случае отказа оборудования, не позволяют обеспечить непрерывную работу БД и всего конвейера соответственно. В общем, захотелось опробовать другие решения.

Когда в IT-отделе в очередной раз проводилось собрание по данной проблеме, было решено опробовать идею поднять Oracle Real Application Cluster и развернуть на нем производственную БД. Проблема заключалась лишь в том, что никто на тот момент не знал, как это делается.

Пред тем, как закупать железо и разворачивать новые сервера, было решено опробовать выбранную технологию локально, используя VM VirtualBox. После нескольких недель, плавно перешедших в месяцы, поиска и переваривания необходимой как воздух информации, кластер наконец-то был запущен, и можно было приступать к первым тестам. И так, всем, кто хочет поднять n-нодовый (n>=2) кластер, добро пожаловать под кат.
Читать дальше →

Задача о восьми Ферзях на Oracle SQL (другое решение)

Время на прочтение3 мин
Количество просмотров8K
В ответ на это решение, хотелось бы указать своё, несколько более простое к восприятию.
Читать дальше →

Компания Oracle представила Solaris 11.2 Beta

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

Не нашел этой новости на хабре, хотя событие произошло еще в апреле.

После полутора лет разработки компания Oracle представила выпуск операционной системы Solaris 11.2. Для загрузки в настоящее время подготовлена бета-версия Solaris 11.2, установочные образы с которой доступны для архитектур x86 и SPARC. Для архитектуры x86 дополнительно поставляется демонстрационная Live-система. Из ключевых улучшений нового выпуска отмечается интеграция средств для обеспечения работы облачных инфраструктур, основанных на платформе OpenStack, поддержка нового вида изолированных контейнеров kernel zones и новые возможности по развёртыванию SDN-сетей.
Читать дальше →

PL/SQL решение для работы с Веб-Службами

Время на прочтение11 мин
Количество просмотров27K
Столкнулся с требованием отправлять и получать SOAP сообщения из базы данных Oracle.
Также это решение должно быть универсальным и легко интегрируемым с другими модулями.
В интернете ни чего подобного не нашел. Есть статьи рассказывающие о том как посылать SOAP сообщения исползуя UTL_HTTP пакет, но ни чего более.

Решил написать универсальный продукт на PL/SQL для отправки SOAP сообщений из базы данных Oracle который легко настраивается и интегрируется.
Читать далее

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

«Dense_rank()» vs «Max()» или расследование с неожиданным концом

Время на прочтение8 мин
Количество просмотров15K
Здравствуйте, коллеги.
В этой статье я расскажу о своих изысканиях в вопросе: «А что же лучше: dense_rank() или max()» и, конечно, почему эти изыскания завершились с неожиданным, по крайней мере для меня, результатом.
Читать дальше →

Преимущество новой конфигурации DELL PE R920 c SSDs на NVME EXPRESS FLASH PCIE

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


Производительность – важнейшее качество для компаний, работающих с программами на базе данных Oracle, что требует от подсистем хранения низкого времени задержки и максимального количества операций ввода-вывода в секунду. Таким образом, важно выбрать сервер не только с новейшей технологией процессора и большим объемом оперативной памяти, но и с возможностью обновлений для обеспечения высокого уровня обслуживания. Новый сервер Dell PowerEdge R920 с процессором Intel® Xeon семейства E7 v2 обеспечивает производительность, необходимую для критически важных приложений. При помощи твердотельных накопителей NVMe Express Flash PCIe можно поднять производительность сервера на новый уровень.

В нашей тестовой лаборатории мы протестировали два сервера Dell PowerEdge R920 с базой данных Oracle Database 12c с OLTP TPC-C рабочими нагрузками, первый в конфигурации со стандартными серийными SCSI (SAS) жесткими дисками, второй с твердотельными накопителями NVMe Express Flash PCIe. Обновленная конфигурация с твердотельными накопителями PCIe увеличила производительность базы данных в 14,9 раз по сравнению с жесткими дисками. В то время как базовая конфигурация обеспечивает хорошую производительность сервера, твердотельные накопители NVMe Express Flash PCIe позволяют существенно ее повысить, став выгодной инвестицией для бизнеса, стремящегося удовлетворить требованиям пользователей базы данных Oracle.
Посмотрим как мы это сделали

Работа с DB Oracle из Xcode

Время на прочтение7 мин
Количество просмотров6K
Я хотел научиться работать с oracle из xcode, так как не обнаружил готового фреймворка от apple для работы с базой данных oracle напрямую.
Для начала, я попробовал создать тестовый проект и подключить к нему instantclient от oracle. Также я использовал тестовый пример от Oracle ( cdemo81.c ), включил его код в проект на xcode и протестировал работу. Да, все работает, хотя пришлось немножко побить в шаманский бубен от google. Тем не менее, использовать напрямую oci библиотеку тяжело, так как нужно реализовать интерфейс, а это похоже на изобретение велосипеда.
Тогда я решил попробовать использовать кросс-платформенную библиотеку ocilib ( http://orclib.sourceforge.net )
Далее в тексте пошаговая инструкция о том, как сделать тестовый проект на cocoa и использовать эту библиотеку. Цель тестового проекта — подключив библиотеку получить данные с сервера oracle.
Читать дальше →

Oracle Database Appliance – обзор после опыта использования

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


Сначала пару слов про ODA. Это инженерная система, представляющая собой готовый стек – СХД, серверов и софта, которые подобраны друг под друга для обеспечения максимальной производительности. Аналогов у других производителей нет, т.к. весь стек тестировался производителем оборудования и ПО для выявления «узких» мест в производительности. В результате в ОДЕ нет веера разных конфигураций и все что можно сделать — это добавить дополнительную полку с дисками. В системе стандартный объем памяти, стандартный объем дисков, стандартные процессоры – никаких особых дополнений или вариантов конфигураций нет.

В нашем обзоре использована ОДА первого поколения, которая в габаритах 4 юнита, включает в себя 2 сервера, каждый с:
Читать дальше →

Денормализация деревьев

Время на прочтение3 мин
Количество просмотров12K
Очень часто за основу архитектуры приложения берётся дерево. Простой пример: есть страны, в странах — области, в областях — города, в городах — организации, в организациях — работники, товары или что-либо ещё. Использование дерева вполне логично и оправдано. Иерархичность такой системы показывает некая абстрактная таблица. Назовём её object:

CREATE TABLE object (
  id NUMBER(11),
  parent_id NUMBER(11),
  type VARCHAR2(16) NOT NULL,
  name VARCHAR2(255) NOT NULL,
  CONSTRAINT pk_object PRIMARY KEY (id),
  CONSTRAINT fk_object_parent FOREIGN KEY (parent_id) REFERENCES object (id) ON DELETE CASCADE ENABLE
);

Наполним её какими-нибудь данными:

id  |  parent_id  |  type     |  name
------------------------------------------------------
1   |  NULL       |  country  |  Россия
2   |  1          |  region   |  Московская область
3   |  1          |  region   |  Новосибирская область
4   |  2          |  city     |  Москва
5   |  3          |  city     |  Новосибирск

При этом мы можем легко одним запросом получать нужные нам связи:

-- Выбрать все города России
SELECT *
  FROM object
    WHERE type = 'city'
    START WITH id = 1 CONNECT BY PRIOR id = parent_id;

-- Выбрать страну, в которой находится Новосибирск
SELECT *
  FROM object
    WHERE type = 'country'
    START WITH id = 5 CONNECT BY PRIOR parent_id = id;

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

Хранимые функции. За и против

Время на прочтение6 мин
Количество просмотров92K
Использование хранимых функций СУБД для реализации бизнес-логики или её части, всегда было камнем преткновения. С одной стороны баррикад DBA и программисты БД, с другой — разработчики backend.
Рискну навлечь на себя гнев из обоих лагерей, но всё же просуммирую плюсы и минусы и изложу свои соображения о том, когда стоит писать код в хранимых функциях, а когда следует выносить наружу.


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

Intellij IDEA: Oracle Cloud Integration

Время на прочтение3 мин
Количество просмотров9.1K
Не секрет, что Oracle претендует на звание крупнейшего в мире корпоративного облака. Oracle Public Cloud, пригоден, по утверждениям компании, для переноса в себя всех приложений и бизнес-процессов предприятия.

Недавно пришлось попробовать Oracle Java Cloud Service в работе. Впечатления, в общем — положительные, но был немного расстроен, т.к не имел возможности работать с этим сервисом в своей любимой среде разработки — Intellij IDEA.
И вот два дня назад появился плагин Oracle Cloud integration. О том, какие возможности он нам предоставляет, я и хотел рассказать в этой статье.
Читать дальше →

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