Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

More

Format

Examples

interchange-file-spec

database-file-spec

invoke-options

db-wide-options-1

db-wide-options-2

storage-area-options

import-options

metadata-options

COMMIT

FINISH

db-handle

COLLATING_SEQUENCE

path-name

ncs-name

text

library-name

number-users

number-buffers

number-nodes

recovery-buffers

global-buffer-params

GLOBAL_BUFFERS

NUMBER

USER_LIMIT

ADJUSTABLE_LOCK

ENABLED-IMMEDIATE

ENABLED-DEFERRED

DISABLED

DICTIONARY

CARRY_OVER_LOCKS

LOCK_TIMEOUT

buffer-blocks

PAGE_FORMAT

THRESHOLDS

number-pages

page-blocks

number-data-pages

file-spec

snp-pages

extent-pages

extension-options

min-pages

max-pages

growth

ACL_NOACL

BATCH_UPDATE

NOBATCH_UPDATE

CDD_LINKS

NOCDD_LINKS

DATA_NODATA

TRACE_NOTRACE

DELETE_STORAGE_AREA

SEGMENTED_STRING

define-storage-map

delete-storage-map

define-storage-area

define-index

delete-index

RDB/VMS Relational Database Operator IMPORT — VMS RDB_4.1_M

 The RDO IMPORT statement replaces the RDO RESTORE statement.

 The IMPORT statement restructures an intermediate (RBR) file to a
 database (RDB) file according to the parameters you specify.  An
 EXPORT statement translates the definitions and data in a database
 into an intermediate form in a special type of RMS sequential file
 called an interchange file.  The IMPORT statement reads the records
 in the interchange file and uses them to create an Rdb/VMS database.

 The RMU/DUMP/EXPORT command can be used to view the contents of an
 interchange file.

Additional information available:

MoreFormatExamples

More

 You must have the Rdb/VMS ADMINISTRATOR privilege to use the IMPORT
 statement.

 Use the EXPORT and IMPORT statements to:

  o  Restructure an Rdb/VMS single-file database into a multifile
     database
  o  Restructure a multifile database
  o  Migrate a database from one DSRI-compliant database management
     system to another
  o  Create a version-independent copy of the database for archiving
     purposes
  o  Create an empty target database that uses the same data
     definitions as a source database by copying the metadata, but not
     the data, to the target database
  o  Change database and storage area characteristics that you cannot
     change with the CHANGE DATABASE statement

 The IMPORT and EXPORT statements are not intended for regular backups
 of the database.  For regular backups and restorations of Rdb/VMS
 databases, use the RMU/BACKUP and RMU/RESTORE commands.

 The IMPORT operation leaves you attached to the database, with a
 database handle equal to the name of the database.

Format

 IMPORT ─> interchange-file-spec ─> typebox (I)typebox (N)typebox (T)typebox (O) ───> database-file-spec ──┐
  ┌─────────────────────────────────<──────────────────────────────┘
  └┬─┬────────────────>────────────────┬──┬──┬────────>──────┬─> .
   │ ├─> invoke-options ───────────────┤  │  └─> 
E

N

D

I

M

P

O

R

T
─┘ │ ├─┬─┬─> db-wide-options-1 ─┬─┬────┤ │ │ │ │ └─> db-wide-options-2 ─┘ │ │ │ │ │ └──────────<───────────────┘ │ │ │ ├─> storage-area-options ─────────┤ │ │ ├─> import-options ───────────────┤ │ │ └─> metadata-options ─────────────┘ │ └──────────────────<───────────────────┘

Additional information available:

interchange-file-specdatabase-file-specinvoke-optionsdb-wide-options-1
db-wide-options-2storage-area-optionsimport-optionsmetadata-options

interchange-file-spec

 The name of the interchange file that IMPORT uses as a source to
 create the new database.  Use either a full or partial file
 specification or a logical name.  If you use a simple file name,
 Rdb/VMS looks for the interchange file in the current default
 directory.  You must specify a file that was created by the Rdb/VMS
 EXPORT statement or by the Rdb/ELN EBRP utility.  If you do not
 specify a file type, Rdb/VMS uses the default file type, RBR.

database-file-spec

 The name of the Rdb/VMS database file you want to create from the
 interchange file.  Use either a full or partial file specification or
 a logical name.  If you use a simple file name, Rdb/VMS creates the
 database in the current default directory.  If you do not specify a
 file type, Rdb/VMS uses the default file type, RDB.

invoke-options

 invoke-options =

 ──┬───────────────────────────>──────────────────┬─────────────────>
   ├─────> 
D

B

H

A

N

D

L

E
typebox (I)typebox (S) ───────> db-handle ───────┤ └─────> 
D

B

K

E

Y

S

C

O

P

E
typebox (I)typebox (S) ──┬──> 
C

O

M

M

I

T
───┬──────┘ └──> 
F

I

N

I

S

H
───┘

Additional information available:

COMMITFINISH

db-handle

db-handle

 A host language variable or name that you associate with the
 database.  Use a database handle when you are accessing more than one
 database at a time.

COMMIT

 During the session of the user who entered IMPORT, specifies that the
 database key of each record used is guaranteed not to change during
 each transaction this user may execute.

FINISH

 During the session of this user who entered IMPORT, specifies that
 the database key of each record used is guaranteed not to change
 until this user ends the RDO session or executes a FINISH statement.

db-wide-options-1

 These options are the same database wide options that are available
 with the DEFINE DATABASE statement.

 db-wide-options-1 =

 ──┬─> 
