ORACLE的impdp和expdp命令

合集下载

Exp-Imp-Expdp-Impdp的使用

Exp-Imp-Expdp-Impdp的使用

Exp/Imp/Expdp/Impdp的使用寶成國際集團-中山電腦部2011-10-15內容簡介一.Exp/Imp的用法二.Expdp/Impdp的用法三.Exp/Imp 與Expdp/Impdp的比較一、Exp/Imp命令介紹1.Oracle資料導出導入Exp/Imp就相當於Oracle數據備份與還原。

exp命令可以把資料從遠端資料庫伺服器導出到本地的dmp檔,imp命令可以把dmp檔從本地導入到遠處的資料庫伺服器中。

2.迄今為止:導出/導入(exp/imp)工具集仍是跨多個平臺轉移資料所需勞動強度最小的首選實用工具,儘管人們常常抱怨它速度太慢.導入只是將每條記錄從dmp中讀出來,然後使用常見的Insert Into 命令將其插入到目標表中,因此導入可能會是個很慢的過程。

3.Exp: 高版本的DB不能導出低版本的DB資料.會報以下錯誤: (oracle10gdb exp oracle9idb Error)EXP-00056: ORACLE error 6550 encounteredORA-06550: line 1, column 41:PLS-00302: component 'SET_NO_OUTLINES' must be declaredORA-06550: line 1, column 15:4.Imp: 跨多個版本的dmp之間不能直接導入,需利用中間版本的DB導入.如Oracle8i導出的dmp file不能在Oracle10中直接導入,但可以在Oracle9i中利用網絡導入Oracle10g DB中.二、Exp/Imp使用實例1.數據導出(exp help=y)(1) 將資料庫TEST完全導出[EXP_FULL_DATABASE]exp system/manager@TEST file=d:\sys.dmp log=d:\sys.log full=y(2) 將資料庫中usera用戶與userb用戶的表導出exp system/manager@TEST file=d:\sys.dmp log=d:\sys.logowner=(usera,userb)(3) 將資料庫中的表table1、table2導出exp user/password@TEST file= d:\user.dmp log=d:\user.logtables=(table1, table2)(4)將資料庫中的表table1中的欄位filed1以‚00‛打頭的數據導出exp user/password@TEST file=d:\user.dmp log=d:\user.log tables=(table1) query=‚ where filed1 like ‘00%’‛(5)導出userA的架構不含Dataexp user/password@TEST file=d:\user.dmp log=d:\user.log rows=n(6)導出userA的架構,設定filesize為5Mexp user/password@TEST file=(d:\user-1.dmp,d:\user-2.dmp) log=d:\user.log filesize=5M2.數據導入(imp help=y)(1) 將資料庫中各owner導入[IMP_FULL_DATABASE]imp system/manager@TEST file=d:\sys.dmp log=d:\sys.log fromuser=ownera touser=ownera(2) 將資料庫中用戶A中的所有資料導入用戶B中imp userB/password@TEST file=d:\userA.dmp log=d:\in-userB.log fromuser=userA touser=userB(3) 導入時只導入架構和和data,不導入indeximp user/password@TEST file= d:\user.dmp log=d:\user.log indexes=n--產生index file的sql以便create indeximp user/password@TEST file= d:\user.dmp log=d:\index.log indexfile=user-index.sql(4) 往資料庫中的表table1中追加Dataimp user/password@TEST file=d:\user.dmp log=d:\inuser.log ignore=y(5) 使用commit=y及設定bufferimp gass/gasstest file=GASS2009.dmp log=in-GASS2009.log commit=y buffer=51200000(6) 使用使用INDEXES=Nimp user/password@TEST file=d:\user.dmp log=d:\inuser.log indexes=n rows=yimp user/password@TEST file=d:\user.dmp log=d:\inuser2.log indexes=y rows=n一、Expdp/Impdp命令介紹1.Oracle10g中的导出/导入(expdp/impdp)工具包為Oracle資料提供高速並行及大資料的遷移。

expdp和impdp语句

expdp和impdp语句

expdp和impdp语句expdp和impdp是Oracle数据库中用于数据泵的导出和导入工具。

它们允许用户将数据和元数据从一个Oracle数据库导出到一个dump文件,然后将该文件导入到另一个Oracle数据库中。

expdp的常用语法如下:复制代码expdp userid=用户名/密码@数据库连接标识文件=数据泵导出文件的路径和名称 logfile=日志文件的路径和名称 dumpfile=dump文件的路径和名称full=yes/no schemas=schema_name[,schema_name]tables=table_name[,table_name] ...其中,userid是用户名和密码,用于连接到数据库;文件路径和名称指定了数据泵导出文件、日志文件和dump文件的路径和名称;full参数用于指定是否导出整个数据库;schemas参数用于指定要导出的模式;tables参数用于指定要导出的表。

impdp的常用语法如下:复制代码impdp userid=用户名/密码@数据库连接标识文件=数据泵导出文件的路径和名称 logfile=日志文件的路径和名称 dumpfile=dump文件的路径和名称full=yes/no schemas=schema_name[,schema_name]tables=table_name[,table_name] ...其中,userid是用户名和密码,用于连接到数据库;文件路径和名称指定了数据泵导出文件、日志文件和dump文件的路径和名称;full参数用于指定是否导入整个数据库;schemas参数用于指定要导入的模式;tables参数用于指定要导入的表。

需要注意的是,在使用expdp和impdp时,必须确保目标数据库已经创建了相应的表、视图、序列等对象,否则导入操作将会失败。

同时,在使用expdp和impdp 时,需要确保具有足够的权限,并且要遵守Oracle数据库的数据泵规范和最佳实践。

oracle 10g数据库expdp,impdp

oracle  10g数据库expdp,impdp

