Page 1¶
TABLE OF CONTENTS¶
APPENDIX A¶
SIBAS ON NORD-10
| Section | Title | Page |
|---|---|---|
| A.1 | Introduction | A-2 |
| A.2 | Program Module | A-4 |
| A.2.1 | SIBAS-INITIATION | A-4 |
| A.2.2 | SIBAS-DATABASE-DEFINITION | A-6 |
| A.2.3 | SIBAS-SYSTEM | A-6 |
| A.2.4 | SIBAS-DML-SIMULATOR | A-11 |
| A.2.5 | SIBAS-INTERACTIVE | A-13 |
| A.2.6 | LOADING INSTRUCTIONS | A-13 |
| A.3 | Requirements for SIBAS on NORD-10 | A-14 |
| A.3.1 | SINTRAN III | A-14 |
| A.3.2 | MEMORY | A-14 |
| A.4 | Changes Necessary to "STANDARD SIBAS" Application Programs | A-15 |
| A.5 | Errors | A-18 |
| A.5.1 | APPLICATION PROGRAM | A-18 |
| A.5.2 | SIBAS INTERNAL ERRORS | A-18 |
| A.5.3 | INTERFACE ERRORS | A-19 |
| A.6 | Table of Routine Numbers | A-20 |
| A.7 | Examples | A-22 |
| A.7.1 | INITIAL LOADING OF SIBAS-SYSTEM | A-22 |
| A.7.2 | SIBAS-INITIATION AND BACKUP | A-22 |
| A.7.3 | SIBAS-INTERACTIVE GIVING STATISTICS AND CLOSING DOWN THE SYSTEM | A-23 |
| A.7.4 | INITIATION OF BEFORE IMAGE LOG ON LOGO:DATA AND CALL LOG ON LOGG:LOGG | A-24 |
| A.7.5 | REMOVING UNCOMPLETED SEQUENCES AND LISTING CHECKPOINTS | A-25 |
| A.7.6 | ROLL BACK USING BEFORE IMAGE LOG | A-26 |
| A.7.7 | REPROCESSING FROM START OF ROUTINE LOG | A-27 |
| A.7.8 | NORMAL SIBAS RUN | A-28 |
Page 2¶
I'm sorry, I can't get any text from this page.
Page 3¶
Appendix A¶
SIBAS on NORD-10¶
Machine and SINTRAN III dependent description of the SIBAS program package and its use.
Note that this description is not static and will change as SINTRAN III and the SIBAS implementation on NORD-10 develop. Deviations from this description will be given in the "NORD Software Library" Description.
Page 4¶
A.1 Introduction¶
SIBAS is now present in NORD Software Library as a program package consisting of the following modules:
| Module | SIB Number | Type |
|---|---|---|
| SIBAS-INITIATION | SIB 1927 | (binary) |
| SIBAS-SYSTEM | SIB 2120 | (symbolic) |
| - SIB-MAIN | SIB 2113 | (binary) |
| - SIB-REENT | SIB 2114 | (binary) |
| - SIB-SFG | SIB 2115 | (binary) |
| - SIB-OPEN | SIB 2116 | (binary) |
| - SIB-SET | SIB 2117 | (binary) |
| SIB-DML-C | SIB 2118 | (BRF) |
| SIB-DML-RT | SIB 2119 | (BRF) |
| SIB-DML-B | SIB 2121 | (BRF) |
| SIBINTER | SIB 1985 | |
| SIBAS-DATABASE-ADMINISTRATOR | SIB 1921 | (binary) |
By use of this package one can create a database and run SIBAS SYSTEM and application programs as separate processes communicating through internal devices as shown in Figure 1.
ND-60.057.03
Page 5¶
Diagram of Two SIBAS Systems¶
| Component | Description |
|---|---|
| RT appl. Programs | Real-time application programs |
| RT appl. segments | RT application segments, divided |
| Background applications | Run as background or real-time processes |
| Internal device pair 2 | Device connection |
| Database | Storage for data |
| CORE COMMON | Shared resources |
| SIB1 - MAIN | Main configuration |
| SIB2 (Data segment) | Data segregation |
| SIB-REENT segment | Reentrant segment |
| SIB-SET | Set operations |
| SIB-OPEN | Open operations |
| SIB-SFG | Functional group operations |
| RT1, RT2, RT3 | Real-time processing segments |
ND-60.057.03
Page 6¶
A.2 Program Modules¶
A.2.1 SIBAS-INITIATION¶
This module is used for database definition as described in the SIBAS Users Guide. Data definition "cards" are read from the given input file, and a description of the database is listed.
Definition of Files¶
On the NORD-10 a SIBAS database is stored on files defined under the NORD file system. The SIBAS system realm is always located on a file of the same name as the database, and this file must be of type DATA, and must lie on the default directory of the user running the initiation program. (The database owner.)
The remaining realms in a database can either be stored in the same file as the SIBAS system realm, or in other files, not necessarily on the users default directory. The rule is: If column 76 of an NREALM card is not 1, the realm will be stored on the same file as the previously defined realm and will automatically receive the same page size as this previous realm. If column 76 of an NREALM card is 1, the realm will be stored on an existing file of type DATA with the same name as the realm. In this case columns 77-80 may contain a unique abbreviation of a directory name.
Thus, a database containing N SIBAS realms may be stored on 1 to N directories (discpacks).
By defining dummy SIBAS realms the SIBAS system realm can easily be patched to store 1 SIBAS realm on more than one directory.
Note:
We recommend as few SINTRAN files as possible grouping SIBAS realms of same page size.
SIBAS Realm Page Size¶
On NORD, one can choose the page size of the SIBAS system realm to be 32, 64, 128 or 256 words.
For all user defined realms stored in their own files a page size may be given on the NREALM card. The page size (PS) read in from the card is treated as follows.
Page 7¶
Page Size¶
| Page Size Read | Page Size Used |
|---|---|
| PS = 0 | 256 |
| 0 < PS <= 64 | 64 |
| PS > 1024 | 1024 |
| 64 < PS < 1024 | rounded up to 128, 256 or 512 |
For user defined realms containing records, it is important to remember that it may be necessary to read two pages into core if the record one is interested in lies across a page boundary.
Transfer of 512 word pages will be highly optimized and is therefore recommended.
Use of Common¶
SIBAS uses a common buffer as its work area. In the NEW-SIBAS the length of this buffer is initiated by start of the SIBAS RT program. Some of this buffer is taken up by fixed tables, and the rest is available as a dynamic buffer pool, and is divided into the following:
a) SIBAS tables,
b) working buffers used while SIBAS is executing a call,
c) a software paging area into which pages are read from the database, or from which pages are written to the database, i.e., prolongation into core of the most frequently used parts of the database.
ND-60.057.03
Page 8¶
A.2.2 SIEAS-DATABASE-DEFINITION¶
This module simplifies the production of data definition cards by reading them from a terminal in interactive mode.
Output from this process is a card file that can later be edited by QED if necessary. Remember always to remove tabs for output by QED (M to (0)).
A.2.3 SIBAS-SYSTEM¶
This module consists of one batch file to load 5 segments used by one SIBAS RT system (one data segment in addition for each extra SIBAS system). Each system can run in the following modes:
-
Normal mode: SIBAS-SYSTEM executing DML statements for the application programs using the SIBAS internal device interface. The SIBAS interface functions basically as follows:
The user side collects all the input to the desired SIBAS call from the application program, carries out a certain amount of checking, and then sends it to SIBAS.
The SIBAS side of the interface collects the input, builds up the input to the desired call and calls the relevant routine. When the call is completed, the output (often only the status parameter IST) is collected, and sent back to the calling program.
The user side of the interface then collects the return data and gives it back to the application program which then continues executing.
Errors can arise during any of these parts of the process of executing a SIBAS call, and those not resulting in the normal negative IST values described in the manual are termed interface errors. The values of IST given for these errors are from -60 to -99.
Every SIBAS call that can lead to a change of the database is logged on a routine log-file, also the resulting answer. That means that it is possible to simulate a run using a back-up of the database and use the log file as input instead of application programs. By this reprocessing, SIBAS normally compares the "new" answers and the logged "old" answers.
ND-60. 057. 03
Page 9¶
Technical Documentation A-7¶
Note that SIBAS-SYSTEM uses core common for the interface buffer. That means that SIBAS system 1 uses the uppermost page in core common, and system 2 uses the next page, etc.
Note also that at system start you can give the name of the database owner (default RT). User RT must be "friend" and have Read and Write access to the owner's files. The owner of the call log file must be given as part of the file name (default RT).
Reset Log File¶
The content of the DML call log file is reset.
Recover and Start¶
The DML call log file is reprocessed from a given checkpoint or from start of log file (checkpoint id = 8 zeros).
Before reprocessing, SIBAS asks if you will suppress testing during the reprocessing of calls, and whether you want to reprocess the whole log file, or stop after reprocessing a number of calls. If the latter is chosen, then routine numbers, user etc. are printed out according to the following rules:
- No printout when more than 100 calls left.
- Printout of checkpoints and BSEQU/ESEQU when 11 to 99 calls left.
- Printout of every call when 10 or less left.
Listing Checkpoints and Skip or Reset - Uncompleted Critical Sequences¶
The call log is traced, printing out all found checkpoints. All uncompleted critical sequences (see routines BSEQU, ESEQU) are removed from the call log, skipped sequences (names, data and user identification) are printed. By using this run mode once more, those sequences are reset.
ND-60.057.03
Page 10¶
Logging in SIBAS-SYSTEM¶
SIBAS-SYSTEM (SIB1, SIB2 or SIB3) must be started by using the command "RT" before any application program executes a SIBAS call.
SIBAS-SYSTEM is able to make the following types of log:
i) Page Log¶
Before and/or after image page log can be defined using the
SIBAS-DATABASE-ADMINISTRATOR.
Checkpoints are then taken automatically when opening or closing the database physically, i.e., first user opening or last user closing.
ii) DML Call Log¶
Every call that can change the database can be logged if one gives a call log file name when starting SIBAS. The log file is blocked into 1/2K pages.
This log file should be allocated as a continuous file (default type = LOGG).
Note that all checkpoints and all return parameters from SIBAS are also logged. Compared to earlier versions the log volume is 2 to 3 times greater for the same number of database calls.
iii) Terminal Log¶
Every DML call can also be written out on this terminal in the format:
\<routine no.> \<user ID>
Both numbers are 2 digits decimal, that means user ID>99 will give a peculiar printout.
ND-60.057.03
Page 11¶
Interaction between page and call log¶
i) Running SIBAS-SYSTEM¶
Before starting SIBAS-SYSTEM in normal mode, the log can be reset. When SIBAS starts, it searches for the last logged call and continues logging from that point.
Remarks:¶
- When the call log is full, SIBAS-SYSTEM prints out "NO SUCH PAGE" from time to time; execution continues normally.
- When only one page image log file is defined and that log file is full, then SIBAS-SYSTEM is aborted. Recovery must consequently be done.
ii) Recovery after system or hardware failure¶
If SIBAS-SYSTEM is stopped leaving the database physically open, then the database is usually inconsistent.
Recovery including the most recently logged DMR calls can then be done using a combination of logs and a database security copy.
Every system stop without the printout "SIBAS STOPPED" on the database terminal is a
No image log defined:¶
i) Enter the last database security copy.
ii) Start SIBAS-SYSTEM.
iii) Use SIBAS-SYSTEM to read and execute the DMR calls on the log file. Checkpoint zero (8 zeroes) are used.
After image page log defined:¶
i) Enter the last database security copy.
ii) Use SIBAS-DATABASE-ADMINISTRATOR to RECOVER, using after image log up to the last checkpoint.
ND-60.057.03
Page 12¶
Checkpoint Identification¶
iii) Display log to get last checkpoint identification.
iv) Continue as if no image log were defined. That is using the page-recovered database as security copy and the routine log file from last checkpoint.
Before Image Page Log Defined¶
i) Use SIBAS-DATABASE-ADMINISTRATOR to roll back, using before image log, to the last close-database checkpoint. (Not a user checkpoint or a reserved space on page log file checkpoint.)
ii) Continue as if no image log were defined.
Removing Critical Sequences from Call Log¶
By using special user routine calls, sequences of DML calls could be marked on the call log.
Reprocessing of uncompleted sequences could be avoided by removing them prior to performing roll back/recover using page log and reprocessing. One should compare times of printed checkpoints and times for the omitted sequences to find the correct checkpoint to roll back/recover to.
ND-60.057.03
Page 13¶
A.2.4 SIBAS-DML-SIMULATOR¶
This module is to be loaded together with application programs to simulate the SIBAS data manipulation routines. This module and a similar one inside the SYSTEM program constitutes the SIBAS internal device interface.
The interface functions basically as follows:
- The user side (DML-SIMULATOR) collects input parameters from the user program, carries out a certain amount of checking and sends it through an internal device. The SIBAS side of the interface collects parameters through another internal device.
- The DML-SIMULATOR-CORE uses the most effective way of transferring information from RT applications using RT COMMON to SIBAS, that is RT COMMON.
- The DML-SIMULATOR-RT is used by RT programs not using RT COMMON.
- The DML-SIMULATOR-BACKGROUND is used by background programs.
We therefore access SIBAS via an interface instead of loading application programs and SIBAS together. Some of the reasons for doing this are:
-
MULTIUSER SIBAS
Up to 64 (at present) different application processes can share SIBAS. DML calls are executed one at a time for the different user programs.
-
LARGE APPLICATION PROGRAMS
Application program sizes greater than 60K words are possible, as the DML-SIMULATOR needs less than 2K.
-
DATABASE SECURITY
Erroneous user programs cannot destroy the database (writing out side array bounds for instance). Accordingly errors are separated into USER ERRORS, internal SIBAS ERRORS and INTERFACE ERRORS.
ND-60.057.03
Page 14¶
Better Maintenance¶
Having only one SIBAS-SYSTEM identical for all customers means:
- It is easier to find bugs, if necessary a patch can be sent to all customers;
- Each error is found only once.
Running Several Databases from the Same Program¶
SIBAS SYSTEM needs two internal devices. Serving several internal device pairs by the same number of SIBAS SYSTEM programs, allows one user program to run against several databases. The program can simply switch internal device pairs using the routine SETDV (see below). This feature is convenient when your database system structure needs one level higher than the realm level. Building a new database from an old can easily be done in the same program by reading the old and storing into the new database. (Different database owners.)
Cooperating RT Programs Working as One "SIBAS User"¶
Normally the RT DESCRIPTION address of the application process is used as user identification.
The identification can be defined in another way: An assembly routine "IDGET" can be made and loaded before the DML-SIMULATOR. "IDGET" should leave all registers unchanged except the A register that returns the user identification.
SIFLG should contain the SIBAS SYSTEM number (0, 1 or 2) + 1. SIFLG is used by SETDV and SIBOF.
Note:
The DML-SIMULATOR-CORE and RT refer to SIFLG as an external symbol. One should therefore define and set initial value of SIFLG by loading. If the DML-SIMULATOR-code is shared between several RT programs using the routines "SETDV" or "SIBOF" they should have their own SIFLG loaded on different segments in the same logical address.
ND-60.057.03
Page 15¶
Known disadvantages are:¶
-
COMMUNICATION AND SYSTEM OVERHEAD
When using 4-word-oriented internal devices there is about a 15 percent CPU overhead on each DML call. Other system overhead is less than 5 percent.
By using RT COMMON the total overhead is reduced to about 5 percent.
-
CHANGED SPECIFICATIONS ON SOME DML CALLS
Sometimes the internal device interface needs additional information about the length of array parameters (see below).
A.2.5 SIBAS-INTERACTIVE¶
This module is run as an application/program, executing DML calls in interactive mode. For explanation see the manual: "NORD Interactive Information Processing and Report Generating System".
A.2.6 LOADING INSTRUCTIONS¶
- SIBAS-DML-SIMULATORS are in BRF code. The other modules are loaded as described on the library description sheet.
- SIBAS-SYSTEM
After editing this batch input file to get good segment numbers, SIBAS-SYSTEM can be loaded using the resulting file.
ND-60.057.03
Page 16¶
A.3 Requirements for SIBAS on NORD-10¶
A.3.1 SINTRAN III¶
One must have SIBAS internal devices (at least 2) which can be reserved from background programs. They should have at least 64 words buffer size, i.e., SIBAS internal devices. 4 segments + one for each SIBAS RT program is necessary. Also 1K RT COMMON for each SIBAS RT program.
A.3.2 MEMORY¶
SIBAS-SYSTEM has a working set of 40-60K. To run SIBAS effectively without thrashing one must have sufficient physical memory.
Below are some loose rules for the memory requirements (only SIBAS users logged on):
| Memory | Requirements |
|---|---|
| 64K | One simple data base and 1-2 applications with OK throughput. |
| 96K | 2 applications with good throughput, or 3 applications with OK throughput, 2 SIBAS-SYSTEM programs (buffer size 10K) |
| 128K | More than 4 applications with good throughput, 2 SIBAS-SYSTEM programs (buffer size > 15K) |
If one requires good throughput for several applications with many identical routines, these should be real time programs sharing the code. Such configurations need knowledge of RT programs and the RT loader.
Also time critical applications should be RT programs using DML-SIMULATOR-CORE to achieve the most effective communication.
ND-60.057.03
Page 17¶
A.4 Changes Necessary to "STANDARD SIBAS" Application Programs¶
OPEN DATA BASE (SOPDB)¶
To avoid the logging of calls which do not change the database, the user identification parameter IBRID is used on opening to distinguish between Retrieval or Load/Update. (This parameter IBRID is only used by the interface, SIBAS gets another identification.
| IBRID | Description |
|---|---|
| IBRID = 0 | No logg of DML calls is done. No realms can then be readied for load/update. If that is tried, the interface gives status IST = -89. |
| (Retrieval) | |
| IBRID = 15473 | The application program is allowed to change the database. Every DML call is logged. |
| (Load/Update) |
Application programs seldom changing the database are recommended separated in sections for retrieval and for load/update (parenthesized by SOPDB-SCLDB).
The call log volume and the time for doing recovery can thus be limited.
EXTRA PARAMETER IN SFTCH, STORE, SMDFY, SFBEL¶
To transfer correct number of words in value buffers through the internal devices, these routines have an extra parameter (last parameter) called LENG.
LENG =
- length in words of the key value for SFTCH, SFBEL,
- length in words of data items' value buffer for STORE, SMDFY.
Too small value of the LENG parameter gives incorrect parameter transmission to SIBAS, sometimes error status -64 or -62.
Too high values of LENG give time-consuming transmission.
We therefore recommend that LENG be properly set before each such call.
ND-60.057.03
Page 18¶
EXTRA SUBROUTINES SETDV, UTBLK, SIBOF, RBLAN, ZTRB, SABOR, RESIB, RELSI, BSEQU, ESEQU, STOPS, GANTA¶
CALL SETDV (SIBSYSNO)¶
Changes the SIBAS SYSTEM now used by this application (internal device numbers).
Default value is 0. (SIFLG=SIBSYSNO+1)
CALL UTBLK (IST)¶
is implemented to ensure transaction consistency with respect to the log file. The current log buffer is written to the log file, that is, all previous calls are now logged. This call is automatically executed by BSEQU, ESEQU and STOPS, and also at every checkpoint and when SIBAS detects an internal SIBAS error.
CALL SIBOF¶
turns off calling the database. If SIBAS is "turned off", every call returns "IST" = 1, and no data is transmitted to SIBAS via the interface. SIBAS is turned on with SETDV.
CALL RBLAN (IND, VALUE, IST)¶
gets contents of SIBAS, common address IND.
CALL ZTRB (N, IND, VALUES, IST)¶
gets N words from SIBAS common address IND.
CALL SABOR (DBNAM, IST, IBRID)¶
closes database for IBRID.
RESIB/RELSI (IST)¶
Reserves/releases SIBAS SYSTEM given by SIFLG for exclusive use. That is the internal device pair is reserved.
RESIB puts -SIFLG into SIFLG. SETDV and SIBOF should therefore not be used between RESIB and RELSI.
STOPS (IST)¶
Stops the SIBAS SYSTEM RT program in a controlled way. Status IST=0 if somebody has left the database open.
GANTA (IFIL, key name, antfi, antindex, ist)¶
Counts no. of records in readied realm "IFIL" and index table "key name" in double words (antfi and antindex). Number in realm is only counted when antfi = 0.
ND-60.057.03
Page 19¶
Note¶
The routines SABOR, STOPS, GANTA are by now implemented as part of the "GO-TO-USER-SUBROUTINE" in SIBINTER.
BSEQU/ESEQU$(NAVN, IST)¶
Critical sequences in one application program could be parenthesized by these calls. The effect is that the calls are logged with their identifying "NAVN" and time. Also UTBLK is automatically performed.
If the system goes down in the middle of sequences, it is possible by reprocessing to undo the partly executed sequences. This can be successfully done provided these sequences have no critical interactions with other sequences or calls, i.e., reprocessing without the uncompleted sequences will result in a database where all application program sequences except the uncompleted, have been processed.
Note: Before using this excellent technique to avoid garbage collection after a breakdown, your whole application system should be carefully analyzed to avoid or get control over interacting sequences with respect to reprocessing.
ACCID/ACCFD/ACCDD (ID, NAME, INCR/RINCR/DINCR, NEW-value, IST)¶
Accumulates integer/floating or double word data element given by name in record given by ID. An increment is added to the data element and the new value is returned.
Note: The accumulation is executed as an uninterrupted sequence.
Execution of these routines is therefore often necessary or convenient in an application system where recovery strategy is based on editing of critical sequences.
ND-60. 057. 03
Page 20¶
A.5 Errors¶
A.5.1 APPLICATION PROGRAM¶
Every programmed stop of applications should close the database. Otherwise one can use SIBAS-INTERACTIVE to close.
"Escape" from a background application is dangerous. If this is done while communication to SIBAS is going on, it may be impossible to close the database physically. Subsequently, recovery must be done if attempts to close the database only give errors.
A.5.2 SIBAS INTERNAL ERRORS¶
SIBAS-76-SYSTEM performs a great amount of checking. When recognizing fatal errors, SIBAS produces a dump of all possibly relevant data on a list file.
The reason for the dump could be:
i) Not corresponding sizes of SINTRAN files with SIBAS files given by database definition (too small SINTRAN file, i.e., "NO SUCH PAGE").
ii) Inconsistent database, SIBAS-76-SYSTEM is earlier started on a "not physically closed" database.
iii) Error in SIBAS. The complete dump should be sent to ND immediately.
Recovery can be done. Every DML call is then reprocessed from the logg file. If recovery also results in an internal error, the new dump is also important for the ND supporter.
ND-60. 057. 03
Page 21¶
A.5.3 INTERFACE ERRORS¶
i) Fatal Errors¶
If any fatal errors occur, then an illegal instruction (WAIT) is executed by the interface. Wait nos. are found by looking at the preceding memory cell. That contains 151000 + wait no. (octal).
| Fatal errors in application part | Caused by | Wait no. |
|---|---|---|
| Release "to SIBAS internal device" did not work | SINTRAN | 2 |
| Release "from SIBAS internal device" did not work | SINTRAN | 3 |
ii) Error Status Number Returned to Application Program¶
| Errors detected | Caused by | Error no. |
|---|---|---|
| Interface buffer full (>512) | Appl. program | -62 |
| Negative no. of el. in array | Appl. program | -64 |
| Wrong routine no. | -83 | |
| Database not open for LOAD/UPDATE by appl. program | Appl. program | -89 |
ND-60.057.03
Page 22¶
A.6 Table of Routine Numbers¶
The internal device interface is using one set of routine numbers. SIBAS is using another as seen in SIBAS Users Guide. The former is logged by the terminal logg. The latter is returned by calls to SDBEC.
| SIBAS DML Routine | Logged No. | SIBAS Routine no. |
|---|---|---|
| SFTCH | 1 | 1 |
| SRFSM | 2 | 13 |
| SRNSM | 3 | 11 |
| SRLSM | 4 | 14 |
| SRPSM | 5 | 12 |
| SRSOW | 6 | 15 |
| SGET | 7 | 20 |
| SMDFY | 8 | 32 |
| STORE | 9 | 31 |
| SRASE | 10 | 33 |
| SREMB | 11 | 60 |
| SLOCK | 12 | 62 |
| SFORG | 13 | 61 |
| SUNLK | 14 | 63 |
| SINSR | 15 | 45 |
| SCONN | 16 | 41 |
| SREMB | 17 | 46 |
| SDCON | 18 | 42 |
| SRRLM | 19 | 52 |
| SOPDB | 20 | 50 |
| SFRLM | 21 | 53 |
| SCLDB | 22 | 51 |
| SFEBL | 23 | 2 |
| SRFIR | 24 | 3 |
| SRNIS | 25 | 16 |
| SCONB | 26 | 44 |
| SCONA | 27 | 43 |
| SCHPW | 28 | 54 |
Page 23¶
A-21¶
| SIBAS DML Routine | Logged No. | SIBAS Routine no. |
|---|---|---|
| SDBEC | 29 | |
| SEREL | 30 | 34 |
| SCHPO | 32 | |
| SINIT | 33 | |
| STERM | 34 | |
| SLOG | 35 | |
| RBLAN | 36 | |
| ZTRA | 38 | |
| SABOR | 39 | |
| QTYP | 40 | |
| STOPS | 41 | |
| QPAG | 42 | |
| GANTA | 43 | |
| BSEQU | 44 | |
| ESEQU | 45 | |
| ACCID | 46 | 20/32 |
| ACCFD | 47 | " |
| ACCDD | 48 | " |
ND-60.057.03
Page 24¶
A.7 Examples¶
A.7.1 INITIAL LOADING OF SIBAS-SYSTEM¶
See library description sheet and the comments in the SIBAS-SYSTEM batch input file.
A.7.2 SIBAS-INITIATION AND BACKUP¶
PASSWORD:
OK
@SIBAS-76-INIT
DO YOU WANT ADVICE ? IF YES TYPE "Y" RETURN
IF NOT, TYPE" ANY OTHER CHARACTER" RETURN: Y
SIB-1782B 02/12/75
A FILE OF TYPE DATA WITH THE SAME NAME AS THE SIBAS SYSTEM REALM MUST EXIST. REMAINING REALMS ARE STORED ON THIS FILE OR ON SEPARATE FILES OF TYPE DATA. THE RULE IS:
IF COLUMN 76 OF AN NREALM CARD IS NOT 1 THE REALM IS STORED ON THE SAME FILE AS THE PREVIOUSLY DEFINED REALM AND WILL HAVE THE SAME PAGE SIZE AS THIS REALM.
IF COLUMN 76 OF AN NREALM CARD IS 1 THE REALM WILL BE STORED ON AN EXISTING FILE OF TYPE DATA OF THE SAME NAME. COLUMNS 77-80 MAY CONTAIN AN ABBREVIATED DIRECTORY NAME. A DATA BASE CONTAINING N REALMS MAY THUS BE STORED ON FROM 1 TO N FILES.
ALLOWED PAGE SIZES ARE:
| SIBAS SYSTEM REALM | 32, 64, 128, 256 WORDS |
|---|---|
| USER REALMS | 64, 128, 256, 512, 1024 WORDS (DEFAULT 256 WORDS) |
BOTH INPUT FILE AND LIST FILE MUST BE EXTERNAL DEVICES, OR FILES OF TYPE SYMB.
CHOOSE PAGE SIZE FOR SIBAS SYSTEM REALM ,1,2,3,4 FOR 32,64,128,256: 2
INPUT FILE: TESK
LIST FILE: L-P
001073 STOP 0
@MODE BACKUP=FBASE:MODE, TELE
- @COPY-FILE XFUNCBASE:DATA, FUNCBASE:DATA
- @COPY-FILE XSYSTEM01:DATA, SYSTEM01:DATA
- @COPY-FILE XSYSTEM02:DATA, SYSTEM02:DATA
- @COPY-FILE XSYSTEM03:DATA, SYSTEM03:DATA
- @COPY-FILE XUHASH:DATA, UHASH:DATA
- @COPY-FILE XAHASH:DATA, AHASH:DATA
- @COPY-FILE XIHASH:DATA, IHASH:DATA
- @COPY-FILE XSERIAL:DATA, SERIAL:DATA
- @COPY-FILE XPACKFI:DATA, PACKFI:DATA
- @COPY-FILE XACLOC:DATA, ACLOC:DATA
ND-60,057.03
Page 25¶
A.7.3 SIBAS-INTERACTIVE GIVING STATISTICS AND CLOSING DOWN THE SYSTEM¶
* * * * * * * * * * * * * * * * * * * * * * * *
* NORD INTERACTIVE *
* INFORMATION *
* PROCESSING *
* AND *
* REPORT GENERATING *
* SYSTEM *
* VERSION TEST-A 770204 *
* * * * * * * * * * * * * * * * * * * * * * * *
DATA-BASE-NAME: FUNCBASE
ACCESS-REQUIRED(0-1):
PASSWORD:
GO-TO-USER
This module are giving database statistics and perform forced closing of database for other users. If database are physically closed then the SIBAS can also be stopped in a controlled way.
Statistics are giving number of records in realm and number of entries in index tables.
At last free space and number of I/O accesses are given.
Realm-Name (or CR): SERIAL¶
Index-Name (or CR): OWNEL
No of records in Realm and Index = 301 300
Index-Name (or CR):
Realm-Name (or CR):
Database FUNCBASE opened by 14590
Forced terminal no to close or 0 (177777 if all): 177777
| REALM NAME | IO-ACCESSES | FREE PAGES/OVFL BUCKETS |
|---|---|---|
| FUNCBASE | 537 | 716 |
| SYSTEM01 | 298 | 6 |
| SYSTEM02 | 225 | 3 |
| SYSTEM03 | 635 | 36 |
| SERIAL | 290 | 6 |
| UHASH | 214 | 1 |
| AHASH | 188 | 39 |
| IHASH | 221 | 3 |
| PACKFILE | 64 | 7 |
| ACSLOCK | 45 | 14 |
| DBAREALM | 158 | 0 |
If you want to stop SIBAS, type "Y": Y
SIBAS STOPPED
ND-60.057.03
Page 26¶
A.7.4 Initiation of Before Image Log on LOGG:DATA and Call Log on LOGG:LOGG¶
@(SIBAS)DBA-MOD
- START FUNCBASE.
- DEFINE DBA-REALM DBAREALM 20.
- DEFINE LOG-FILE LOGG DISC 10*^200000 10000 S-S S12.
- DEF LOG-TYPE DATABASE BEFOR LOGG.
- DISPLAY LOG.
LOG DEFINITIONS ON DATABASE FUNCBASE MAXBUFFER = 1
Log-File LOGG¶
| Parameter | Value |
|---|---|
| MEDIUM | 2 (1=TAPE, 2=DISC, 3=DRUM); STATUS 0 |
| FILE-SIZE IN WORDS | 200000 |
| USED SIZE IN WORDS | 0 |
| RESERVED-LENGTH | 10000 |
| SECTOR-SIZE IN WORDS | 512 |
| CURRENT SECTOR | 0 |
| NEXT WORD IN SECTOR | 0 |
| LOG-TYPES DEFINED | - |
- BEFORE-LOOK
- LAST USED CHECKPOINT-ID : 0 0 0 0 0 0
STOP.
010147 STOP 0
@RT SIB1
@RT SIB1
@LOG
08.54.38 19 JULY 1977
--EXIT--
SIBAS System Start¶
MODUS =
- 0 - NORMAL START
- -1 - RESET LOG-FILE
- -2 - RECOVER AND START
- -3 - LIST CHECKPOINTS AND SKIP/RESET UNCOMPLETED SEQUENCES
MODUS: -1
NO OF ROUTINE-LOG PAGES OR 0: 100
GIVE ROUTINE-LOG FILE: LOGG
READY ? Y
SIBAS Running¶
SIBAS Stopped¶
ND-CC.057.03
Page 27¶
A.7.5 Removing Uncompleted Sequences and Listing Checkpoints¶
SIBAS System Start¶
MODUS =
0 - NORMAL START
-1 - RESET LOG-FILE
-2 - RECOVER AND START
-3 - LIST CHECKPOINTS AND SKIP/RESET UNCOMPLETED SEQUENCES
MODUS: -3
SIBAS SYSTEM (0-2): 0
GIVE ROUTINE-LOG FILE: LOG
READY ? Y
SIBAS Running¶
| CHECKPOINT TIME,NR= | 19 | 34 | 59 | 8 | 19 | 7 | 1977 | 0 |
|---|---|---|---|---|---|---|---|---|
| CHECKPOINT TIME,NR= | 23 | 35 | 59 | 8 | 19 | 7 | 1977 | 0 |
| CHECKPOINT TIME,NR= | 30 | 39 | 59 | 8 | 19 | 7 | 1977 | 0 |
| CHECKPOINT TIME,NR= | 34 | 43 | 59 | 8 | 19 | 7 | 1977 | 0 |
| CHECKPOINT TIME,NR= | 40 | 47 | 59 | 8 | 19 | 7 | 1977 | 0 |
SEQUENCE: USER=14694 ID=5EKVENS3 TIME: 14 6 0 9 19 7 1977
ND-60.057.03
Page 28¶
A.7.6 Roll Back Using Before Image Log¶
- 09.17.39 19 July 1977
- NOED 10/S - Version 77.06.07
- Enter RT
- Password:
- OK
- @@(SIBAS)DBA
-
START FUNCBASE.
-
ROLL CHAC**ECK
(BASIC-TNIT)
; 40
(SECOND)
; 47
(MINUTE)
; 59
(HOUR)
; 8
(DAY)
; 19
(MONTH)
; 7
(YEAR)
; 1977
(SEQUENCE-NUMBER)
; 0
(LOG-FILE)
; LOGG
ADJUST - DISPLAY LOG.
** LOG DEFINITIONS ON DATABASE FUNCBASE MAXBUFFER = 4210 **
Log-File LOGG¶
| Medium | 2 (1=Tape, 2=Disc, 3=Drum); Status 0 |
|---|---|
| File-Size in Words | 200000 |
| Used Size in Words | 352 |
| Reserved-Length | 10000 |
| Sector-Size in Words | 512 |
| Current Sector | 0 |
| Next Word in Sector | 440 |
Log-Types Defined:¶
- BEFORE-LOOK
- Last Used Checkpoint-ID : 40 47 59 8 19 7 1977 0
- STOP.
010147 STOP 0
0
ND-60.057.03
Page 29¶
A.7.7 REPROCESSING FROM START OF ROUTINE LOG¶
(Checkpoint zero)
Note: When less than 100 of wanted no. of calls are left, then checkpoints and sequences are listed; when less than 10, then all calls are listed.
%** *S*T SIBI
%%* 9LOG
11.00.52 22 AUGUST 1977
--EXIT--
SIBAS SYSTEM START¶
MODUS =
- 1 = NORMAL START WITH OLD PARAMETERS
- 0 = NORMAL START
- -1 = RESET LOG-FILE
- -2 = RECOVER AND CONTINUE
- -3 = LIST CHECKPOINTS AND SKIP/RESET UNCOMPLETED SEQUENCES
MODUS: =2
SIBAS SYSTEM (0-2): 0
GIVE ROUTINE-LOG FILE: LOG
GIVE CHECKPOINT TO START OR 8 "0."): ; ; ; ; ; ; ;
TERMINAL LOG: 4
DATABASE OWNER: 4
SIBAS WORK AREA (10<32 K): 32*
"READY > v"
| CHECKPOINT TIME | 47 | 47 | 59 | 10 | 22 | 8 | 1977 | NR | 0 |
|---|---|---|---|---|---|---|---|---|---|
| IF STRESS TEST ON PROCESSING OF CALLS TYPE "-1": 0 | |||||||||
| PROCESS WHOLE LOGFILE (0), STOP(-1) ELSE NO OF CALLS: 10 |
- USER 034376 NEXT ROUTINE NO 20
- USER 034376 NEXT ROUTINE NO 22
| CHECKPOINT TIME | 17 | 48 | 59 | 10 | 22 | 8 | 1977 | NR | 0 |
|---|---|---|---|---|---|---|---|---|---|
| CHECKPOINT TIME | 28 | 54 | 59 | 10 | 22 | 8 | 1977 | NR | 0 |
- USER 034376 NEXT ROUTINE NO 20
- USER 034376 NEXT ROUTINE NO 22
| CHECKPOINT TIME | 40 | 54 | 59 | 10 | 22 | 8 | 1977 | NR | 0 |
|---|---|---|---|---|---|---|---|---|---|
| CHECKPOINT TIME | 14 | 13 | 0 | 11 | 22 | 8 | 1977 | NR | 0 |
|---|---|---|---|---|---|---|---|---|---|
- USER 034376 NEXT ROUTINE NO 20
- USER 034376 NEXT ROUTINE NO 22
| IF STRESS TEST ON REPROCESSING OF CALLS TYPE "-1": 0 |
|---|
| PROCESS WHOLE LOGFILE (0), STOP(-1) ELSE NO OF CALLS: 100 |
| CHECKPOINT TIME | 27 | 13 | 0 | 11 | 22 | 8 | 1977 | NR | 0 |
|---|---|---|---|---|---|---|---|---|---|
| CHECKPOINT TIME | 26 | 17 | 0 | 11 | 22 | 8 | 1977 | NR | 0 |
| CHECKPOINT TIME | 38 | 17 | 0 | 11 | 22 | 8 | 1977 | NR | 0 |
| CHECKPOINT TIME | 44 | 24 | 0 | 11 | 22 | 8 | 1977 | NR | 0 |
"REPROCESSING FINISHED, NORMAL MODUS SET"
CURDENT 1/2K ROUTINE-LOGG BLOCK 0, WORD 000366
SIBAS RUNNING¶
ND-6C.57.C
Page 30¶
A.7.8 NORMAL SIBAS RUN¶
Database files owned by user SIBAS.
Note: Default user name for routine log file is RT.
S I B A S S Y S T E M S T A R T¶
MODES =
| Mode | Description |
|---|---|
| 0 | NORMAL START |
| -1 | RESET LOG-FILE |
| -2 | RECOVER AND START |
| -3 | LIST CHECKPOINTS AND SKIP/RESET UNCOMPLETED SEQUENCES |
MODUS:
SIBAS SYSTEM (0-2): 0
NO OF ROUTINE-LOG PAGES OR 0: 1
GIVE ROUTINE-LOG FILE: (RT)LOGG
TERMINAL LOG?
DATABASE OWNER: SIBAS
SIBAS WORK AREA (10<32 K): 32
READY?
S I B A S R U N N I N G¶
| 20M4 | 19M4 | 24M4 | 19M4 | 43M4 | 36M4 | 36M4 | 36M4 | 36M4 | 38M4 |
|---|---|---|---|---|---|---|---|---|---|
| 36M4 | 39M4 | 36M4 | 36M4 | 36M4 | 36M4 | 38M4 | 38M4 | 38M4 | 38M4 |
| 38M4 | 38M4 | 38M4 | 38M4 | 38M4 | 38M4 | 38M4 | 38M4 | 38M4 | 38M4 |
| 38M4 | 38M4 | 38M4 | 38M4 | 36M4 | 42M4 |
S I B A S S T O P P E D¶
ND-60.057.03