Rdb/VMS is a relational database management system (RDBMS) for the Hewlett-Packard OpenVMS operating system. It was originally created by Digital Equipment Corporation (DEC) in 1984 as part of the VMS Information Architecture, intended to be used for data storage and retrieval by high-level languages and/or other DEC products such as DATATRIEVE, RALLY, and TEAMDATA.
In 1994 DEC sold the Rdb division to Oracle Corporation where it was rebranded Oracle Rdb. Oracle was still enhancing and developing this product in 2013 (although "Oracle Database" products like Oracle 11g get the lion's share of Oracle's advertising budget). It currently runs on OpenVMS for VAX, Alpha and IA-64 (Itanium). It used to run on DEC Tru64 and Microsoft Windows NT, Demand for the Tru64 version was so low that support was dropped. The Microsoft Windows NT port was never released as Oracle could not obtain support on the compilers necessary for this platform.
Rdb featured one of the first cost-based optimizers, and after acquisition Oracle introduced a cost-based optimizer in its regular Oracle RDBMS product.
Interactive access to the Oracle Rdb can be by SQL (Structured Query Language), RDO (Relational Database Operator), or both.
High level languages usually access Oracle-Rdb by:
- embedding RDO statements in the source file then running it through a precompiler
- (example: "file.RCO" is pre-compiled into "file.COB")
- embedding SQL statements in the source file then running it through a precompiler
- (example: "file.SCO" is pre-compiled into "file.COB")
- placing the SQL statements in a file external to the source code; this separate file is converted to object code by the "SQL Module Language" compiler, and the source code then references these SQL statements and, after compilation, the two are joined by the OpenVMS linker.
example: $ SQL$MOD file_bas.sqlmod -> file_bas.obj $ BASIC file.bas -> file.obj $ LINK file.obj,file_bas.obj -> file.exe
A variation of example 3 allows "Dynamic SQL" to be created in the source code, and then used to communicate with Rdb via a structure known as SQLDA (SQL Descriptor Area).
On OpenVMS systems, Oracle Rdb is a popular (although expensive) upgrade path for applications written using Record Management Services (RMS) files.
Future of Rdb
Oracle has released a statement of direction which indicates integration with Oracle 9i and 10g through technology sharing.