Appendix 1 - Questions and Answers
 
Previous Chapter: API - Stored Procedures
Next Chapter: Appendix - SQL 
 

Help and Support

  1. Answers in this section are very concise. How can I have more details on certain subjects?
  2. How can I learn something about the product architecture?
  3. How can I report possible problems?
  4. I now have an unregistered version. What can I do with it? What can't I do with it?
  5. How do I obtain Serial number and/or License number?
  6. I have a previous version (Altera SQL Server). Can I retain the databases?
Features and Limitations
  1. What datatypes are supported?
  2. Are there any limits on tables and field names?
  3. What are the total limits of table space?
  4. How many databases can I have?
  5. Can I have more than one database running at a time?
  6. How many concurrent connections can I have?
  7. What is the rate of growth of each table?
  8. Are all SQL commands supported?
  9. Can I have data encryption? What data encryption algorithm is used?
  10. If BLOBs have a URL, then anybody can access them! What about security?
  11. Is there a way to store and display Unicode data?
Installation and Runtime Questions
  1. How do I name my host computer on Win32?
  2. The SQL Server is configured at installation time and some parameters are set then. Where are they maintained? Can I modify any of them? Is there anything I have to pay special attention to?
  3. I have just completed  installation on Windows NT. What next?
  4. I have just completed installation on U*ix. What next?
  5. Can I manage a database without use of the Database Manager?
  6. How do I connect to a database?
  7. The database manager requires a userid and a password. What are they?
  8. How do I change the database manager password?
  9. When I create a database I have to define many parameters. Where are they maintained? Can I modify them? What should I be careful of?
  10. I do not have a browser. Can I use the databases through the command line?
  11. What is the Administrator Console?
  12. What is the Roadmap?
  13. Why do I have to login the first time I connect to the database, but no other time even after a shutdown?
  14. Some URL addresses do not correspond to files in my disk. Where are they?
  15. Besides the interface, is there any difference between the SQL Terminal and the sqlapp4 application program?
  16. What users exist when a database is created? How do I login the first time?
  17. How can I change my admin password?
  18. How do I create other users?
  19. I created a new user, logged in as this user and all the database tables are gone. What should I do?
  20. I have just created a database and the directory is empty. What has happened?
  21. I have no idea what tables exist in the database. Is there a way to find out?
  22. Can I connect to Ovrimos from another machine?
  23. How many SQL Terminals can I open?
  24. How do I define BLOBs? How do I use BLOBs?
  25. System tables are visible to users and accessible to administrator. Does this mean I can use SQL to update them?
  26. Is there anything I have to do for database maintenance?
Communication with other products
  1. How do I setup my Ovrimos ODBC driver?
  2. How do I make and use stored procedures?
  3. How do I use Ovrimos from Scheme scripts?
  4. How do I use Ovrimos from Perl?
  5. How do I use Ovrimos from Java applets?
  6. How do I use Ovrimos from C and C++?
  7. With what other products can I communicate through ODBC?

Help and Support

Answers in this section are very concise. How can I have more information on certain subjects?

Most subjects are addressed in the pertinent chapter of the manual. Just follow the links.

How can I learn something about the product architecture?

There is a fully detailed chapter in the manual: Appendix 3 - Architecture, where a descriptory text, enriched with pictures and diagrams, gives you an idea of design and implementation issues about Ovrimos.

How can I report possible problems?

All users may contact Altera at dev@altera.gr.

I now have an unregistered version. What can I do with it? What can't I do with it?

You can create and use databases, but you can only have one connection at a time to each database. Unregistered versions do not allow concurrent use of a database. Lifetime of any database in the unregistered version is only two months.
A registered version, i.e. one with a serial number obtained from the company, allows as many as five concurrent connections to each database. The lifetime of each database is still only two months.
A licensed version allows an indefinite lifetime to each database. The number of concurrent connections per database depends on the license.

How do I obtain a Serial number and/or a License?

To obtain a serial number, you may visit the relevant page of our site.
For more information on purchasing, visit the licensing page of our site.
Click here to see how to use you serial number and license number.

I have a previous version (Altera SQL Server). Can I retain the databases?

You can, but there are certain actions you have to make before and after Ovrimos installation. See Appendix 6 - Previous version owners for details.

Features and Limitations

What datatypes are supported?

All datatypes, described in Extended SQL Grammar for ODBC, including BLOBs, are supported. Additionally Unicode strings are fully supported.