I

N
──────> path-name ──────────────────────────────────┬─> ├─> 
C

O

L

L

A

T

I

N

G

S

E

Q

U

E

N

C

E
typebox (I)typebox (S) sequence-name ──┐ │ │ ┌──────────────────────────────────────┘ │ │ └─┬───────────────────────────────────┬──> ncs-name ──┐ │ │ └─> 
D

E

S

C

R

I

P

T

I

O

N
typebox (I)typebox (S) ──> typebox (/)typebox (*) text */ ──┘ │ │ │ ┌───────────────────────────────────────────────────┘ │ │ └─┬───────────────────────┬───────────────────────────┤ │ └─> 
F

R

O

M
library-name ──┘ │ ├─> 
D

E

S

C

R

I

P

T

I

O

N
typebox (I)typebox (S) ───────> typebox (/)typebox (*) text */ ────────────────────┤ ├─> 
N

U

M

B

E

R
typebox (O)F 
U

S

E

R

S
typebox (I)typebox (S) ──> number-users ───────────────────┤ ├─> 
N

U

M

B

E

R
typebox (O)F 
B

U

F

F

E

R

S
typebox (I)typebox (S) ─────> number-buffers ────────────┤ ├─> 
N

U

M

B

E

R
typebox (O)F 
V

A

X

C

L

U

S

T

E

R

N

O

D

E

S
typebox (I)typebox (S) ──> number-nodes ────────┤ ├─> 
N

U

M

B

E

R
typebox (O)F 
R

E

C

O

V

E

R

Y

B

U

F

F

E

R

S
typebox (I)typebox (S) ───> recovery-buffers ───┤ └─> global-buffer-params ──────────────────────────────────┘

Additional information available:

COLLATING_SEQUENCE

path-namencs-nametextlibrary-namenumber-usersnumber-buffers
number-nodesrecovery-buffersglobal-buffer-params

path-name

 The data dictionary path name for the dictionary path name where the
 database definition is stored.  Use this qualifier to store the data
 dictionary definitions for the database in a data dictionary entity
 other than the default path, which is defined by the name of the
 database file.

COLLATING_SEQUENCE

 Specifies a collating sequence to be used for all fields in the
 database.  Sequence-name is a name of your choosing; use this
 sequence-name in any subsequent statements that refer to this
 collating sequence.

 The VMS National Character Set (NCS) Utility provides a set of
 pre-defined collating sequences and also lets you define collating
 sequences of your own.  The COLLATING_SEQUENCE clause accepts both
 pre-defined and user-defined NCS collating sequences.

 If you do not specify a collating sequence, the default is ASCII
 (shown as "no collating sequence" in some displays).

ncs-name

 Specifies the name of a collating sequence in the default NCS
 library, SYS$LIBRARY:NCS$LIBRARY, or in the NCS library specified by
 the argument library-name.  (In most cases, it is probably simplest
 to make the sequence-name the same as the ncs-name:  for example,
 COLLATING_SEQUENCE IS FRENCH FRENCH.) You can view the collating
 sequence names by using the command NCS/LIST at DCL level.

 The collating sequence can be either one of the pre-defined NCS
 collating sequences or one that you have defined yourself using NCS.

text

 Provides a comment for a collating sequence or database being
 defined.

library-name

 Specifies the name of an NCS library other than the default.  The
 default NCS library is SYS$LIBRARY:NCS$LIBRARY.

number-users

 The maximum number of users allowed to access the database at one
 time.  The default is 50 users.  The largest number of users you can
 specify is 2032, and the fewest number of users is 1.

number-buffers

 The number of buffers Rdb/VMS allocates per process using this
 database.  Specify an unsigned integer between 2 and 32768.  The
 default is 20 buffers.

number-nodes

 Sets the upper limit on the maximum number of VAXcluster nodes from
 which users can access the shared database.  The default is 16 nodes.
 The range is 1 node to 96 nodes.  The actual maximum limit is the
 current VMS VAXcluster limit.

recovery-buffers

 The number of database buffers used during the automatic recovery
 process that is initiated after a system or process failure.  This
 recovery process uses the recovery-unit journal file.  Specify an
 unsigned integer between 2 and 32768.  The default is 20 buffers.

global-buffer-params

 global-buffer-params=

 ─> 
G

L

O

B

A

L

B

U

F

F

E

R

S
typebox (A)typebox (R)typebox (E) ─┬─> 
E

N

A

B

L

E

D
──┬─┐ └─> 
D

I

S

A

B

L

E

D
─┘ │ ┌─────────────────────<────────────────┘ └─┬────────────────────────>───────────────────────┬──> └─> ( ──> 
N

U

M

B

E

R
typebox (I)typebox (S) number-glo-buffers ──> , ─┐ │ ┌───────────────<─────────────────────────┘ │ └─> 
U

S

E

R

L

I

M

I

T
typebox (I)typebox (S) max-glo-buffers ──> ) ─────┘

Additional information available:

GLOBAL_BUFFERSNUMBERUSER_LIMIT

