Метка «oracle» - 5

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

Читать полностью »

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

С некоторым удивлением обнаружил, что для большинства читателей само собой разумеется, что внутри сервера стоят самые обычные Xeon’ы. Все остальные процессоры — это что-то далёкое и почти несуществующее, поэтому статья как «Процессоры для корпораций» вызвала весьма живой интерес. Раз уж тема настолько интересная, попробуем заполнить информационный вакуум. Итак,

Кто и зачем их покупает?

Читать полностью »

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

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

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

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

Недавно наткнулся на простое и эффективное решение одной элементарной даже не проблемы, а неудобства и решил поделиться. Суть вот в чем:

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

Естественно, многие из таких повторяющихся задач требуют различных специализированных «кусков кода», в зависимости от решаемой задачи  или БД. Оказалось, что часто быстрее и проще в поддержке не создавать множество однотипных, «почти» совпадающих скриптов SQL или версий, а применять «блочные комментарии» для временного выключения/включения нужного фрагмента SQL и вручную управлять ими в ISQL редакторе.
Читать полностью »

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

Преамбула

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

Предисловие

По роду своей деятельности, сопровождаю инфраструктуру небольшого парк-отеля, которая включает необходимые и не очень элементы. Читать полностью »

Здравствуйте, уважаемые Хабровчане. Сегодня я хочу немного рассказать про 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 Label Security (OLS) — это еще одна возможность разграничения доступа к данным в Oracle Database Server. Отличительной особенностью OLS является многоуровневость политик доступа и хранение атрибутов управления доступом вместе с данными.

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

Oracle Label Security является платной опцией Oracle Database Enterprise Edition.

Ниже будут рассмотрены основные понятия и приведен пример использования OLS.
Читать полностью »

Задача разделения доступа к данным в информационных системах возникает всегда. Так или иначе ее нужно решать. Если доступ к базе данных возможен только из сервера приложений, то можно возложить эту обязаннасть на него. Но почти всегда есть потребность прямого доступа к данным, например для аналитиков или персонала поставщика системы.
В статье рассматривается возможность частичного сокрытия информации, доступ к которой строго ограничен. Тут же вспоминаем про 152-ФЗ.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js