Are there any limits on tables and field names?

Practically no. Tables may be as long as 60 characters each, including the schema prefix. Field names may be as long as 60 characters each without any other limitation.

What are the total limits of table space?

Each table may theoretically grow to 232-1 rows. Practically, each table is limited by the maximum file size. Total database space is limited by the user's disk space.

How many databases can I have?

As many as you wish. Databases may be created and removed at any time.

Can I have more than one database running at a time?

Of course. Databases run in complete isolation from each other and there is no clash of namespaces or privileges.

How many concurrent connections can I have?

Theoretically, an unlimited number of sessions may connect to each database at the same time. Practically, this number is limited by the system limit on open file descriptors. Of course, the number is limited by the license agreement of each copy.

What is the rate of growth of each table?

Excluding BLOBs, tables grow linearly.

Are all SQL commands supported?

See Appendix 2 - SQL for the SQL commands supported by Ovrimos.

Can I have data encryption? What data encryption algorithm is used?

Data encryption may be applied separately on each database at creation time. If users opt for encrypting the database, they 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 when not opting for encryption, the data are scrambled to prevent casual inspection with a binary editor. The algorithm used by this version is the GOST algorithm in CBC mode, implemented as described in the book: Applied Cryptography, Second Edition by Bruce Schneier, Wiley 1996.
Developers may specify an appropriate .dll and use other 64-bit block algorithms in the future.

If BLOBs have a URL, then anybody can access them! What about security?

The URL can only be retrieved by someone with the appropriate privilege. It should be treated as confidential, like every other piece of information one retrieves from the database. There is little chance that someone will find the BLOB by trying URLs at random, since the BLOB URL is based on a random number from 0 to 232-1.

Is there a way to store and display Unicode data?

There is. Unicode character strings may be stored and retrieved as easily as ASCII strings, using the UNICODE CHAR and UNICODE VARCHAR data types.
One of the database parameters is called CHARSET. This is used by the web browser to display correctly the Unicode data. It may be set at creation time or modified later. For details in inserting and retrieving Unicode data see Special Issues: Unicode.

Installation and Runtime questions

How do I name my host computer on Win32?

This question arises because the host computer, where the server is installed and run, must have a name. To find the name of your host computer, run Network from Control panel and click on the Identification tab. The first field is the computer name.
If the server and the databases are on the same machine you run, then you may use localhost.

Ovrimos is configured at installation time and some parameters are set then. Where are they maintained? Can I modify any of them? Is there anything I have to pay special attention to?

For Unix systems, the Server parameters (global parameters) are maintained in a file called dbman.ini.
You may edit the file and modify the parameters. Ovrimos reads this file in order to start a database. All you have to be careful of is to have the definitions in the file reflect the situation in your computer, e.g. if you wish to change the place where the dbmcore executable is located, you have to change the entry in the parameter file too.

For Win 32 systems, the SQL Server parameters are maintained in the Registry, under the
HKEY_LOCAL_MACHINE\SOFTWARE\OVRIMOS\SQLSERVER.
You may edit the registry and modify the parameters, as long as they reflect the situation in your computer.

Both O.S. users, see also Global Parameters.

I have just completed installation on Windows NT. What next?

The database manager, must be installed as a service and started. This is done by the clicking on the DBManager Install icon of the Ovrimos Folder. As soon as you install this service, you may connect to the database manager through any browser (specifying the host name and DBMANHTTPPORT) or by clicking on the Start icon of the Ovrimos Folder. See also the Database Manager and After Installation - First Run.

I have just completed installation on U*ix. What next?

The database manager, may be started from the command line. The database manager executable file is called dbman. A parameter, which is the global parameters file (usually called dbman.ini) is required as an argument for dbman. If no argument is used, the program assumes the file is dbman.ini and searches for it in the current directory. Otherwise, any file name in any path may be used as the global parameter file. As soon as the database manager program is started you may connect to it through any browser (specifying the host name and DBMANHTTPPORT). See also, the Database Manager and After Installation - First Run.

Can I manage a database without using the Database Manager?

Yes, but it is a rather complicated and sensitive procedure, which should be better left to the dbman program. If for any reason, however, it is necessary to create, start, stop or delete a database without the assistance of the database manager see Life without a Database Manager: Manual Procedures.

How do I connect to a database?

In every case, a valid user id and password are required at some point.

