Before Using Export
·
Run the catexp.sql or catalog.sql script
·
Ensure there
is sufficient disk or tape storage to write the export file
·
Verify that
you have the required access privileges
To use Export, you must run the script catexp.sql or catalog.sql (which runs
catexp.sql) after the database has been created.
catexp.sql or catalog.sql needs to be
run only once on a database.
You do not need to run it again before you perform the export. The
script performs the following tasks to prepare the database for Export:
·
Creates the necessary
export views in the data dictionary
·
Creates the EXP_FULL_DATABASE role
·
Assigns all
necessary privileges to the EXP_FULL_DATABASE role
·
Assigns EXP_FULL_DATABASE to the DBA role
·
Records the
version of catexp.sql that has been installed
Ensuring
Sufficient Disk Space
Before you run Export, ensure that there is sufficient disk or
tape storage space to write the export file. If there is not enough space,
Export terminates with a write-failure error.
You can use table sizes to estimate the maximum space needed. You
can find table sizes in the USER_SEGMENTS view of the
Oracle data dictionary. The following query displays disk usage for all tables:
SELECT SUM(BYTES) FROM USER_SEGMENTS WHERE SEGMENT_TYPE='TABLE';
The result of the query does not include disk space used for data
stored in LOB (large object) or VARRAY columns or in partitioned tables.
Verifying
Access Privileges
To use Export, you must have the CREATE SESSION privilege on an Oracle database. To export
tables owned by another user, you must have the EXP_FULL_DATABASE role enabled. This role is granted to all
DBAs.
If you do not have the system privileges contained in the EXP_FULL_DATABASE role, you cannot export objects contained in
another user's schema. For example, you cannot export a table in another user's
schema, even if you created a synonym for it.
The following schema names are reserved and will not be processed
by Export:
·
ORDSYS
·
MDSYS
·
CTXSYS
·
ORDPLUGINS
·
LBACSYS
Invoking
Export
You can invoke Export and specify parameters by using any of the
following methods:
·
Command-line
entries
·
Interactive
Export prompts
·
Parameter
files
Before you use one of these methods to invoke Export, be sure to
read the descriptions of the available parameters
Command-Line
Entries
You can specify all valid parameters and their values from the
command line using the following syntax:
exp username/password PARAMETER=value
or
exp username/password PARAMETER=(value1,value2,...,valuen)
The number of parameters cannot exceed the maximum length of a
command line on the system.
Interactive
Export Prompts
If you prefer to let Export prompt you for the value of each
parameter, you can use the following syntax to start Export in interactive mode:
exp username/password
Export will display commonly used parameters with a request for
you to enter a value. This method exists for backward compatibility and is not
recommended because it provides less functionality than the other methods.
Parameter
Files
You can specify all valid parameters and their values in a
parameter file. Storing the parameters in a file allows them to be easily
modified or reused, and is the recommended method for invoking Export. If you
use different parameters for different databases, you can have multiple
parameter files.
Create the parameter file using any flat file text editor. The
command-line option PARFILE=filename tells
Export to read the parameters from the specified file rather than from the
command line. For example:
exp PARFILE=filename
exp username/password PARFILE=filename
The first example does not specify the username/password on the command line to illustrate that you
can specify them in the parameter file, although, for security reasons, this is
not recommended.
The syntax for parameter file specifications is one of the
following:
PARAMETER=value
PARAMETER=(value)
PARAMETER=(value1, value2, ...)
The following example shows a partial parameter file listing:
FULL=y
FILE=dba.imp
GRANTS=y
INDEXES=y
CONSISTENT=y
You can add comments to the parameter file by preceding them with
the pound (#) sign. Export ignores all characters to the right of the pound (#)
sign.
You can specify a parameter file at the same time that you are
entering parameters on the command line. In fact, you can specify the same
parameter in both places. The position of the PARFILE parameter and other parameters on the
command line determines which parameters take precedence. For example, assume
the parameter file params.dat contains
the parameter INDEXES=y and Export
is invoked with the following line:
exp username/password PARFILE=params.dat INDEXES=n
In this case, because INDEXES=n occurs
after PARFILE=params.dat, INDEXES=n overrides
the value of the INDEXES parameter
in the parameter file.
Invoking
Export As SYSDBA
SYSDBA is used internally and has specialized
functions; its behavior is not the same as for generalized users. Therefore,
you should not typically need to invoke Export as SYSDBA, except in the following situations:
·
At the request
of Oracle technical support
·
When using
transportable tablespaces
Transportable
Tablespaces
The transportable tablespace feature enables you to move a set of
tablespaces from one Oracle database to another.
To move or copy a set of tablespaces, you must make the
tablespaces read-only, copy the datafiles of these tablespaces, and use Export
and Import to move the database information (metadata) stored in the data
dictionary. Both the datafiles and the metadata export file must be copied to
the target database. The transport of these files can be done using any
facility for copying flat binary files, such as the operating system copying
facility, binary-mode FTP, or publishing on CD-ROMs.
After copying the datafiles and exporting the metadata, you can optionally
put the tablespaces in read/write mode.
Export provides the following parameters to enable export of
transportable tablespace metadata.
·
TABLESPACES
·
TRANSPORT_TABLESPACE
To invoke Export as SYSDBA, use the
following syntax, adding any desired parameters or parameter filenames:
exp \'username/password AS SYSDBA\'
Optionally, you could also specify an instance name:
exp \'username/password@instance AS SYSDBA\'
If either the username or password is omitted, Export will prompt
you for it.
Export
Modes
The Export utility provides four modes of export:
·
Full
·
User (Owner)
·
Table
·
Tablespace
All users can export in table mode and user mode. Users with the EXP_FULL_DATABASE role (privileged users) can export in all
modes.
Objects Exported
and Imported in Each Mode
Object
|
Table Mode
|
User Mode
|
Full Database
Mode
|
Tablespace Mode
|
Analyze cluster
|
No
|
Yes
|
Yes
|
No
|
Analyze tables/statistics
|
Yes
|
Yes
|
Yes
|
Yes
|
Application contexts
|
No
|
No
|
Yes
|
No
|
Auditing information
|
Yes
|
Yes
|
Yes
|
No
|
B-tree, bitmap, domain functional indexes
|
|
|
Yes
|
Yes
|
Cluster definitions
|
No
|
Yes
|
Yes
|
Yes
|
Column and table comments
|
Yes
|
Yes
|
Yes
|
Yes
|
Database links
|
No
|
Yes
|
Yes
|
No
|
Default roles
|
No
|
No
|
Yes
|
No
|
Dimensions
|
No
|
Yes
|
Yes
|
No
|
Directory aliases
|
No
|
No
|
Yes
|
No
|
External tables (without data)
|
Yes
|
Yes
|
Yes
|
No
|
Foreign function libraries
|
No
|
Yes
|
Yes
|
No
|
Indexes owned by users other than table
owner
|
Yes (Privileged users only)
|
Yes
|
Yes
|
Yes
|
Index types
|
No
|
Yes
|
Yes
|
No
|
Java resources and classes
|
No
|
Yes
|
Yes
|
No
|
Job queues
|
No
|
Yes
|
Yes
|
No
|
Nested table data
|
Yes
|
Yes
|
Yes
|
Yes
|
Object grants
|
Yes (Only for tables and indexes)
|
Yes
|
Yes
|
Yes
|
Object type definitions used by table
|
Yes
|
Yes
|
Yes
|
Yes
|
Object types
|
No
|
Yes
|
Yes
|
No
|
Operators
|
No
|
Yes
|
Yes
|
No
|
Password history
|
No
|
No
|
Yes
|
No
|
Postinstance actions and objects
|
No
|
No
|
Yes
|
No
|
Postschema procedural actions and objects
|
No
|
Yes
|
Yes
|
No
|
Posttable actions
|
Yes
|
Yes
|
Yes
|
Yes
|
Posttable procedural actions and objects
|
Yes
|
Yes
|
Yes
|
Yes
|
Preschema procedural objects and actions
|
No
|
Yes
|
Yes
|
No
|
Pretable actions
|
Yes
|
Yes
|
Yes
|
Yes
|
Pretable procedural actions
|
Yes
|
Yes
|
Yes
|
Yes
|
Private synonyms
|
No
|
Yes
|
Yes
|
No
|
Procedural objects
|
No
|
Yes
|
Yes
|
No
|
Profiles
|
No
|
No
|
Yes
|
No
|
Public synonyms
|
No
|
No
|
Yes
|
No
|
Referential integrity constraints
|
Yes
|
Yes
|
Yes
|
No
|
Refresh groups
|
No
|
Yes
|
Yes
|
No
|
Resource costs
|
No
|
No
|
Yes
|
No
|
Role grants
|
No
|
No
|
Yes
|
No
|
Roles
|
No
|
No
|
Yes
|
No
|
Rollback segment definitions
|
No
|
No
|
Yes
|
No
|
Security policies for table
|
Yes
|
Yes
|
Yes
|
Yes
|
Sequence numbers
|
No
|
Yes
|
Yes
|
No
|
Snapshot logs
|
No
|
Yes
|
Yes
|
No
|
Snapshots and materialized views
|
No
|
Yes
|
Yes
|
No
|
System privilege grants
|
No
|
No
|
Yes
|
No
|
Table constraints (primary, unique, check)
|
Yes
|
Yes
|
Yes
|
Yes
|
Table data
|
Yes
|
Yes
|
Yes
|
No
|
Table definitions
|
Yes
|
Yes
|
Yes
|
Yes
|
Tablespace definitions
|
No
|
No
|
Yes
|
No
|
Tablespace quotas
|
No
|
No
|
Yes
|
No
|
Triggers
|
Yes
|
|
|
Yes
|
Triggers owned by other users
|
Yes (Privileged users only)
|
No
|
No
|
No
|
User definitions
|
No
|
No
|
Yes
|
No
|
User proxies
|
No
|
No
|
Yes
|
No
|
User views
|
No
|
Yes
|
Yes
|
No
|
User-stored procedures, packages, and
functions
|
No
|
Yes
|
Yes
|
No
|
Table-Level
and Partition-Level Export
You can export tables, partitions, and subpartitions in the
following ways:
·
Table-level
Export: exports all data from the specified tables
·
Partition-level
Export: exports only data from the specified source partitions or subpartitions
In all modes, partitioned data is exported in a format such that
partitions or subpartitions can be imported selectively.
Table-Level
Export
In table-level Export, you can export an entire table (partitioned
or nonpartitioned) along with its indexes and other table-dependent objects. If
the table is partitioned, all of its partitions and subpartitions are also
exported. This applies to both direct path Export and conventional path Export.
You can perform a table-level export in any Export mode.
Partition-Level
Export
In partition-level Export, you can export one or more specified
partitions or subpartitions of a table. You can only perform a partition-level
export in Table mode.
Processing
Restrictions
The following restrictions apply when you process data with the
Export and Import utilities:
·
Java
classes, resources, and procedures that are created using Enterprise Java Beans
(EJBs) are not placed in the export file.
·
Constraints
that have been altered using the RELY keyword
lose the RELY attribute when they are exported.
·
When a type
definition has evolved and then data referencing that evolved type is exported,
the type definition on the import system must have evolved in the same manner.
Export Parameters
BUFFER
Default: operating system-dependent. See your Oracle operating
system-specific documentation to determine the default value for this
parameter.
Specifies the size, in bytes, of the buffer used to fetch rows. As
a result, this parameter determines the maximum number of rows in an array
fetched by Export. Use the following formula to calculate the buffer size:
buffer_size = rows_in_array * maximum_row_size
If you specify zero, the Export utility fetches only one row at a
time.
Tables with columns of type LONG, LOB, BFILE, REF, ROWID, LOGICAL ROWID, or DATE are fetched one row at a time.
Note:
The BUFFER parameter
applies only to conventional path Export. It has no effect on a direct path
Export.
Example:
Calculating Buffer Size
This section shows an example of how to calculate buffer size.
The following table is created:
CREATE TABLE sample (name varchar(30), weight number);
The maximum size of the name column is
30, plus 2 bytes for the indicator. The maximum size of the weight column is 22 (the size of the internal
representation for Oracle numbers), plus 2 bytes for the indicator.
Therefore, the maximum row size is 56 (30+2+22+2).
To perform array operations for 100 rows, a buffer size of 5600
should be specified.
COMPRESS
Default: y
Specifies how Export and Import manage the initial extent for
table data.
The default, COMPRESS=y, causes
Export to flag table data for consolidation into one initial extent upon
Import. If extent sizes are large (for example, because of the PCTINCREASE parameter), the allocated space will be
larger than the space required to hold the data.
If you specify COMPRESS=n, Export uses
the current storage parameters, including the values of initial extent size and
next extent size. The values of the parameters may be the values specified in
the CREATE
TABLE or ALTER
TABLE statements or the values
modified by the database system. For example, the NEXT extent size value may be modified if the
table grows and if the PCTINCREASE parameter
is nonzero.
Note:
Although the actual consolidation is performed upon import, you
can specify the COMPRESS parameter
only when you export, not when you import. The Export utility, not the Import
utility, generates the data definitions, including the storage parameter
definitions. Therefore, if you specify COMPRESS=y when you
export, you can import the data in consolidated form only.
Note:
LOB data is not compressed. For LOB data, values of initial extent
size and next extent size at the time of export are used.
CONSISTENT
Default: n
Specifies whether or not Export uses the SET
TRANSACTION READ ONLY statement
to ensure that the data seen by Export is consistent to a single point in time
and does not change during the execution of the exp command. You should specify CONSISTENT=y when you anticipate that other applications
will be updating the target data after an export has started.
If you use CONSISTENT=n, each table
is usually exported in a single transaction. However, if a table contains
nested tables, the outer table and each inner table are exported as separate
transactions. If a table is partitioned, each partition is exported as a
separate transaction.
Therefore, if nested tables and partitioned tables are being
updated by other applications, the data that is exported could be inconsistent.
To minimize this possibility, export those tables at a time when updates are
not being done.
Sequence of Events
During Updates by Two Users
TIme Sequence
|
User1
|
User2
|
1
|
Begins export of TAB:P1
|
No activity
|
2
|
No activity
|
Updates TAB:P2
Updates TAB:P1
Commits transaction
|
3
|
Ends export of TAB:P1
|
No activity
|
4
|
Exports TAB:P2
|
No activity
|
If the export uses CONSISTENT=y, none of the
updates by user2 are written to the export file.
If the export uses CONSISTENT=n, the updates
to TAB:P1 are not written to the export file. However, the updates to TAB:P2
are written to the export file because the update transaction is committed
before the export of TAB:P2 begins. As a result, the user2 transaction is only partially recorded in
the export file, making it inconsistent.
If you use CONSISTENT=y and the
volume of updates is large, the rollback segment usage will be large. In
addition, the export of each table will be slower because the rollback segment
must be scanned for uncommitted transactions.
Keep in mind the following points about using CONSISTENT=y:
·
CONSISTENT=y is
unsupported for exports that are performed when you are connected as user SYS or you are using AS SYSDBA, or both.
·
Export of
certain metadata may require the use of the SYS schema within recursive SQL. In such
situations, the use of CONSISTENT=y will be
ignored. Oracle Corporation recommends that you avoid making metadata changes
during an export process in which CONSISTENT=y is
selected.
·
To minimize
the time and space required for such exports, you should export tables that
need to remain consistent separately from those that do not.
For example, export the emp and dept tables together in a consistent export, and
then export the remainder of the database in a second pass.
·
A
"snapshot too old" error occurs when rollback space is used up, and
space taken up by committed transactions is reused for new transactions.
Reusing space in the rollback segment allows database integrity to be preserved
with minimum space requirements, but it imposes a limit on the amount of time
that a read-consistent image can be preserved.
If a committed transaction has been overwritten and the
information is needed for a read-consistent view of the database, a
"snapshot too old" error results.
To avoid this error, you should minimize the time taken by a
read-consistent export. (Do this by restricting the number of objects exported
and, if possible, by reducing the database transaction rate.) Also, make the
rollback segment as large as possible.
CONSTRAINTS
Default: y
Specifies whether or not the Export utility exports table
constraints.
DIRECT
Default: n
Specifies whether you use direct path or conventional path Export.
Specifying DIRECT=y causes
Export to extract data by reading the data directly, bypassing the SQL
command-processing layer (evaluating buffer). This method can be much faster
than a conventional path Export.
FEEDBACK
Default: 0 (zero)
Specifies that Export should display a progress meter in the form
of a period for n number of
rows exported. For example, if you specify FEEDBACK=10, Export displays a period each time 10 rows
are exported. The FEEDBACK value
applies to all tables being exported; it cannot be set on a per-table basis.
FILESIZE
Default: Data is written to one file until the maximum size, as
specified in Table 1-3, is reached.
Export supports writing to multiple export files, and Import can
read from multiple export files. If you specify a value (byte limit) for the FILESIZE parameter, Export will write only the number
of bytes you specify to each dump file.
When the amount of data Export must write exceeds the maximum
value you specified for FILESIZE, it will get
the name of the next export file from the FILE parameter
(see FILEHYPERLINK "ch01.htm"
\l "1005702" for more information) or, if it has used all
the names specified in the FILE parameter,
it will prompt you to provide a new export filename. If you do not specify a
value for FILESIZE (note that a value of 0 is equivalent to not
specifying FILESIZE), then Export will write to only one file,
regardless of the number of files specified in the FILE parameter.
Note:
If the space requirements of your export
file exceed the available disk space, Export will abort, and you will have to
repeat the Export after making sufficient disk space available.
|
The FILESIZE parameter
has a maximum value equal to the maximum value that can be stored in 64 bits.
The FILESIZE value can
also be specified as a number followed by KB (number of kilobytes). For
example, FILESIZE=2KB is the same as FILESIZE=2048. Similarly, MB specifies megabytes (1024 *
1024) and GB specifies gigabytes (1024**3). B remains the shorthand for bytes;
the number is not multiplied to obtain the final file size (FILESIZE=2048B is the same as FILESIZE=2048).
FLASHBACK_SCN
Default: none
Specifies the system change number (SCN) that Export will use to
enable flashback. The export operation is performed with data consistent as of
this specified SCN.
FLASHBACK_TIME
Default: none
Specifies a time. Export finds the SCN that most closely matches
the specified time. This SCN is used to enable flashback. The export operation
is performed with data consistent as of this SCN.
FULL
Default: n
Indicates that the Export is a full database mode Export (that is,
it exports the entire database). Specify FULL=y to export
in full database mode. You need to have the EXP_FULL_DATABASE role to export in this mode.
GRANTS
Default: y
Specifies whether or not the Export utility exports object grants.
The object grants that are exported depend on whether you use full database
mode or user mode. In full database mode, all grants on a table are exported.
In user mode, only those granted by the owner of the table are exported. System
privilege grants are always exported.
HELP
Default: none
Displays a description of the Export parameters. Enter exp help=y on the
command line to invoke it.
INDEXES
Default: y
Specifies whether or not the Export utility exports indexes.
LOG
Default: none
Specifies a filename to receive informational and error messages.
For example:
exp SYSTEM/password LOG=export.log
If you specify this parameter, messages are logged in the log file
and displayed to the terminal display.
OBJECT_CONSISTENT
Default: n
Specifies whether or not the Export utility uses the SET TRANSACTION READ ONLY statement
to ensure that the data exported is consistent to a single point in time and
does not change during the export. If OBJECT_CONSISTENT is set to y, each object is exported in its own
read-only transaction, even if it is partitioned. In contrast, if you use the CONSISTENT parameter, then there is only one read-only
transaction.
OWNER
Default: none
Indicates that the Export is a user-mode Export and lists the
users whose objects will be exported. If the user initiating the export is the
DBA, multiple users may be listed.
PARFILE
Default: none
QUERY
Default: none
This parameter allows you to select a subset of rows from a set of
tables when doing a table mode export. The value of the query parameter is a
string that contains a WHERE clause for
a SQL SELECT statement that will be applied to all tables
(or table partitions) listed in the TABLE parameter.
For example, if user scott wants to
export only those employees whose job title is SALESMAN and whose salary is less than 1600, he could
do the following (this example is UNIX-based):
exp scott/tiger TABLES=emp QUERY=\"WHERE job=\'SALESMAN\'
and sal \<1600\"
When executing this query, Export builds a SQL SELECT statement similar to the following:
SELECT * FROM emp WHERE job='SALESMAN' and sal <1600;
The values specified for the QUERY parameter
are applied to all tables (or table partitions) listed in the TABLE parameter. For example, the following
statement will unload rows in both emp and bonus that match the query:
exp scott/tiger TABLES=emp,bonus QUERY=\"WHERE
job=\'SALESMAN\' and sal\<1600\"
Again, the SQL statements that Export executes are similar to the
following:
SELECT * FROM emp WHERE job='SALESMAN' and sal <1600;
SELECT * FROM bonus WHERE job='SALESMAN' and sal <1600;
If a table is missing the columns specified in the QUERY clause, an error message will be produced,
and no rows will be exported for the offending table
Restrictions
·
The
parameter QUERY cannot be specified for full, user, or
tablespace mode exports.
·
The
parameter QUERY must be applicable to all specified tables.
·
The
parameter QUERY cannot be specified in a direct path export
(DIRECT=y)
·
The
parameter QUERY cannot be specified for tables with inner
nested tables.
·
You cannot
determine from the contents of the export file whether the data is the result
of a QUERY export.
RECORDLENGTH
Default: operating system-dependent
Specifies the length, in bytes, of the file record. The RECORDLENGTH parameter is necessary when you must
transfer the export file to another operating system that uses a different
default value.
If you do not define this parameter, it defaults to your
platform-dependent value for buffer size. For more information about the buffer
size default value, see your Oracle operating system-specific documentation.
You can set RECORDLENGTH to any
value equal to or greater than your system's buffer size. (The highest value is
64 KB.) Changing the RECORDLENGTH parameter
affects only the size of data that accumulates before writing to the disk. It
does not affect the operating system file block size.
See your Oracle operating system-specific documentation to
determine the proper value or to create a file with a different record size.
RESUMABLE
Default: n
The RESUMABLE parameter
is used to enable and disable resumable space allocation. Because this
parameter is disabled by default, you must set RESUMABLE=y in order to use its associated parameters, RESUMABLE_NAME and RESUMABLE_TIMEOUT.
RESUMABLE_NAME
Default: 'User USERNAME (USERID), Session SESSIONID, Instance INSTANCEID'
The value for this parameter identifies the statement that is
resumable. This value is a user-defined text string that is inserted in either
the USER_RESUMABLE or DBA_RESUMABLE view to
help you identify a specific resumable statement that has been suspended.
This parameter is ignored unless the RESUMABLE parameter is set to y to enable resumable space allocation.
RESUMABLE_TIMEOUT
Default: 7200 seconds (2 hours)
The value of the parameter specifies the time period during which
an error must be fixed. If the error is not fixed within the timeout period,
execution of the statement is aborted.
This parameter is ignored unless the RESUMABLE parameter is set to y to enable resumable space allocation.
ROWS
Default: y
Specifies whether or not the rows of table data are exported.
STATISTICS
Default: ESTIMATE
In some cases, Export will place the precalculated statistics in
the export file as well as the ANALYZE statements
to regenerate the statistics.
However, the precalculated optimizer statistics will not be used
at export time if a table has columns with system-generated names.
The precalculated optimizer statistics are flagged as questionable
at export time if:
·
There are
row errors while exporting
·
The client
character set or NCHAR character
set does not match the server character set or NCHAR character set
·
A QUERY clause is specified
·
Only certain
partitions or subpartitions are exported
TABLES
Default: none
Specifies that the Export is a table-mode Export and lists the
table names and partition and subpartition names to export. You can specify the
following when you specify the name of the table:
·
schemaname specifies
the name of the user's schema from which to export the table or partition. The
schema names ORDSYS, MDSYS, CTXSYS, and ORDPLUGINS are
reserved by Export.
·
tablename specifies
the name of the table or tables to be exported. Table-level export lets you
export entire partitioned or nonpartitioned tables. If a table in the list is
partitioned and you do not specify a partition name, all its partitions and
subpartitions are exported.
The table name can contain any number of '%' pattern matching
characters, which can each match zero or more characters in the table name
against the table objects in the database. All the tables in the relevant
schema that match the specified pattern are selected for export, as if the
respective table names were explicitly specified in the parameter.
·
partition_name indicates
that the export is a partition-level Export. Partition-level Export lets you
export one or more specified partitions or subpartitions within a table.
The syntax you use to specify the preceding is in the form:
schemaname.tablename:partition_name
schemaname.tablename:subpartition_name
If you use tablename:partition_name, the
specified table must be partitioned, and partition_name must be the name of one of its partitions or
subpartitions. If the specified table is not partitioned, the partition_name is ignored and the entire table is exported.
Note:
Some operating systems, such as UNIX,
require that you use escape characters before special characters, such as a
parenthesis, so that the character is not treated as a special character. On
UNIX, use a backslash (\) as the escape character, as shown in the following
example:
TABLES=\(emp,dept\)
|
Table
Name Restrictions
The following restrictions apply to table names:
·
By default,
table names in a database are stored as uppercase. If you have a table name in
mixed-case or lowercase, and you want to preserve case-sensitivity for the
table name, you must enclose the name in quotation marks. The name must exactly
match the table name stored in the database.
Some operating systems require that quotation marks on the command
line be preceded by an escape character. The following are examples of how
case-sensitivity can be preserved in the different Export modes.
·
In
command-line mode:
TABLES='\"Emp\"'
·
In
interactive mode:
Table(T) to be exported: "Emp"
·
In parameter
file mode:
TABLES='"Emp"'
·
Table names
specified on the command line cannot include a pound (#) sign, unless the table
name is enclosed in quotation marks. Similarly, in the parameter file, if a
table name includes a pound (#) sign, the Export utility interprets the rest of
the line as a comment, unless the table name is enclosed in quotation marks.
For example, if the parameter file contains the following line,
Export interprets everything on the line after emp# as a comment and does not export the tables dept and mydata:
TABLES=(emp#, dept, mydata)
However, given the following line, the Export utility exports all
three tables because emp# is enclosed
in quotation marks:
TABLES=("emp#", dept, mydata)
Note:
Some operating systems require single
quotation marks rather than double quotation marks, or the reverse; see your
Oracle operating system-specific documentation. Different operating systems
also have other restrictions on table naming.
For example, the UNIX C shell attaches a
special meaning to a dollar sign ($) or pound sign (#) (or certain other
special characters). You must use escape characters to get such characters in
the name past the shell and into Export.
|
For a TABLES parameter
that specifies multiple schema.tablename:(sub)partition_name arguments, Export attempts to purge
duplicates before processing the list of objects.
TABLESPACES
Default: none
The TABLESPACES parameter
specifies that all tables in the tablespace be exported to the Export dump
file. This includes all tables contained in the list of tablespaces and all
tables that have a partition located in the list of tablespaces. Indexes are
exported with their tables, regardless of where the index is stored.
You must have the EXP_FULL_DATABASE role to use
TABLESPACES to export all tables in the tablespace.
When TABLESPACES is used in
conjunction with TRANSPORT_TABLESPACE=y, you can
specify a limited list of tablespaces to be exported from the database to the
export file.
TRANSPORT_TABLESPACE
Default: n
When specified as y, this
parameter enables the export of transportable tablespace metadata.
TRIGGERS
Default: y
Specifies whether or not the Export utility exports triggers.
TTS_FULL_CHECK
Default: FALSE
When TTS_FULL_CHECK is set to TRUE, Export verifies that a recovery set (set of
tablespaces to be recovered) has no dependencies (specifically, IN pointers) on
objects outside the recovery set, and vice versa.
USERID
(username/password)
Default: none
Specifies the username/password (and
optional connect string) of the user performing the export. If you omit the
password, Export will prompt you for it.
USERID can also be:
username/password AS SYSDBA
or
username/password@instance AS SYSDBA
If you connect as user SYS, you must
also specify AS
SYSDBA in the connect string. Your
operating system may require you to treat AS SYSDBA as a
special string, in which case the entire string would be enclosed in quotation
marks. See Invoking Export As SYSDBAHYPERLINK
"ch01.htm" \l "1004864" for more information.
See Also:
·
The user's
guide for your Oracle Net protocol for information about specifying the @connect_string for Oracle Net
|
VOLSIZE
Specifies the maximum number of bytes in an export file on each
volume of tape.
The VOLSIZE parameter
has a maximum value equal to the maximum value that can be stored in 64 bits.
See your Oracle operating system-specific documentation for more information.
The VOLSIZE value can
be specified as a number followed by KB (number of kilobytes). For example, VOLSIZE=2KB is the same as VOLSIZE=2048. Similarly, MB specifies megabytes (1024 *
1024) and GB specifies gigabytes (1024**3). B remains the shorthand for bytes;
the number is not multiplied to get the final file size (VOLSIZE=2048B is the same as VOLSIZE=2048).
Parameter
Interactions
Certain parameters can conflict with each other. For example,
because specifying TABLES can
conflict with an OWNER
specification, the following command causes Export to terminate with an error:
exp SYSTEM/password OWNER=jones TABLES=scott.emp
Similarly, OWNER and TABLES conflict with FULL=y.
Example
Export Sessions
This section provides examples of the following types of Export
sessions:
In each example, you are shown how to use both the command-line
method and the parameter file method.
Example
Export Session in Full Database Mode
Only users with the DBA role or the
EXP_FULL_DATABASE role can export in full database mode. In
this example, an entire database is exported to the file dba.dmp with all GRANTS and all data.
Parameter File
Method
> exp SYSTEM/password PARFILE=params.dat
The params.dat file
contains the following information:
FILE=dba.dmp
GRANTS=y
FULL=y
ROWS=y
Command-Line
Method
> exp SYSTEM/password FULL=y FILE=dba.dmp GRANTS=y
ROWS=y
Example
Export Session in User Mode
User mode exports can be used to back up one or more database
users. For example, a DBA may want to back up the tables of deleted users for a
period of time. User mode is also appropriate for users who want to back up
their own data or who want to move objects from one owner to another. In this
example, user scott is
exporting his own tables.
Parameter File
Method
> exp scott/tiger PARFILE=params.dat
The params.dat file
contains the following information:
FILE=scott.dmp
OWNER=scott
GRANTS=y
ROWS=y
COMPRESS=y
Command-Line
Method
> exp scott/tiger FILE=scott.dmp OWNER=scott GRANTS=y ROWS=y
COMPRESS=y
Example
Export Sessions in Table Mode
In table mode, you can export table data or the table definitions.
(If no rows are exported, the CREATE TABLE statement
is placed in the export file, with grants and indexes, if they are specified.)
A user with the EXP_FULL_DATABASE role can
use table mode to export tables from any user's schema by specifying TABLES=schemaname.tablename.
If schemaname is not
specified, Export defaults to the previous schema name from which an object was
exported. If there is not a previous object, Export defaults to the exporter's
schema. In the following example, Export defaults to the SYSTEM schema for table a and to scott for table c:
> exp SYSTEM/password TABLES=(a, scott.b, c, mary.d)
A user with the EXP_FULL_DATABASE role can
also export dependent objects that are owned by other users. A nonprivileged
user can export only dependent objects for the specified tables that the user
owns.
Exports in table mode do not include cluster definitions. As a
result, the data is exported as unclustered tables. Thus, you can use table
mode to uncluster tables.
Example
1: DBA Exporting Tables for Two Users
In this example, a DBA exports specified tables for two users.
Parameter File
Method
> exp SYSTEM/password PARFILE=params.dat
The params.dat file
contains the following information:
FILE=expdat.dmp
TABLES=(scott.emp,blake.dept)
GRANTS=y
INDEXES=y
Command-Line
Method
> exp SYSTEM/password FILE=expdat.dmp
TABLES=(scott.emp,blake.dept) GRANTS=y-
INDEXES=y
Example
2: User Exports Tables That He Owns
In this example, user blake exports selected
tables that he owns.
Parameter File
Method
> exp blake/paper PARFILE=params.dat
The params.dat file
contains the following information:
FILE=blake.dmp
TABLES=(dept,manager)
ROWS=y
COMPRESS=y
Command-Line
Method
> exp blake/paper FILE=blake.dmp TABLES=(dept, manager)
ROWS=y COMPRESS=y
Example
3: Using Pattern Matching to Export Various Tables
In this example, pattern matching is used to export various tables
for users scott and blake.
Parameter File
Method
> exp SYSTEM/password PARFILE=params.dat
The params.dat file
contains the following information:
FILE=misc.dmp
TABLES=(scott.%P%,blake.%,scott.%S%)
Command-Line
Method
> exp SYSTEM/password FILE=misc.dmp
TABLES=(scott.%P%,blake.%,scott.%S%)
Example
Export Session Using Partition-Level Export
In partition-level export, you can specify the partitions and
subpartitions of a table that you want to export.
Example
1: Exporting a Table Without Specifying a Partition
Assume emp is a table
that is partitioned on employee name. There are two partitions, m and z. As this
example shows, if you export the table without specifying a partition, all of
the partitions are exported.
Parameter File
Method
> exp scott/tiger PARFILE=params.dat
The params.dat file
contains the following:
TABLES=(emp)
ROWS=y
Command-Line
Method
> exp scott/tiger TABLES=emp rows=y
Example
2: Exporting a Table with a Specified Partition
Assume emp is a table
that is partitioned on employee name. There are two partitions, m and z. As this
example shows, if you export the table and specify a partition, only the
specified partition is exported.
Parameter File
Method
> exp scott/tiger
PARFILE=params.dat
The params.dat file
contains the following:
TABLES=(emp:m)
ROWS=y
Command-Line
Method
> exp scott/tiger TABLES=emp:m rows=y
Example
3: Exporting a Composite Partition
Assume emp is a
partitioned table with two partitions, m and z. Table emp is
partitioned using the composite method. Partition m has subpartitions sp1 and sp2, and
partition z has subpartitions sp3 and sp4. As the
example shows, if you export the composite partition m, all its subpartitions (sp1 and sp2) will be
exported. If you export the table and specify a subpartition (sp4), only the specified subpartition is
exported.
Parameter File
Method
> exp scott/tiger PARFILE=params.dat
The params.dat file
contains the following:
TABLES=(emp:m,emp:sp4)
ROWS=y
Command-Line
Method
> exp scott/tiger TABLES=(emp:m, emp:sp4) ROWS=y
Restrictions
Keep in mind the following points when you use the interactive
method:
·
In user
mode, Export prompts for all usernames to be included in the export before
exporting any data. To indicate the end of the user list and begin the current
Export session, press Enter.
·
In table
mode, if you do not specify a schema prefix, Export defaults to the exporter's
schema or the schema containing the last table exported in the current session.
For example, if beth is a
privileged user exporting in table mode, Export assumes that all tables are in
the beth schema until another schema is specified.
Only a privileged user (someone with the EXP_FULL_DATABASE role) can
export tables in another user's schema.
·
If you
specify a null table list to the prompt "Table to be exported," the
Export utility exits.
Warning,
Error, and Completion Messages
This section describes the different types of messages issued by
Export and how to save them in a log file.
Log
File
You can capture all Export messages in a log file, either by using
the LOG parameter (see LOGHYPERLINK "ch01.htm" \l "1005816")
or, for those systems that permit it, by redirecting the Export output to a
file. The Export utility writes a log of detailed information about successful
unloads and any errors that may occur. Refer to your Oracle operating
system-specific documentation for information on redirecting output.
Warning
Messages
Export does not terminate after recoverable errors. For example,
if an error occurs while exporting a table, Export displays (or logs) an error
message, skips to the next table, and continues processing. These recoverable
errors are known as warnings.
Export also issues a warning whenever it encounters an invalid
object.
For example, if a nonexistent table is specified as part of a
table-mode export, the Export utility exports all other tables. Then it issues
a warning and terminates successfully.
Nonrecoverable
Error Messages
Some errors are nonrecoverable and terminate the Export session.
These errors typically occur because of an internal problem or because a
resource, such as memory, is not available or has been exhausted. For example,
if the catexp.sql script is not executed, Export issues the
following nonrecoverable error message:
EXP-00024: Export views not installed, please notify your DBA
Completion
Messages
When an export completes without errors, Export displays the
following message:
Export terminated successfully without warnings
If one or more recoverable errors occurs but Export is able to
continue to completion, Export displays the following message:
Export terminated successfully with warnings
If a nonrecoverable error occurs, Export terminates immediately
and displays the following message:
Export terminated unsuccessfully
Exit
Codes for Inspection and Display
Export provides the results of an export operation immediately
upon completion. Depending on the platform, Export may report the outcome in a
process exit code as well as recording the results in the log file. This
enables you to check the outcome from the command line or script. Table 1-5 shows the exit codes that get returned for
various results.
Table 1-5 Exit
Codes for Export
Result
|
Exit Code
|
Export terminated successfully without
warnings
|
EX_SUCC
|
Export terminated successfully with
warnings
|
EX_OKWARN
|
Export terminated unsuccessfully
|
EX_FAIL
|
For UNIX, the exit codes are as follows:
EX_SUCC 0
EX_OKWARN 0
EX_FAIL 1
Conventional
Path Export Versus Direct Path Export
Export provides two methods for exporting table data:
·
Conventional
path Export
·
Direct path
Export
Conventional path Export uses the SQL SELECT statement to extract data from tables. Data
is read from disk into a buffer cache, and rows are transferred to the
evaluating buffer. The data, after passing expression evaluation, is
transferred to the Export client, which then writes the data into the export
file.
Direct path Export is much faster than conventional path Export
because data is read from disk into the buffer cache and rows are transferred
directly to the Export client. The evaluating buffer is bypassed. The data is
already in the format that Export expects, thus avoiding unnecessary data
conversion. The data is transferred to the Export client, which then writes the
data into the export file.
Invoking
a Direct Path Export
To invoke a direct path Export, you must use either the
command-line method or a parameter file. You cannot invoke a direct path Export
using the interactive method.
To use direct path Export, specify the DIRECT=y parameter on the command line or in the
parameter file. The default is DIRECT=n, which
extracts the table data using the conventional path.
Additionally, be aware that the Export parameter BUFFER applies only to conventional path Exports.
For direct path Export, use the RECORDLENGTH parameter
to specify the size of the buffer that Export uses for writing to the export
file.
Security
Considerations for Direct Path Exports
Virtual Private Database (VPD) and Oracle Label Security are not
enforced during direct path Exports.
The following users are exempt from Virtual Private Database and
Oracle Label Security enforcement regardless of the export mode, application,
or utility used to extract data from the database:
·
The database
user SYS
·
Database
users granted the Oracle9i EXEMPT ACCESS POLICY privilege,
either directly or through a database role
This means that any user who is granted the EXEMPT ACCESS POLICY privilege is completely exempt from
enforcement of VPD and Oracle Label Security. This is a powerful privilege and
should be carefully managed. This privilege does not affect the enforcement of
traditional object privileges such as SELECT, INSERT, UPDATE, and DELETE. These privileges are enforced even if a
user has been granted the EXEMPT ACCESS POLICY privilege.
Performance
Issues for Direct Path Exports
You may be able to improve performance by increasing the value of
the RECORDLENGTH parameter when you invoke a direct path
Export. Your exact performance gain depends upon the following factors:
·
DB_BLOCK_SIZE
·
The types of
columns in your table
·
Your I/O
layout (The drive receiving the export file should be separate from the disk
drive where the database files reside.)
The following values are generally recommended for RECORDLENGTH:
·
Multiples of
the file system I/O block size
·
Multiples of
DB_BLOCK_SIZE
Network
Considerations
This section describes factors to take into account when you use
Export and Import across a network.
Transporting
Export Files Across a Network
Because the export file is in binary format, use a protocol that
supports binary transfers to prevent corruption of the file when you transfer
it across a network. For example, use FTP or a similar file transfer protocol
to transmit the file in binary mode. Transmitting export files in character
mode causes errors when the file is imported.
Exporting
and Importing with Oracle Net
With Oracle Net, you can perform exports and imports over a
network. For example, if you run Export locally, you can write data from a
remote Oracle database into a local export file. If you run Import locally, you
can read data into a remote Oracle database.
To use Import with Oracle Net, include the connection qualifier
string @connect_string when entering the username/password in the exp or imp command. For the exact syntax of this
clause, see the user's guide for your Oracle Net protocol.
Character
Set and Globalization Support Considerations
This section describes the behavior of Export and Import with
respect to globalization support.
Character
Set Conversion
The Export utility always exports user data, including Unicode
data, in the character sets of the Export server. The character sets are
specified at database creation.
The Import utility automatically converts the data to the
character sets of the Import server.
Some 8-bit characters can be lost (that is, converted to 7-bit
equivalents) when you import an 8-bit character set export file. This occurs if
the client system has a native 7-bit character set or if the NLS_LANG operating system environment variable is set
to a 7-bit character set. Most often, you notice that accented characters lose
their accent mark.
Both Export and Import provide descriptions of any required
character set conversion before exporting or importing the data.
Note:
Data definition language (DDL), such as a CREATE TABLE command,
is exported in the client character set.
|
Effect
of Character Set Sorting Order on Conversions
If the export character set has a different sorting order than the
import character set, then tables that are partitioned on character columns may
yield unpredictable results. For example, consider the following table
definition, which is produced on a database having an ASCII character set:
CREATE TABLE partlist
(
part VARCHAR2(10),
partno
NUMBER(2)
)
PARTITION BY RANGE (part)
(
PARTITION part_low
VALUES LESS THAN ('Z')
TABLESPACE tbs_1,
PARTITION part_mid
VALUES LESS THAN ('z')
TABLESPACE tbs_2,
PARTITION part_high
VALUES LESS THAN (MAXVALUE)
TABLESPACE tbs_3
);
This partitioning scheme makes sense because z comes after Z in ASCII character sets.
When this table is imported into a database based upon an EBCDIC
character set, all of the rows in the part_mid partition
will migrate to the part_low partition
because z comes before Z in EBCDIC character sets. To obtain the desired results, the
owner of partlist must repartition the table following the
import.../../server.920/a96529/toc.htm
Considerations
When Exporting Database Objects
The following sections describe points you should consider when
you export particular database objects.
Exporting
Sequences
If transactions continue to access sequence numbers during an
export, sequence numbers can be skipped. The best way to ensure that sequence
numbers are not skipped is to ensure that the sequences are not accessed during
the export.
Sequence numbers can be skipped only when cached sequence numbers
are in use. When a cache of sequence numbers has been allocated, they are
available for use in the current database. The exported value is the next
sequence number (after the cached values). Sequence numbers that are cached,
but unused, are lost when the sequence is imported.
Exporting
LONG and LOB Datatypes
On export, LONG datatypes
are fetched in sections. However, enough memory must be available to hold all
of the contents of each row, including the LONG data.
LONG columns can be up to 2 gigabytes in length.
All data in a LOB column does
not need to be held in memory at the same time. LOB data is loaded and unloaded
in sections.
Exporting
Foreign Function Libraries
The contents of foreign function libraries are not included in the
export file. Instead, only the library specification (name, location) is
included in full database and user mode export. You must move the library's
executable files and update the library specification if the database is moved
to a new location.
Exporting
Offline Bitmapped Tablespaces
If the data you are exporting contains offline bitmapped
tablespaces, Export will not be able to export the complete tablespace
definition and will display an error message. You can still import the data;
however, you must first create the offline bitmapped tablespaces before
importing to prevent DDL commands that may reference the missing tablespaces
from failing.
Exporting
Directory Aliases
Directory alias definitions are included only in a full database
mode Export. To move a database to a new location, the database administrator
must update the directory aliases to point to the new location.
Directory aliases are not included in user or table mode Export.
Therefore, you must ensure that the directory alias has been created on the
target system before the directory alias is used.
Exporting
BFILE Columns and Attributes
The export file does not hold the contents of external files
referenced by BFILE columns or
attributes. Instead, only the names and directory aliases for files are copied
on Export and restored on Import. If you move the database to a location where
the old directories cannot be used to access the included files, the database
administrator (DBA) must move the directories containing the specified files to
a new location where they can be accessed.
External
Tables
The contents of external tables are not included in the export
file. Instead, only the table specification (name, location) is included in
full database and user mode export. You must manually move the external data
and update the table specification if the database is moved to a new location.
Exporting
Object Type Definitions
In all Export modes, the Export utility includes information about
object type definitions used by the tables being exported. The information,
including object name, object identifier, and object geometry, is needed to
verify that the object type on the target system is consistent with the object
instances contained in the export file. This ensures that the object types
needed by a table are created with the same object identifier at import time.
Note, however, that in table, user, and tablespace mode, the
export file does not include a full object type definition needed by a table if
the user running Export does not have execute access to the object type. In
this case, only enough information is written to verify that the type exists,
with the same object identifier and the same geometry, on the import target
system.
The user must ensure that the proper type definitions exist on the
target system, either by working with the DBA to create them, or by importing
them from full database or user mode exports performed by the DBA.
It is important to perform a full database mode export regularly
to preserve all object type definitions. Alternatively, if object type
definitions from different schemas are used, the DBA should perform a user mode
export of the appropriate set of users. For example, if table1 belonging to user scott contains a column on blake's type type1, the DBA
should perform a user mode export of both blake and scott to preserve the type definitions needed by
the table.
Exporting
Nested Tables
Inner nested table data is exported whenever the outer containing
table is exported. Although inner nested tables can be named, they cannot be
exported individually.
Exporting
Advanced Queue (AQ) Tables
Queues are implemented on tables. The export and import of queues
constitutes the export and import of the underlying queue tables and related
dictionary tables. You can export and import queues only at queue table
granularity.
When you export a queue table, both the table definition
information and queue data are exported. Because the queue table data is
exported as well as the table definition, the user is responsible for
maintaining application-level data integrity when queue table data is imported.
Exporting
Synonyms
You should be cautious when exporting compiled objects that
reference a name used as a synonym and as another object. Exporting and
importing these objects will force a recompilation that could result in changes
to the object definitions.
The following example helps to illustrate this problem:
CREATE PUBLIC SYNONYM emp FOR scott.emp;
CONNECT blake/paper;
CREATE TRIGGER t_emp BEFORE INSERT ON emp BEGIN NULL; END;
CREATE VIEW emp AS SELECT * FROM dual;
If the database in the preceding example were exported, the
reference to emp in the trigger would refer to blake's view rather than to scott's table. This would cause an error when
Import tried to reestablish the t_emp trigger.
Possible
Export Errors Related to Java Synonyms
If an export operation attempts to export a synonym named DBMS_JAVA when there is no corresponding DBMS_JAVA package or when Java is either not loaded or
loaded incorrectly, the export will terminate unsuccessfully. The error
messages that are generated include, but are not limited to, the following:
EXP-00008, ORA-00904, and ORA-29516.
If Java is enabled, make sure that both the DBMS_JAVA synonym and DBMS_JAVA package are created and valid before
rerunning the export.
If Java is not enabled, remove Java-related objects before
rerunning the export.
Support
for Fine-Grained Access Control
You can export tables with fine-grained access control policies
enabled. When doing so, consider the following:
·
The user who
imports from an export file containing such tables must have the appropriate
privileges (specifically, the EXECUTE privilege
on the DBMS_RLS package so that the tables' security
policies can be reinstated). If a user without the correct privileges attempts
to export a table with fine-grained access policies enabled, only those rows
that the exporter is privileged to read will be exported.
·
If
fine-grained access control is enabled on a SELECT statement, then conventional path Export may
not export the entire table because fine-grained access may rewrite the query.
·
Only user SYS, or a user with the EXPORT_FULL_DATABASE role enabled or who has been granted EXEMPT ACCESS
POLICY, can perform direct path Exports
on tables having fine-grained access control.
Transportable
Tablespaces
The transportable tablespace feature enables you to move a set of
tablespaces from one Oracle database to another.
To move or copy a set of tablespaces, you must make the
tablespaces read-only, copy the datafiles of these tablespaces, and use Export
and Import to move the database information (metadata) stored in the data
dictionary. Both the datafiles and the metadata export file must be copied to
the target database. The transport of these files can be done using any
facility for copying flat binary files, such as the operating system copying
facility, binary-mode FTP, or publishing on CD-ROMs.
After copying the datafiles and exporting the metadata, you can
optionally put the tablespaces in read/write mode.
Export provides the following parameters to enable export of
transportable tablespace metadata.
·
TABLESPACES
·
TRANSPORT_TABLESPACE
Using
Export and Import to Partition a Database Migration
When you use the Export and Import utilities to migrate a large
database, it may be more efficient to partition the migration into multiple
export and import jobs. If you decide to partition the migration, be aware of
the following advantages and disadvantages.
Advantages
of Partitioning a Migration
Partitioning a migration has the following advantages:
·
Time
required for the migration may be reduced because many of the subjobs can be
run in parallel.
·
The import
can start as soon as the first export subjob completes, rather than waiting for
the entire export to complete.
Disadvantages
of Partitioning a Migration
Partitioning a migration has the following disadvantages:
·
The export
and import processes become more complex.
·
Support of
cross-schema references for certain types of objects may be compromised. For
example, if a schema contains a table with a foreign key constraint against a
table in a different schema, you may not have the required parent records when
you import the table into the dependent schema.
How to
Use Export and Import to Partition a Database Migration
To perform a database migration in a partitioned manner, take the
following steps:
For all
top-level metadata in the database, issue the following commands:
exp dba/password FILE=full FULL=y CONSTRAINTS=n TRIGGERS=n
ROWS=n INDEXES=n
imp dba/password FILE=full FULL=y
For each
scheman in the database, issue the following commands:
exp dba/password OWNER=scheman FILE=scheman
imp dba/password FILE=scheman FROMUSER=scheman TOUSER=scheman IGNORE=y
All exports can be done in parallel. When the import of full.dmp completes,
all remaining imports can also be done in parallel.
Using
Different Releases and Versions of Export
This section describes compatibility issues that relate to using
different releases of Export and the Oracle database server.
Whenever you are moving data between different releases of the
Oracle database server, the following basic rules apply:
·
The Import
utility and the database to which data is being imported (the target database)
must be the same version.
·
The version
of the Export utility must be equal to the lowest version of the source or
target database.
For example, to create an export file for an import into a higher
release database, use a version of the Export utility that is equal to the
source database. Conversely, to create an export file for an import into a
lower release database, use a version of the Export utility that is equal to
the version of the target database. The following information is for specific
versions:
·
When you
create an Oracle version 6 export file from an Oracle7 database by running the
Oracle version 6 Export utility against the Oracle7 database server, you must
first run the catexp6.sql script on the
Oracle7 database. This script creates the export views that make the database
look, to Export, like an Oracle version 6 database.
·
When you
create an Oracle7 export file from an Oracle8i database by running the Oracle7
Export utility against the Oracle8i database, you must first run the catexp7.sql script on the Oracle8i database. This script
creates the export views that make the database look, to Export, like an
Oracle8i database.
Restrictions
When Using Different Releases and Versions of Export and Import
The following restrictions apply when you are using different
releases of Export and Import:
·
Export dump
files can be read only by the Import utility because they are stored in a
special binary format.
·
Any export
dump file can be imported into a higher release of the Oracle database server.
·
The Import
utility can read export dump files created by Export release 5.1.22 and higher.
·
The Import
utility cannot read export dump files created by the Export utility of a higher
maintenance release or version. For example, a release 8.1 export dump file
cannot be imported by a release 8.0 Import utility, and a version 8 export dump
file cannot be imported by a version 7 Import utility.
·
The Oracle version
6 (or earlier) Export utility cannot be used against an Oracle8 or higher
database.
·
Whenever a
lower version of the Export utility runs with a higher version of the Oracle
database server, categories of database objects that did not exist in the lower
version are excluded from the export. For example, partitioned tables did not
exist in the Oracle database server version 7. So, if you need to move a
version 8 partitioned table to a version 7 database, you must first reorganize
the table into a nonpartitioned table.
·
Export files
generated by Oracle9i Export, either direct path or conventional path, are
incompatible with earlier releases of Import and can be imported only with
Oracle9i Import. When backward compatibility is an issue, use the earlier
release or version of the Export utility against the Oracle9i database.
Examples
of Using Different Releases of Export and Import
Creating
Oracle Release 8.0 Export Files from an Oracle9i Database
You do not need to take any special steps to create an Oracle
release 8.0 export file from an Oracle9i database. However, the following
features are not supported when you use Export release 8.0 on an Oracle9i
database:
·
Export does
not export rows from tables containing objects and LOBs when you have specified
a direct path load (DIRECT=y).
·
Export does
not export dimensions.
·
Functional
and domain indexes are not exported.
·
Secondary
objects (tables, indexes, sequences, and so on, created in support of a domain
index) are not exported.
·
Views,
procedures, functions, packages, type bodies, and types containing references
to new Oracle9i features may not compile.
·
Objects
whose DDL is implemented as a stored procedure rather than SQL are not exported.
·
Triggers
whose action is a CALL statement
are not exported.
·
Tables
containing logical ROWID columns,
primary key refs, or user-defined OID columns
will not be exported.
·
Temporary
tables are not exported.
·
Index-organized
tables (IOTs) revert to an uncompressed state.
·
Partitioned
IOTs lose their partitioning information.
·
Index types
and operators are not exported.
·
Bitmapped,
temporary, and UNDO tablespaces are not exported.
·
Java
sources, classes, and resources are not exported.
·
Varying-width
CLOBs, collection enhancements, and LOB-storage
clauses for VARRAY columns or nested table enhancements are not
exported.
·
Fine-grained
access control policies are not preserved.
·
External
tables are not exported.
Possible
Errors When Using Different Releases and Versions
This section briefly discusses some of the error messages you
might receive if incompatible releases or versions of the Export utility and
the Oracle database server are used.
EXP-24
EXP-24: Export views not installed, please notify your DBA
Cause: The necessary export views were not installed.
Action: Ask the DBA to install the required views.
EXP-23
EXP-23: Import views not installed, please notify your DBA
Cause: The necessary import views were not installed.
Action: Ask the DBA to install the required views.
EXP-37
EXP-37: Export views not compatible with database version
Cause: The Export utility is at a higher version than the
database version.
Action: Use the same version of the Export utility as the
database.