Introduction

This guide describes how to install and use version 11.0 of the Mimer SQL relational database server under OpenVMS. It contains OpenVMS specific instructions about installing the software, creating databases and managing database servers and is for general users, system administrators and programmers who use Mimer SQL on the OpenVMS operating system.

About Mimer SQL for OpenVMS

You can download a full version of Mimer SQL for OpenVMS for free from https://developer.mimer.com/downloads. This distribution is for development and evaluation. It contains a complete copy of Mimer SQL Version 11.0 and a built-in software key, with support for up to 10 concurrent database connections.

Mimer SQL Run-time License

To use Mimer SQL for OpenVMS in production, you need a run-time license key.

Please contact your local Mimer representative, see https://www.mimer.com/contact/, or send an e-mail to info@mimer.com.

The Mimer SQL Database Server

The Mimer SQL database server is a single, multi-threaded process. By using DECThreads, good SMP scalability is achieved.

Clients using TCP/IP or Decnet can access the server. For clients running on the same host as the server, a special shared-memory based communication method is used.

Embedded SQL

An embedded SQL preprocessor is included. It enables SQL commands to be embedded in programs written in C/C++, Fortran and COBOL. The embedded syntax complies with the ISO standard for embedded SQL.

Module SQL

MSQL (Module SQL) enables you to call SQL statements in a host program written in C/C++, COBOL, Fortran or Pascal, without embedding the actual SQL statements in the host program. The SQL statements are explicitly put into a separate SQL module, that is written in the Module language and maintained separately from the host program.

JDBC Driver

A JDBC driver is included in the distribution. The driver is a type 4 driver, which means that it is written entirely in Java. This provides the driver with full portability so that it can be copied or downloaded to any Java-enabled platform. The driver uses TCP/IP to access a Mimer SQL server on any platform.

By using a special connection URL, the JDBC driver can also load a native library (MIMER$LIB:MIMCOMM.EXE). This allows the JDBC driver to use native code for all communication methods which can improve the performance.

The driver, MIMJDBC3.JAR, supports the JDBC 3 standard, and is for Java 1.4 or later.

 

ODBC Driver

The Mimer ODBC driver is a client library that enables applications to access Mimer database servers running on any platform. The driver complies with the ODBC 3.52 specification.

By using the ODBC driver on OpenVMS, you can develop ODBC applications and execute them on the OpenVMS platform.

Unlike other platforms, OpenVMS does not include a Driver Manager that enables OpenVMS applications to dynamically load drivers for different database products. Until such a Driver Manager becomes available on OpenVMS, you can link your applications directly to the Mimer ODBC driver.

Note that in order to run an ODBC application on a Windows platform, the Windows ODBC driver has to be installed on the client side. This driver can then access Mimer database servers on any platform (including OpenVMS). There is no need to install any special software on the server side in order to use ODBC.

Mimer SQL C API

The native Mimer SQL C API is included in the distribution. This API is intended for programs written in C and is described further in the Mimer SQL Programmer’s Manual.

Mimer SQL Python Adapter

MimerPy is an adapter for Mimer SQL in Python which implements the Python Database API specification (PEP 249).

More information can be found on the Mimer Developer web site, https://developer.mimer.com/article/mimer-sql-python-adapter/

Utilities

Mimer SQL includes the following utilities:

Utility

Description

BSQL

BSQL executes SQL statements which are entered interactively or read from a command file. It is described in the Mimer SQL User’s Manual.

DBANALYZER

A tool to provide optimization recommendations for a database schema.

DBC

DBC checks if a databank file is internally consistent. It is described in the Mimer SQL System Management Handbook.

DBOPEN

DBOPEN opens and restarts all databanks in a database. It is described in the Mimer SQL System Management Handbook.

ESQL

ESQL is a pre-processor for embedded SQL.

EXLOAD

Utility to load the example database. See Mimer SQL System Management Handbook.

MIMCONTROL

MIMCONTROL provides facilities for managing the operation of a database server, for example, starting, controlled shutdown, etc.

MIMINFO

MIMINFO displays status information for a database server.

MIMLICENSE

Utility for managing Mimer SQL licenses.

MIMLOAD

Utility to load or unload data from the database. See Mimer SQL System Management Handbook.

MIMPERF

Utility to display performance counters in the server. Can be used interactively or together with the T4 tool.

MIMREPADM

Administration utility for Mimer Replication.

MIMSYNC

Utility to bring two replicated Mimer systems back into sync.

MSQL

MSQL is a pre-processor for Module SQL.

REPSERVER

Replication server.

SDBGEN

