Следующие директивы управляют доступом к БД Oracle.
ORACLE_HOMEЗадаёт переменную окружения
ORACLE_HOMEдля библиотек Oracle, используемых модулем PerlDBD::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_DSNORACLE_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 сразу после подключения, например, чтобы разблокировать политику для чтения объектов или установить параметры сеанса. Директиву можно задавать несколько раз.
The following configuration directives control the access to the Oracle database.
ORACLE_HOMEUsed to set
ORACLE_HOMEenvironment variable to the Oracle libraries required by theDBD::OraclePerl module.ORACLE_DSNThis directive is used to set the data source name in the form of standard DBI DSN. For example:
dbi:Oracle:host=oradb_host.myhost.com;sid=DB_SID;port=1521
or
dbi:Oracle:DB_SID
On 18c, this could be for example:
dbi:Oracle:host=192.168.1.29;service_name=pdb1;port=1521
For the second notation, the SID should be declared in the file
$ORACLE_HOME/network/admin/tnsnames.oraor in the path given to theTNS_ADMINenvironment variable.ORACLE_DSNORACLE_PWDThese two directives are used to define the user and password for the Oracle database connection. Note that if you can, it is better to log in as Oracle super admin to avoid grants problem during the database scan and be sure that nothing is missing.
If you do not supply a credential with
ORACLE_PWD, and you have installed theTerm::ReadKeyPerl module, ora2pgpro will ask for the password interactively. IfORACLE_USERis not set, it will be asked interactively too.To connect to a local Oracle instance with connections as
SYSDBA, you have to setORACLE_USERto/and an empty password.USER_GRANTSSet this directive to 1 if you connect to the Oracle database as a simple user and do not have enough grants to extract things from the
DBA_tables. It will use tablesALL_instead.Warning: if you use the export type
GRANT, you must set this configuration option to 0, or it will not work.TRANSACTIONThis directive may be used if you want to change the default isolation level of the data export transaction. Default is to set the level to a serializable transaction to ensure data consistency. The allowed values for this directive are:
- 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_COMMANDThis directive can be used to send an initial command to Oracle, just after the connection, for example, to unlock a policy before reading objects or to set some session parameters. This directive can be used multiple times.