THE DATABASE MANAGER
 
Previous Chapter: Parameters-Database Functional Aspects
Next Chapter: User Interface 

The database manager is the hub point of Ovrimos, a user-friendly tool, allowing users to manage existing databases (create, delete, start, stop). The database manager may be used  through any Web browser.
More often the database manager is used to start and stop Ovrimos for each database.

Parameters

Some Scheme files, as well as some HTML pages, are required for the functioning of the Database Manager. These files must be placed in the HTTPSHAREDDIR (see also Parameters)

The parameters for the functioning of the database manager are:

DBMANHTTPPORT:

DBMANHTTPTHREADS: DBMANPASSWD: One more parameter:

HTTPSHAREDDIR:

Starting the database manager

Windows NT
After installation, the Ovrimos Folder contains an icon, Install DBManager, which installs and starts the database manager as a service. This service will remain running as long as the computer is on and it will be started again automatically every time the user's computer is started. (To remove the database manager as a service, use the Remove DBManager icon from Ovrimos Folder).
Once the database manager is started, the user may connect to it through any browser.

Unix
The database manager is an executable program, called dbman. The user must type dbman (a path name may also be required) and a parameter, which is the initialization file (global parameters file). If the parameter is not used, the dbman executable assumes it is the file dbman.ini in the current directory. Otherwise, the parameter must be the full path name of the initialization file. In this case, the global parameter file may have any name.
Once the executable is run, the database manager is started. The user may now connect to the database manager through any browser.
 

Connecting to the database manager

The HTTP port of the database manager has a known value. By default the database manager HTTP port is 9000, but may be changed by the user (key DBMANHTTPPORT in Registry for Win 32 or in file dbman.ini in Unix). The user may start any browser and type the database host and port (9000) in the URL address.
In Win 32, the folder Ovrimos contains a start icon which connects the user to the database manager.
Unix users may run start.htm through any browser.
 

Disconnecting from the database manager

To disconnect from the database manager, the user only has to close the browser. The database manager remains running until explicitly terminated or until the computer is closed.
 

Logging in

For protection of the databases, a database manager authentication is required. A dialog box appears as soon as the database manager responds to the connect address. A user id and a password are required for user authentication as DB Manager.

Userid: The userid is dbman.

Password: The initial password is pass. The password may be modified at any time. See, Changing the password.

Caption dbman-1 shows an example of a database manager home screen.

The table of databases in the main part of the screen displays all existing database information. The Status switch shows if the database server for each database is running or not. When the status is ON (green light), the name of the database in the Database Name column is highlighted. The user may click on the name of the database to connect to it. See also Status in the same section.

Administration actions, such as Delete or Edit cannot be done on a running database.

 
Caption dbman-1.  Database manager home screen

In the caption, database neo is ON. It is thus possible to connect to it, but the user cannot Delete or Edit its properties.

Description of the Database Manager home page

The top line of the database manager displays information about the status of the version used. It may be Unregistered Version, if the product is used without a serial number or Registered Vesion, if a serial number is available. In the first case, only one connection per database at a time is possible. In the second, five connections per database at a time are possible. In both cases the database lifetime is two months. Finally, there is the licensed version, in which case the status is Licensed for N connections. The number of permitted connections is defined by the user's license. See also Editing Serial number and License.

Fields in the Database Manager Table

There is an ordinal number for each database. (Order, however, is not significant)

Database Name
The name of the database, e.g. testbase. When the database name is highlighted, it means that the base is running and the user may connect to it.

SQL Port
The database SQL Port, as defined during creation, appears here. The value of SQLPORT is not editable at creation time. It is assigned automatically by the database manager. It is unique for each database.
Note! Users may wish to note this number, as it is often necessary for them to know it if connecting from another program (API, Java applets etc.) or from sqlapp4 application.

Status
A switch image, indicating whether the server for the database is up and running or not.
When the database is ready for connection the switch is set to ON, otherwise it is set to OFF. A database may be started or stopped by clicking on the Status switch. A few seconds may be required before starting is verified, by the turning of the switch to ON and the appearance of the Connect button in the Connection column.
Depending on previous connections to the database, an administrator authentication may be required at some point if the user attempts to stop a database.

