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

Oracle *

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

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

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

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

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

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

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

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

Время на прочтение1 мин
Количество просмотров6.2K
БД находится в 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 мин
Количество просмотров52K
Буквально вчера внезапно возникла задача — понадобилось разобрать данные в формате 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 по-разному обращается к таблицам и индексам – способы доступа к данным в различных ситуациях и являются предметом этой статьи.
Читать дальше →

Oracle 12c. Продолжаем обзоры новых возможностей. SQL Text expansion

Время на прочтение3 мин
Количество просмотров9.7K
Только что обнаружил у Т. Кайта в блоге описание очень полезной, на мой взгляд, новой возможности 12-ки.
Назвается SQL Text expansion. По сути она позволяет получить конечный запрос, после всех преобразований и дополнений.

1) будут раскрыты все подлежащие view. Т.е. скажем у вас, на первый взгляд, простой запрос, из одного представления, но если вы копнёте глубже, то обнаружите, что внутри это представление состоит из сложного запроса, а тот, основан на других view, которые, в свою очередь, на ещё множестве представлений. Наверняка многие из нас с этим сталкивались и знают каких усилий стоит собрать в голове всю картину воедино, бегая по описаниям каждого представления и пытаясь представить как всё это собирается в один запрос…

2) Особых усилий при отладке логики и производительности стоит работа с virtual private database (dbms_rls). Теперь новая возможность позволяет сильно облегчить жизнь (кто сталкивался — тот однозначно оценит!).

Теперь появилась новая функция, EXPAND_SQL_TEXT из пакета DBMS_UTILITY.
Читать дальше →

«Mальчики — налево, девочки — направо», или добавляем поле «Gender» в БД Oracle

Время на прочтение5 мин
Количество просмотров7K
… имеется три типа драконов: нулевые, мнимые и отрицательные. Все они не существуют, однако каждый тип — на свой особый манер. Мнимые и нулевые драконы, называемые на профессиональном языке мнимоконами и нульконами, не существуют значительно менее интересным способом, чем отрицательные.
Станислав Лем,
Кибериада

Преамбула


Конструктивной критики статьи «Проблемы слияния записей в сложносвязанной таблице Oracle» пост. Попытаемся проанализировать методы решения задачи выявления пола человека на основе его клиентских данных в БД Oracle.
Читать дальше →

ODP.NET, Managed Driver: что день грядущий нам готовит

Время на прочтение4 мин
Количество просмотров9.6K
Здравствуйте, уважаемые Хабровчане. Сегодня я хочу немного рассказать про ODP.NET, Managed Driver. Сейчас на сайте Oracle доступна версия Beta 11.2.0.3.60, которая показывает нам, каким станет ODP.NET в ближайшем (я надеюсь) будущем.

Итак, чем же примечателен ODP.NET, Managed Driver:

  • 100% управляемый провайдер
    Как постоянно подчеркивает компания Oracle в различных источниках, ODP.NET, Managed Driver — это полностью управляемый провайдер, в отличии от классического ODP.NET.
  • Одна библиотека размером ~6 мегабайт вместо кучи библиотек на ~150 мегабайт
    Для использования провайдера достаточно добавить в проект одну небольшую библиотеку Oracle.ManagedDataAccess.dll.
  • Не использует файлы клиента Oracle
    Для работы Managed Driver не нужно устанавливать клиент Oracle. Достаточно одной таблетки библиотеки.
  • Одна сборка для 32-битных и 64-битных систем
    Не нужно использовать разные сборки провайдеров для 32-битной и 64-битной систем.
  • Установка с помощью OUI and xcopy
    Можно установить с помощью инсталлятора либо просто распаковать архив и выполнить один скрипт.
  • Поддерживает Oracle 10.2 и выше
    Поддерживаются три последние версии.
  • Сертифицирован для Net Framework 4 и выше и Visual Studio 2010 и 2012

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

Краткий список нововведений в Oracle 12c

Время на прочтение2 мин
Количество просмотров30K
Час назад прошла On-line презентация 12-й версии РСУБД Oracle.
На YouTube грохнули В хорошем качестве

Кому лень смотреть и переводить — кратко выжимка в посте.


Концепция 12й версии:
Вообще 12с означает CLOUD — суть в том, что предлагается объединять все свои БД(PluggableDB=PDB) в единое облако(CloudDB = CDB)
Сама технология называется Multitenant Database.
Важно — все PDB д.б. обновлены до версии 12c.
К одной CDB можно подключить до 255 PDB.

Фишки DBA:
  1. Патч накатывается 1 раз на всё CDB — далее он реплицируется на все PDB автоматом.
  2. 2 PDB объединенные в CDB можно MERGE-ить.
  3. На все PDB пишется ТОЛЬКО 1 общий backup. Накатывается тоже 1 раз сразу на все.
  4. Утилита Privileges Analysis — позволяет отслеживать выданные права и роли, предотвращать «лишние» права.
  5. Служебный процесс DataOptimization — сжимает «холодные» блоки таблиц.

Основные фишки кодера (их более 500):
  1. Новый тип данных для PK — Identity. Сам создает сиквенс, который (видимо) создает триггер Before Insert и дергает его.
    Подобная вещь давно есть в PostgreSQL — называется SERIAL.
  2. NOT NULL полю теперь можно присвоить DEFAULT VALUE даже если в нем есть данные. NULL-ячейки моментально обновятся на DEFAULT
  3. БД-шный тип VARCHAR расширили с 4000 char до 32000 char (как в PL/SQL)
  4. В запросах можно выбирать любые строки по номерам — select… TOP 10 или выбрать 3,5 и 10 строки
  5. Новый формат ф-ии syntax в регулярных выражениях (можно делать гибкий поиск).
  6. On-line перемещение партиций таблиц (больше не надо останавливать Instance, все далает на лету).
  7. Explain plan оптимизирован, учитиывает статистику, и горячие блоки (см. фичу HeatMap).
  8. Новые типы гистограмм при сборе статистики таблиц.
  9. В UNDO и REDO логи больше не пишутся записи из TEMPORARY-таблиц. Теперь эти логи пишутся в САМИ временные таблицы.
  10. Фича HeatMap (Карта обращений) — собирает статистику обращений к каждому блоку. Есть 3 типа: HOT, WARM, COLD.
    Перемещает «горячие» блоки перед «холодными» и «теплыми». Помещает эти данные в статистику таблицы. Далее учитывает при чтении.
  11. Фича Transaction Guard — предотвращает повторные транзакции типа «дрогнул палец, нажал 2 раза».

Подробнее на офиц.сайте: Здесь

P.S.
Oracle Database 12c New Features – Part 1
Oracle Database 12c New Features – Part 2
P.P.S.
Oracle Database 12c New Features – Part 3
Oracle Database 12c New Features – Part 4

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