For Progress 9.1D and later, the method for using the secondary login broker for SQL connections has changed.
Databases that have both Progress ABL and SQL clients simultaneously connected should use a secondary login broker to avoid the following limitations caused by the use of a single login broker:
- The need to establish the maximum number of remote ABL and SQL connections.
- The need to allocate a specific pool of remote servers for ABL ( _mprosrv ) and SQL connections ( _sqlsrv2 )
- The need to specify a different range of TCP/IP ports for ABL and SQL remote servers
To start configuring a Secondary login broker (-m3):
- Define the total number of remote servers for the database specified by the -Mn parameter using the formula:
The extra server is added because each additional login broker (-m3) will use an entry on the server list, so for each broker started with the -m3 parameter add 1.
- Define the total number of processes that will connect to the database using the formula:
PROMON sessions, APWs, BIWs, AIWs, PROWDOG, background writers, batch jobs, self-service and remote user connections.
- Optionally:
Specifying «SQL» indicates that the login broker will only support SQL servers.
Specifying «Both» indicates that the login broker supports both ABL and SQL servers.
When the database is shutdown, all login brokers will be terminated as part of the shutdown process.
To configure database startup parameters use Progress/OpenEdge Explorer tool if databases are managed by the AdminServer or manually add each parameter to the the database startup scripts.
To start the brokers using command line:
- In this example, the first broker will be the primary login broker for the ABL clients.
- -S <portnumber/name> (login broker listening port for ABL clients to connect client/server to the database),
- -Mn (Total number or remote servers and secondary login brokers)
- -Mpb (Maximum remote servers per protocol, in this case the number of ABL remote servers for ABL remote clients to communicate with).
- -Ma (to limit the number of the ABL remote users per remote server -Mpb)
- -minport (The minimum usable port number)
- -maxport (The maximum usable port number)
- -Mi (to specify how many ABL connections must be concurrently connected to an existing remote server before the login broker spawns a new remote server)
- -ServerType 4GL (to ensure only ABL connections take up the -Mpb remote server slots)
- After starting the first broker, start a second broker for the SQL clients using another PROSERVE command specifying:
- -m3 (parameter to the command line to instruct that this is an additional login broker)
- -S <portnumber/name> (login broker listening port for SQL clients to connect to the database),
- –Mpb (Maximum remote server per protocol, in this case the number of SQL remote servers for SQL remote clients to communicate with).
- -Ma (to limit the number of the SQL remote users per remote server -Mpb)
- -minport (The minimum usable port number)
- -maxport (The maximum usable port number)
- -Mi (to specify how many SQL connections must be concurrently connected to an existing remote server before the login broker spawns a new remote server)
- -ServerType SQL (to ensure only SQL connections take up the -Mpb remote server slots)
The following is an example of a database configured for 70 concurrent user connections (40 4GL, 25 SQL and 5 ‘other’ defined above).
- The first login broker will attend ABL connections on port 9000 by spawning remote ABL (_mprosrv) servers to service these on the -minport -maxport range and
- The second login broker will attend the SQL connections on port 8000 by spawning remote SQL servers (_sqlsrv2) to service these on the -minport -maxport range .
proserve <dbname> -m3 -Mpb 5 -Ma 5 -Mi 5 -S 8000 -minport 8001 -maxport 8005 -ServerType SQL
To configure the brokers to be started using OpenEdge Management or OpenEdge Explorer see article 000020228, How to set the values for the startup parameters -Ma, -Mn and -n