GLOBAL_BUFFERS
 The GLOBAL BUFFERS ARE ENABLED clause specifies that Rdb/VMS maintain
 one global buffer pool per VAXcluster node for each database.  By
 default, Rdb/VMS maintains a local buffer pool for each user.  For
 more than one user to use the same page, each must read it from disk
 into their local buffer pool.  When the GLOBAL BUFFERS ARE ENABLED
 clause has been specified, a page in the global buffer pool may be
 read by more than one user at the same time, although only one user
 reads the page from disk into the global buffer pool.  Global
 buffering provides improved performance because I/O is reduced and
 memory is better utilized.

 The default is GLOBAL BUFFERS ARE DISABLED, in which Rdb/VMS
 maintains a local buffer pool for each user, and global buffers are
 not enabled.
NUMBER
 When global buffers are enabled, the NUMBER IS clause is used to
 specify the default number of global buffers per node.

 In database parameter syntax, a user designates an attach to the
 database, not a person who uses the database.

 The default number of global buffers is the maximum number of users
 multiplied by 5.  (In the RDO syntax for database parameters, a user
 is the same as an attach.) You can override the default by defining a
 value for the logical name RDM$BIND_BUFFERS.

 Although you can change the NUMBER IS parameter online, the change
 will only take effect the next time that the database is opened.  By
 default, a database can be opened automatically (that is, by any user
 who invokes the database and executes a data manipulation language
 statement).  If the database was modified so that it must be manually
 opened, the RMU/OPEN command must be used to open it.
USER_LIMIT
 The USER LIMIT clause 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
 the RDM$BIND_BUFFERS to use all the buffers in the global buffer
 pool.  The user limit cannot be greater then the total number of
 global buffers.  The default is 5.

 See the VAX Rdb/VMS Guide to Database Performance and Tuning for
 information on determining the maximum number of global buffers a
 user can allocate.

 Although you can change the USER LIMIT IS parameter online, the
 change will only take effect the next time that the database is
 opened.  By default, a database can be opened automatically (that is,
 by any user who invokes the database and executes a data manipulation
 language statement).  If the database was modified so that it must be
 manually opened, the RMU/OPEN command must be used to open it.

db-wide-options-2

 These options are the same database wide options that are available
 with the DEFINE DATABASE statement.

 db-wide-options-2 =

 ─┬─> 
B

U

F

F

E

R

S

I

Z

E
typebox (I)typebox (S) ─────> buffer-blocks ──> 
B

L

O

C

K

S
──────┬─> ├─> 
A

D

J

U

S

T

A

B

L

E

L

O

C

K

G

R

A

N

U

L

A

R

I

T

Y
typebox (I)typebox (S) ─┬───> 
E

N

A

B

L

E

D
───┬───┤ │ └───> 
D

I

S

A

B

L

E

D
──┘ │ ├─> 
S

N

A

P

S

H

O

T
typebox (I)typebox (S) ────┬─────> 
E

N

A

B

L

E

D
─┬──> 
I

M

M

E

D

I

A

T

E
─┬─┬─┤ │ │ └──> 
D

E

F

E

R

R

E

D
──┘ │ │ │ └─────> 
D

I

S

A

B

L

E

D
───────────>──────┘ │ ├─> 
D

I

C

T

I

O

N

A

R

Y
typebox (I)typebox (S) ───┬───> 
R

E

Q

U

I

R

E

D
───────┬─────────────┤ │ ├───> 
N

O

T

R

E

Q

U

I

R

E

D
───┤ │ │ ├───> 
U

S

E

D
───────────┤ │ │ └───> 
N

O

T

U

S

E

D
───────┘ │ ├─> 
C

A

R

R

Y

O

V

E

R

L

O

C

K

S
typebox (A)typebox (R)typebox (E) ──┬─> 
E

N

A

B

L

E

D
─┬────────────────┤ │ └─> 
D

I

S

A

B

L

E

D
┘ │ └─> 
L

O

C

K

T

I

M

E

O

U

T

I

N

T

E

R

V

A

L
typebox (I)typebox (S) number-seconds SECONDS ─────┘

Additional information available:

ADJUSTABLE_LOCKENABLED-IMMEDIATEENABLED-DEFERREDDISABLED
DICTIONARYCARRY_OVER_LOCKSLOCK_TIMEOUT

buffer-blocks

buffer-blocks

 The number of blocks Rdb/VMS allocates per buffer.  Specify an
 unsigned integer greater than zero.  If you do not specify this
 parameter, Rdb/VMS uses a buffer size that is three times the PAGE
 SIZE value.

ADJUSTABLE_LOCK

 The ADJUSTABLE LOCK GRANULARITY clause enables or disables adjustable
 locking granularity.  Generally, enabling adjustable locking
 granularity results in fewer locks being used.  However, when
 contention for database pages is high, performance may be impaired as
 locking granularity is adjusted to a lower level.  If your
 application is query intensive, enable adjustable locking
 granularity.  If your application processes specific records and
 performs a substantial number of update operations, you might want to
 disable adjustable locking granularity.

 Disabling adjustable locking granularity may require that the VMS
 SYSGEN parameters for locks be increased.

ENABLED-IMMEDIATE

 The default, ENABLED IMMEDIATE causes read/write transactions to
 write copies of records to the the snapshot file before those records
 are modified, regardless of whether a read-only transaction is
 active.

 If you use the SNAPSHOT IS ENABLED clause to enable snapshots on a
 multifile database, writing to all snapshot files for all storage
 areas is enabled.

ENABLED-DEFERRED

 Specifies that read/write transactions not write copies of records
 they modify to the snapshot file unless a read-only transaction is
 active.  Read-only transactions that attempt to start after an active
 read/write transaction begins must wait for all active read/write
 users to complete their transactions.

 If you use the SNAPSHOT IS ENABLED clause to enable snapshots on a
 multifile database, writing to all snapshot files for all storage
 areas is enabled.