The database manager requires a userid and a password. What are they?

The userid for the database manager is dbman. The initial password is pass. You may change this password, the first time you log into the database management program.
See also, The Database Manager: Logging in.

How do I change the database manager password?

Any time you log into the database manager program, click on the Change Password option and provide the old password for authorization and the new password for update. As always, remember that passwords are case sensitive. See also, The Database Manager: Changing the Password.

When I create a database I have to define many parameters. Where are they
maintained? Can I modify them? What should I be careful of?

It is possible to use the Edit button from the database manager actions to edit most of the database properties. If more radical changes are required, these may be done manually.

For Win 32 systems, database parameters are kept in the Registry key
HKEY_LOCAL_MACHINE\SOFTWARE\OVRIMOS\SQLSERVER\DATABASES. Under this key, there are more keys each one with a database name.

For Unix systems, database parameters are all kept in a file, named <database>.ini. For example, if a database is called books, the initialization file is books.ini.
You can edit this file with any editor available to you and make all necessary updates.

Both all system users must keep in mind that each database must be kept in its own directory and that the entries: HTTPPORT, SQLPORT, SEMKEY, SHMEMKEY must be unique for each database in order to be able to run concurrently. If you set manually, SEMKEY and SHMEMKEY, please make sure that not only the numbers assigned to them must be unique, but that there must be a difference of at least 10 numbers between any number assigned for a database and the corresponding number assigned for a different database. See also, Database parameters and The Database Manager.

I do not have a browser. Can I use the databases through the command line?

Of course. You can use the sqlapp4 program.
Just type (using appropriate path if required):
sqlapp4 <hostname> <dbname>|#<port>  <userid>  <password>    (Win32)
sqlapp4 <hostname>  <port>  <userid>  <password>                      (Unix)

<hostname> is the user's database server. For users on the same machine localhost.
<dbname> is the database name
<port> here is the SQLPORT parameter.
<userid> The initial userid is admin.
<password>  The initial password is pegasus.  (The password is case sensitive).

The database must already be running before you attempt to connect to it.
The database manager also requires a browser to work. If you do not have one, see Database Manager: Manual Procedures. We do suggest, however, to obtain any Web browser because this will allow you to take full advantage of Ovrimos options.

What is the Administrator Console?

This facility is available to users with administrator privileges, who use a browser to communicate with the database. It is a special URL, part of  the SQL Server webspace and not a real disk file. The administrator may monitor database activities.
See also, Administrator Interface

What is the Roadmap?

The Roadmap is available to all users, who communicate to the database via a browser. It is a special URL, part of the SQL Server webspace and not a disk file. The Roadmap provides information about existing tables and views (system and user) as well as details about the table structure and interconnecting relationships in pictorial, tree-structure form. Administrators may also see details about database users. See also, User Interface: Roadmap.

Why do I have to login the first time I connect to the database, but no other time even after a shutdown?

The browser retains the userid and password initially typed into the authentication dialog box for each database. Only after quitting the browser and re-entering will you be prompted for authentication information again.

Some URL addresses do not correspond to files in my disk. Where are they?

These are special webspace addresses of the HTTP part of SQL Server code. They are not real HTML files. Some special URL addresses are the Roadmap, the Administrator Console and the SQL Terminal. See also, The HTTP Server: Special URLs.

Besides the interface, is there any difference between the SQL Terminal and the sqlapp4 application program?

Yes. The SQL Terminal is not yet designed to handle parameters, therefore it will not respond to the BLOB insertion mechanism.
BLOBs may only be inserted by the sqlapp4 program.
This shortcoming is scheduled to be removed in the Gold edition of Ovrimos.
On the other hand, BLOBS may only be displayed on SQL Terminal, or when the sqlapp4 program is used as a parameter to CGI applications and it is not possible to have BLOB display on the command line of sqlapp4.

What users exist when a database is created? How do I login the first time?

Initial users in the database are admin with initial password pegasus and administrator privileges and user public with null password and minimal privileges.
To login the first time, use admin as userid and pegasus as a password.
User public may not login. It may only be used as a prototype for privilege inheritance.

How can I change my admin password?

You may change the password as soon as you login for the first time either through the SQL Terminal or sqlapp4 command line with the command:

UPDATE USER admin WITH 'newpass'

As always, remember that passwords are case sensitive.

How do I create other users? What about privileges?

Use the CREATE USER command.

