Consultor Eletrônico



Kbase 15755: Move or Copy multi volume db on VMS using concealed logicals
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   5/10/1998
Move or Copy multi volume db on VMS using concealed logicals

How to copy or move multi-volume databases on VMS using
concealed rooted logicals.

The following is an example of keeping the database on the
same device, but moving the database to another directory.
This example was written for a customer whose users normally
use the DEMO database. The DEMO database gets archived to
AUDIT_DEMO on a monthly basis, and occasionally users need
to access AUDIT_DEMO. Users can easily access AUDIT_DEMO
if the database was originally created with concealed rooted
logicals.

Let's say this is what you have:

DISK:[LIVE_DB.DB]DEMODB.DB
DISK:[AUDIT_DB.DB]AUDIT_DEMO.DB

The key to this is the final directory must be the same name,
in this case our final directory name is DB. The part we'll
conceal is DISK:[xxxx_DB.] (this is known as a rooted logical).
It will appear as though the DB directory is the top-level
root directory. This will allow the database to be moved
anywhere - different disk, or directory as long as the
"root" or final directory is the same (again, in this case
the root directory is DB).

So when they want to use the database from the LIVE_DB
directory define the a logical: (this example uses the
logical name DBLOC)

$ DEFINE/TABLE=LNM$GROUP/TRANS=CONCEAL DBLOC DISK:[LIVE_DB.]

When they need to access the database from the AUDIT_DB
directory - just change the DBLOC logical.

$ DEFINE/TABLE=LNM$GROUP/TRANS=CONCEAL DBLOC DISK:[AUDIT_DB.]

The logicals are defined at the GROUP level to allow
for multi-user access. If you're accessing single-user
the logicals can be defined at the PROCESS level.

As the Kbase entry states when creating a single or
multi-volume database the concealed logical must be used -
this way the database location is never fully translated - it
just stores the concealed logical in the header of the database.


So the <dbname>.ST file for a multi-volume database will look
something like:

D DBLOC:[DB]<dbname>.D1 F 100
D DBLOC:[DB]<dbname>.D2 F 100
D DBLOC:[DB]<dbname>.D3 F 100
D DBLOC:[DB]<dbname>.D4 F 100
D DBLOC:[DB]<dbname>.D5

Be aware that the concealed logical must ALWAYS be used. For
example, when VMS copying the database from one directory to
another the concealed logical MUST be referenced, do not use
the directory path - this will result in an error message when
starting the database.

If the .bi is in the .ST file make sure the concealed logical
is used.

Related Knowledgebase entries:

KB ID: 12858 How to copy Multi volume db on VMS (or Alpha) machines
KB ID: 14048 Use of Concealed Logicals on VMS for Multi-Vol Database

15-may-96
jyt


Progress Software Technical Support Note # 15755