DISABLED

 Disables snapshot transactions.  If you use the SNAPSHOT IS DISABLED
 clause to disable snapshots on a multifile database, writing to all
 snapshot files for all storage areas is disabled.

DICTIONARY

 The DICTIONARY IS [NOT] REQUIRED clause determines whether the
 database must be invoked by path name for data definition changes to
 occur.  If you specify the DICTIONARY IS REQUIRED option, the
 database must be invoked by path name to change metadata and the data
 dictionary will be maintained.  If you specify the DICTIONARY IS NOT
 REQUIRED option, the database can be invoked by either file name or
 path name to change metadata.  The default is DICTIONARY IS NOT
 REQUIRED.

 The DICTIONARY IS [NOT] USED clause determines whether the definition
 of the database and definitions of database elements will be stored
 in the data dictionary.  If you specify the DICTIONARY IS USED
 option, the definition of the database and definitions of database
 elements will be stored in the data dictionary.  If you specify the
 DICTIONARY IS NOT USED option, no definitions will be stored in the
 data dictionary.  The default is DICTIONARY IS USED.

 You receive an error message if you specify incompatible options,
 such as the DICTIONARY IS REQUIRED option and the DICTIONARY IS NOT
 USED option.

CARRY_OVER_LOCKS

 The carry-over locks option is a database-wide parameter that allows
 you to disable carry-over lock optimization.  This optimization
 (implemented in Rdb/VMS Version 4.0) is enabled by default.  Although
 this is an advantage in more environments, it can result in false
 lock conflicts in some applications.

 The carry-over locks optimization holds area and record locks across
 transactions and depends on NOWAIT transactions asking for and
 acquiring the NOWAIT lock.  This can result in long delays if
 concurrent users are executing long verbs.  You should consider
 disabling the carry-over locks optimization if transactions
 experience noticeable delays in acquiring the NOWAIT lock (as seen in
 the output of the RMU/SHOW STATISTICS command).  Note that if you do
 disable the carry-over locks option, there may be some performance
 degradation because transactions will acquire and release area and
 top level ALG locks for every transaction.

LOCK_TIMEOUT

 Specifies the number of seconds for processes to wait during a lock
 conflict before timing out.  The number of seconds can be between one
 and 65,000.

 Sets the default database lock timeout interval.  This is the
 database wide timeout interval.  It is used as the default as well as
 the upper limit in determining the timeout interval to use.  For
 example, if LOCK TIMEOUT INTERVAL IS 25 SECONDS is specified with the
 CHANGE DATABASE or DEFINE DATABASE statement, and a user specifies 30
 seconds with the SQL SET TRANSACTION WAIT 30 statement or sets the
 logical name RDM$BIND_LOCK_TIMEOUT_INTERVAL to 30, RDO would still
 use the interval of 25 specified with the LOCK TIMEOUT INTERVAL
 clause.

storage-area-options

 These options are the same storage-area-options that are available
 with the DEFINE DATABASE statement.

 storage-area-options =

 ─┬┬───────────────────────────>─────────────────────────────────┬┬─>
  │├──> 
A

L

L

O

C

A

T

I

O

N
typebox (I)typebox (S) ───> number-pages ────>───────── typebox (P)typebox (A)typebox (G)typebox (E)typebox (S) ────┤│ │├──> 
P

A

G

E

S

I

Z

E
typebox (I)typebox (S) ────> page-blocks ─────>───────── typebox (B)typebox (L)typebox (O)typebox (C)typebox (K)typebox (S) ───┤│ │├──> 
P

A

G

E

F

O

R

M

A

T
typebox (I)typebox (S) ──┬────> 
U

N

I

F

O

R

M
────┬────────────────────┤│ ││ └────> 
M

I

X

E

D
──────┘ ││ │├──> 
T

H

R

E

S

H

O

L

D

S
typebox (A)typebox (R)typebox (E) ─> ( ─> val1 ┬────────────────────┬─> ) ──┤│ ││ └> ,val2 ┬─────────┬─┘ ││ ││ └> ,val3 ─┘ ││ │├──> 
I

N

T

E

R

V

A

L
typebox (I)typebox (S) ───────> number-data-pages ──────────────────┤│ │├──> 
S

N

A

P

S

H

O

T

F

I

L

E

N

A

M

E

I

S
────> file-spec ────────────────────┤│ │├──> 
S

N

A

P

S

H

O

T

A

L

L

O

C

A

T

I

O

N
typebox (I)typebox (S) ───> snp-pages ───> typebox (P)typebox (A)typebox (G)typebox (E)typebox (S) ────────┤│ │├┬─> 
S

N

A

P

S

H

O

T

E

X

T

E

N

T
typebox (I)typebox (S) ─┬──┬─> extent-pages ────> typebox (P)typebox (A)typebox (G)typebox (E)typebox (S) ─┬───┤│ ││└─> 
E

X

T

E

N

T
typebox (I)typebox (S) ──────────┘ └─> extension-options ────────┘ ││ │└──> 
W

R

I

T

E

O

N

C

E
──────────────────────────────────────────────┘│ └────────────────────────────<──────────────────────────────────┘

Additional information available:

PAGE_FORMATTHRESHOLDS

number-pagespage-blocksnumber-data-pagesfile-specsnp-pages
extent-pagesextension-options

