Oracle database handler

The Oracle database handler is used in BizDataX Designer for handling (masking) Oracle databases.

Table of contents
Installation
Settings
Oracle specific settings
Example
Client-side parallelism

Installation

To install the Oracle database handler add the BizDataX.Databases.Oracle NuGet package to the solution.

Once installed, it provides a way to configure repeating persistence and restartability store settings in App.config file.

Settings

The settings are set in Package.xaml file for each handler, inside the iterator blocks.
Settings are constructed using Fluent Handler API.
Oracle extends those setting with some database specific options:

Oracle specific settings

Extends Setting Description Data type
.WithBulk ParallelFactor Sets the server-side (database-side) level of parallelism. Optimal value is around the number of logical CPU cores. Number (threads)
.WithBulk OptimizationUpdateOnly If true, only UPDATE will be performed in MERGE. Otherwise, INSERT and DELETE conditions are generated. Default is true. Boolean
.WithBulk CreateIndexOnTempTables If true, after creating temporary tables when preparing for masking, an index will be created on those tables. This can affect performance both positively and negatively. Default is true. Boolean
.WithBulk OnlineIndex If true, indexes on temporary tables will be created online. Default is true. Boolean
.WithBulk IntermediateTablesControlFunc Intermdiate tables control function. Func<TableType, ITableHandlingInfo, string, TableSpecification>
.WithRange Partitions Sets ranges defined by Oracle range-partitioned and list-partitioned tables.

Note: Supported partition types are Range and List. Hash and Reference types are not supported.

Example

Customer.Handle.WithRange().Partitions().WithBulk().ParallelFactor(4).CreateIndexOnTempTables(true).OnlineIndex(true)

Client-side parallelism

By default, BizDataX only uses server-side parallelism.

To set the level of client-side parallelism, in the Package.xaml file click on a Masking engine, in the Properties pane find MaxParallelIterators and set it to the desired number.

The optimal number of iterators should be close to the physical CPU core count.