RDB/VMS Relational Database Operator IMPORT — VMS RDB_4.0B
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. The IMPORT statement reads the records in this file and uses them to create an Rdb/VMS database.
Additional information available:
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
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 IMPORT 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:
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 ───┘
Additional information available:
path-namencs-nametextlibrary-namenumber-usersnumber-buffers
number-nodesrecovery-buffers
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 64 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.
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 ───────┘
Additional information available:
ADJUSTABLE_LOCKENABLED-IMMEDIATEENABLED-DEFERREDDISABLED
DICTIONARY
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.
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 ────────┘ │ └────────────────────────────<──────────────────────────────────┘
Additional information available:
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-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 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
define-index-statement = DEFINE INDEX 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-store-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 ┬┬─────────────>──────────┬┬┬>
E
N
D ┬────>──┬>
I
N
D
E
X ─> │ │├>
A
S
C
E
N
D
I
N
G ────────────┤││ └> name ┘ │ │├>
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 l TO h ┘││ │ └──────────────<───────────┘│ └──────────────────── . <─────────────────┘ 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.