Kbase 16028: What does Progress do on Database Multiuser Startup?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/10/1998 |
|
What does Progress do on Database Multiuser Startup?
What does Progress do on Database Multiuser Startup?
PURPOSE:
---------------------------------------------------------
To explain all the processes a Progress Broker/Server go
through on startup of Progress Database in Multiuser Mode.
WHAT HAPPENS:
---------------------------------------------------------
There are two (2) major components to a Multiuser
Database, the Broker and Servers.
BROKER:
---------------------------------------------------------
The BROKER is started with -> proserve dbname
The BROKER then handles these functions at startup.
1) creates a dbname.lk file
NOTE: VMS systems uses O/S file locking, there is no .lk file.
2) creates Shared Memory and Semaphore Sets
(amount of memory determined by -B)
3) opens all database files -> .ai, .db, .bi, .lg
4) performs database crash recovery
The Broker then continues to performs these functions:
in Shared Memory
1) performs watchdog every 30 seconds (see What
the Watchdog does - kbase for more info.)
2) performs disconnects on behalf of proshut
in Networking
1) creates a networking socket
2) binds a specified service (port) to the socket
3) listens for socket connection requests
-> Once a connect request is made
- finds a free port for client/server connection
assigns client to server
- creates new servers for clients as needed
- informs both client and server which port to
use to communicate
- at this point the broker closes the connection
with the client
SERVER:
---------------------------------------------------------
There are two (2) types of servers -> Automatic and Manual
Automatic - servers are spawned as needed by the BROKER
- servers start by default or by using -m1
parameter
- servers become their own process, freeing up the
BROKER to do its job (daemon)
- servers open a socket and bind the port address
assigned by the BROKER
Manual - started manual with _mprosrv dbname -m2
- servers become their own process, freeing up the
BROKER to do its job (daemon)
- server opens a socket and binds the port address
specified on the command line (-S)
- current socket is used by first client
- remaining clients get the port from the BROKER
rve 8/20/96
Progress Software Technical Support Note # 16028