SDBGEN generates the Mimer SQL system databanks SYSDB, TRANSDB, LOGDB and SQLDB.

SQLMONITOR

Utility to display how the current SQL statements are using the server resources.

TCPCONTROL

Procedure to manage MIMTCP processes.

The Mimer SQL distribution also contains examples of database programs and SQL statements. See Distributed Files for more information.

OpenVMS System Requirements

On Itanium

Mimer SQL version 11.0 requires OpenVMS V8.4-2L1 (from VSI) or later. Mimer uses OpenSSL for cryptography and requires SSL111. (OpenVMS V8.4-2L3has SSL111 per-installed.)

On x86_64

Mimer SQL version 11.0 requires OpenVMS V9.2-1 or later. (OpenVMS V9.2-1 has SSL111 pre-installed.)

To use the cross-compiler tools on Itanium to develop Mimer programs for x86_64, you need to install the separate product MIMERX86LIB, described in Using x86 Cross-Compiling Tools with Mimer.

Documentation Resources

You can find relevant information in the OpenVMS System Management Guide (published by VSI). Most OpenVMS manuals can be found at https://docs.vmssoftware.com/

You should be familiar with the concepts and facilities provided by the Mimer SQL system.

Other documents that are referred to in this document or that may be of interest when dealing with the tasks described here are: the Mimer SQL System Management Handbook, the Mimer SQL Programmer’s Manual, and the Mimer SQL Release Notes.

You can find them at https://developer.mimer.com/documentation/

The documentation is also included in the Mimer SQL distribution as PDF (Adobe Portable Document Format) files. After a SETUP has been made with an installed Mimer version, the documentation can be found in the directory pointed to by the logical name MIMER$DOC.

Documentation Conventions

Convention

Example

Explanation

All uppercase

COMMIT

Indicates command names, SQL reserved words, and keywords.

Monospace

$ MIMCONTROL/START DB5

Indicates directory names, file names, code examples and interactive screen displays.

[ ]

[timeout]

Encloses optional items.

[ | ]

 

Vertical bars separating optional items indicate that you can choose none, one or more than one item.

Italics

Mimer SQL User’s Guide

Indicates a cross reference or the title of a guide.

Terms and Definitions

The following terms and acronyms are used in this document:

Term

Explanation

API

Application Programming Interface.

BSQL

BSQL, a program used to execute SQL statements which are read from a command file or entered interactively.

Data source

ODBC term for a database.

Databank

Databank is the Mimer SQL term for the physical file in which one or more Mimer SQL tables are stored. A databank corresponds to one file in the operating system. A database may contain several databanks.

Database

A database is a collection of databanks, tables, shadows, etc., all defined as objects in the data dictionary. A computer may have several databases operating simultaneously, but no information is shared between them. Each database has a unique name, registered in the SQLHOSTS file.

Database home directory

The directory where the SYSDB databank file is located, also recorded in the SQLHOSTS file.

DCL

Digital Command Language.

Dynamic SQL

SQL statements constructed at runtime and passed to the database management system for execution.

Embedded SQL

The term used for SQL statements when they are embedded in a traditional host language.

ESQL

The preprocessor for embedded SQL.

Java

A platform independent language invented by Sun and now owned by Oracle. See https://www.oracle.com/technetwork/java/index.html.

JDBC

Java DataBase Connectivity. A set of Java interfaces for accessing relational databases. See https://www.oracle.com/technetwork/java/javase/jdbc/index.html.

MIMERxxxxx

Symbolic name for the installed directory tree, unique for each Mimer SQL release, where “xxxxx” stands for the current version number, e.g. “1108B”.

MSQL

The preprocessor for Module SQL.

ODBC

Open Database Connectivity, a specification for a database API in the C language, independent of any specific DBMS or operating system.

PSM

Persistent Stored Modules, the term used by ISO/ANSI for stored procedures.

Shadow

A shadow is a copy of the original (master) databank and is continuously updated by Mimer SQL.

A Mimer SQL databank may have one or more shadows. If the databank is shadowed, there will be one file for each shadow. If the master databank is lost, it is possible to continue operations from the shadow databank without stopping the database server. A databank must have the TRANS or LOG option to be shadowed. For more information, see the Mimer SQL System Management Handbook.

SQL

Structured Query Language, standardized language for database manipulation.

SQLHOSTS

A file containing lookup information for all accessible Mimer SQL databases, relative to the current node.

It is located at SYS$MANAGER:SQLHOSTS.DAT.

Table

Tables (or relations) hold all the information in a relational database. A table is stored in a databank. It may not be split across databanks, but a databank may contain several tables.