Подключение к базе данных Oracle

Следующие директивы управляют доступом к БД Oracle.

ORACLE_HOME

Задаёт переменную окружения ORACLE_HOME для библиотек Oracle, используемых модулем Perl DBD::Oracle.

ORACLE_DSN

Задаёт имя источника данных в формате DBI DSN. Например:

dbi:Oracle:host=oradb_host.myhost.com;sid=DB_SID;port=1521

или

dbi:Oracle:DB_SID

Пример для 18c:

dbi:Oracle:host=192.168.1.29;service_name=pdb1;port=1521

Для использования второй нотации необходимо объявить SID в файле $ORACLE_HOME/network/admin/tnsnames.ora или в пути, указанном в переменной окружения TNS_ADMIN.

ORACLE_DSN ORACLE_PWD

Задают имя пользователя и пароль для подключения к БД Oracle. Обратите внимание, что лучше входить в систему с правами суперпользователя Oracle во избежание проблем доступа во время сканирования базы данных и пропуска данных.

Если не задать пароль в ORACLE_PWD и установить Perl-модуль Term::ReadKey, ora2pgpro запросит пароль интерактивно. Если имя пользователя не задано в ORACLE_USER, его тоже нужно будет задать интерактивно.

Чтобы подключиться к локальному экземпляру Oracle с правами SYSDBA, необходимо задать для ORACLE_USER значение / и пустой пароль.

USER_GRANTS

Задайте для этого параметра значение 1, если вы подключаетесь к БД Oracle как простой пользователь без права извлекать данные из таблиц DBA_. Будут использоваться таблицы ALL_.

Предупреждение: при использовании типа экспорта GRANT необходимо задать для этого параметра значение 0, в противном случае он работать не будет.

TRANSACTION

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

  • readonly: 'SET TRANSACTION READ ONLY',
  • readwrite: 'SET TRANSACTION READ WRITE',
  • serializable: 'SET TRANSACTION ISOLATION LEVEL SERIALIZABLE'
  • committed: 'SET TRANSACTION ISOLATION LEVEL READ COMMITTED',
ORA_INITIAL_COMMAND

Эту директиву можно использовать для отправки начальных команд в Oracle сразу после подключения, например, чтобы разблокировать политику для чтения объектов или установить параметры сеанса. Директиву можно задавать несколько раз.