About This Guide
Conventions
Abbreviations
Related Documentation
Introducing DATABridge Client
Choosing the Service vs. the Command-Line Client
Using the Client Console and the Service
How Replication Works
Client vs. Host Filtering
DATABridge Components
Comparing the Client Service to Command-Line Operations
Switching from Command-Line to Service Operations
Command-Line Client Operations
Before You Run the Command-Line Client
Controlling and Monitoring dbutility
dbutility Exit Status Values
Testing for Exit Status
Getting Started
Creating Client Control Tables
Creating a Second Set of Tables
Dropping and Re-Creating Client Control Tables
Updating Client Control Tables
Primary and Secondary Data Tables
Defining a Data Source
Defining a Data Source via the Configuration File
Results of the Define Command
Cloning from Multiple Data Sources
Customizing with User Scripts
Types of User Scripts
User Script Syntax
User Script Execution
Writing and Testing User Scripts
Using Scripts to Disable Data Sets
Decoding DMSII Dates, Times, and Date/Times
DMSII Dates
DMSII Dates Represented as a GROUP of Numbers
Decoding DMSII Dates Represented as ALPHA or NUMBER
DMSII Times
DMSII Times Represented as ALPHA, NUMBER, or TIME
Decoding DMSII Date/Times
Decoding DMSII Date/Time Represented as ALPHA or NUMBER
Unique DMSII Date/Time Represented as ALPHA or NUMBER
Numeric Date and Time in Non-Contiguous Columns
Creating Indexes for Tables
Keys Derived from the DMSII Database
Using Sets with the KEYCHANGEOK Attribute
RSNs and AA Values as Keys
Forcing the Client to Use RSN or AA Values as Keys
User Defined Keys in GenFormat
Composite Keys
When to Use Composite Keys
Composite Keys Defined by the User
Creating a Composite Key
Adding a Non DMSII Column
Types of Non DMSII Columns
Values for Non DMSII Columns
Setting Up History Tables
Modifying Non DMSII Column Names
Preserving Deleted Records
Generating DATABridge Client Scripts
Example of Script Files
Summary of Script Files
When to Run dbutility generate
Cloning a DMSII Database
Cloning Issues for All Relational Databases
Bulk Loader Parameters
Controlling Temporary File Storage for Windows Clients
Bulk Loader Operations for UNIX Clients
Controlling the Bulk Loader Maximum Error Count
Oracle SQL*Loader Bulk Loader
Files Related to SQL*Loader
Microsoft SQL Server bcp
bcp_auditor Utility
Files Related to bcp
Configuring Host Parameters
Running tcptest
Populating the DATABridge Data Tables
Data Validation and Discard Files
Numeric Data Validation
Alpha Data Validation
Date Validation
Special Handling of Key Items in Discard Files
Handling Blank Character Data for Key Items (DATABridge Client for Oracle)
The Process Command
Cloning a DMSII Database
Terminate Cloning
Tracking the State of Data Sets
ds_mode values
The Clone Command
Cloning Specific Data Sets
Cloning Command-Line Options
Configuring for Optimal Performance
Overlapped Bulk Loader Operations for Windows
Overlapped Index Creation
Optimizing State Information Passing
Multiple Statements and Pre-parsed SQL Statements
Reducing the Number of Updates to Data Tables
Other Considerations
Updating the Relational Database
Updating the DATABridge Data Tables
Scheduling Updates
Scheduling Examples
Scheduling Blackout Periods
Unscheduled Updating
Anomalies That Can Occur In Updates
Reorganizations, Rollbacks, and Other Changes to the DMSII Database
Initializations
Reorganizations
Managing DMSII Changes to Record Layout
About the redefine Command
DMSII Changes to Record Locations
Handling New Columns
Rollbacks
Recovering from DMSII Rollbacks
Recloning
Recloning Individual Data Sets
Recloning a Database
Adding a Data Set
Dropping a Table
Backing Up and Maintaining Client Control Tables
The Unload Command
The Reload Command
The Refresh Command
DMSII and Relational Database Data Mapping
DMSII and Relational Database Terms
DMSII and Relational Database Data Types
DATABridge Data Types
Supported DMSII Structures
Unsupported DMSII Structures
Embedded Data Sets
Selecting Embedded Data Sets for Cloning
Record Serial Numbers
AA Values
DMSII Links
Variable-Format Data Sets
Resulting Tables
Split Variable Format Data Sets Option
Changing the Default Data Type
Handling DMSII GROUPs
Handling DMSII OCCURS
DMSII DASDL with OCCURS
Flattening OCCURS Clauses
Flattening OCCURS Clause for Three-Bit Numeric Flags
Flattening OCCURS Clause for Items Cloned as Dates
DMSII GROUP OCCURS
DMSII Nested OCCURS
OCCURS DEPENDING ON
Handling Unflattened OCCURS DEPENDING ON Clauses
Relational Database Split Tables
Split Table Names
Keys for Split Tables
Relational Database Table and Column Names
Uppercase and Lowercase
Hyphens and Underscores
Name Length
Duplicate Names
Reserved Keywords
DATABridge Client Control Tables
Changes in DATABridge Client 6.2 Control Tables
DATASOURCES Client Control Table
DATASETS Client Control Table
DATATABLES Client Control Table
DMS_ITEMS Client Control Table
DATAITEMS Client Control Table
Automating Client Operations with the Service
Configuring the Service
Automation Scripts
Process-Related Scripts
BCNOTIFY Initiated Scripts
Introducing the Batch Console
Running the Batch Console (bconsole)
Signing On to the Service
Using Batch Console in Scripts Initiated by BCNOTIFY
Using Batch Console to Get Status Information
Batch Console Commands
Statements in Detail
If Statements
Command-Line Options
Appendix A: Troubleshooting
General Troubleshooting Procedures
Troubleshooting Table
Using SQL Query to Find Duplicate Records
Log and Trace Files
Using Log and Trace Files to Resolve Issues
Enabling a Trace
Trace Options
Trace Messages
Database API Trace
Bulk Loader Trace
Configuration File Trace
DBServer Message Trace
Information Trace
Load Trace
Protocol Trace
SQL Trace
User Script Trace
Appendix B: dbutility Commands and Options
dbutility Commands
dbutility Command-Line Options
Appendix C: Client Configuration
Client Configuration Files
How Do I Edit the Configuration File?
Export or Import a Configuration File
Change or Encode a Password
Command-Line Options
Syntax
Sample SQL Server Client Configuration File
Sample Oracle Client Configuration File
Processing Order
[signon]
[Log_File]
[Trace_File]
[Bulk_Loader]
[params]
Define and Redefine Command Parameters
allow_nulls
check_key_changes
clr_dup_extr_recs
default_user_columns
dflt_history_columns
enable_dynamic_hist
extract_embedded
external_column[n]
flatten_all_occurs
force_aa_value_only
history_tables
maximum_columns
min_varchar
miser_database
optimize_col_updates
optimize_updates
read_null_records
sec_tab_column_mask
split_varfmt_dataset
suppress_new_columns
suppress_new_datasets
use_bigint
use_binary_aa
use_clob
use_clustered_index
use_column_prefixes
use_date
use_datetime2
use_decimal_aa
use_nullable_dates
use_primary_key
use_time
use_varchar
Process and Clone Command Parameters
alpha_error_cutoff
auto_reclone
automate_virtuals
aux_stmts
century_break
commit_absn_inc
commit_longtrans
commit_time_inc
commit_txn_inc
commit_update_inc
controlled_execution
convert_ctrl_char
correct_bad_days
dbe_dflt_origin
defer_fixup_phase
discard_data_errors
display_bad_data
enable_doc_records
enable_ff_padding
enable_optimized_col
enable_optimized_sql
engine_workers
error_display_limits
inhibit_8_bit_data
inhibit_console
inhibit_ctrl_chars
inhibit_drop_history
linc_century_base
max_clone_count
max_discards
max_retry_secs
max_wait_secs
min_check_time
months
n_dmsii_buffers
n_update_threads
null_digit_value
numeric_date_format
preserve_deletes
rollback_segment
set_blanks_to_null
show_perf_stats
show_statistics
show_table_stats
statistics_increment
stop_after_fixups
stop_after_gc_reorg
stop_after_given_afn
suppress_dup_warnings
track_vfds_nolinks
use_dbwait
use_latest_si
Server Option Parameters
Generate Command Parameters
Display Command Parameter
User Scripts Parameters
[Scheduling]
[EbcdictoAscii]
Translation Table
Redefining a Character
External Data Translation DLL Support
Reference Tables
Bulk Loader Parameters
Scheduling Parameters
EBCDIC to ASCII Parameters
Params Parameters
Appendix D: Customization Scripts
Customization Rules for Client Configurator
Changes By Table
DATAITEMS Control Table Changes
DATASETS Control Table Changes
DATATABLES Control Table Changes
DMS_ITEMS Control Table Changes
Selecting DMSII Items
Sample Scripts for Customizing Data Set Mapping
Sample Data Set Selection Script
Cloning a Numeric Field as a Date
Cloning an Alpha Field as a Date
Cloning an Alpha or Number Field as a Time
Cloning an Alpha or Number Field as a Date/Time
Flattening OCCURS Clause
Flattening OCCURS Clause for Item Cloned as Dates
Flattening OCCURS Clause for Three Bit Numeric Flags
Splitting an Unsigned Number Item into Two Items
Adding a Composite Key to Tables Mapped from a Data Set
Specifying How to Handle Alpha Items That Are Too Long
Sample Data Table Global Customization Script
Sample Data Table Customization Scripts
Disabling the Cloning of Secondary Tables
Renaming a Table
Renaming Columns
Changing SQL Data Types
Cloning a Number as a Character Type
Adding a Non DMSII Column
Appendix E: Client Exit Codes
Appendix F: Service Configuration
Sample Client Service Configuration File
[Control_Program]
data_sources
ipc_port
n_scr_threads
startup_delay
userid = <userid>, <passwd>,<role>
[Log_File]
file_name_prefix
logsw_on_newday
logsw_on_size
max_file_size
newfile_on_newday
[<data_source_name>]
auto_generate
auto_redefine
blackout_period
client_dir
daily
disable_on_exitcode
max_retries
run_at_startup
sched_delay_secs
sched_minwait_secs
working_dir
Glossary of Terms
absolute address (AA) value
Audit Files
audit trail
Batch Console
caching
client
cloning
DASDL
data set
DATABridge Director
DATABridge Server
DBClient
DBClntCfgServer
direct disk
entry point
extraction
file format conversion
garbage collection reorganization
GenFormat
lag time
mutex
null record
null value
primary database
quiet point (QPT)
record format conversion
record serial number (RSN)
reorganization
replicated database
replication
rollback
secondary database
semaphores
service
set
structure
table
tracking