Before you begin using Export, be sure you take care of the following items (described in detail in the following sections):
If you created your database manually, ensure that the catexp.sql
or catalog.sql
script has been run. If you created your database using the Database Configuration Assistant (DBCA), it is not necessary to run these scripts.
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 or migrated to a newer release.
The catexp.sql
or catalog.sql
script needs to be run only once on a database. The script performs the following tasks to prepare the database for export and import operations:
Creates the necessary export and import views in the data dictionary
Assigns all necessary privileges to the EXP_FULL_DATABASE
and IMP_FULL_DATABASE
roles
Assigns EXP_FULL_DATABASE
and IMP_FULL_DATABASE
to the DBA
role
Records the version of catexp.sql
that has been installed
The EXP_FULL_DATABASE
and IMP_FULL_DATABASE
roles are powerful. Database administrators should use caution when granting these roles to users.
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, then 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.
Oracle Database Reference for more information about dictionary views
To use Export, you must have the CREATE SESSION
privilege on an Oracle database. This privilege belongs to the CONNECT
role established during database creation. To export tables owned by another user, you must have the EXP_FULL_DATABASE
role enabled. This role is granted to all database administrators (DBAs).
If you do not have the system privileges contained in the EXP_FULL_DATABASE
role, then 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.
Several system schemas cannot be exported because they are not user schemas; they contain Oracle-managed data and metadata. Examples of schemas that are not exported include SYS
, ORDSYS
, and MDSYS
.