Expdp与impdp使用Expdp1.创建目录Create or replace directory DIR_DP as'/orabak';1)可以使用system 创建;2)Aix下的oracle用户需要对相应的目录具备读写的权限;3)嘉兴使用的是orabak路径;本地路径为导出数据库所在目录,例”e:\orabak”;2.赋予权限;Grant Read, Write on directory DIR_DP to jxcz;1)使用system用户赋权;2)确认是否有权限:select * from dba_directories where DIRECTORY_NAME = 'DIR_DP'; 3.通过shell,以oracle登录:直接执行命令:Expdp jxcz/ufgov1234 DIRECTORY=dir_dp DUMPFILE=jxcz.dmpEXCLUDE=TABLE:\"IN\(\'BA_RECEIVE_SS_CZ613_BODY\',\'SS_TO_BANK_DATA\',\'SS_TRANS_RECORD\',\'BA_RECEIVE_RECORD_XML\',\'BA_SEND_RECORD_XML\',\'NT_BILL\',\'NT_BILL_ITEM\',\'NT_JB_HX_PJMX_LOG\',\'NT_DATA_DEL_LOG\',\'NT_JB_HX_PJQD_LOG\',\'FA_CARD_MO\',\'FA_CARD\',\'AS_FILE\',\'AS_LOG\'\)\"expdp jxcz/ufgov2012 DIRECTORY=dir_dp DUMPFILE=jxcz1210.dmpEXCLUDE=TABLE:\"IN\(\'BA_RECEIVE_SS_CZ613_BODY\',\'BANK_TRADE_LOG\',\'GK_JXCZ_ZH_ZCCX\',\'NT_JXCZ_COMPANY_NJZCB\',\' AS_LOG \',\' CP_VOUCHER\',\'SS_TO_BANK_DATA\',\'SS_TRANS_RECORD\',\'BA_RECEIVE_RECORD_XML\',\'BA_SEND_RECORD_XML\',\'NT_BILL\',\'NT_BILL_ITEM\',\'NT_JB_HX_PJMX_LOG\',\'NT_DATA_DEL_LOG\',\'NT_JB_HX_PJQD_LOG\',\'FA_CARD_MO\',\'FA_CARD\',\'AS_FILE\'\)\"1)Expdp中的e必须小写;2)EXCLUDE需要全部大写;3)Aix需要使用”\”,windows 不需要;4)注意修改dmp文件;5)命令把平常比较大的几张物理表排除了,如果需要个别的物理表,请自行删除去除的语句;注:(1)以上几张表目前占了嘉兴数据库的80%的空间(2)删除时请注意EXCLUDE 的语法,出错往往是里面的值有错了。

EXPDB_IMPDB导出数据库和导入数据库操作手册

EXPDB_IMPDB导出数据库和导入数据库操作手册

EXPDB_IMPDB导出数据库和导入数据库操作手册EXPDP/IMPDP导出导入操作手册1.介绍EXPDP/IMPDP 是 Oracle 数据库中提供的一种工具,用于导出和导入数据库中的数据和对象。

通过使用 EXPDP 可以将数据库中的指定数据表、视图、程序、触发器等对象导出到一个二进制文件中,而使用 IMPDP 可以将这个导出的文件再导入到一个新的数据库中。

2.环境设置在使用 EXPDP/IMPDP 前,需要进行一些环境设置。

首先,确保数据库已经以归档模式运行,并且存在一个有效的备份策略。

其次,确认当前用户具备使用 EXPDP/IMPDP 的权限,可以通过以下语句进行授权:```GRANT EXP_FULL_DATABASE, IMP_FULL_DATABASE TO username;```其中,`username` 是需要授权的用户名。

3.导出数据库要导出数据库,可以使用以下命令:```expdp username/passwordconnect_stringDIRECTORY=directory_name DUMP LOG```其中,`username` 是要导出数据的用户名,`password` 是该用户的密码,`connect_string` 是连接数据库的字符串,`directory_name` 是导出文件所在的目录,`dump` 是导出文件的名称,`log` 是导出日志文件的名称。

4.导入数据库要导入数据库,可以使用以下命令:```impdp username/passwordconnect_stringDIRECTORY=directory_name DUMP LOG```其中,`username` 是要导入数据的用户名,`password` 是该用户的密码,`connect_string` 是连接数据库的字符串,`directory_name` 是导入文件所在的目录,`dump` 是导入文件的名称,`log` 是导入日志文件的名称。

oracle数据库全库备份语句

oracle数据库全库备份语句

oracle数据库全库备份语句Oracle数据库是一种关系型数据库管理系统,它可以用于存储和管理大量的结构化数据。

在进行数据库管理时,备份是非常重要的一项工作,它可以保护数据库免受数据丢失和系统故障的影响。

下面列举了十个Oracle数据库全库备份的语句,以供参考。