number-pages

 The number of database pages allocated to the database initially.
 Rdb/VMS automatically extends the allocation to handle the loading of
 data and subsequent expansion.  The default is 400 pages.

page-blocks

 The size in blocks of each database page.  Page size is allocated in
 512-byte blocks.  The default is two blocks (1024 bytes).  If your
 largest record is larger than approximately 950 bytes, allocate more
 blocks per page to prevent records from being fragmented.

PAGE_FORMAT

 Specifies whether a storage area contains uniform or mixed pages.
 You can use the PAGE FORMAT option with multifile databases only.  In
 storage areas with uniform page format, all pages in a specific
 logical area contain records from the same relation.  In storage
 areas with mixed page format, pages can hold records from different
 relations.  The default is uniform.

THRESHOLDS

 Specifies one, two, or three threshold values.  The threshold values
 represent a fullness percentage on a data page and establish four
 possible ranges of guaranteed free space on the data pages.  When a
 data page reaches the percentage defined by a given threshold value,
 the SPAM entry for the data page is updated to reflect the new
 fullness percentage and its remaining free space.

 The default thresholds are 70,85, and 95 percent.  If you specify
 only one or two values, unspecified values default to 100 percent.
 You can specify the THRESHOLDS option only on a storage area for a
 multifile database.  The storage area page format must be MIXED.

number-data-pages

 Specifies the number of data pages between SPAM pages in the physical
 storage area file, and thus the maximum of data pages each SPAM page
 will manage.  The default, and also the minimum interval, is 256 data
 pages.  The first page of each storage area is a SPAM page.  The
 interval you specify determines where subsequent SPAM pages are to be
 inserted, provided there are enough data pages in the storage file to
 require more SPAM pages.

 You can specify the INTERVAL option only on a storage area for a
 multifile database.  The storage area page format must be MIXED.

file-spec

 Provides a separate file specification for the snapshot file.  Do not
 specify a file extension other than SNP to the file specification.
 You cannot specify a global default for the SNAPSHOT FILENAME.  Thus,
 in a multifile database, the SNAPSHOT FILENAME option must be within
 a DEFINE STORAGE AREA definition.

snp-pages

 Specifies the number of pages allocated for the snapshot file.  The
 default is 100 pages.

extent-pages

 Specifies the number of pages of each extent.  The default is 100
 pages.

extension-options

 Specifies the MIN, MAX, and percent growth of each database file
 extent.  Enclose the parameter list in parentheses.

 extension-options =

 ───>  (   ───>  
M

I

N

I

M

U

M
typebox (O)F ──> min-pages ───> typebox (P)typebox (A)typebox (G)typebox (E)typebox (S), ─┐ ┌────────────────────────────────────────┘ └──> 
M

A

X

I

M

U

M
typebox (O)F ──> max-pages ──> typebox (P)typebox (A)typebox (G)typebox (E)typebox (S),─┐ ┌────────────────────────────────────────┘ └──> 
P

E

R

C

E

N

T

G

R

O

W

T

H
typebox (I)typebox (S) ───> growth ────> ) ───>

Additional information available:

min-pagesmax-pagesgrowth

min-pages
 Specifies the minimum number of pages of each extent.  The default is
 99 pages.
max-pages
 Specifies the maximum number of pages of each extent.  The default is
 9,999 pages.
growth
 Specifies the percent growth of each extent.  The default is 20
 percent growth.

import-options

 import-options =

 ─┬─┬─────────────>───────────┬─┬──>
  │ ├─┬──> 
A

C

L
────────────┬──┤ │ │ │ └──> 
N

O

A

C

L
──────────┘ │ │ │ ├─┬──> 
B

A

T

C

H

U

P

D

A

T

E
───┬──┤ │ │ │ └──> 
N

O

B

A

T

C

H

U

P

D

A

T

E
─┘ │ │ │ ├─┬──> 
C

D

D

L

I

N

K

S
──────┬──┤ │ │ │ └──> 
N

O

C

D

D

L

I

N

K

S
────┘ │ │ │ ├─┬──> 
D

A

T

A
───────────┬──┤ │ │ │ └──> 
N

O

D

A

T

A
─────────┘ │ │ │ └─┬──> 
T

R

A

C

E
──────────┬──┘ │ │ └──> 
N

O

T

R

A

C

E
────────┘ │ └───────────────<─────────────┘

Additional information available:

ACL_NOACLBATCH_UPDATENOBATCH_UPDATECDD_LINKS
NOCDD_LINKSDATA_NODATATRACE_NOTRACE

ACL_NOACL

 Determines whether the previously defined ACLs are used in the
 imported version of the database (ACL) or whether the ACLs from the
 interchange file are not used (NOACL).  The default is ACL.  The
 NOACL option overrides the access control lists specified in the
 original database and uses the system default access control lists.

BATCH_UPDATE

 Causes the IMPORT operation to run in batch-update mode.  This is the
 default.  No recovery-unit journaling is performed in batch-update
 mode.

NOBATCH_UPDATE

 Overrides the default and causes the IMPORT operation to run in
 exclusive share mode, rather than batch-update mode.  This provides
 recovery-unit journaling so that you can recover your database in the
 event of a failure during the IMPORT operation.

CDD_LINKS

 Causes the dictionary relationships to be preserved in the imported
 database.  If you specify CDD_LINKS, the IMPORT operation attempts to
 reconnect the fields and records to the dictionary pathname entities
 they reference.  If the dictionary entity no longer exists, you will
 receive a warning message.  The default is CDD_LINKS.

 You cannot specify CDD_LINKS and DICTIONARY IS NOT USED.