Unix users: Troubleshooting
Database semaphores and shared memory segments (as mentioned in Parameters) must be unique. If any semaphore or shared memory segment, reserved for use by a database, is already used, then the database cannot be started. One possible source of trouble is the case of having one of these resources locked after an abnormal termination. In this case, the resource remains in use and the database cannot be started again.
To release the semaphore or shared memory segment, thus allowing the database to be started again, users may type the ipcs command to see the resource usage. The hexadecimal key numbers correspond to resources usage. If any of these numbers is the same with the database SEMKEY (for semaphores) or SHMEMKEY (for shared memory), then this resource must be removed by the ipcrm command.
Note! The SEMKEY and SHMEMKEY are in file <database>.ini in decimal (not hexadecimal) form.

Admin action
The administrator may delete a database or edit its properties, when this database is stopped. Thus, these boxes are empty for running databases or contain the buttons Delete and Edit for databases that are stopped.

Log File
By pressing on the Log File button, the database log file appears on screen. There are three kinds of messages: Info, Warning, and Error.

Database management options

Create new database
This option is used to create a new database.

Change password
This option is used to allow the changing of the database password.

Edit serial number and license
This option is used to allow database managers to edit their serial number and license.

Help
It leads directly to the database manager help chapter of the on-line manual.

Creation of a new database
The Create New Database link causes a form to appear. Some values are proposed by the database manager. The user may modify these values.

 

The caption above shows a filled form, where the database is called planets and the root directory is defined as c:\planets.

New Database Name
The name of the new database will be typed in by the user. Each database name must be unique. There is no limit on the size of the name. Blanks and other special characters, such as &, %, etc., that may conflict with URLs, must be avoided (although permitted in the form).

Directory
The new database home directory. It is mandatory to fill in the database directory path. Users must type an existing path before adding the new directory, since only the last part (the final target directory) will be created by the database manager.
As soon as the database directory is typed, the database manager uses the path as a default root for the backup directory, the temporary directory, the AGI directory, the log file and the HTTP root directory. All these paths may be modified.
Directory paths with blanks or any other characters that may conflict with URL addresses must be avoided.
Note: Users of Win 32 should not be worried by the / (slash) instead of  \ (backslash symbol) in the directory paths. The directories will be created as required by each operating system.
Warning! Each database must have a different home directory.

Backup Directory
The backup directory, where the system, data and index files are backed up automatically at database shutdown. By default, the backup path is the database directory path, extended one level below, by the default directory name backup. For example, if the database path is C:\utils\dbase1, the backup directory is C:\utils\dbase1\backup.
The backup files are used in combination with the log, in case of abnormal termination. See Data Recovery.
Warning! Each database must have a different backup directory.

Temporary Directory
This is the directory where the temporary tables and locks are placed. The default path of the temporary directory is the database directory, but the path may be modified by the user as needed.
Warning! Each database must have a different temporary directory.

AGI Directory
Another Gateway Interface directory. Users may put there programs, written in their favorite language and made into executable files. These files may be invoked as stored procedures from an API program or from the SQL command line. For each database they are stored in the specified AGI directory. See also Database parameters and AGI Directory.

Log File
This is the path and the file name where the transaction log will be created (for recovery purposes). By default, this is the database directory path and the file name is playback.log.
The log file is used in combination with the backup files, in case of abnormal termination. See Data Recovery.
Warning! The location of the log file must be different for each database.

Cipher
The database cipher used for encryption. At this point, it may be None (if there is no encyption) or Gost.

Encryption Key (blank if none)
Data encryption may be applied separately on each database at creation time. If the user opts for encrypting the database, he/she must supply the name of a binary file that holds at least the number of bytes required for the key (16 bytes for Gost). It is best to specify a file on removable media that can be safekept after database loading.
Note that, even without encryption, the data are scrambled to prevent casual inspection with a binary editor.

HTTP Root Directory
The root directory where all the HTTP documents, related to the database will be placed. If the database administrator wishes to have a customized welcome page to the database, the index.html page must be placed in this root directory. See also Database parameters.

