Аудит данных в Oracle на основе пакетных переменных и триггеров

В пакеты Oracle можно добавлять переменные. Эти переменные имеют свои значения для каждой сессии. Такое свойство позволяет организовать аудит — лог записей о том кто и когда менял данные в таблицах. Общий алгоритм такой:

  • Создаётся пакет с переменными.
  • После соединения программа записывает в эти переменные данные о пользователе: идентификатор пользователя, открытый модуль и всё что может понадобится для аудита.
  • На таблицы помещаются триггеры которые используют переменные из пакета аудита и записывают информацию о модификации данных в отдельную таблицу.

Почти все описанные изменения производятся в БД. В клиенте добавляется только код регистрации переменных после коннекта. За счёт этого, такой подход может использоваться даже в наборе старых приложений в которых затруднительно найти и изменить все обращения к таблице в клиентах.

Читать далее Аудит данных в Oracle на основе пакетных переменных и триггеров

Oracle. not in и null

Если в колонке внутри подзапроса not in возможно появление null то это может привести к неверному поведению.

Рассмотрим пример, сделаем две таблицы:

Запрос с in возвращает то что ожидается

1
3

А вот запрос с not in не возвращает вообще ничего

И так будет всегда если в результате подзапроса присутствует null. Таким образом, если делается запрос с not in, всегда нужно проверить что колонка в подзапросе является not null. Или заменить условие, например на not exists.

Подробная статья про поведение null в Oracle, в том числе разобрана ситуация с not in.

PL/SQL Developer. 2. Выполнение запросов и редактирование данных.

Выполнение запросов

После подключения добавляем новое Sql-окно

PL/SQL Developer откртиые нового Sql-окна

Пишем запрос, нажимаем F8 или кнопку на панели инструментов и получаем таблицу - результат запроса.

Читать далее PL/SQL Developer. 2. Выполнение запросов и редактирование данных.

Установка Oracle Instant Client в Windows

Instant Client - сокращенная версия клиента Oracle.

Установка состоит из трех этапов:

  1. Загрузка файлов Instant Clien
  2. Установка системных переменных
  3. Настройка подключения - файл tnsnames.ora

Читать далее Установка Oracle Instant Client в Windows

Установка PostgreSQL в Dokku

Внутри Dokku можно установить PostgreSQL с помощью плагина. После установки появится возможность создавать базы данных, подключатся к ним, связывать БД с приложениями.

Запускаем команду установки

Читать далее Установка PostgreSQL в Dokku

PL/SQL Developer. 1. Список подключений и автозамена

Описание двух полезны настроек PL/SQL Developer: список подключений и автозамена.

Fixed Users

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

Настраивается в
Tools -> Preferences -> Oracle -> Logon History -> Fixed Users

Читать далее PL/SQL Developer. 1. Список подключений и автозамена