• Learn How To Use Data Pump(Practice)


    Steps of experiment(Expdp and Impdp):

    1. Create a dump directory named dmp_dir;
    2. Check the user’s privilege on the directory,if not,grant the right system/object privilege to user;
    3. Excute the expdp process;
    4. Excute the impdp process;

    Experiment environment:

      There are 4 tables named by test01,t1,t2,plan_table in the ann’s schema, two tablespaces:tsp01 and tsp02, two users:ann(defaut tablespace tsp01) and attacker(defaut tablespace tsp02).

    Scripts of step 1 and stp 2:

    sql> create directory dmp_dir as '/u02/oradata/dmpdest';
    
    SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d
    WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1;
    
    sql> Grant read,write on directory dmp_dir to ann;

    Unload data:

    All objects in the schema:

    expdp ann/123456@ann01 schemas=ann directory=dmp_dir dumpfile=20121205.dmp logfile=dmp.log;

    include/exclude the table which name start with 'plan':

    expdp ann/123456@ann01 schemas=ann directory=dmp_dir dumpfile=20121205_2.dmp logfile=dmp.log [include/exclude]=table:\"like \'PLAN%\'\";

    include/exclude the specific type object:(note:it will export the definition of the index rather than the index data)

    expdp ann/123456@ann01 schemas=ann directory=dmp_dir dumpfile=20121205.dmp logfile=dmp.log exclude=index;

    export the target objects’ definition only:

    expdp ann/123456@ann01 tables=t1 content=metadata_only directory=dmp_dir dumpfile=20121205.dmp logfile=dmp.log;

    export the data with where clause:

    expdp ann/123456@ann01 tables=t1 directory=dmp_dir dumpfile=20121205.dmp logfile=dmp.log query=\"where c_name=\'Ann01\'\";

    load data:

    load t1 from dump file to attacker schema in tsp01:

    impdp ann/123456@ann01 tables=t1 directory=dmp_dir dumpfile=20121205.dmp logfile=dmp.log remap_schema=ann:attacker

    load t1 from dump file to attacker schema in tsp02:

    impdp ann/123456@ann01 tables=t1 directory=dmp_dir dumpfile=20121205.dmp logfile=dmp.log remap_schema=ann:attacker remap_tablespace=tsp01:tsp02

    if table t1 exists in tsp02 then you can use “TABLE_EXISTS_ACTION” parameter:

    impdp ann/123456@ann01 tables=t1 directory=dmp_dir dumpfile=20121205.dmp logfile=dmp.log remap_schema=ann:attacker remap_tablespace=tsp01:tsp02 table_exists_action=skip

    write the ddl operate in an sql file:

    impdp ann/123456@ann01 tables=t1 directory=dmp_dir dumpfile=20121205.dmp logfile=dmp.log sqlfile=a.sql

    different parameter from expdp:

    1、REMAP_DATAFILE

      Changes the name of the source datafile to the target datafile name in all SQL statements where the source datafile is referenced: CREATE TABLESPACE, CREATE LIBRARY, and CREATE DIRECTORY.

      Syntax :REMAP_DATAFILE=source_datafie:target_datafile

    2、REMAP_SCHEMA

      Loads all objects from the source schema into a target schema.

      Syntax :REMAP_SCHEMA=source_schema:target_schema

    3、REMAP_TABLESPACE

      Remaps all objects selected for import with persistent data in the source tablespace to be created in the target tablespace.

      Syntax :REMAP_TABLESPACE=source_tablespace:target_tablespace

    4、REUSE_DATAFILES

      Specifies whether or not the import job should reuse existing datafiles for tablespace creation .

      Syntax :REUSE_DATAFIELS={Y | N}

    5、SKIP_UNUSABLE_INDEXES

      Specifies whether or not Import skips loading tables that have indexes that were set to the Index Unusable state (by either the system or the user).Defaut is N.

      Syntax :SKIP_UNUSABLE_INDEXES={Y | N}

    6、SQLFILE

      Specifies a file into which all of the SQL DDL that Import would have executed, based on other parameters, is written.

      Syntax :SQLFILE=[directory_object:]file_name

      Eg:Impdp attacker/1234567 DIRECTORY=dmp_dir DUMPFILE=20121205.dmp SQLFILE=a.sql

    7、STREAMS_CONFIGURATION

      Specifies whether or not to import any general Streams metadata that may be present in the export dump file. Default value is Y.

    8、TABLE_EXISTS_ACTION

      Tells Import what to do if the table it is trying to create already exists.

      Syntax :TABBLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | FRPLACE }

    9、TRANSFORM

      Enables you to alter object creation DDL for specific objects, as well as for all applicable objects being loaded.

      Syntax :TRANSFORM=transform_name:value[:object_type]

      The possible option of transform_name are:

    1. SEGMENT_ATTRIBUTES(default Y), physical attributes, storage attributes, tablespaces, and logging
    2. STORAGE(default Y), If the value is specified as y, the storage clauses are included.
    3. OID(default Y).
    4. PCTSPACE(Integer values are required), It represents the percentage multiplier used to alter extent allocations and the size of data files.

      Eg:impdp attacker/123456 directory=dmp_dir dumpfile=20121205.dmp Transform=segment_attributes:n:table

    10、TRANSPORT_DATAFILES

      Specifies a list of datafiles to be imported into the target database by a transportable-mode import. The files must already have been copied from the source database system. Syntax ::TRANSPORT_DATAFILE=datafile_name

      Eg:impdp system/manager DIRECTORY=dmp_dir DUMPFILE=20121205.dmp TRANSPORT_DATAFILES=’/u02/oradata/tps01.dbf

    心有猛虎,细嗅蔷薇。
  • 相关阅读:
    C语言本身并不提供输入输出语句
    大数据
    kdd cup 论文
    决策树比较
    推荐系统
    geohash
    MySQLdb 安装
    天池大数据比赛
    逻辑回归
    矩阵分解
  • 原文地址:https://www.cnblogs.com/assassinann/p/Experiment_of_expdp_and_impdp.html
Copyright © 2020-2023  润新知