CHAPTER 7: Hints and Suggestions


  1. Even if a server is not running, you should use the logical database name (set MSDBSERVERNAME=LOCAL in the Global Data Dictionary file) to free your application from the actual location of the database. So instead of changing the applications each time the database is moved, all you have to do is modify the Global Data Dictionary file.

  2. If the server does not seem to respond to a particular entry in the Server Configuration File, for example the MSSERVERREJECTHOST entry, you should use the empsvutl utility with the -chk option to check the Server Configuration File. It is very possible that the entry is misspelled or the syntax is incorrect.

  3. One quick way to find the Data Format Code for a particular machine is to create a temporary database on that machine and look up the Empress variable MSDBDFC in the tabzero file of the temporary database.

  4. Avoid bringing down the server process by the UNIX kill command. Always use the empsvadm command with the svshut option to bring down the server. If the server does not respond to empsvadm with the svinfo option, then either the server has not been started or the server has died. If the server has died then you will have to bring the server down by the UNIX kill command.

  5. To create a secure Empress database on a network, the Server Configuration File should always contain the server security entries. This prevents users from impersonating proper users by creating login IDs on their own machines which duplicate valid IDs on the other machines.

  6. The variable MSNFSSHARE in the tabzero file must be set to nothing when accessing the database via a server.

  7. If your system supports using shared memory then you should use the Empress shared memory feature in conjunction with the database server.

  8. If all the users access the database via the Empress server then all the database read and write operations will be controlled by the server rather than by the user's ID. Therefore, only the server administrator needs to have the operating system permissions on the database directory and all database files. If the server administrator and the database administrator have the same user ID, then the database directory permission can be set to read, write and execute for the owner only.

  9. The Server Configuration File is read every time the server is started. As a result, the server must be shut down and started again after this file is modified.

  10. In the case of multiple networks configuration, there may be more than one route through which the client and the server can communicate. That is, the client and the server can communicate via network A or via network B. It is in the client's best interest to find out the best route to communicate to the server. To search for this optimal route, all network names of the server must be included in the Server Configuration File and a separate server must be started for each network name. The client can then choose the best network route by simple performance comparison. An example will clarify the point.

    A machine "copper" is connected to two networks and it is known as "copper" in one network and "copper1" in another network. The Server Configuration File would contain:

    MSSERVERNAME=server1
       MSSERVERHOSTNAME=copper
       MSSERVERNPROCS=1
       MSSERVERADMINISTRATOR=dba
       MSSERVERNETTYPE=INET_SOCKET
          MSINETPORT=13018
       MSSERVERNETEND
    MSSERVEREND
    
    MSSERVERNAME=server2
       MSSERVERHOSTNAME=copper1
       MSSERVERNPROCS=1
       MSSERVERADMINISTRATOR=dba
       MSSERVERNETTYPE=INET_SOCKET
          MSINETPORT=13019
       MSSERVERNETEND
    MSSERVEREND

    The Global Data Dictionary would contain:

    MSDBLOGICALNAME=ldb1
       MSDBLOCATION=/usr/empress/db
       MSDBSERVERNAME=server1
    MSDBLOGICALEND
    
    MSDBLOGICALNAME=ldb2
       MSDBLOCATION=/usr/empress/db
       MSDBSERVERNAME=server2
    MSDBLOGICALEND

    The client can then compare the performance between the two networks by comparing the performance between the Empress servers "server1" and "server2".

  11. A quick way of telling if a server is running is to issue the following command:

    empsvadm server_name svinfo

    If the server is running, there should be a fairly quick response.

  12. If a server will be accessing multiple databases which reside in different disk drives, then a possible performance improvement may be achieved by setting MSSERVERNPROCS to the number of disk drives that the server will access.