4.2. Подключение к базе данных 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 сразу после подключения, например, чтобы разблокировать политику для чтения объектов или установить параметры сеанса. Директиву можно задавать несколько раз.

FAQ