NOCDD_LINKS

 Causes the IMPORT operation to run without preserving dictionary
 relationships in the imported database.  Fields and records are not
 reconnected to the dictionary pathname entities they reference.

DATA_NODATA

 Specifies whether the RDB file created by the IMPORT statement
 includes the data and metadata contained in the database, or the
 metadata only.  DATA is the default.

 When you specify the NODATA option, you import the metadata that
 defines a database from an RBR file and exclude the data.

 The NODATA option is not compatible with CDD/Plus dictionary
 databases (CDD$DATABASE.RDB).  An RBR file, created by an EXPORT
 statement with the DATA option (the default) and generated from a
 CDD$DATABASE.RDB file, cannot be used with the NODATA option to the
 IMPORT statement.  RDO will issue an error message stating that the
 NODATA option is not valid for CDD/Plus dictionary databases.

TRACE_NOTRACE

 Specifies whether usage statistics are logged by IMPORT.  NOTRACE is
 the default.

 Some actions taken by the IMPORT statement can consume significant
 amounts of I/O, and CPU time.  These actions include the following
 operations:

  o  Loading data

  o  Defining indices

  o  Defining constraints


 When you specify the TRACE option with the IMPORT statement, RDO
 writes a message to your terminal screen when each operation begins,
 and writes a summary of DIO, CPU, and PAGE FAULT statistics when the
 operation completes.  When the IMPORT statement finishes execution, a
 summary of all DIO, CPU, and PAGE FAULT statistics is displayed.  The
 display also includes information on access to the RBR file, database
 creation and loading of data.

metadata-options

 Allows you to define or delete storage maps, storage areas, and
 indexes.

 When you include a metadata statement within the IMPORT statement,
 the metadata statement is NOT terminated with a period.

 metadata-options =

 ─┬─┬──────────────────────────────>────────────────────────────┬─┬──>
  │ ├─> define-storage-map-statement ───────────────────────────┤ │
  │ ├─> delete-storage-map-statement ───────────────────────────┤ │
  │ ├─> define-storage-area-clause ─────────────────────────────┤ │
  │ ├─> 
D

E

L

E

T

E

S

T

O

R

A

G

E

A

R

E

A
──────────────> storage-area-name ──┤ │ │ ├─> 
S

E

G

M

E

N

T

E

D

S

T

R

I

N

G

S

T

O

R

A

G

E

A

R

E

A
typebox (I)typebox (S) ─> storage-area-name ──┤ │ │ ├─> define-index-statement ─────────────────────────────────┤ │ │ └─> delete-index-statement ─────────────────────────────────┘ │ └───────────────────────────────<───────────────────────────────┘

Additional information available:

DELETE_STORAGE_AREASEGMENTED_STRING

define-storage-mapdelete-storage-mapdefine-storage-areadefine-index
delete-index

define-storage-map

 define-storage-map-statement =

 DEFINE STORAGE MAP ───────────> map-name ────────┐
 ┌────────────────────────<───────────────────────┘
 └─┬─────────────────────>───────────┬────────────┐
   └─> 
D

E

S

C

R

I

P

T

I

O

N
typebox (I)typebox (S) typebox (/)typebox (*) text */ ──┘ │ ┌────────────────────────────────────────────────┘ └───> 
F

O

R
───> relation-map-clause ──────────────┐ ┌───────────────────────────────<────────────────┘ └───> 
E

N

D
─┬───────>───────┬──> typebox (S)typebox (T)typebox (O)typebox (R)typebox (A)typebox (G)typebox (E) typebox (M)typebox (A)typebox (P) ──> └─> map-name ───┘ This statement defines a new storage map replaces the definition of an existing storage map contained in the interchange file. For more information on the DEFINE_STORAGE_MAP statement, see the top-level help topic DEFINE_STORAGE_MAP.

delete-storage-map

 delete-storage-map-statement =

 DELETE STORAGE MAP ─────> map-name ─────>

 This statement prevents use of a storage map definition from the
 interchange file.  The relation that would have used the storage map
 definition is placed in the system default storage area.

 For more information on the DELETE_STORAGE_MAP statement, see the
 top-level help topic DELETE_STORAGE_MAP.

define-storage-area

 define-storage-area-clause =

 ────> 
D

E

F

I

N

E

S

T

O

R

A

G

E

A

R

E

A
──┬────> storage-area-name ────┬──────┐ └────> typebox (R)typebox (D)typebox (B)typebox ($)typebox (S)typebox (Y)typebox (S)typebox (T)typebox (E)typebox (M) ───────────┘ │ ┌────────────────────────────────<──────────────────────────────┘ └─────> 
F

I

L

E

N

A

M

E
─────> file-spec ──┬────────────>─────────────┬───┐ └─> storage-area-options ──┘ │ ┌──────────────────────────────────<───────────────────────────────┘ └─────> 
E

N

D
───────┬──────────>───────────┬─> typebox (S)typebox (T)typebox (O)typebox (R)typebox (A)typebox (G)typebox (E) typebox (A)typebox (R)typebox (E)typebox (A) ────> ├─> storage-area-name ─┤ └─> typebox (R)typebox (D)typebox (B)typebox ($)typebox (S)typebox (Y)typebox (S)typebox (T)typebox (E)typebox (M) ────────┘ The define-storage-area-clause adds a new storage area or replaces the definition of an existing storage area contained in the interchange file. For more information on the define-storage-area-clause, see the help topic for DEFINE_DATABASE Format define-storage-area.

