GENLOADFILES

Valid For

Replicat

Description

Use the GENLOADFILES parameter when using the file-to-database-utility initial load method to generate run and control files that are compatible with:

  • Oracle's SQL*Loader utility

  • Microsoft's BCP, DTS, or SQL Server Integration Services (SSIS) utility

  • IBM's Load Utility (LOADUTIL).

A run file and a control file are generated for each MAP statement in the Replicat parameter file. Replicat stops after generating the control and run files and does not process data.

Use the run and control files with a data file that contains the data to be loaded into the target. To generate the data file, use the FORMATASCII parameter in the Extract parameter file. Use the SQLLOADER option of FORMATASCII for the Oracle and DB2 for z/OS utilities and use the BCP option for the Microsoft utility.

FORMATASCII outputs the table data to an Oracle GoldenGate trail or file in external ASCII format, which is compatible with the load utility. You can generate multiple data files by specifying multiple files.

Note:

For IBM's Load Utility, you will need to specify the -E and -d defs_file Collector parameters with the PARAMS option of the RMTHOST parameter. These parameters are necessary to convert ASCII to EBCDIC and to specify the source-definitions file.

By default, GENLOADFILES creates the following file names:

  • The SQL*Loader run file is named source_table.run, and the control file is named source_table.ctl, where source_table is the name of a source table specified in the MAP statement.

  • The BCP/DTS/SSIS run file is named target_table.bat, and the control file is named target_table.fmt, where target_table is the name of a target table specified in the MAP statement.

  • The Load Utility run file is named target_table.run, and the control file is named target_table.ctl, where target_table is the name of a target table specified in the MAP statement.

Control Files

The control file contains load parameters that are generated based on a template. Oracle GoldenGate provides default templates for SQL*Loader, BCP/DTS/SSIS, and Load Utility. You can modify the templates as needed to change the load rules, or you can create new templates.

The following are examples of the Oracle GoldenGate templates, which contain placeholders for the target tables, the data file(s) produced by FORMATASCII, and other run parameters. Oracle GoldenGate replaces the placeholders with values based on parameters specified in the Replicat parameter file.

Example 3-1 SQL*Loader Template sqlldr.tpl

# File Names
controlfile ?target.ctl
runfile     ?target.run
#
# Run File Template
sqlldr userid=?pw control=?target log=?target direct=true
#
# Control File Template
unrecoverable
load data
infile ?source.dat
truncate
into table ?target

Example 3-2 BCP/DTS/SSIS Template bcpfmt.tpl

# Run File Template
# Substitute your database name for db
bcp db..?target in ?source.dat -U ?user -P ?pw -f ?target.fmt -e ?target.err
#
# Control File Template
# The value below must specify the BCP version, not the Sybase Adaptive
# Server or Microsoft SQL Server version. "bcp -v" can be used to
# determine the correct version number.
12.0

Example 3-3 Load Utility Template db2cntl.tpl

# File Names
controlfile ?target.ctl
runfile     ?target.run
#
# Run File Template
odb2 load
#
# Control File Template
LOAD REPLACE INTO TABLE ?target

Run Files

The run files contain the input parameters for starting the load. To execute the files, issue one of the following commands.

  • Execute the SQL*Loader run file from the UNIX command shell.

    % table.run
    
  • Execute the BCP run file from the DOS shell.

    > table.bat
    
  • Execute the Load Utility run file with a JCL script to load the data to the DB2 for z/OS table. Add other environment-related parameters to the job script as needed.

Note:

A setting of DYNAMIC for the WILDCARDRESOLVE parameter is not compatible with the GENLOADFILES parameter. Oracle GoldenGate defaults to IMMEDIATE when GENLOADFILES is specified.

Note that Oracle GoldenGate does not support multi-byte characters when the operating system and database character set are different, or when fixed length output format is used.

For step-by-step instructions on configuring Oracle GoldenGate to output the load files and performing the initial load, see the Administering Oracle GoldenGate for Windows and UNIX.

Default

None

Syntax

GENLOADFILES [template_file]
[CHARSET value]
template_file

The fully qualified name of the template file. The default template file is sqlldr.tpl for SQL*Loader, bcpfmt.tpl for BCP, DTS, or SSIS, and db2cntl.tpl for DB2 on z/OS, all located in the Oracle GoldenGate home directory.

CHARSET set

(Oracle SQL*Loader) Specifies the encoding of ASCII characters in Oracle NCHAR columns. Valid value is UTF8. Required if using CHARSET option of FORMATASCII.

CHARSET allows the load to include character-length semantics when the source table contains NCHAR data and variable-length characters set to UTF-8. Currently, Oracle SQL*Loader uses byte-length semantics and is not compatible with character-length semantics.

Note:

If both NCHAR and CHAR columns contain 8-bit ASCII characters, the generated file will contain a mix of operating system-native 8-bit ASCII character coding and UTF-8 coding, and the load will not succeed.

Example

GENLOADFILES sqlldr.tpl