JDBC краулер

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

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

  • Таблица

  • Синоним

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

  • Триггер

  • Функция

  • Процедура

  • Ключ

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

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

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

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

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

Разрешения

PostgreSQL

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

Greenplum

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

MongoDB

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

ClickHouse

Для сканирования метаданных необходим доступ на select к следующим таблицам не содержащим пользовательские данные: system.clusters - информация о кластерах (для получения имени default_database по умолчанию) system.databases - БД system.functions - функции system.tables - таблицы, view, materialized view system.columns - поля system.data_skipping_indices - индексы пропуска данных в таблицах

MySQL

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

DB2

Учетная запись должна иметь права SELECT следующих сканируемых ресурсов DB2: Tables Views Indexes Packages Procedures Functions Sequences Triggers Synonyms SYSCAT.SCHEMATA SYSCAT.TRIGGERS SYSCAT.INDEXES SYSCAT.INDEXCOLUSE SYSCAT.REFERENCES SYSCAT.TABCONST SYSCAT.KEYCOLUSE SYSCAT.COLCHECKS SYSCAT.DATATYPES SYSCAT.COLUMNS SYSCAT.TABLES SYSCAT.FUNCTIONS SYSCAT.PROCEDURES SYSCAT.PACKAGES SYSCAT.TRIGGERS SYSCAT.SEQUENCES SYSCAT.INDEXES SYSCAT.CHECKS SYSCAT.VIEWS SYSCAT.PACKAGES SYSCAT.FUNCDEP SYSCAT.TRIGDEP SYSCAT.VIEWDEP

HBase

Для учетной записи пользователя необходимо настроить разрешения SELECT на соответствующий ресурс для его сканирования в зависимости от версии HBase.

MS SQL

Для учетной записи пользователя базы данных MS SQL, необходимо настроить следующие разрешения: VIEW DEFINITION SELECT для sys.sql_expression_dependencies

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

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

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

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

Таблица 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. Пример для PostreSQL, Greenplum: select schemaname, viewname, definition from pg_views; Пример для Oracle: select owner, view_name, text from ALL_VIEWS;

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

SQL-запрос для конкретной базы данных для получения информации о синонимах. Запрос должен возвращать две колонки: полное имя синонима, полное имя таблицы. Пример: - For IBM DB2: Не поддерживается. - For 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 - For Oracle: SELECT OWNER || '.' || SYNONYM_name, TABLE_OWNER || '.' || TABLE_name FROM SYS.DBA_SYNONYMS - For Teradata: Не поддерживается.

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

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

Объем памяти

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

Custom JVM options

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