DELETE_STORAGE_AREA

 Prevents a storage area that was defined in the interchange file from
 being created in the new database.  You must also delete or redefine
 all storage maps and indexes that refer to this storage area.  You
 cannot delete the RDB$SYSTEM storage area.

SEGMENTED_STRING

 The name of the storage area that will hold all segmented strings.
 You can only specify the SEGMENTED STRING STORAGE AREA clause in a
 multifile database.  In a multifile database, if you do not
 explicitly define a storage area for segmented strings, they will be
 stored in the default storage area (RDB$SYSTEM).

 The page format for the segmented string storage area can be UNIFORM
 or MIXED.  However, Digital Equipment Corporation recommends that if
 you store segmented strings in a MIXED storage area, the storage area
 contain only segmented strings.

define-index

 DEFINEINDEX name ┬───────────────>────────────┬─> Ftypebox (O)typebox (R) relation-name ─┐
                   └> 
D

E

S

C

R

I

P

T

I

O

N
typebox (I)typebox (S) typebox (/)typebox (*) text */ ┘ │ ┌─────────────────────────────<───────────────────────────────────────┘ └───┬─────────>──────────┬────┬───────────>────────────┬───────┐ └> duplicates-clause ┘ └> index-storage-clause ─┘ │ ┌─────────────────────────────<────────────────────────────────┘ └─┬─────────────>───────────────┬───────────────────────────┬──┐ ├─> 
T

Y

P

E
typebox (I)typebox (S) ──┬───> 
H

A

S

H

E

D
───┘ │ │ │ └───> 
S

O

R

T

E

D
──> sorted-index-param-list ───┤ │ └──────────────> sorted-index-param-list ─────────────────┘ │ ┌───────────────────────── . <─────────────────────────────────┘ └┬─> field-name ──┬─┬──────────────────>────────────────┬─┬──┬─┐ │ │ ├> 
A

S

C

E

N

D

I

N

G
───────────────────────┤ │ │ │ │ │ ├> 
D

E

S

C

E

N

D

I

N

G
──────────────────────┤ │ │ │ │ │ ├> 
S

I

Z

E

I

S
n ───────────────────────┤ │ │ │ │ │ └> 
M

A

P

P

I

N

G

V

A

L

U

E

S
lo-val TO hi-val ─┘ │ │ │ │ └────────────────────<──────────────────┘ │ │ └───────────────────────── . <──────────────────────────────┘ │ ┌────────────────────────── . <────────────────────────────────┘ └─> 
E

N

D
┬───>────┬> typebox (I)typebox (N)typebox (D)typebox (E)X ─> └─> name ┘ This statement defines a new index or replaces an existing index definition contained in the interchange file. For more information on the DEFINE INDEX statement, see the top level help topic DEFINE_INDEX.

delete-index

 delete-index-statement =

 DELETE INDEX ──> index-name ──>

 This statement prevents creation of an index defined in the
 interchange file.

 For more information on the DELETE INDEX statement, see the top-level
 help topic DELETE_INDEX.

