RENAME table

From Ian Smith, Rdb Engineering

RENAME TABLE renames the metadata but leaves the old name as a synonym so that triggers, constraints, stored procedures, default, computed by, automatic as, views, etc continue to run. This synonym is required, and should only be deleted if you know there are no dependencies (the simplest of tables). So this is probably not the tool for you.

Instead I’d suggest defining a synonym for use by applications and other definitions. Then you can switch the synonym from one table to the other as required. This scheme works better than views because there is no metadata lock on the synonym name.



Oracle Corporation is pleased to announce the production release
of version 7.2 of the Oracle Rdb product family. All product
family components are available for download from MetaLink

Norm Lastovica tracks down Number of Buffers

From the Rdb mailing list –

Here are a couple of the citations from the documentation. I found these
using adobe acrobat and querying for “rdm$bind_buffers”. I recommend
installing the acrobat kit and downloading the rdb documentation onto a PC
so you can easily and rapidly query all the docs…

“You can override the default number of user-allocated buffers by defining a
value for the logical name RDM$BIND_BUFFERS. For more information on
user-allocated buffers, see Oracle Rdb7 Guide to Database Performance and

“USER LIMIT IS max-glo-buffers
Specifies the maximum number of global buffers each user allocates. Because
global buffer pools are shared by all users, you must define an upper limit on
how many global buffers a single user can allocate. This limit prevents a user
from defining RDM$BIND_BUFFERS or RDB_BIND_BUFFERS to use all the
buffers in the global buffer pool. The user limit cannot be greater than the
total number of global buffers. The default is 5 global buffers.

“Specifies the number of database buffers used for storing data during the load
operation. If no value is specified, the default value for the database is used.
(The default value for the database is defined by the logical name RDM$BIND_
BUFFERS, or if the logical is not defined, can be determined by using the
RMU Dump command with the Header qualifier. The RDM$BIND_BUFFERS
logical name, if defined, overrides the value displayed with the RMU Dump
command.) Fewer I/O operations are required if you can store as much data
as possible in memory when many indexes or constraints are defined on the
target table. Therefore, specify more buffers than allowed by the default value
to increase the speed of the load operation.

Unload/Load Date/Time for Oracle

Store the VMS date as timestamp in oracle.

1) Use “delimited” text for unload
2) Before you invoke SQL*Loader ,define the NLS date (both on OS and
init*.ora) to match the date/timestamp format on unloaded file.
e.g If the date on unloaded file : 1998012113351752
Init*.ora : nls_timestamp_format=”YYYYMMDDHH24MISSFF”

Move a Snapshot File

$ rmu/repair testdb/init=snap=confirm /area=resumes
%RMU-I-FULBACREQ, A full backup of this database should be performed after RMU REPAIR
Area RESUMES snapshot filename [DRA0:[testdb]RESUMES.SNP;1]: dra0:[000000]nr.snp
Area RESUMES snapshot file allocation [10]:10
$!!! the /CONFIRM will allow you to “move” it.

From the Rdb mailing list

Bruce Reardon's Upgrade Notes

A couple of other points we found recently (these may be very obvious to some):

Read the Rdb 7.1 Install & Config guide as well as release notes (this is slightly less obvious if upgrading from one 7.1 version to another)
Some of the following more apply if you have a shared system disk:
If you use LSE and it is not licensed on every node, do the install on the node with LSE license so Rdb is installed with LSE support
If you only install Rdb on one node, remember to reinstall the DCL tables on the other nodes via
Nearly everything will work but eg rmu/sh stats won’t work until this done
If installing SQL Services, before doing the install define sqlini to nl: – otherwise the IVP will give lots of errors (though it will still think it has worked)
I assume this is the same everywhere, but restarting SQL Services via sysman only works if you define sys$scratch via sysman first, and even then is much slower than via a direct login.

Hope this helps,
Bruce Reardon

Show Users

Compare and contrast RMU/SHOW USERS and STOP/ID=nnn

rmu/show users uis
mysql> show processlist;

mysql> kill n (where n is the processid from “show processlist”)

SQL*Net passwords

Oracle Support

4) Security checking within the database
When the actual user has passed the VMS based authorization, then it is
checked against the database itself. Each user who wants to access a Rdb
database via SQL*Net for Rdb must have an entry in the USER$ table in the
Rdb database. The supplied procedure SYS$LIBRARY:RDB_NATCONN.COM must be
used to add users to this table. The adduser function will encrypt the
password. It is understood that this password (stored via RDB_NATCONN) must
be the same as the VMS password. And any user can run this procedure, it is
not required that the DBA run it.

We need to test this with one of our users and come up with the proper sequence of events…

1. Change password in database
2. Change password in VMS

Problem here is if the new password is not usable in VMS – they can’t get back into the database if they choose poorly

Revalidate Module

For any modules that need revalidating and you want to clear the flag or just check, use

alter module … compile;