1. 使用RMAN进行全库备份:RMAN是Oracle提供的备份和恢复工具,可以通过以下命令进行全库备份:```RMAN> BACKUP DATABASE;```2. 使用EXPDP进行全库逻辑备份:EXPDP是Oracle提供的逻辑备份工具,可以通过以下命令进行全库备份:```expdp system/password@database_name directory=backup_directory dumpfile=full_backup.dmp full=y; ```3. 使用IMPDP进行全库逻辑恢复:IMPDP是Oracle提供的逻辑恢复工具,可以通过以下命令进行全库恢复:```impdp system/password@database_name directory=backup_directory dumpfile=full_backup.dmp full=y; ```4. 使用ALTER DATABASE进行全库备份:ALTER DATABASE命令可以备份整个数据库,可以通过以下命令进行全库备份:```SQL> ALTER DATABASE BACKUP CONTROLFILE TO '/path/to/backup/controlfile.bkp';```5. 使用Data Pump进行全库备份:Data Pump是Oracle提供的数据导入导出工具,可以通过以下命令进行全库备份:```SQL> EXPDP system/password@database_nameDIRECTORY=data_pump_dir DUMPFILE=full_backup.dmp FULL=YES;```6. 使用RMAN进行全库增量备份:RMAN可以进行增量备份,只备份发生变化的数据,可以通过以下命令进行全库增量备份:```RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;```7. 使用EXP进行全库逻辑备份:EXP是Oracle提供的逻辑备份工具,可以通过以下命令进行全库备份:```exp system/password@database_name file=full_backup.dmp full=y;```8. 使用ALTER TABLESPACE进行表空间备份:可以通过ALTER TABLESPACE命令备份指定的表空间,可以通过以下命令进行表空间备份:```SQL> ALTER TABLESPACE tablespace_name BEGIN BACKUP;```9. 使用RMAN进行全库镜像备份:RMAN可以进行镜像备份,备份数据库的所有镜像拷贝,可以通过以下命令进行全库镜像备份:```RMAN> BACKUP AS COPY DATABASE;```10. 使用EXPDP进行全库逻辑备份,并压缩备份文件:可以通过以下命令进行全库逻辑备份,并对备份文件进行压缩:```expdp system/password@database_name directory=backup_directory dumpfile=full_backup.dmp full=y compression=all;```以上是十个Oracle数据库全库备份的语句,可以根据实际需求选择其中一种或多种备份方式进行数据库的备份工作。

EXPDB和IMPDP使用

EXPDB和IMPDP使用

EXPDB和IMPDP使用EXPDP和IMPDP是Oracle数据库中用于导出和导入数据的工具。

EXPDP用于将数据库中的数据、对象和元数据导出为一个二进制文件,而IMPDP则用于将这个二进制文件导入到另一个数据库中。

本文将详细介绍EXPDP和IMPDP的使用方法。

EXPDP命令用于在Oracle数据库中导出数据。

它可以导出整个数据库、指定的表空间、指定的表或指定的数据集。

EXPDP提供了很多选项,可以控制导出的方式,比如导出数据的压缩级别、并发作业数、导出的内容等。

以下是一个基本的EXPDP命令示例:``````上述命令将从数据库中导出所有的数据,然后将数据保存到data.dmp文件中,日志信息保存在expdp.log文件中。

接下来是IMPDP命令的使用。

IMPDP可以用于将导出的数据文件导入到一个新的数据库中。

它也可以使用很多选项来控制导入过程,比如指定导入的表空间、指定导入的对象、并发作业数等。

以下是一个基本的IMPDP命令示例:``````上述命令将从data.dmp文件中导入数据到数据库中,日志信息保存在impdp.log文件中。

在实际使用EXPDP和IMPDP时,有一些常用的选项可以帮助我们更好地管理数据的导入和导出过程。

下面是一些常用的选项及其说明:-`SCHEMAS`:指定要导出或导入的模式或用户。

可以同时指定多个模式。

-`TABLES`:指定要导出或导入的表。

可以同时指定多个表。

-`INCLUDE`:指定要导出或导入的对象类型。

可以是表、索引、约束等。

-`EXCLUDE`:指定要排除的对象类型。

-`JOB_NAME`:用于标识导出或导入作业的名称。

-`FULL`:指定是否导出或导入整个数据库。

-`NETWORK_LINK`:用于从一个远程数据库导入数据。

-`REMAP_SCHEMA`:用于在导入时重新映射模式或用户。

除了上述常用选项外,EXPDP和IMPDP还提供了很多其他选项,用于更灵活地控制导入和导出过程。

Oracle导入导出(imp,exp,impdp,expdp)详解

Oracle导入导出(imp,exp,impdp,expdp)详解
BUFFER 数据缓冲区大小 FROMUSER 所有者用户名列表
FILE 输入文件 (EXPDAT.DMP) TOUSER 用户名列表
SHOW 只列出文件内容 (N) TABLES 表名列表
IGNORE 忽略创建错误 (N) RECORDLENGTH IO 记录的长度
RESUMABLE_TIMEOUT RESUMABLE 的等待时间
COMPILE 编译过程, 程序包和函数 (Y)
STREAMS_CONFIGURATION 导入流的一般元数据 (Y)
STREAMS_INSTANTIATION 导入流实例化元数据 (N)
ROWS 导出数据行 (Y) PARFILE 参数文件名
CONSISTENT 交叉表的一致性 (N) CONSTRAINTS 导出的约束条件 (Y)
OBJECT_CONSISTENT 只在对象导出期间设置为只读的事务处理 (N)
FEEDBACK 每 x 行显示进度 (0)
USERID 必须是命令行中的第一个参数。
关键字 说明 (默认值) 关键字 说明 (默认值)
--------------------------------------------------------------------------
USERID 用户名/口令 FULL 导入整个文件 (N)
GRANTS 导入权限 (Y) INCTYPE 增量导入类型
INDEXES 导入索引 (Y) COMMIT 提交数组插入 (N)
ROWS 导入数据行 (Y) PARFILE 参数文件名
LOG 屏幕输出的日志文件 CONSTRAINTS 导入限制 (Y)
BUFFER 数据缓冲区大小 OWNER 所有者用户名列表

oracle expdp用法

oracle expdp用法

Oracle expdp是Oracle数据库中的一个重要工具,用于将数据库中的数据导出到其他地方。

它可以将数据以逻辑格式导出,以便在其他数据库中导入或进行备份。

使用expdp前,我们需要确保已经正确设置了Oracle数据库实例以及用户权限。

在启动expdp之前,我们还需要创建一个导出作业,并指定需要导出的对象和导出的目标位置。

expdp的使用非常简单,只需使用以下命令启动导出作业:expdp username/password@database SCHEMAS=schema_name DIRECTORY=directory_name DUMPFILE=filename.dmp LOGFILE=logfilename.log在命令中,username是数据库用户的用户名,password是密码,database是数据库的连接字符串,schema_name是需要导出的数据库模式名称,directory_name是导出文件的目标目录,filename.dmp是导出文件的名称,logfilename.log是导出日志文件的名称。