Examples

 Example 1

 The following example imports a database.  It also specifies the
 number of buffers and the length of each buffer in the imported
 database:


 RDO> IMPORT
 cont>  'DISK1:PERSONNEL.RBR'
 cont>   INTO 'DEPT3:NEW_PERSONNEL'
 cont>   NUMBER OF BUFFERS IS 10
 cont>   BUFFER SIZE IS 10 BLOCKS
 cont> END IMPORT.


 Example 2

 The following example imports a database without including its data.
 The NODATA option with the IMPORT statement creates an Rdb/VMS
 database whose metadata is identical to the metadata in the
 intermediate RBR file.


 RDO> IMPORT
 cont>  'DISK1:PERSONNEL.RBR'
 cont>   INTO 'DEPT3:NEW_PERSONNEL'
 cont>   NODATA
 cont> END IMPORT.


 Example 3

 The following example imports a database from a magnetic tape.



 $ MOUNT MUA0:
 _Label:  PERS
 _Log name:
 $ RDO
 RDO> IMPORT
 cont>  'MUA0:PERSONNEL' INTO
 cont>  'DEPT3:PERSONNEL'
 cont> END IMPORT.

 This statement reads the export copy of the database from the
 magnetic tape volume labeled PERS, mounted on device MUA0:.  It
 creates a new database in DEPT3:PERSONNEL.RDB, where DEPT3 is a
 logical name for a device and directory.


 Example 4

 The following example uses the RMU/DUMP command to check the current
 value of the node count, and then uses the IMPORT statement with the
 NUMBER VAXCLUSTER NODES clause to lower the node count parameter.  In
 this case, the Local Area VAXcluster contains 22 nodes; the default
 maximum for the VAXCLUSTER NODES parameter is 16.  This example sets
 the upper limit of user access from VAX nodes at 20.


 $ RMU/DUMP ACCTING
          .
          .
          .

     Maximum node count is 22
          .
          .
          .

 $ RDO
 RDO> EXPORT ACCTING.RDB INTO ACCOUNTING_TEST.RBR
 RDO> IMPORT ACCOUNTING_TEST.RBR INTO ACCOUNTING_TEST.RDB
 cont> NUMBER OF VAXCLUSTER NODES IS 20
 cont> END IMPORT.

 Example 5

 The following example uses the IMPORT statement to restructure a
 single-file database into a multifile database.  This example does
 not include all the storage areas and storage maps that are in the
 sample multifile MF_PERSONNEL database.


 $  RDO
 !
 ! Invoke a command file that has the IMPORT statement in it
 !
 RDO>  @IMPORT_PERS.RDO
 !
 !
 IMPORT 'DISK$BACK:PERSONNEL.RBR' INTO 'DB_DISK:MULTI_PERSONNEL.RDB'
 !
 ! Specify database-wide characteristics
 !
      NUMBER OF USERS IS 40
      NUMBER VAXCLUSTER NODES 12
      SNAPSHOT IS ENABLED IMMEDIATE
      DICTIONARY IS REQUIRED
      NUMBER RECOVERY BUFFERS 200
 !
 !
 ! Specify global defaults to override Rdb/VMS defaults
 !   for all storage areas
 !
      ALLOCATION IS 500 PAGES
      PAGE FORMAT IS MIXED
      THRESHOLDS ARE (55,65,75)
      INTERVAL IS 300
 !
 !
 ! Define the default storage area
 !
 DEFINE STORAGE AREA RDB$SYSTEM
   FILENAME IS DISK1:PERS_DEFAULT
   PAGE FORMAT IS UNIFORM
   SNAPSHOT_FILENAME IS DISK2:PERS_DEFAULT
 END RDB$SYSTEM STORAGE AREA
 !
 !
 ! Define storage area for segmented strings
 !
 DEFINE STORAGE AREA PERS_SEGSTR
   FILENAME IS DISK1:PERS_SEGSTR
   PAGE FORMAT IS MIXED
   SNAPSHOT_FILENAME IS DISK2:PERS_SEGSTR
 END PERS_SEGSTR STORAGE AREA
 !
 ! Put the segmented strings in the named storage area
 !
 SEGMENTED STRING STORAGE AREA IS PERS_SEGSTR
 !
 !
 ! Define other storage areas
 !  Storage area parameters specified within the DEFINE STORAGE AREA
 !  clause override the global defaults, and the Rdb/VMS defaults
 !
 DEFINE STORAGE AREA EMPIDS_LOW
   FILENAME IS DISK3:EMPIDS_LOW
   SNAPSHOT_FILENAME IS DISK4:EMPIDS_LOW
 END EMPIDS_LOW STORAGE AREA
 !
 !
 DEFINE STORAGE AREA EMPIDS_MID
   FILENAME IS DISK5:EMPIDS_MID
   SNAPSHOT_FILENAME IS DISK6:EMPIDS_MID
 END EMPIDS_MID STORAGE AREA
 !
 !
 DEFINE STORAGE AREA EMPIDS_OVER
   FILENAME IS DISK7:EMPIDS_OVER
   SNAPSHOT_FILENAME IS DISK8:EMPIDS_OVER
 END EMPIDS_OVER STORAGE AREA
 !
 !
 DEFINE STORAGE AREA EMP_INFO
   FILENAME IS DISK1:EMP_INFO
 !  Local definition overrides the global default
   THRESHOLDS ARE (65,75,85)
   INTERVAL IS 400
   SNAPSHOT_FILENAME IS DISK2:EMP_INFO
 END EMP_INFO STORAGE AREA
 !
 !
 !
 DEFINE INDEX EMPLOYEES_HASH
   DESCRIPTION IS /* hashed index for employees relation */
   FOR EMPLOYEES
   STORE USING EMPLOYEE_ID
   WITHIN
    EMPIDS_LOW WITH LIMIT OF "00200";
    EMPIDS_MID WITH LIMIT OF "00500";
    EMPIDS_OVER
   TYPE IS HASHED.
   EMPLOYEE_ID.
 END EMPLOYEES_HASH INDEX
 !
 !
 DEFINE STORAGE MAP EMP_MAP
   DESCRIPTION IS /* Employees records partitioned by EMPLOYEE_ID */
   FOR EMPLOYEES RELATION
   STORE USING EMPLOYEE_ID
   WITHIN
    EMPIDS_LOW WITH LIMIT OF "00200";
    EMPIDS_MID WITH LIMIT OF "00500";
    EMPIDS_OVER
   PLACEMENT VIA INDEX EMPLOYEES_HASH
 END EMP_MAP STORAGE MAP
 !
 !
 !  End the IMPORT statement
 !
 END IMPORT.


 Example 6

 The following example shows how to use the DICTIONARY IS NOT USED
 clause to prevent metadata from being written to the data dictionary.
 The IMPORT statement creates a database called RALLY$COMMERCE.
 Because the DICTIONARY IS NOT USED clause is specified, no metadata
 is written to the data dictionary during the IMPORT operation.

 RDO> IMPORT RALLY$COMMERCE.RBR INTO RALLY$COMMERCE
 cont>     NOCDD LINKS
 cont>     NOACL
 cont>     DICTIONARY IS NOT REQUIRED
 cont>     DICTIONARY IS NOT USED
 cont> END IMPORT.


 Example 7

 If you use the IMPORT statement to restructure a CDD/Plus dictionary,
 be sure to use the DICTIONARY IS NOT USED clause to prevent RDO from
 using the dictionary in any way:

 RDO> IMPORT CDDPLUS.RBR INTO CDD$DATABASE
 cont> DICTIONARY IS NOT USED
           .
           .
           .
 cont> END IMPORT.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026