您的位置:首页 > 其它

expdp/impdp及exp/imp的使用及区别

2016-08-29 17:55 801 查看

关于expdp和exp的使用方法,具体讲下在用户模式下的使用。

expdp在用户模式下的使用:

expdp c##hr/hr directory=dumpdir dumpfile=dump.dmp logfile=dump_expdp.logschemas=c##hr;

impdp system/oracle directory=dumpdir dumpfile=dump.dmp logfile=dump_impdp.log remap:schema=c##hr:scott

如果不添加schemas参数,则表示默认导出当前导出的用户c##hr下的用户数据

在使用expdp之前要确定dumpdir已经创建好:

sql>select * from dba_directories

OWNER                DIRECTORY_NAME                 DIRECTORY_PATH                                             

-------------------- ------------------------------ ------------------------------------------------------------ 

SYS                  ORACLE_HOME                    /                                     

SYS                  ORACLE_BASE                    /                                            

SYS                  OPATCH_LOG_DIR              
   /oracle/app/oracle/product/12.1.0/dbhome_1/QOpatch

SYS                  OPATCH_SCRIPT_DIR               /oracle/app/oracle/product/12.1.0/dbhome_1/QOpatch

SYS                  OPATCH_INST_DIR            
   /oracle/app/oracle/product/12.1.0/dbhome_1/OPatch
SYS                  DATA_PUMP_DIR                 /oracle/dump_backup 

SYS                  XSDDIR                        
   /oracle/app/oracle/product/12.1.0/dbhome_1/rdbms/xml/schema

SYS                  XMLDIR                        /oracle/app/oracle/product/12.1.0/dbhome_1/rdbms/xml  

SYS                  ORACLE_OCM_CONFIG_DIR          /oracle/app/oracle/product/12.1.0/dbhome_1/ccr/state

SYS                  ORACLE_OCM_CONFIG_DIR2        /oracle/app/oracle/product/12.1.0/dbhome_1/ccr/state
SYS                  DUMPDIR                            /oracle/dump_backup     

data_pump_dir 就是系统自定义的dump文件夹。也可以自定义,在这里我使用的是自定义的文件夹:

sql>create or replace directory dumpdir as '/oracle/dump_backup';

上述语句仅仅是在数据库中创建,还需在操作系统中创建:

mkdir /oracle/dumpdir

dumpdir创建好后,还需要授权:

sql>grant read,write on directory dumpdir to c##hr;

exp在用户模式下的使用:

四种模式,full,owner,table,tablespace,这里仅介绍owner模式,即默认模式。

exp system/oracle/backup/hr_exp.dmp
owner=c##hr

imp scott/tiger fromuser=c##hr touser=scott file=/oracle/backup/hr_exp.dmp log=/oracle/backup/hr_imp.log

如果报ORA-01031: insufficient privileges,则可以使用具有较大权限的用户进行导入(expdp也是如此),比如使用system用户:

imp system/oracle fromuser=c##hr touser=scott file=/oracle/backup/hr_exp.dmp log=/oracle/backup/hr_imp.log
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息