导出过程中,expdp会自动创建导出文件和日志文件,并将导出的数据保存到指定的目录中。

除了导出整个模式外,expdp还支持导出指定的表、分区表、视图、存储过程等。

我们可以使用INCLUDE和EXCLUDE参数来指定需要导出或排除的对象类型。

另外,expdp还支持并行导出,通过PARALLEL参数可以指定并行导出的进程数,以加快导出速度。

在导出过程中,我们还可以使用其他参数来定制导出的方式,例如:COMPRESSION参数可以指定导出文件的压缩级别;CONTENT参数可以指定导出的内容,包括只导出数据、只导出元数据或同时导出数据和元数据。

导出完成后,我们可以使用impdp命令将导出的数据导入到其他Oracle数据库中。

impdp 命令的用法与expdp类似,只需将命令中的expdp替换为impdp即可。

Oracle基础expimp和expdpimpdp的区别:

Oracle基础expimp和expdpimpdp的区别:

Oracle基础expimp和expdpimpdp的区别:⼀、exp/imp和expdp/impdp在功能上的区别: 1、把⽤户usera的对象导⼊到userb emp/imp⽤法: formuser=usera touser=userb; empdp/impdp⽤法: remap_schema='usera':'userb' 例如: imp system/password fromuser=usera touser=userb file=back.dmp log=backlog.log; impdp system/password directory=expdp dumpfile=back.dmp remap_schema='usera':'userb' logfile=backlog.log 2、更改表空间 ⽤exp/imp,想要更改表空间,需要⼿动处理,如alter table xxx move tablespace_new之类的操作,⽽是⽤impdp只要⽤: remap_tablespace='tablespace_old' : 'tablespace_new' 3、当制定多个表的时候 exp/imp⽤法:tables('table1','table2','table3') expdp/impdp⽤法:tables='table1','table2','table3' 4、是否要导出数据⾏ exp rows=y,导出数据⾏,rows=n不导出数据⾏ expdp content(all:对象+数据⾏,data_only:只导出对象,metadata_only:只导出数据的记录) Oracle10g提出的数据泵技术,在以下⼏个⽅⾯优于exp/imp命令: 1、数据泵⼯具运⾏于服务器端,相⽐客户端的exp/imp其性能更好,并能实现exp/imp的全部功能。

expdp、impdp用法详解

expdp、impdp用法详解

expdp、impdp⽤法详解Oracle数据泵⼀、数据泵的作⽤:1.实现逻辑备份和逻辑恢复2.在数据库⽤户之间移动对象3.在数据库之间移动对象4.实现表空间转移⼆、数据泵的特点与传统导出导⼊的区别1.EXP和IMP是客户段⼯具程序, EXPDP和IMPDP是服务端的⼯具程序2.EXP和IMP效率⽐较低. EXPDP和IMPDP效率⾼3.数据泵功能强⼤并⾏、过滤、转换、压缩、加密、交互等等4.数据泵不⽀持9i以前版本, EXP/IMP短期内还是⽐较适⽤5.同exp/imp数据泵导出包括导出表,导出⽅案,导出表空间,导出数据库4种⽅式.三、DATA PUMP的体系结构:四、EXPDP语法介绍:数据泵导出实⽤程序提供了⼀种⽤于在 Oracle 数据库之间传输数据对象的机制。

该实⽤程序可以使⽤以下命令进⾏调⽤:⽰例: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp您可以控制导出的运⾏⽅式。

具体⽅法是: 在 'expdp' 命令后输⼊各种参数。

要指定各参数,请使⽤关键字:格式: expdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN) ⽰例: expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scott或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表USERID 必须是命令⾏中的第⼀个参数。

关键字说明 (默认)------------------------------------------------------------------------------ATTACH 连接到现有作业, 例如 ATTACH [=作业名]。

COMPRESSION 减⼩有效的转储⽂件内容的⼤⼩ 关键字值为: (METADATA_ONLY) 和 NONE。

Linux服务器下对Oracle数据库expdp(导出)和impdp(导入)

Linux服务器下对Oracle数据库expdp(导出)和impdp(导入)

Linux服务器下对Oracle数据库expdp(导出)和impdp(导⼊)紧接上篇⽂章,Oracle数据库架构已经创建完成,我的需求是:将⽼服务器上的数据库迁移到新的数据库上。

这就⽤到impdp(导⼊)操作。

要想实现对新数据库的impdp(导⼊)⼯作,⾸先需要从⽼的数据库上做expdp(导出)操作,命令如下:expdp⽤户名/密码 schemas=iirspublish dumpfile=导出数据库名.dmp DIRECTORY=⽬录名 logfile=导出⽇志.log 备注:schemas,你⽤“⽤户 user”来理解就很容易了,每个模式(user)下可以有⼀套互不⼲扰的对象。

你如果想要访问其他模式的对象,需要指定schema的name,实际就是指定username。

下⾯这些步骤是我在实际⼯作中实践过的,准备⼯作:⾸先⽤Xshell连接到Linux服务器,并切换⾄oracle账号,[root@localhost ~]# su - oracleLast login: Fri Jul 21 13:49:22 CST 2017 on pts/1 (成功切换)[oracle@localhost ~]$ sqlplus sys/ as sysdba切换到SQL>然后依次执⾏如下命令:1、sys⽤户登录创建⽬录SQL>create directory dir_iirsuserbaknew as '/u01/app/oracle/oradata'; (创建⽬录并分配存放路径)2、sys⽤户下创建表空间SQL>create tablespace IIRSUSER datafile '/u01/app/oracle/oradata/IIRSUSER01' size 100m Autoextend on next100m,'/u01/app/oracle/oradata/IIRSUSER02' size 100m Autoextend on next 100m Extent management local uniform size 200k;(创建表空间,设置⽂件⾃动增长空间⼤⼩)3、sys⽤户下创建⽤户SQL>create user iirsuser identified by "iirsuser" Default tablespace IIRSUSER Temporary tablespace temp; (创建⽤户名,设置密码,并指明默认表空间和临时表空间)SQL>grant dba,connect,resource to iirsuser; (给⽤户授予dba、基础、开发权限)4、sys⽤户下SQL>Grant read,write on directory dir_iirsuserbaknew to iirsuser; (将⽬录的读写权限授予⽤户)5、DOS下Impdp还原[oracle@localhost ~]$impdp iirsuser/"iirsuser"@orcl directory=dir_iirsuserbaknew dumpfile=ExpIirspublish20170814.dmpremap_tablespace=IIRSPublish:IIRSUSER remap_schema=iirspublish:iirsuser logfile=impdbiirspublish20170814.log transform=oid:n第5步需要退出(exit)SQL命令⾏⾄Oracle账号下执⾏。

