Consultor Eletrônico



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