JDBC краулер

Извлекаемые объекты

В зависимости от типа источника, в результате сканирования извлекаются метаданные следующих типов объектов:

  • Таблица

  • Синоним

  • Представление

  • Триггер

  • Функция

  • Процедура

  • Ключ

  • Материализованное представление

Настройка разрешений для учётной записи

Разрешения для учётной записи пользователя зависят от JDBC драйвера, который используется для доступа к базе данных.

Таблица 1 – Доступные разрешения по типу источника

Тип источника

Разрешения

PostgreSQL

select on pg_catalog.PG_ATTRIBUTE, PG_CLASS, PG_CONSTRAINT, PG_DESCRIPTION, PG_LANGUAGE, PG_NAMESPACE, PG_PROC, PG_TYPE, PG_VIEWS select on information_schema.COLUMNS, TABLES, pg_catalog.PG_TABLES, PG_MATVIEWS

Greenplum

select on pg_catalog.PG_ATTRIBUTE, PG_CLASS, PG_CONSTRAINT, PG_DESCRIPTION, PG_LANGUAGE, PG_NAMESPACE, PG_PROC, PG_TYPE, PG_VIEWS select on information_schema.COLUMNS, TABLES, pg_catalog.PG_TABLES, PG_MATVIEWS

MongoDB

Учётная запись должна иметь права на чтение следующих сканируемых ресурсов: Database, Collections, Fields, Views

ClickHouse

select на системные таблицы: system.clusters, system.databases, system.functions, system.tables, system.columns, system.data_skipping_indices

MySQL

Для учётной записи пользователя необходимо настроить разрешения SESSION и SELECT_CATALOG_ROLE или SELECT, SHOW VIEW, TRIGGER в зависимости от версии

DB2

SELECT на таблицы, представления, индексы, пакеты, процедуры, функции, последовательности, триггеры, синонимы, SYSCAT.* таблицы

HBase

Необходимы права SELECT на соответствующие ресурсы в зависимости от версии HBase

MS SQL

VIEW DEFINITION, SELECT для sys.sql_expression_dependencies

Загрузка файлов и библиотек

Перед сканированием источника с помощью JDBC подключения необходимо разместить JDBC драйвер на сервере сканирования. Драйвер должен находиться в директории: /opt/rem_scanners/ScannerJars/externalDependencies/JDBCScanner

Для получения драйвера обратитесь к администраторам системы источника.

Параметры подключения к источнику

С сервера, на котором развернут сканер, а также с сервера каталога данных, должны быть открыты порты до сервера базы данных сканируемого источника. Порт указывается в параметре URL – строка подключения к базе данных источника.

Таблица 2 – Параметры JDBC краулера

Название

Описание

Название

Уникальное название подключения к источнику, обязательный параметр.

Описание

Описание создаваемого подключения.

JDBC Driver Class

Имя Java класса драйвера к БД, обязательный параметр. Пример для PostgreSQL: org.postgresql.Driver

URL

JDBC URL для подключения к БД, обязательный параметр. Пример для PostgreSQL: jdbc:postgresql://host:port/database

Пользователь

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

Пароль

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

Каталог

Параметр используется для ограничения импортируемых каталогов базы данных. Игнорируется для источников, не поддерживающих каталоги. Допустимые значения: - пусто: метаданные импортируются из первого найденного каталога - ИмяКаталога: метаданные импортируются из каталога "ИмяКаталога"

Схема

Параметр используется для ограничения импортируемых схем базы данных. Допустимые значения: - empty (пусто) — сканируются все схемы БД - shemaname(s) — сканируется только указанная схема (схемы).

Для перечисления нескольких схем используется запятая.

Таблицы и представления

Параметр используется для ограничения импортируемых объектов базы данных. Допустимые значения: - empty (пусто) — сканируются все объекты - tableName(s) — сканируется только указанная таблица (таблицы).

Для перечисления нескольких объектов используется запятая.

Доступно использование маски % и операторов AND, OR, NOT. Пример: DWH%, %ERR, %PO%, DFG, NOT %SVS, NOT VS%, NOT %WE%, NOT MK.

Чувствительность к регистру

Указывает настройки источника к чувствительности регистра.

Определение для view

SQL-запрос для конкретной базы данных для получения текста View. Пример PostgreSQL/Greenplum: select schemaname, viewname, definition from pg_views; Пример Oracle: select owner, view_name, text from ALL_VIEWS

Определение для синонимов

SQL-запрос для конкретной базы данных для получения информации о синонимах. Должен возвращать две колонки: полное имя синонима, полное имя таблицы. Примеры: - IBM DB2: не поддерживается - Microsoft SQL Server:

SELECT s.name + '.' + a.name, a.base_object_name FROM sys.schemas AS s, sys.synonyms AS a WHERE s.schema_id = a.schema_id

  • Oracle: SELECT OWNER || '.' || SYNONYM_name, TABLE_OWNER || '.' || TABLE_name FROM SYS.DBA_SYNONYMS

  • Teradata: не поддерживается

Импорт хранимых процедур

Указывает, следует ли импортировать хранимые процедуры: - 'False' — объекты не импортируются (по умолчанию) - 'True' — объекты импортируются

Объём памяти

Определяет количество памяти, выделяемой для процесса сканирования. Допустимые значения: Low, Medium, High

Custom JVM options

Позволяет задаваться дополнительные параметры сканирования, например уровень детализации логирования: -Dscannerloglevel=<DEBUG/INFO/ERROR>