ORACLE的impdp和expdp命令

ORACLE的impdp和expdp命令

ORACLE的impdp和expdp命令使用EXPDP和IMPDP时应该注意的事项:1.EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。

2.EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。

IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。

expdp或impdp命令时,可暂不指出用户名/密码@实例名as身份,然后根据提示再输入,如:expdp schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;1导出数据导出数据前要在源服务器上创建好:源数据库\源用户\源表空间等等。

具体步骤如下:一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。

create directory dpdata1 as 'd:\test\dump';二、查看管理理员目录(此步骤可省略。

同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)select * from dba_directories;三、给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。

grant read,write on directory dpdata1 to scott;四、导出数据1.按用户导expdp【数据库用户】/【数据库密码】@【ip】/【数据库实例】schemas=【数据库用户】dumpfile=【生成的dmp文件名称】DIRECTORY=【逻辑目录】version=【目标数据库版本】如:(1)expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmpDIRECTORY=dpdata1;(2)expdp scott/tiger@127.0.0.1/orcl schemas=scottdumpfile=expdp.dmp DIRECTORY=dpdata1 version=10.2.0.1.0注意:以上命令都是在cmd下执行,执行完命令后,逻辑目录dpdata1对应的物理目录下会生成expdp.dmp文件。

oracle备份之expdpimpdp和expimp命令

oracle备份之expdpimpdp和expimp命令

oracle备份之expdpimpdp和expimp命令EXP/IMPexp/imp 介绍常⽤实例门诊统筹exp/impexp mztc/YinhaiTY2019 compress=n buffer=4096000 feedback=100000 owner=mztc file=mztc1.dmp log=mztc1.logimp mztc/YinhaiTY2019@ybpdb fromuser=mztc touser=mztc ignore=y buffer=4096000 feedback=100000 file=mztc.dmp log=mztc.loghis数据库impdp/expdpexpdp system/123456@ybzjk schemas=oracle directory=BAK_DIR dumpfile=yhhis-20211201.dmp.dmp logfile=yhhis-20211201.dmp.logimpdp system/123456@ybzjk schemas=oracle directory=BAK_DIR dumpfile=yhhis-20211201.dmp.dmp logfile=yhhis-20211201.dmp.logexpdp yhhis/xhlhis@111.111.111.153/pdbhisdb schemas=yhhis directory=dmp compression=ALL dumpfile=yhhis-20211201.dmp logfile=yhhis-20211201-expdp.dmp impdp yhhis/yhhis@ylpdb remap_schema=yhhis_a:yhhis directory=BAK_DIR dumpfile=yhhis-20211201.dmp logfile=yhhis-20211201-imp.log基本语法和实例:1、 EXP有三种主要的⽅式(完全、⽤户、表)1.1 完全EXP SYSTEM/PASSWORD BUFFER=1024000 FILE=C:\FULL.DMP FULL=Y如果要执⾏完全导出,必须具有特殊的权限1.2 ⽤户模式EXP SONIC/SONIC BUFFER=1024000 FILE=C:\SONIC.DMP OWNER=SONIC这样⽤户SONIC的所有对象被输出到⽂件中。

impdp、expdp命令

impdp、expdp命令

expdp使用使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录。

因此使用EXPDP工具时,,必须首先建立DIRECTORY 对象,并且需要为数据库用户授予使用DIRECTORY对象权限。