CREATE USER name FOR 'User-name' WITH 'User-password'|NULL;

Privileges may be granted and revoked through the usual SQL commands. It is also possible to have users created with privileges of a prototype user. See also Privilege Inheritance.

You can remove a user with the DROP USER command.

DROP USER name;

I created a new user, logged in as this user and all the database tables are gone. What should I do?

Tables in Ovrimos are qualified by a schema name that defaults to the current user name. Tables created by user admin, for example, must be prefixed with 'admin.' to be visible by other users. The same holds for all users. For example, if user A creates an unqualified table X, all other users must access it as A.X.

I have just created a database and the directory is empty. What has happened?

All system tables and indices will be created automatically by Ovrimos as soon as the database is started for the first time.

I have no idea what tables exist in the database. Is there a way to find out?

You may either use the Roadmap from the SQL Terminal or use the following SQL commands from the sqlapp4 command line:

Can I connect to Ovrimos from another machine?

Of course.
You can use a browser and type the <host>:<HTTPPORT> in the URL address,
where <host> is the name or TCP/IP address of the computer where the database resides and <HTTPPORT> is the database HTTPPORT.
You may also connect to the database through the sqlapp4 program.

If you have database manager privileges, you may run the DBManager (from remote) using the host computer and the DBMANHTTPORT to reach the database manager and connect to the database from there.

How many SQL Terminals can I open?

As many as you wish. Concurrent connections to the same database, however, are limited by your license, which in practice means that you can never have more SQL transactions in SQL Terminal than the connection limit.

How do I define BLOBs? How do I use BLOBs?

BLOBs may be defined as long varchar or long varbinary objects during table creation or whenever a new column is defined in a table.
BLOBs may only be inserted through the command line of the sqlapp4 program, with the use of the parameter (?) BLOB addresses are retrieved by a function called URI.

BLOBs may be displayed only on the SQL Terminal.

For an example see BLOB support.

System tables are visible to users and accessible to administrators. Does this mean I can use SQL to update them?

Absolutely NOT. System tables are not to be touched. The least that can happen is deadlock. The most is data corruption.

Is there anything I have to do for database maintenance?

Very few things. Remember to take a periodic backup of the database files and log to a safe magnetic media other than the hard disk. Taking a backup does not require shutting down the database, therefore it is not an intrusive activity. See Database Maintenance: On-line backup. It may also be necessary to delete a file called .logerr, which is generated in the database temporary directory, since this may become very long after some time.

Communication with other products

How do I setup my Ovrimos driver?

The ODBC driver must be installed. Normally, at the end of the installation, the setup program runs the ODBC administrator. At this point the user can create a new data source. If you wish to use an Ovrimos database through ODBC, click Add...
Select the Ovrimos Driver. The Ovrimos ODBC setup dialog appears with four blank fields:

Data Source Name: Type a name, which will be the name of the database for the ODBC.
Description: A short description test.
Host Name: The database server name.
Database Name: The database name for Ovrimos.

When all information is typed, press the Close button.

How do I make and use stored procedures?

Each database has an AGI directory, where stored procedures must be kept. See API-Stored procedures and follow the links to see examples of stored procedures in C and Perl.

How do I use Ovrimos from Scheme scripts?

A number of Scheme commands are embedded in the SQL Server. For more on the commands and a small script example see HTTP Server: Scheme - SQL.

How do I use Ovrimos from Perl?

See instruction about using Perl in API - client: Perl manual. You may also see an example of a small Perl program using Ovrimos in API - Perl example.

Can I use Ovrimos from Java applets?

A file, ovjdbc.jar is available for this purpose. See JDBC driver. You may also see an example of a small Java program using Ovrimos in API - Java example.

How do I use Ovrimos from C and C++?

A client library with a large number of functions supporting the SQL client from C is provided. See API - Client C and API - C, C++ for definition and description of functions respectively. You may also see an example of a small C program using Ovrimos in API - C example.

With what other products can I communicate through ODBC?

Tested interfaces exist for communication with MFC, Powersoft Optima++, EXCEL and Delphi.


For more information on any subject, please contact:

Altera EPE
Kapodistriou 87 Str.
GR - 152 37
Athens, GREECE

Phone number:
00301 - 6894915
00301 - 6894916
00301 - 6824911
Fax:
00301 - 6849491

Internet: email dev@altera.gr
 
 
Previous Chapter: API - Stored Procedures