For online schema changes, the following procedures are provided to run the load_df batch scripts:
  • prodict/load_df.p
  • prodict/load_df_silent.p

Load data definitions

Run the prodict/load_df.p procedure to load data definitions into the database. This procedure accepts a single input parameter, df-file-name, that may contain multiple entries. The entries must be in the correct positional order.
  • To load new tables and sequences online and commit with errors, the df-file-name parameter must have three entries.

    df-file-name,commit,session parameter

  • To load new tables and sequences online without committing with errors, the df-file-name parameter must have a blank entry between the first and third entries.

    df-file-name,,session parameter

  • To load new database objects according to online schema change sections, the df-file-name parameter must have four or more entries.

    df-file-name,commit,session parameter,online schema change sections

    The order of the online schema change sections is:

    PreDeployLoad,TriggerLoad,PostDeployLoad,OfflineLoad

Examples

  • Commit with errors and loading online—sports.df,yes,NEW OBJECTS
  • Do not commit with errors and loading online—sports.df,,NEW OBJECTS
  • Do not commit with errors and loading online (load all online shcema change sections)—sports.df,,NEW OBJECTS,yes,yes,yes,yes
  • Do not commit with errors and loading online (load PreDeployLoad and OfflineLoad)—sports.df,,NEW OBJECTS,yes,,,yes

Load data definitions using Load_df_silent.p

The input parameters for the load_df_silent.p procedure are:
  • pcFileName—The name of the .df file to be loaded into DICTDB.
  • pcOptions—Optional comma-separated list of one or some of the following:
    • AddObjectsOnline—Load new tables and sequences online.
    • ForceCommit—Commit even with errors.
    • ForceIndexDeactivate—Create new inactive indexes.
    • ForceSharedSchema—Ignore Multi-tenant properties.
    • PreDeployLoad—Load the predeploy section.
    • TriggerLoad—Load the trigger section.
    • PostDeployLoad—Load the postdeploy section.
    • OfflineLoad—Load the offline section.

Load Dynamic Data Masking (DDM) schema definition

For a database, the DDM administrator can execute the batch_load_df.p batch load procedure with the following additional parameters to load the DDM schema definition section from the .df file:
  • DDMLoad
  • IgnoreDDMLoad
    Note: Given that the DDM administrator and the security administrator are separate individuals, only the DDM administrator can dump and load DDM schema definitions. You can dump and load DDM schema definitions if you are both a DDM administrator and a security administrator.

    For more information on how to configure DDM and how to get started, see Introduction to Dynamic Data Masking in the Learn about Security and Auditing.

Depending on the input values of these parameters, batch_load_df.p executes the following actions:
DDMLoad IgnoreDDMLoad Action
Yes No Loads only the DDM definition section.
No Yes Loads only the schema definitions.
No No Loads the entire .df file.
Yes Yes Loads only the DDM definition section.
Note:
  • If no values are specified for both, DDMLoad and IgnoreDDMLoad, then entire .df file is loaded.
  • In the event that the value of DDMLoad is set to Yes and the .df file does not contain a DDM section, the load operation aborts and generates an error while loading the DDM schema definitions.

Examples

  • Commit with errors and loading online (Load only the DDM section)—sports.df,yes,NEW OBJECTS,,,,,yes
  • Do not commit with errors and loading online (Load the PreDeployLoad and OfflineLoad sections without the DDM section)—sports.df,,NEW OBJECTS,yes,,,yes,,yes
  • Do not commit with errors and loading online (Load the complete .df file)—sports.df,,NEW OBJECTS
    Note: While loading the .df file, batch_load_df.p may fail if you provide a section name that is not present in the .df file.

Batch load from the command-line

You may also run the batch load program from the command-line to load the DDM and schema definitions. For example, to load only the DDM schema definition from the .df file, run the following command from the command line. Here, the value for the eighth parameter, DDMLoad, is set to Yes, and that of the ninth parameter, IgnoreDDMLoad, is set to No:
$PROEXE -db sports -U user1 -P user1 -1 -b -p prodict/batch_load_df.p -param "load.df,no,,no,no,no,no,yes,no”

Notes

While loading the DDM schema definitions, you may receive an error in the following scenarios:
  • The table is either a SQL table, exists in a DataServer schema, or does not exist at all.
  • The field name does not exist in the table.
  • The field datatype is either CLOB or BLOB.
  • The user running the batch load procedure is not a DDM administrator.

To know more about how to batch dump DDM and schema definition, see Batch dump ABL data definitions.