首先得建DIRECTORY:SQL> conn /as sysdbaSQL> CREATE OR REPLACE DIRECTORY dir_dump AS '/u01/backup/';SQL> GRANT read,write ON DIRECTORY dir_dump TO public;1) 导出scott整个schema--默认导出登陆账号的schema$ expdp scott/tiger@db_esuite parfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott_full.dmpLOGFILE=scott_full.log--其他账号登陆, 在参数中指定schemas$ expdp system/oracle@db_esuite parfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott_full.dmpLOGFILE=scott_full.logSCHEMAS=SCOTT2) 导出scott下的dept,emp表$ expdp scott/tiger@db_esuite parfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logTABLES=DEPT,EMP3) 导出scott下除emp之外的表$ expdp scott/tiger@db_esuite parfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logEXCLUDE=TABLE:"='EMP'"4) 导出scott下的存储过程$ expdp scott/tiger@db_esuite parfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logINCLUDE=PROCEDURE5) 导出scott下以'E'开头的表$ expdp scott/tiger@db_esuite parfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logINCLUDE=TABLE:"LIKE 'E%'" //可以改成NOT LIKE,就导出不以E开头的表6) 带QUERY导出$ expdp scott/tiger@db_esuite parfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logTABLES=EMP,DEPTQUERY=EMP:"where empno>=8000"QUERY=DEPT:"where deptno>=10 and deptno<=40"注: 处理这样带查询的多表导出, 如果多表之间有外健关联, 可能需要注意查询条件所筛选的数据是否符合这样的外健约束, 比如 EMP中有一栏位是 deptno, 是关联dept中的主键, 如果"where empno>=8000"中得出的deptno=50的话, 那么, 你的dept的条件"where deptno>=10 and deptno<=40"就不包含deptno=50的数据, 那么在导入的时候就会出现错误.expdp选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下:ATTACH=[schema_name.]job_nameschema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH 选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下: expdp scott/tiger ATTACH=scott.export_job2. CONTENT该选项用于指定要导出的内容.默认值为ALL.语法如下:CONTENT={ALL | DATA_ONLY | METADATA_ONLY}当设置CONTENT为ALL 时,将导出对象定义及其所有数据; 为DATA_ONLY时,只导出对象数据; 为METADATA_ONLY时,只导出对象定义,示例如下:expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump CONTENT=METADATA_ONLY3. DIRECTORY指定转储文件和日志文件所在的目录.语法如下:DIRECTORY=directory_objectdirectory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS 目录,示例如下:expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump建立目录:CREATE DIRECTORY dump as 'd:dump';查询创建了那些子目录:SELECT * FROM dba_directories;4. DUMPFILE用于指定转储文件的名称,默认名称为expdat.dmp.语法如下:DUMPFILE=[directory_object:]file_name[,….]directory_object用于指定目录对象名,file_name用于指定转储文件名.需要注意,如果不指定directory_object,导出工具会自动使用DIRECTORY选项指定的目录对象,示例如下:expdp scott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp5. ESTIMATE指定估算被导出表所占用磁盘空间的方法.默认值是BLOCKS.语法如下:EXTIMATE={BLOCKS | STATISTICS}设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间,示例如下: expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS DIRECTORY=dump DUMPFILE=a.dump一般情况下, 当用默认值(blocks)时, 日志中估计的文件大小会比实际expdp出来的文件大, 用statistics时会跟实际大小差不多.6. EXTIMATE_ONLY指定是否只估算导出作业所占用的磁盘空间,默认值为N.语法如下:EXTIMATE_ONLY={Y | N}设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作,示例如下:expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y7. EXCLUDE该选项用于指定执行操作时要排除的对象类型或相关对象.语法如下:EXCLUDE=object_type[:name_clause][,….]object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDE和INCLUDE不能同时使用,示例如下:expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW在EXPDP的帮助文件中, 可以看到存在EXCLUDE和INCLUDE参数, 这两个参数文档中介绍的命令格式存在问题, 正确用法是:EXCLUDE=OBJECT_TYPE[:name_clause][,...]INCLUDE=OBJECT_TYPE[:name_clause][,...]示例:Expdp <other_parameters> schema=scott exclude=sequence,table:"in('EMP','DEPT')" impdp <other_parameters> schema=scott include = function, package, procedure, table:"='EMP'"有了这些还不够, 由于命令中包含了多个特殊字符, 在不同的操作系统下需要通过转义字符才能使上面的命令顺利执行,如:EXCLUDE=TABLE:"IN('BIGTALE')"8. FILESIZE指定导出文件的最大尺寸,默认为0(表示文件尺寸没有限制).9. FLASHBACK_SCN指定导出特定SCN时刻的表数据.语法如下:FLASHBACK_SCN=scn_valuescn_value用于标识SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同时使用,示例如下:expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_SCN=35852310. FLASHBACK_TIME指定导出特定时间点的表数据.语法如下:FLASHBACK_TIME="TO_TIMESTAMP(time_value)"示例如下:expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME = "TO_TIMESTAMP('25-08-2004 14:35:00','DD-MM-YYYY HH24:MI:SS')"11. FULL指定数据库模式导出,默认为N.语法如下:FULL={Y | N}为Y时,标识执行数据库导出.12. HELP指定是否显示EXPDP命令行选项的帮助信息,默认为N. 当设置为Y时,会显示导出选项的帮助信息,示例如下:expdp help=y13. INCLUDE指定导出时要包含的对象类型及相关对象.语法如下:INCLUDE=object_type[:name_clause][,… ]示例如下:expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp INCLUDE=trigger1.1.2 expdp选项14. JOB_NAME指定要导出作用的名称,默认为SYS_XXX.语法如下:JOB_NAME=jobname_string示例如下:expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp INCLUDE=trigger JOB_NAME=exp_trigger后面想临时停止expdp任务时可以按Ctrl+C组合键,退出当前交互模式,退出之后导出操作不会停止,这不同于Oracle以前的EXP. 以前的EXP,如果退出交互式模式,就会出错终止导出任务. 在 Oracle10g中,由于EXPDP是数据库内部定义的任务,已经与客户端无关. 退出交互之后,会进入export的命令行模式,此时支持 status等查看命令:Export> status如果想停止改任务,可以发出stop_job命令:Export> stop_job如果有命令行提示: "是否确实要停止此作业([Y]/N):" 或 "Are you sure you wish to stop this job ([yes]/no):", 回答应是yes或者no, 回答是YES以后会退出当前的export 界面.接下来可以通过命令行再次连接到这个任务:expdp test/test@acf attach=expfull通过start_job命令重新启动导出:Export> start_jobExport> status15. LOGFILE指定导出日志文件文件的名称,默认名称为export.log.语法如下:LOGFILE=[directory_object:]file_namedirectory_object用于指定目录对象名称,file_name用于指定导出日志文件名.如果不指定directory_object.导出作用会自动使用DIRECTORY的相应选项值,示例如下: expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp logfile=a.log16. NETWORK_LINK指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项.expdp中使用连接字符串和network_link的区别:expdp属于服务端工具,而exp属于客户端工具,expdp生成的文件默认是存放在服务端的,而exp生成的文件是存放在客户端.expdp username/password@connect_string //对于使用这种格式来说,directory使用源数据库创建的,生成的文件存放在服务端。

数据泵expdp impdp 和exp imp工具命令参数中文说明

数据泵expdp impdp 和exp imp工具命令参数中文说明