Character Set
The character set used for correct representation of characters by the browsers. By default this is ISO-8859-1 (Latin). See also Database parameters.

Scheme Handlers File
The file where URL addresses together with the scripts associated with them are defined. See also Database parameters.
 

Resource parameters
This parameter set defines the operating system resources that will be used by each database.

HTTP Port
The number of the HTTP Port, where the HTTP thread for the database will 'listen'. This port may also be used for connecting to the database via a browser after a manual start.  Since the value of each database HTTP port must be different, the database manager sets a default value after searching for existing databases. The user may edit this value. See also Database parameters.
It is important to have a separate HTTP Port for each database, otherwise it will not be possible to run the databases simultaneously.

SQL Port
The number of the port for SQL connections. The database manager sets a default port number, guaranteed to be unique. The user may edit this number. If the new number is already assigned to a database, a warning will be issued.
It is absolutely necessary to have a unique SQL Port for each database, since this is used to identify if a database is running or not.

Shared Memory Key
The shared memory key. The database manager sets a default shared memory key value, guaranteed to be unique. The user may edit this number. If the new number is already assigned to a database, a warning will be issued. Two databases with the same Shared Memory Key cannot run simultaneously.

Semaphore Key
The database semaphore key. The database manager sets a default semaphore key value, guaranteed to be unique. The user may edit this number. If the new number is already assigned to a database, a warning will be issued. Two databases with the same Semaphore Key cannot run simultaneously.

Fine tuning parameters
This parameter set describes the mode of running (i.e. database parameters that affect the performance). The user may specify an appropriate value.

Session Timeout
The maximum time allowed to an HTTP connection to the database to remain idle before the Server terminates the session. Proposed value from the database manager is 15 minutes.
Administrators with few licensed sessions are advised to keep this number relatively low. See also Database parameters.

HTTP Threads
The number of Ovrimos threads dedicated to the serving of HTTP requests.

SQL Threads
The number of Ovrimos threads dedicated to the serving of SQL requests.

Lock Wait Times
The number of times a request is allowed to ask for a locked resource before a timeout occurs.

Total Btrees
The number of available B-trees for table indices. The administrator may set the value, and if users run out of B-trees later, then he/she may edit this value. It corresponds to the BTREENUM parameter.

Cache parameters
Since there is a file-to-memory mapping, this parameter set describes the cache tuning that affects the performance. The user may specify an appropriate value.

Cached Btree Nodes
The number of B-tree nodes that may be in the cache. It corresponds to BTREENODECACHE parameter.

Cached Tables
The maximum number of database tables that may be cached at a time. It corresponds to the MAPFILENUM parameter.

Physical Page Size (in bytes)
This field is informational. It shows the physical size of an operating system page and it depends on the operating system.

Cluster Size (in pages)
Ovrimos page (for memory mapping) may be defined differently for each database. This number defines the number of physical operating system pages that will be included in one Ovrimos page. It corresponds to the MAPPAGEFACTOR parameter.

Cache Clusters / Table
It defines the maximum Ovrimos pages that may be cached per table. It corresponds to the MAPPAGENUM parameter.

Note! All the above mentioned parameters are also described in Parameters.
 
Changing the password To change the database manager password, a form, like the one of caption dbman-3, must be filled.

Caption dbman-3. Changing the database manager password

Old Password: The old password must be typed in for user authentication.
New Password: The new password is typed in this field.
Reenter New Password: The new password must be typed again for verification.
 

Edit serial number and license
Serial number and license are important if Ovrimos is to be used for commercial applications. Unregistered copies may only be used for non-commercial purposes. An unregistered copy allows only one database connection at a time, therefore users cannot work simultaneously.

Registering is easy

Users may add (or edit) the serial number and/or license number through the special form, provided by the database manager.
Users with unregistered versions may only have one database connection at a time. Once they obtain their Serial Number they may have as many as five concurrent database connections. The company provides a free two-month trial period per database, i.e. a database starts having a two-month, five-connection option from the moment it is created. This is true for both the registered (i.e. with serial number) and unregistered (i.e. without serial number) product.

Caption dbman-4. Form for editing serial number and license.

