For the examples to work we must first unlock the SCOTT account and
create a directory object it can access. The directory object is only a pointer
to a physical directory, creating it does not actually create the physical
directory on the file system.
CONN
/ AS SYSDBA
ALTER
USER scott IDENTIFIED BY tiger ACCOUNT UNLOCK;
CREATE
OR REPLACE DIRECTORY test_dir AS '/u01/app/oracle/oradata/';
GRANT
READ, WRITE ON DIRECTORY test_dir TO scott;
Table
Exports/Imports
The TABLES parameter is used to specify the tables that are to be
exported. The following is an example of the table export and import syntax.
expdp
scott/tiger@db10g tables=EMP,DEPT directory=TEST_DIR dumpfile=EMP_DEPT.dmp
logfile=expdpEMP_DEPT.log
impdp
scott/tiger@db10g tables=EMP,DEPT directory=TEST_DIR dumpfile=EMP_DEPT.dmp
logfile=impdpEMP_DEPT.log
For example output files see expdpEMP_DEPT.log and impdpEMP_DEPT.log.
The TABLE_EXISTS_ACTION=APPEND parameter allows data to be imported into
existing tables.
Schema
Exports/Imports
The OWNER parameter of exp has been replaced by the SCHEMAS parameter
which is used to specify the schemas to be exported. The following is an
example of the schema export and import syntax.
expdp
scott/tiger@db10g schemas=SCOTT directory=TEST_DIR dumpfile=SCOTT.dmp
logfile=expdpSCOTT.log
impdp
scott/tiger@db10g schemas=SCOTT directory=TEST_DIR dumpfile=SCOTT.dmp
logfile=impdpSCOTT.log
For example output files see expdpSCOTT.log and impdpSCOTT.log.
Database
Exports/Imports
The FULL parameter indicates that a complete database export is required.
The following is an example of the full database export and import syntax.
expdp
system/password@db10g full=Y directory=TEST_DIR dumpfile=DB10G.dmp
logfile=expdpDB10G.log
impdp
system/password@db10g full=Y directory=TEST_DIR dumpfile=DB10G.dmp
logfile=impdpDB10G.log
For an example output file see expdpDB10G.log.
INCLUDE
and EXCLUDE
The INCLUDE and EXCLUDE parameters can be used to limit the export/import
to specific objects. When the INCLUDE parameter is used, only those objects
specified by it will be included in the export/import. When the EXCLUDE
parameter is used, all objects except those specified by it will be included in
the export/import. The two parameters are mutually exclusive, so use the
parameter that requires the least entries to give you the result you require.
The basic syntax for both parameters is the same.
INCLUDE=object_type[:name_clause]
[, ...]
EXCLUDE=object_type[:name_clause]
[, ...]
The following code shows how they can be used as command line parameters.
expdp
scott/tiger@db10g schemas=SCOTT include=TABLE:"IN ('EMP', 'DEPT')"
directory=TEST_DIR dumpfile=SCOTT.dmp logfile=expdpSCOTT.log
expdp
scott/tiger@db10g schemas=SCOTT exclude=TABLE:"= 'BONUS'"
directory=TEST_DIR dumpfile=SCOTT.dmp logfile=expdpSCOTT.log
If the parameter is used from the command line, depending on your OS, the
special characters in the clause may need to be escaped, as follows. Because of
this, it is easier to use a parameter file.
include=TABLE:\"IN
\(\'EMP\', \'DEPT\'\)\"
A single import/export can include multiple references to the parameters,
so to export tables, views and some packages we could use either of the
following approaches.
INCLUDE=TABLE,VIEW,PACKAGE:"LIKE
'%API'"
or
INCLUDE=TABLE
INCLUDE=VIEW
INCLUDE=PACKAGE:"LIKE
'%API'"
Network
Exports/Imports (NETWORK_LINK)
The NETWORK_LINK parameter identifies a database link to be used as the
source for a network export/import. The following database link will be used to
demonstrate its use.
CONN
/ AS SYSDBA
GRANT
CREATE DATABASE LINK TO test;
CREATE
DATABASE LINK remote_scott CONNECT TO scott IDENTIFIED BY tiger USING 'DEV';
In the case of exports, the NETWORK_LINK parameter identifies the
database link pointing to the source server. The objects are exported from the
source server in the normal manner, but written to a directory object on the
local server, rather than one on the source server. Both the local and remote
users require theEXP_FULL_DATABASE role granted to them.
expdp
test/test@db10g tables=SCOTT.EMP network_link=REMOTE_SCOTT directory=TEST_DIR
dumpfile=EMP.dmp logfile=expdpEMP.log
For imports, the NETWORK_LINK parameter also identifies the database link
pointing to the source server. The difference here is the objects are imported
directly from the source into the local server without being written to a dump
file. Although there is no need for a DUMPFILE parameter, a directory object is
still required for the logs associated with the operation. Both the local and
remote users require the IMP_FULL_DATABASE role granted to them.
impdp
test/test@db10g tables=SCOTT.EMP network_link=REMOTE_SCOTT directory=TEST_DIR
logfile=impdpSCOTT.log remap_schema=SCOTT:TEST
No comments:
Post a Comment