一、数据泵EXPDP命令参数中文说明#通过在命令行输入expdp help=y 获取imp的语法信息Export: Release 11.2.0.1.0 - Production on 星期五10月10 12:25:21 2019Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.数据泵导出实用程序提供了一种用于在Oracle 数据库之间传输数据对象的机制。

该实用程序可以使用以下命令进行调用:示例: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp您可以控制导出的运行方式。

具体方法是: 在'expdp' 命令后输入各种参数。

要指定各参数, 请使用关键字:格式: expdp KEYWORD=value 或KEYWORD=(value1,value2,...,valueN)示例: expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scott 或TABLES=(T1:P1,T1:P2), 如果T1 是分区表USERID 必须是命令行中的第一个参数。

------------------------------------------------------------------------------以下是可用关键字和它们的说明。

方括号中列出的是默认值。

ATTACH连接到现有作业。

例如, ATTACH=job_name。

COMPRESSION减少转储文件大小。

有效的关键字值为: ALL, DATA_ONLY, [METADATA_ONLY] 和NONE。

CONTENT指定要卸载的数据。

有效的关键字值为: [ALL], DATA_ONLY 和METADATA_ONLY。

OracleEXPDP命令参数

OracleEXPDP命令参数

OracleEXPDP命令参数EXPDP是Oracle数据库中的一个工具,用于导出数据库中的数据和元数据。

它提供了一组参数,用于控制导出过程的行为。

以下是一些常用的EXPDP命令参数:1.DIRECTORY:指定导出文件的目录,默认为DATA_PUMP_DIR。

可以使用CREATEDIRECTORY命令创建自定义目录。

2. DUMPFILE:指定导出文件的文件名。

可以使用%U来指定多个文件。

例如DUMPFILE=expdp%U.dmp将生成expdp1.dmp,expdp2.dmp等。

3.LOGFILE:指定导出过程的日志文件名。

4.SCHEMAS:指定要导出的用户模式。

5.TABLES:指定要导出的表。

6.INCLUDE:指定要导出的对象类型。

例如INCLUDE=TABLE,VIEW将仅导出表和视图。

7.EXCLUDE:指定要排除的对象类型。

例如EXCLUDE=INDEX将排除索引。

8.QUERY:指定一个SQL查询,用于导出满足查询条件的数据。

9.PARALLEL:指定并行度级别,控制导出过程的并行度。

10.TRANSPORT_FULL_CHECK:在导出之前执行完整性检查。

11. FLASHBACK_TIME:允许使用Oracle闪回技术,恢复到一个指定的时间点。

WORK_LINK:从另一个数据库中导出数据,而不是本地数据库。

13.CONTENT:指定导出的内容类型。

可以是DATA_ONLY(仅导出数据),METADATA_ONLY(仅导出元数据),ALL(导出数据和元数据)。

PRESSION:指定导出文件的压缩级别。

15.ESTIMATE_ONLY:仅计算导出作业的大小,而不执行实际的导出。

这些只是一些常用的EXPDP命令参数,还有其他更多的参数可用于进一步控制导出过程的行为。

根据具体情况,您可以根据需要组合和使用这些参数。

expdp和impdp使用说明

expdp和impdp使用说明

Expdp和impdpOracle 11g数据库以后的导入导出功能,采用数据泵模式expdp和impdp命令备份和恢复Oracle数据库。

1.首先创建一个用于存放对象的文件,即导入\导出时的文件存放目录,以便能够直接找到导出的文件。

默认也有directory,一般在\admin\orcl\dpdump下。

(此路径必须在电脑中存在,否则oracle会提示创建成功,但实际应用导入\导出时会报错。

)举例:我创建一个在D盘根目录下的oracle文件夹下的目录。

第一步:创建一个目录(也就是文件路径)来装导出的dmp文件方法:操作系统—开始—运行输入“cmd”进入dos界面输入“sqlplus system/zl@orcl”(根据自己的数据库情况输入) 。

按回车如下图:接着,创建DIRECTORYcreate directory expdp_dir as 'D:\oracle\ ';这里要注意,路径D:\oracle\一定要是系统已经存在的了,如果该路径不存在,下边的导出将会提示正确创建了路径的显示如下:第二步:授权(授予要导入数据的用户对该目录(路径)进行读和写的权限),还是在连接数据库的状态下输入:Grant read,write on directory dir_dp to htdss;如下图:就完成了,关闭窗口,重新进入dos界面就可以进行备份了;第三步:执行导出expdp htdss/htdss@orcl directory=expdp_dir dumpfile =xxx.dmp schemas=htdss logfile=xxxx.log;连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1With the Partitioning, OLAP and Data Mining options启动"LTTFM"."SYS_EXPORT_SCHEMA_01": lttfm/********@fgisdb schory=expdp_dir dumpfile =expdp_test1.dmp logfile=expdp_test1.log; */备注:1、directory=expdp_dir必须放在前面,如果将其放置最后,会提示ORA-39002: 操作无效ORA-39070: 无法打开日志文件。

oracle expdp与impdp

oracle expdp与impdp

4.如果数据库版本不一样,要通过version=目标数据,就是要导入那个数据的版本,例如以后要入到11.1.0.7.0。就需要加version=11.1.0.7.0
expdp xyygyy/123456@172.16.17.74/ygyy schemas=xyygyy dumpfile=xyygyy416.dmp logfile=xyygyy416.log directory=DATA_PUMP_DIR version=11.1.0.7.0
5.导入数据库,如果导入的用户名一样,可以通过以下导入
impdp xnygyy/123456@172.16.17.184/orcl schemas=xyygyy directory=DATA_PUMP_DIR dumpfile=xyygyy416.dmp logfile=xnygyyimp416.log
2. 通过以下语句可以查看数据库版本信息
select * from v$instance;
3.如果oracle数据库版本相同可以通过以下语句导出
expdp xyygyy/123456@172.16.17.74/ygyy schemas=xyygyy dumpfile=xyygyy416.dmp logfile=xyygyy416.log directory=DATA_PUMP_DIR;
expdp jcygyy/123456@192.168.181.19/jcygyy schemas=jcygyy dumpfile=jcygyy85.dmp logfile=jcygyy85.log directory=DATA_PUMP_DIR;
impdp jcygyy/123456@192.168.100.110/ygyy schemas=jcygyy directory=DATA_PUMP_DIR dumpfile=jcygyy85.dmp logfile=jcygyy85.log