The serial number does not affect the database lifetime, it only affects the number of connections.
After the two-month time, the user must obtain a license number to continue using the product. Upgrades on the number of connections depend on the license. To obtain a Serial number for registration, users may visit the relevant page of Ovrimos site.
For more information on purchasing, users may visit the licensing page of Ovrimos site.
 

Administrative Actions

The two Administrative Actions, Delete and Edit (parameters) are possible only when the database is not running.
Users may note this fact in caption dbman-1, which displays a database manager initial screen and shows the two buttons Delete and Edit only for the inactive databases. Database neo, which is up and running, does not have the Delete and Edit buttons available.

When the Delete button is pressed, the user has to confirm deletion of database directories, before the action takes place.

Caption dbman-5. Database deletion screen

Only checked directories are removed, making accidental deletion of necessary data impossible. If, however, all directories are placed under the database root directory, then removal of the root directory removes the subdirectories as well.

By clicking on the Edit button, the user may edit the database parameters.

 
Caption dbman-6. Editing database parameters

Note! The parameters updated from the editing form may be edited the 'hard way' either from the Registry (Win 32) or by editing the <database>.ini file of the database (Unix), so this part of the database manager is provided mostly to make the product user friendly.

Since all parameters shown in the caption above are described in the database creation section, they are not explained here again. See also Per-database parameters.

Notice in the above caption the selection list that appears in one of the fields where arrows exist. All fields where arrows are displayed must be filled by choosing a value from the expandable list.
 

Life without the Database Manager: Manual Procedures

The following part is written to provide some information to the database administrator, who, for some reason, has to manage the databases without the assistance of the database manager program.

All O.S. users: File Creation

At first an empty directory for the database must be created. In this directory it is necessary to create another empty subdirectory, called backup. If HTTP documents specific to the database are to be used, another empty subdirectory, called docs must be created. The same holds true for AGI stored procedures. It is necessary to have a unique root and backup directory for each database.
Then, the parameters must be set.

Unix users: Parameter setting for database creation

A unix file, called <dbase name>.ini, containing all database parameters. See above, the Unix file format. You will also have to edit the global file dbman.ini to add an entry for the database.

Win 32 users: Parameter setting for database creation

For WIN32, you must make another key in the Registry under HKEY_LOCAL_MACHINE\SOFTWARE\OVRIMOS\SQLSERVER\Databases. The parameters must be similar to the ones placed in the registry during creation of other databases.

All O.S. users: Attention during creation
Make sure that the HTTP, SQLPORT, SEMKEY, SHMEMKEY, SQLSEMKEY are unique, otherwise you will not be able to run more than one database at the same time. Besides assigning unique numbers to SEMKEY, SHMEMKEY and SQLSEMKEY, all users creating databases manually, must make sure that the numbers have at least a distance of 10 between them. If for example a database is using SEMKEY 2001 and another 2011, the new database must use 2021. See also Database Parameters.

All O.S users: Database deletion
The database root directory must be deleted. All other directories, used as backup, AGI, and documents may also be removed.
Then, unix users need remove the <database>.ini file and edit the global dbman.ini to remove the entry for the deleted database, while Win 32 users must remove the database KEY from the system registry.

Database Starting and Stopping

NT users:
The two programs, dbmcore and sqlcore run as a service for each database. Users must start or stop the appropriate service if they wish to start or stop the database respectively. To install the programs for the first time (as services) they must type:
dbmcore dbase -install
sqlcore dbase -install

To start the database, the user must type:
net start dbmcore-dbase

To stop the database, the must type:
net stop sqlcore-dbase

To remove them from services they must type:
dbmcore <dbase> -remove
sqlcore <dbase> -remove
 

Unix users
The two executable programs dbmcore and sqlcore must run for starting each database.
To start the dbmcore the user must be in the database root directory. Then s/he must type:

dbmcore and  and a list of available database will appear. As soon as the database is selected, the sqlcore executable program is started also. A unix script, .sqldown is generated into the database temporary directory.
To stop the database, the user needs only run the .sqldown script.
 
 
 
 
Previous Chapter: Parameters-Database Functional Aspects