========================================================================= G C O S - 8 R E - H O S T I N G W O R K B E N C H v1.4.48 Windows NT/2000 RELEASE ========================================================================= RE-HOSTING WORKBENCH SUPPORT NOTES ================================== TABLE OF CONTENTS ================= INTRODUCTION REQUIREMENTS INSTALLATION TP8 SERVER BATCH INFORMIX RDBMS ORACLE RDBMS IBM DB2 RDBMS MICROSOFT SQL SERVER RDBMS DIMS8 HINTS & TIPS KNOWN LIMITATIONS/ERRORS INTRODUCTION ============ This document describes the GCOS-8 Re-hosting Workbench (RHB8) and must be used as a compliment to GCOS-8 COBOL Workbench (G8WB) and GCOS-8 Run-time Workbench (G8RB) documentation. REQUIREMENTS ============ RHB8 use a standard Relational Database System to host the IDS-II database emulation. Following RDBMS software is supported: INFORMIX IDS.2000 Version 9.2 ORACLE 8/8i IBM DB2 Version 7 Microsoft SQL Server 7.0/2000 RHB8 includes a TP8 Server, which is based on Micro Focus Common Communication Protocol (CCI). This implementation will support up to 100 concurrent TP users. INSTALLATION ============ Run-time -------- RHB8 is an optional part of G8RB release v1.4.48, and you need to install G8RB, ref. G8RB documentation for details, with the RHB option enabled. RHB8 is pre-configured for IDS-II via RDBMS (INFORMIX is default), however you may need to change default configuration to suit the actual RDBMS environment. Existing IDS-II databases may be unloaded/loaded via RHB8 Workbench. RHB8 includes a TP8 Server, which is quite similar to GCOS8 TP8. The TP8 Server (W8TPS) acts as a TP8 Workstation, accepting client connections, either via TP8 Client (W8TPC) or via DSA-Gateway. The TP8 Monitor (W8TP) acts as a TP8 Process, which connect automatically to TP8 Server, and is used to execute the individual transactions. TP8 Monitor(s) may either be launched manually or automatically from TP8 Server. RHB8 use an additional environment setting G8RBSDIR for storage of TP8 swap-files. By default G8RBSDIR = G8RBGDIR setting. Workbench --------- RHB8 is an optional part of G8WB release v1.4.48, and you need to install G8WB, ref. G8WB documentation for details, with the RHB option enabled. The G8WB Workbench environment may be used to test application components while running in the Re-hosting environment, i.e. using RDBMS and TP8 Server. If you have an existing G8WB environment, you need to move application components and configuration to the new RHB8 Workbench environment. Note: Schemas and subschemas must be validated for RHB8 Workbench, however programs checked/compiled within a G8WB Workbench need not be re-check/compiled for use in the RHB8 Workbench. Note: Existing databases MUST be unloaded with nnHDBU, either from GCOS8 or G8WB Workbench environment. TP8 SERVER ========== Principles ---------- ---------* ----------* *--------* I *--------* *---------* I *-------* I I I I I I I I I I I Client I I<---->I Server I<---->I Monitor I I<---->I RDBMS I I I I I I I I I *--------* *--------* *---------* *-------* Terminal Pending Application IDS-II Emulator Request TPRs ESQL Browser Queue TX/PHASE Spawn TX Queue Client: Users establish session via W8TPC or DSA-Gateway. Server: Messages are queued for processing (PRQ) in Monitor. Output messages are relayed to Client, and Client is given turn when TX completes or goes into conver- sation. Monitor: Executes message from Server - TX or conversational reply. TP8 Server ---------- TP8 Server is launched with the W8TPS command or icon, and quickly becomes operational, awaiting connections from either clients or monitors. Following configuration entries in Defaults Configuration (G8WB.CFG) may be used to control TP8 Server: [TP-MONITOR-DEFAULTS] CCI-MODULE : CCITCP ; CCIDDE(default) or CCITCP CCI-PUBLICNAME : TPMonG8RB ; Public name of TP8, default TPMonG8RB ;CCI-TIMEOUT-SECS : 30 ; Default is 120 TP8 server communicates with TP8 Monitor(s) via TCP/IP using the name TPMonG8RB. [TP-CLIENT-DEFAULTS] CCI-MODULE : CCITCP ; CCITCP(default) or CCIDDE CCI-PUBLICNAME : TPCliG8RB ; Public name of TP8, default TPCliG8RB ;CCI-TIMEOUT-SECS : 30 ; Default is 120 TP8 server communicates with Client(s) via TCP/IP using the name TPCliG8RB. Note: If you need to setup multiple RHB8 enviroments, you need to configure unique publicnames for Monitor and Client. [TP-SERVER-STARTUP] ;Tpident Command ; INITIAL and FINAL used to start a process only, all others ; will start process continously (start and restart ; at 30 second interval) ; Note: Tpident must match W8TP ident ;INITIAL : 'start only once during startup' ;FINAL : 'start only once during shutdown' ;TP1 : 'start mfenv 32r W8TP "TP1" /F:\g8rbl1' ;TP2 : 'start mfenv 32r W8TP "TP2" /F:\g8rbl2' TP8 Server may be configured to launch one or more Monitors at startup. Should a Monitor stop (RHB8 or uncontrolled application abort), a new Monitor instance is automatically re-launched. [G8WB-TRACE] ; Trace configuration TP-SERVER-DEBUG : OFF ; Trace TP Server TP-GLOBAL-JOURNAL : ON ; OFF(default)/ON TP8 Server writes statistics to $g8rbsdir\SERVER.LOG. TP-SERVER-DEBUG:ON cause a substantial amount of debug/trace information to be added to this log. TP-GLOBAL-JOURNAL:ON cause the SERVER.LOG to be appended to $g8rbsdir\SERVER.nnn file, where nnn = current day number. Following limits are fixed for TP8 Server: Max. number of Clients = 100 Max. number of Monitors = 10 Min. number of Buffers = 3 Max. number of Buffers = 50 (allocated as needed) TP8 Server Operation -------------------- TP8 Server provides status information in the execution window, and accepts one character commands, as indicated: -> TP Server is in the air -> Enter Q or S to shutdown TP Server, L for LID Statistics M for Monitor Statistics, D for Disconnect Lid Z for restart processes, any other for Quick Status Quick Status, which is both shown and written to SERVER.LOG, gives a summary of activity and resource use. Counters are given for Interval (period since last quick status) and Total (period since startup). -> Quick status for TP Server at hh.mm.ss TX-Serial# nnnnnnnn Counter Interval /sec Total /sec ----------------------------------------- Client Imsg# nnnnnnnn nn.n nnnnnnnn nn.n Client Omsg# nnnnnnnn nn.n nnnnnnnn nn.n Monitor Imsg# nnnnnnnn nn.n nnnnnnnn nn.n Monitor Omsg# nnnnnnnn nn.n nnnnnnnn nn.n Total I/Omsg# nnnnnnnn nn.n nnnnnnnn nn.n Client Lost# nnnnnnnn nnnnnnnn Client Prq# nnnnnnnn nnnnnnnn Client Max# nnnnnnnn nnnnnnnn Resource Current Maximum ------------------------------- Clients nnn nnn -active nnn -send nnn -pending nnn -idle nnn -spawn nnn -sleep nnn Monitors nn nn -active nn -idle nn Buffers nnn nnn -free nnn Shutdown of TP8 Server may be requested with S or Q command, however, to prevent accidental shutdown, the request has to be confirmed, ex. Shutdown has been requested Execution is suspended until you reply! CONFIRM SHUTDOWN (N/Y)? If shutdown is not confirmed with Y (upper-case), the shutdown request is ignored and server.log is copied to server.001 (for viewing). A shutdown will stop all monitors and disconnect all clients. Shutdown of all idle monitors may be requested with Z command. Disconnect of a single client may be requested with D command. Current LID statistics is shown, and the LID index is used to designate a specific LID to be disconnected, ex. To prevent accidental shutdown, the request has to be confirmed, ex. -> LID Statistics for TP Server at hh.mm.ss LID Index Queue Input# Output# Min. Max. Avg. /sec ---------------------------------------------------- xxxx nnn qqqq nnnnnnn nnnnnnn nn.n nn.n nn.n Disconnect of Lid has been requested Execution is suspended until you reply! Enter LID Index or just Return If no LID index or an invalid index is given, the disconnect request is ignored. LID Statistics (L command), which is both shown and written to SERVER.LOG, gives a summary of client activity and current status. Only currently connected clients are shown. -> LID Statistics for TP Server at hh.mm.ss LID Index Queue Input# Output# Min. Max. Avg. /sec Lost# ---------------------------------------------------------- xxxx nnn qqqq nnnnnnn nnnnnnn nn.n nn.n nn.n nnn -> Idle, Busy, Send, PRQ, Disc, Spawn, Sleep Note: If unique LIDs are used, then a re-connected client will continue to use the same index (entry), without resetting the counters. Monitor Statistics (M command), which is both shown and written to SERVER.LOG, gives a summary of Monitor activity and current status. Only currently connected monitors are shown. -> Monitor Statistics for TP Server at hh.mm.ss Proc Ident Queue LID Input# Output# Min. Max. Avg./sec Start --------------------------------------------------------------------- nn xxxxxxxx qqqq nnn-xxxx nnnnnnn nnnnnnn nn.n nn.n nn.n nnn -> Idle, Busy TP8 Monitor ----------- TP8 Monitor is launched with the W8TP command or icon. Alternatively one or more monitors can be launched by TP8 Server automatically. The command line is used to uniquely identify each monitor. Each monitor must be assigned a non-shared G8RBLDIR. This can be done through MFENV settings or via command line. W8TP ["TP-Ident"] [/ldirpath|/.] TP-ident: Although optional, a unique identification must be assigned to each monitor, if launched by TP8 Server. G8RBLDIR: May be used to set G8RBLDIR for monitor instance. Following configuration entries in Defaults Configuration (G8WB.CFG) may be used to control TP8 Server: [G8WB-DEFAULTS] ; Defaults configuration TERMINAL-EMULATION : DKU71XX SERVER ; ; Emulator [Interface] ; VIP77XX ; VIP78XX ; DKU71XX ; IBM327X ; SERVER ; SERVER TNVIP ; SERVER TN3270 The Terminal-emulation setting defines the default terminal emulation for a Client, and SERVER, which instruct the Monitor to run in RHB8 mode. The TNVIP|TN3270 setting defines the default communication mode for the Client interface (W8TPC). Note: Terminal-emulation can be overriden via Local configuration. [TP-MONITOR-DEFAULTS] CCI-MODULE : CCITCP ; CCIDDE(default) or CCITCP CCI-PUBLICNAME : TPMonG8RB ; Public name of TP8, default TPMonG8RB ;CCI-TIMEOUT-SECS : 30 ; Default is 120 TP8 Monitor communicates with TP8 Server via TCP/IP using the name TPMonG8RB. [G8WB-TRACE] ; Trace configuration TP-TX-SEQUENCE : OFF ; Trace TX/TPR state TP-EXEC-CALL : OFF ; Trace TP Interface/procedure calls TP-COMM-DETAIL : OFF ; Trace SEND/RECEIVE details TP-TPR-EXECUTE : OFF ; OFF(default)/ON TP-RESPONSE-TIME : ON ; OFF(default)/ON/PROFILE TP-GLOBAL-JOURNAL : ON ; OFF(default)/ON TP-RESPONSE-TIME:ON cause a one line trace to be written to $g8rbldir\ JOURNAL.LOG for each TX/PHASE. TP-GLOBAL-JOURNAL:ON cause the JOURNAL.LOG to be appended to $g8rbgdir\JOURNAL.nnn file, where nnn = current day number. TP-TPR-EXECUTE should be left OFF, otherwise a message is sent to the client, whenever a TPR is executed. This message will, however, not be shown at the client. TP-TX-SEQUENCE, TP-EXEC-CALL, TP-COMM-DETAIL:ON cause a substantial amount of debug/trace information to be written to JOURNAL.LOG. Note: Monitor(s) will continue to run until TP8 Server is closed down, or a time-out occur while waiting for TP8 Server to respond. TP8 Client ---------- TP8 Clients may be connected either through TP8 Client utility (W8TPC) or through a DSA-Gateway. TP8 Client Utility ------------------ TP8 Client is launched with the W8TPC command or icon. The optional command line may be used to override default configuration. Once operational, the client utility will either acts as a terminal- emulator or acts as an interface to terminal-emulation software, ex. Glink. W8TPC [lid [terminal-emulation]] [/ldirpath|/.] Lid - may be used to set a lid for the session, and thus override default configuration. Terminal-emulation - may be used to set terminal emulation and interface for the session, and thus override default configuration. VIP77XX|VIP78XX|DKU71XX|IBM327X SERVER [TNVIP|TN3270] Note: SERVER must be specified for RHB8. TNVIP or TN3270 trigger client utility to acts as an interface to terminal- emulation software. G8RBLDIR: The setting for G8RBLDIR may be changed on-the-fly, ex. /c:\temp (specific path) /. (current path) Note: G8RBLDIR is ONLY used for optional local configuration, no files, except for Hard-copy, are written. Following configuration entries in Defaults Configuration (G8WB.CFG) may be used to control Batch: [TP-CLIENT-DEFAULTS] CCI-MODULE : CCITCP ; CCITCP(default) or CCIDDE CCI-PUBLICNAME : TPCliG8RB ; Public name of TP8, default TPCliG8RB ;CCI-TIMEOUT-SECS : 30 ; Default is 120 TP8 Client communicates with TP8 Server via TCP/IP using the name TPCliG8RB. [G8WB-DEFAULTS] ; Defaults configuration LOGICAL-ID : MAST ; Default LID for TP Log-on Note: It is recommended to use unique LIDs for TP8 Clients, as this makes it possible to identify a user and collect useful statistics. TP8 Client DSA-Gateway ---------------------- The DSA-Gateway is based on Ggate from G&R, and you need both Ggate and GlAPI run-time licenses in order to use DSA-Gateway. With DSA-Gateway you are able to connect Glink to TP8 Server, as if TP8 Server was a GCOS8 node. The setup, configuration and use of DSA-Gateway is docu- mented in G8RB, ref. Open-Client-Toolkit. For RHB8 the 'Listener' configuration of Ggate is slightly different and only ONE entry is required. listen -mn rhbtp8 -ext -lim nn -cmd 'rhbtp8' is the mailbox to listen and handle connection for, and nn designate the maximum number of connections. The syntax is: W8GLAPI publicname -ln -mn mailbox -li dsa [gline args] 'W8GLAPI' is the program launched when connection is detected. 'publicname' must be the same as CC-PUBLICNAME: as configured under [TP-CLIENT-DEFAULTS]. 'mailbox' must be the same as specified in '-mn mailbox', ex. rhbtp8. 'gline args' may optionally be specified, ex. -D_ will trigger Gline debug file creation. Here's a full example (all on one line): listen -mn rhbtp8 -ext -lim 50 -cmd w8glapi TPCliG8RB -ln -mn rhbtp8 -li dsa -t_ -s_ Here's an example of a connection through Glink: Communication interface = Windows Sockets IP address/Host = Ggate Server Protocol = G&R DSA Gateway Host = RHBTP8 Host mailbox = RHBTP8 Host node = GGATE_RFC Mailbox ext = LID1 (optional Lid, but recommended) Terminal emulation is controlled by RHB8 configuration, so you must ensure you are using the same terminal emulation within Glink. BATCH ===== Batch application are launched with the W8B command or icon. The command line format is as follows: W8B ["title"] programname [normal|exclusive|nolog|auto|query|nodb] [cbl85|cbl74] [=outfilename] [/ldirpath|/.]" Title: When specified, the title is applied to the execution window. Must be first argument and a quoted value. Programname: The programname or filename of the application program. Databasemode: May be used to control access to the database, if applicable. The default is normal. Nodb = database not used by program Exclusive = lock database and perform auto-commit Nolog = access database without logging (exclusive) Auto = access database with auto-commit Query = access database with query Note: All schema and subschema domains configured are pre-loaded before the application is launched. Environment: The execution environment for COBOL-85 or COBOL-74 is now preloaded. The default is cbl85. Redirect: The log may be redirected to a file. The default is $g8rbldir\BATCH.LOG. G8RBLDIR: The setting for G8RBLDIR may be changed on-the-fly, ex. /c:\temp (specific path) /. (current path) Following configuration entries in Defaults Configuration (G8WB.CFG) may be used to control Batch: [G8WB-TRACE] ; Trace configuration BATCH-EXEC-CALL : OFF ; Trace Interface/procedure calls BATCH-GLOBAL-LOG : ON ; OFF(default)/ON BATCH-GLOBAL-LOG:ON cause the BATCH.LOG to be appended to $g8rbgdir\BATCH.nnn file, where nnn = current day number. BATCH-EXEC-CALL:ON cause debug/trace information to be written to BATCH.LOG. INFORMIX RDBMS ============== Installation ------------ Configuration ------------- OPTCOMPIND = 0 LOCKS +> = 30000 BUFFERS +> = 600 LOGFILES = (6) LOGSIZE = (1500) PHYSSIZE = (2000) RHB8 Configuration ------------------ Following configuration entries in Database Configuration (DBMS.CFG) may be used enable and configure IDS-II via RDBMS: [SQL-SECTION] ; Enable/Disable RHB SQL-IMPLEMENTATION : INFORMIX ; INFORMIX ; ; OFF (ISAM) SERVER : ol_minits ; Name of server DATABASE : inf_ids2 ; Name of database USERID : informix ; Name of user PASSWORD : informix ; Password of user NULL-FIX : ON ; Fix null in char OFF(default)/ON NULL-TRACE : OFF ; Trace null fix OFF(default)/ON DEBUG : OFF ; SQL Debug-log OFF(default)/ON EXPLAIN : OFF ; SQL explain OFF(default)/ON WAIT-LOCK : ON ; SQL wait lock ON(default)/OFF ISOLATION : HIGH ; Isolation HIGH(default)/LOW/OFF .LOCK-SUPPORT : ON ; .LOCK ON(default)/OFF CHECKSUM-CHECK : OFF ; Debug OFF(default)/ON/ALWAYS SQL-IMPLEMENTATION:INFORMIX setting enables IDS-II database emulation through Informix IDS 2000. SERVER setting designate the name of the Informix IDS server instance. Default naming is ol_xxxxx. The name cannot exceed 9 characters. DATABASE setting designate the name of the Informix IDS database. It is recommended to use the default name = inf_ids2. USERID and PASSWORD setting designate which indentification to use when establishing sessions with Informix. Use the default Informix userid with appropriate password. NULL-FIX:ON setting may be used force NULL characters in CHAR type fields to SPACE. Note: NULL characters, i.e. low-values, are not allowed in CHAR type fields. NULL-TRACE:ON may be used to log information on NULL-FIX activity. One line entry with field name is logged to $g8rbldir\DBESQL.LOG. Statistics are always given (field-name/count), regardless if this setting. DEBUG:ON may be used to log a substantial amount of information about ESQL activity on the $g8rbldir\DBESQL.LOG file. EXPLAIN:ON may be used to set explain mode for all SELECT operations performed by RHB8. The explain information is logged within RDBMS environment, ref. Informix documentation for details. WAIT-LOCK:ON is default, i.e. application will not abort until a lock-wait time-out occur. The time-out period is controlled via settings in DEFAULT-SECTION as follows: BATCH-WAIT-TIME : 180 ; Wait time in seconds, default 180 TP-WAIT-TIME : 30 ; Wait time in seconds, default 30 ISOLATION:HIGH is default, however, following this is dynamically changes as follows: For TP: The setting, i.e. HIGH, is always used For Batch: If HIGH, it is changed to LOW, except when QUERY access mode is used, then it is changed to OFF The equivalence for Informix is as follows: HIGH = REPEATABLE READ LOW = COMMITTED READ OFF = DIRTY READ .LOCK-SUPPORT:ON is default, and a .LOCK service call will cause the current record to be 'locked for update'. Alternatively .LOCK service calls can be ignored (OFF). CHECKSUM-CHECK:OFF is default, however, following settings can be used to recover from some times of memory leaks: ON - cause schema and subschema tables to be checksummed and re- loaded if corrupted, after any DB related abort ALWAYS - cause schema and subschema tables to be checksummed and reloaded if corrupted, during every DML operation Note: ALWAYS gives extensive processor overhead and should be used with care. [SCHEMA-SECTION] ; Number Location Location Dbkey ; (1-99) Schema database allocation per table ; CURRENT DEFAULT (2100000 dbkeys) ; SCHEMA nnnnnnnnn ; AREA DIMS : 23 CURRENT CURRENT DEFAULT ; DIMS8 TELEX8 : 24 CURRENT CURRENT DEFAULT ; DIMS8 Schema configuration is different for RHB8, however, the schema number and location is the same as for G8WB/G8RB, likewise, the schema number should NEVER be changed. Location database may be used to control placement of the database for the schema. CURRENT (Default) will place the database within the default SBSPACE of the inf_ids2 database. SCHEMA will place the database within an SBSPACE with the same name as the schema. AREA will place the database within multiple SBSPACEs, where each SBSPACE is given the same name as an area within the schema. Note: A record can ONLY be placed in one SBSPACE, and the the first area, i.e. WITHIN clause, is always used. Area- selection is not affected by this. Note: For a production environment you should consider use of SCHEMA or AREA location, or a combination of these. DBkey allocation may be used to control the DBkey ranges within a schema. The default is 2100000, and each record within the schema is thus assigned a dbkey range of 2.1 million. Note: DBkeys are NOT reused, so the range must be sufficient to support STORE/DELETE over an extended period of time, otherwise the dbkey range will be exhausted eventually. Whenever a schema (a table) is dropped and re-created, the dbkey range is reset. Note: RHB8 can ONLY work with one RDBMS Server instance. As such, all schemas and databases are loaded into the same RDBMS Server instance. Additional RHB8 environments may be setup to support multiple environments, i.e. Test and Production. Database setup & load --------------------- For RHB8, all schemas and subschemas must be re-validated. The validation environment is recorded and verified at run-time. If validation and execution environment does not match, the application will be aborted. The SQL definition of a schema must be generated through GENSQL command or function within G8WB, alternatively generation is done automatically if schema is translated and validated. The SQL definition files are placed under $g8rbddir\schema as follows: nnMTABL.SQL - create all tables and primary index nnMINDX.SQL - create all indexes (Calc, Index key) nnMCONS.SQL - create set indexes and constrains nnDTABL.SQL - create all tables and primary index nnDINDX.SQL - create all indexes (Calc, Index key) nnDCONS.SQL - create set indexes and constrains where nn = schema number Creation of an empty database can be done with the DBACCESS utility, when executed from the ol instance command prompt, ex. dbaccess inf_ids2 \schema\23MTABL.SQL dbaccess inf_ids2 \schema\23MINDX.SQL dbaccess inf_ids2 \schema\23MCONS.SQL When Database location = SCHEMA, GENSQL will generate two additional command files (BAT) as follows: nnCSPACE.BAT - Create SBSPACE for schema nnDSPACE.BAT - Drop SBSPACE for schema When Database location = AREA, GENSQL will generate similar command files (BAT) as follows: nnCSPACE.BAT - Create SBSPACE for all areas within schema nnDSPACE.BAT - Drop SBSPACE for all areas within schema Note: You need to change information and space allocation for each DBSPACE, before you execute the command file. RHB8 utilize almost the same technique for GCOS database unload, as G8WB. First you need to generate unload and load programs for each schema. This is done with DBWFL command or Generate Unload function. The GCOS8 host unload program hhHDBU.CBL and the subschema nnSCHCS.SSD is placed under your current directory. The RHB8 load program is placed within $g8rbddir\schema and automatically compiled. Transfer the nnHDBU.CBL to GCOS8, and optionally the subschema (may already be present on the host). Next compile and execute the nnHDBU program to unload the whole or parts of the host database. Next transfer the unload file(s) to RHB8 environment (UFT/FTP ascii file). Before loading the database, you need to prepare the Informix database as follows: 1) Modify the nnCSPACE.BAT and execute this to create the DBSPACE(s) for the schema. This does not apply for Database location = CURRENT. 2) Set database in 'no-logging' mode using ONDBLOG utility, ex. ONDBLOG nolog inf_ids2 3) Create tables for the schema using DBACCESS utility, ex. DBACCESS inf_ids2 \schema\23MTABL.SQL 4) Load the database using DBLOAD utility, ex. DBLOAD dims dumpdims. _nolog Repeat this step for each unload file, if multiple files were used for GCOS8 unload. 5) Create indexes and constrains for the schema using DBACCESS utility, ex. DBACCESS inf_ids2 \<8rbddir>\schema\23MINDX.SQL DBACCESS inf_ids2 \<8rbddir>\schema\23MCONS.SQL 6) Set database in 'logging' mode using ONDBLOG utility, ex. ONDBLOG unbuf inf_ids2 The request does not become effective until a level-0 backup is performed for the database. 7) Do a complete (level-0) backup of the database using the ONBAR utility, ex. ONBAR -b -L 0 The DBLOAD utility will execute in two phases if the unload file contains both record and set information (default). In Phase 1, only records are processed and each record is inserted in the database. A serial number is assigned to each record, and GCOS8 db-key is mapped to the serial number via a file placed under $g8rbddir\schema. In Phase 2, only sets are processed and each set membership causes the corresponding record to be updated with the serial number (new dbkey) of the owner. If you need to re-run the DBLOAD utility, it is recommended to drop all tables or the tables involved, and re-create these, before running DBLOAD. This way serial number ranges are reset. Logging, Backup & Restore ------------------------- Logging ------- For on-line TP8 operation, the database must be protected with logging enabled. By default, logging files are backed up automa- tically (ALARMPROGRAM setting). Should a disaster occur, the database can be fully recovered to a consistently state near the time of disaster. For batch operation, the database may or may not be protected with logging enabled, depending on operation mode and the application. Batch concurrent with on-line: Logging MUST be enabled, and the application must either take frequent checkpoints, or use the 'auto' database mode. Warning: Should the batch program apply incorrect changes to the database, you are NOT able to restore the database without poten- tial loss of changes made through on-line applications. Batch stand-alone: Logging may be enabled, however, the application must either take frequent checkpoints, or use the 'auto' database mode, otherwise the LOCKS resource may be exhausted. Batch stand-alone/heavy: Logging may be disabled, however, be aware the database MUST be backed up (level-0) whenever the logging mode is changed. The application MUST use the 'nolog' database mode, otherwise it will be aborted. For batch, use 'exclusive' database mode, if you want to prevent others (batch or TP8) from accessing the database. For batch, use 'query' database mode, if the application is only reading from the database. When running concurrent with TP8, the batch application will neither reserve locks or respect locks on records. This mode is quite similar to QUERY allocation mode on GCOS8. Backup ------ Informix IDS Server provides following levels of backup: Level-0 - A full backup of the database Level-1 - An incremental backup of changed pages (since level-0) Level-2 - An incremental backup of changed pages (since level-1) Logical Logs - A backup of all changes since last backup A level-0 backup should be performed - after initial load of database - after changing logging mode - at frequent intervals, i.e. once a week, to limit the size of level-1/2 backup and logical logs A level-1/2 backup should be performed - after completion of on-line operation day - after completion of large batch operations Note: If level-2 is requested and no level-1 exist since last level-0 backup, the backup is treated as level-1. Backup operations are requested with the ONBAR utility, ex. ONBAR -b -L 0 ONBAR -b -L 2 Note: Logical logs are backed up automatically, either when filled or when a level-n backup is requested. Restore ------- Informix IDS Server perform automatic recovery should the instance or the server machine fail. For hardware failures, please refer to Informix documentation on how to restore and recover the database to a consistent clean-point, just before the failure occurred. The need for an operational restore may arrise, if an application has logical errors and incorrect updating of the database has occurred, or you need to re-run a batch application, which have partially committed database updates (checkpoint or auto) or was run with logging disabled. By default, a restore request will perform restore and recovery to the most recent consistent clean-point. To restore to a specific operational point, i.e. just before running a batch application, a restore request must be specified with a data/time stamp equivalent to the specific operational point. Note: To ensure proper documentation of operational point and associated date/time stamp, we recommend using BATLOG command to log a meaningful message in the consolidated batch.log (ref. Batch above). Ex. BATLOG Ready to run XXXX program - backup clean-point Restore operations are requested the ONBAR utility, ex. ONBAR -r ONBAR -r -t "yyyy-mm-dd hh:mm:ss" Backup - Wrapper ---------------- A Backup Wrapper utility (DBBCK) may be used to launch database backups and record information about associated time stamps. DBBCK backup-set-name [0|1|2|W] backup-set-name = a meaningful text to identify the backup 0 = Full backup (level-0) 1 = incremental backup (changes since level-0) 2 = incremental backup (changes since level-1) W = Complete backup (level-0) Default is 2 The backup information is recorded in $g8rbddir\BACKUP.CFG. Restore - Wrapper ----------------- A Restore Wrapper utility (DBRES) may be used to launch database restores without knowledge of actual time stamps. DBRES backup-set-name|L|Last-good-backup backup-set-name = the identification used during backup L = the last-good-backup complete The associated time stamp is used to launch a restore to the point right after the backup was completed Note: All restores are cold (Informix shutdown and restarted) and the database is left in Quecient mode after the restore completes. ORACLE RDBMS ============ Currently not documented. IBM DB2 RDBMS ============= Currently not documented. MICROSOFT SQL SERVER RDBMS ========================== Currently not documented. DIMS8 ===== DIMS8 - a Forms Management System, utilize additional run-time files as follows: LID Swap file PAGE Swap File For RHB8, these files are implemented as separate files for each user, identified by Lid index from TP8 Server. The files are placed under G8RBSDIR. HINTS & TIPS ============ Please refer to text above. KNOWN LIMITATIONS/ERRORS ======================== Please refer to text above. ========================================================================= GCOS-8 Re-hosting Workbench is a trademark of B & C Solution Sarl. All other trademarks and trade names belong to their respective companies. ========================================================================= Copyright (C) 1998-2000 B & C Solution Sarl. All Rights Reserved.