oracleimpdp参数expdpimpdp详细参数解释

oracleimpdp参数expdpimpdp详细参数解释

oracleimpdp参数expdpimpdp详细参数解释Oracle impdp (import data pump) 是一个用于导入数据的工具,用于将由 expdp 工具导出的数据文件导入到 Oracle 数据库中。

impdp 工具提供了许多参数,以配置和控制导入过程。

下面将详细解释一些常用的impdp 参数。

1. directory: 指定导入导出文件的目录对象。

2. dumpfile: 指定要导入的数据文件。

可以使用通配符指定多个文件。

3. logfile: 指定导入日志文件的名称和路径。

4. schemas: 指定要导入的模式(用户)。

可以使用逗号分隔的列表指定多个模式。

5. remap_schema: 将导入的数据文件中的模式(用户)映射到一个新的模式。

6. tables: 指定要导入的表。

可以使用逗号分隔的列表指定多个表。

7. remap_tablespace: 将导入的表映射到新的表空间。

可以使用逗号分隔的列表指定多个映射关系。

9. exclude: 排除一些对象或类型的对象不进行导入。

可以使用exclude 参数指定需要排除的对象类型。

10. network_link: 通过网络链接导入数据。

可以与数据库之间使用dblink 创建网络链接。

11. parallel: 启用并行导入,使用多个进程同时导入数据。

12. cluster: 以并行方式导入集群表和索引。

13. remap_data: 对导入的数据进行变换。

14. remap_tablespace: 将导入的对象映射到新的表空间。

15. nologfile: 导入时不生成日志文件。

16. remap_all_tables: 将导入的所有数据表映射到一个新的模式和表空间。

17. remap_all_indexes: 将导入的所有索引映射到一个新的模式和表空间。

18. table_exists_action: 指定当导入的数据表已经存在时的处理方式,如 SKIP, APPEND, TRUNCATE, REPLACE等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ORACLE的impdp和expdp命令使用EXPDP和IMPDP时应该注意的事项:
1.EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端
使用。

2.EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不
能在客户端使用。

IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。

expdp或impdp命令时,可暂不指出用户名/密码@实例名as 身份,然后根据提示再输入,如:
expdp schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;
1 导出数据
导出数据前要在源服务器上创建好:源数据库\源用户\源表空间等等。

具体步骤如下:
一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system 等管理员创建。

create directory dpdata1 as 'd:\test\dump';
二、查看管理理员目录(此步骤可省略。

同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)
select * from dba_directories;
三、给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。

grant read,write on directory dpdata1 to scott;
四、导出数据
1.按用户导
expdp 【数据库用户】/【数据库密码】@【ip】/【数据库实例】schemas=【数据库用户】dumpfile=【生成的dmp文件名称】DIRECTORY=【逻辑目录】version=【目标数据库版本】
如:
(1)expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;
(2)expdp scott/tiger@127.0.0.1/orcl schemas=scott
dumpfile=expdp.dmp DIRECTORY=dpdata1 version=10.2.0.1.0 注意:以上命令都是在cmd 下执行,执行完命令后,逻辑目录dpdata1 对应的物理目录下会生成expdp.dmp 文件。

以下其它导出模式同理。

2.并行进程parallel
expdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3
3.按表名导
expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;
4.按查询条件导
expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';
5.按表空间导
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=tlvat,example;
6.导整个数据库
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;
2 还原数据
还原数据前要在目标服务器上创建好:目标数据库\目标用户\目标表空间等等;
一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system 等管理员创建。

create directory imdpdata1 as 'd:\test\dump';
二、查看管理理员目录(此步骤可省略。

同时查看操作系统是否存在,因为
Oracle并不关心该目录是否存在,如果不存在,则出错)
select * from dba_directories;
三、给imscott用户赋予在指定目录的操作权限,最好以system等管理员赋予。

grant read,write on directory imdpdata1 to imscott;
四、还原数据
1.导到指定用户下
impdp 【数据库用户】/【数据库密码】@【ip】/【数据库实例】DIRECTORY=【逻辑目录】DUMPFILE=【dmp文件】SCHEMAS=【数据库用户】impdp 【数据库用户】/【数据库密码】@【ip】/【数据库实例】DIRECTORY=【逻辑目录】DUMPFILE=【dmp文件】REMAP_SCHEMAS=【源用户】:【目标用户】
如:
(1)impdp imscott/tiger DIRECTORY=imdpdata1 DUMPFILE=expdp.dmp SCHEMAS=imscott;
(2)impdp imscott/tiger@127.0.0.1/orcl directory=imdpdata1 dumpfile=expdp.dmp remap_schema=scott:imscott
注意:以上命令都是在cmd 下执行,在执行前要把expdp.dmp文件拷贝到逻辑目录imdpdata1 对应的物理目录下。

以下其它导入模式同理。

2.改变表的owner
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;
3.导入表空间
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp REMAP_SCHEMA=olduser:newuser remap_tablespace=tlvat:newtlvat,example :newexample,tlvat_temp:newtlvat_temp,example_temp:newexample_temp
REMAP_SCHEMA:源用户:目标用户;
remap_tablespace:源表空间:目标表空间;源临时表空间:目标临时表空间(如果有多个表空间,则用“,”隔开没个对应组)。

4.导入数据库
impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;
5.追加数据
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION。

相关文档
最新文档