imp命令
EXP和IMP用法详解

/lschou520/archive/2008/08/31/2854244.aspxOracle 数据库备份与恢复总结-exp/imp (导出与导入装库与卸库) 收藏1.1 基本命令1. 获取帮助$ exp help=y$ imp help=y2. 三种工作方式(1)交互式方式$ exp // 然后按提示输入所需要的参数(2)命令行方式$ exp user/pwd@dbname file=/oracle/test.dmp full=y // 命令行中输入所需的参数(3)参数文件方式$ exp parfile=username.par // 在参数文件中输入所需的参数参数文件username.par 内容userid=username/userpassword buffer=8192000compress=n grants=yfile=/oracle/test.dmp full=y3. 三种模式(1)表方式,将指定表的数据导出/导入。
导出:导出一张或几张表:$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1,table2导出某张表的部分数据$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1 query=\”where col1=\’…\’and col2 \<…\”导入:导入一张或几张表$ imp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1,table2 fromuser=dbuser touser=dbuser2 commit=y ignore=y(2)用户方式,将指定用户的所有对象及数据导出/导入。
导出:$ exp user/pwd file=/dir/xxx.dmp log=xxx.log owner=(xx, yy)只导出数据对象,不导出数据(rows=n )$ exp user/pwd file=/dir/xxx.dmp log=xxx.log owner=user rows=n导入:$ imp user/pwd file=/dir/xxx.dmp log=xxx.log fromuser=dbuser touser=dbuser2commit=y ignore=y(3)全库方式,将数据库中的所有对象导出/导入导出:$ exp user/pwd file=/dir/xxx.dmp log=xxx.log full=ycommit=y ignore=y导入:$ imp user/pwd file=/dir/xxx.dmp log=xxx.log fromuser=dbuser touser=dbuser21.2 高级选项1. 分割成多个文件以多个固定大小文件方式导出:这种做法通常用在表数据量较大,单个dump文件可能会超出文件系统的限制的情况$ exp user/pwd file=1.dmp,2.dmp,3.dmp,…filesize=1000m log=xxx.log full=y以多个固定大小文件方式导入$ imp user/pwd file=1.dmp,2.dmp,3.dmp,… filesize=1000m tables=xxx fromuser=dbuser touser=dbuser2 commit=y ignore=y2. 增量导出/导入// oracle 9i 以后exp 不再支持inctype必须为SYS 或SYSTEM 才可执行增量导出导入增量导出: 包括三个类型:(1)“完全”增量导出(Complete)// 备份整个数据库$ exp user/pwd file=/dir/xxx.dmp log=xxx.log inctype=complete(2)“增量型”增量导出导出上一次备份后改变的数据。
imp 覆盖导入表参数

imp 覆盖导入表参数摘要:1.IMP 简介2.覆盖导入表参数的概念3.IMP 覆盖导入表参数的方法4.IMP 覆盖导入表参数的实例5.IMP 覆盖导入表参数的注意事项正文:1.IMP 简介IMP(Interactive Mode Program)是一种编程方式,主要用于在计算机上处理数据和执行特定任务。
通过IMP,用户可以与计算机进行交互,以实现对数据的操作和处理。
在IMP 中,用户可以利用各种命令和函数来完成复杂的数据操作。
2.覆盖导入表参数的概念在IMP 中,覆盖导入表参数是指当用户执行某个操作时,系统会自动将某些参数赋值给对应的变量。
这些参数可以来自于一个事先定义好的表格,也可以来自于用户在执行操作时的输入。
覆盖导入表参数的目的是简化用户的操作,提高编程效率。
3.IMP 覆盖导入表参数的方法要实现IMP 覆盖导入表参数,需要使用IMP 的覆盖语句。
覆盖语句的基本格式如下:```OVERLAY (TABLE) VARIABLE = (PARAMETER)```其中,(TABLE) 表示要覆盖的表格,(VARIABLE) 表示要覆盖的变量,(PARAMETER) 表示要赋值的参数。
在使用覆盖语句时,需要注意以下几点:- 覆盖语句应放在适当的位置,以确保在执行操作时能够正确地覆盖参数。
- 覆盖语句中的参数应正确设置,以保证覆盖的变量能够获得正确的值。
- 如果需要覆盖多个变量,可以使用多个覆盖语句,或者在一个覆盖语句中指定多个变量。
4.IMP 覆盖导入表参数的实例假设有一个名为“员工信息”的表格,其中包含员工的姓名、年龄和工资等信息。
现在,我们要根据员工的年龄计算其工资级别。
可以使用IMP 覆盖导入表参数的方法来实现:```/* 定义表格*/DATA: employee_infoNAME char10AGE num7SALARY num7CATEGORY char10END-DATA/* 覆盖导入表参数*/OVERLAY (employee_info) VARIABLE = (age)/* 计算工资级别*/age_category:IF age <= 30 THEN category = "初级"ELSE IF age <= 40 THEN category = "中级"ELSE category = "高级"END-IF/* 输出结果*/DISPLAY employee_info```在上述示例中,我们使用覆盖语句将员工的年龄赋值给变量“age”,然后根据年龄计算工资级别,并输出结果。
imp导入命令参数

imp导入命令参数
imp是Oracle数据库中用于导入数据的命令行工具。
它可以通过多种参数来控制数据导入的行为。
以下是一些常用的imp命令参数:
1. FROMUSER,指定导出数据的用户名。
2. TOUSER,指定导入数据的用户名。
3. FILE,指定导出数据的文件名。
4. TABLES,指定要导入的表名。
5. IGNORE,指定在导入过程中忽略指定的错误。
6. FULL,指定进行完全导入,包括表数据、索引和约束等。
7. INDEXES,指定导入表的索引。
8. CONSTRAINTS,指定导入表的约束。
9. ROWS,指定是否导入表的数据行。
10. BUFFER,指定数据缓冲区的大小。
这些参数可以根据具体的导入需求进行组合和调整,以实现灵活、高效的数据导入操作。
在使用imp命令时,需要根据实际情况合理地选择和配置这些参数,以确保数据能够被准确、完整地导入到目标数据库中。
同时,还需要注意imp命令的权限和安全性,确保只有授权的用户可以使用该命令进行数据导入操作,以防止数据泄露或损坏。
希望这些信息能够帮助你更好地理解imp命令及其参数的使用。
imp命令参数

imp命令参数imp 命令参数index=n 不导索引commit=y 以buffer数量为单位提交.如果多数据量⼩使⽤N.这样提交会以表为单位 .保证数据⼀致性buffer=1000000imp userid=\'/ as sysdba\' full=y rows=n indexes=n Constraints=y grants=y buffer=10240000 ignore=y commit=y feedback=10000 file=exp_meta_001.dmp, exp_meta_002.dmp, exp_meta_003.dmp log=imp_f.log statistics=Noneimp 导完没反应imp的session 显⽰空闲等待 single-task message 也不能⽤alter system kill session终⽌只能⽤kill -9PURPOSE-------Getting 10046 Trace for Export and Import UtilitiesSCOPE & APPLICATION-------------------DBA's and Support AnalystsGetting 10046 Trace for Export and Import Utilities----------------------------------------------------1] Run command export and let the program prompt you for the options.$ exp system/manager2] Open another window and attach the debugger as described below.Run the following SQL statement to find the session that is running the export.$ sqlplus system/managersql> select sid,program fromv$session where username = 'SYSTEM'SID PROGRAM---------- ------------------------------------------------10 exp@ (TNS V1-V3) <-- Session running export commandsql> select s.sid, p.pid, p.spidfrom v$session s, v$process pwhere s.paddr = p.addr and s.sid = 10;SID PID SPID---------- ---------- ---------10 15 2619SPID from the previous query is equivalent to OSPID (operating System process).3] Generate a trace file to Proccess ID 2619Note:- Use SQLPLUS and connect as sysdba in 9i and higher.$ svrmgrl <enter>svrmgr> connect internalsvrmgr> oradebug setospid 2619svrmgr> oradebug Event 10046 trace name context forever, level 12;4] Switch back to the exp/imp windows and enter the parameters and then start the operation.e.gFULL=yFILE=file.dmp (or the Parameters used by your export)5] Set the Trace off once you get the Required information or the error.svrmgr> oradebug Event 10046 trace name context off;This will generate a trace file in the udump directory with the Process ID appended.RELATED DOCUMENTS-----------------Troubleshooting a slow running import (IMP).SolutionConsider splitting the import into two separate processes, by using the following Import parameters:1. Run mport with INDEXFILE to build a file of index creation commands2. Then run import with:BUFFER -> set as large as you canCOMMIT=Y -> so don't run out of rollbackINDEXES = N -> Build indexes after importing data3. Consider increasing SORT_AREA_SIZE to avoid/reduce sort data going to disk, but be aware that it is a per-user parameter. Run the index creation script generated from INDEXFILE above。
oracle 用imp的exclude参数排除表

一、概述在使用Oracle数据库进行数据导入时,通常会使用imp命令来实现。
在进行数据导入时,有时会遇到需要排除某些表的情况,这时就需要使用imp命令的exclude参数来实现。
二、exclude参数的作用exclude参数是imp命令中的一个选项,它的作用是用来排除指定的对象,比如表、索引、约束等,在进行数据导入时不导入这些对象。
exclude参数的语法如下:EXCLUDE=TABLE, INDEX, CONSTR本人NT, TRIGGER, VIEW, PACKAGE, PACKAGE_BODY, PROCEDURE, FUNCTION, TRIGGER三、exclude参数的使用方法1. 排除单个表当需要排除单个表时,可以使用如下命令:imp user/password exclude=table:"='TABLE_NAME'"2. 排除多个表当需要排除多个表时,可以使用逗号分隔多个表名:imp user/password exclude=table:"IN ('TABLE1', 'TABLE2','TABLE3')"3. 排除所有表当需要排除所有表时,可以使用如下命令:imp user/password exclude=table:"=*"四、实例演示假设有一个名为test的数据库用户,需要在导入数据时排除表test_table1和test_table2,可以使用如下命令:imp test/test exclude=table:"IN ('test_table1', 'test_table2')"这样在数据导入时就会排除这两张表的数据。
五、注意事项1. exclude参数只能用于导入时,不能用于导出;2. 在使用exclude参数时,要注意语法的正确性,特别是引号和逗号的使用;3. exclude参数可以排除多种对象,但在使用时要注意对象的名称和格式。
imp命令交互式操作图解

1.点击开始——运行,输入CMD,回车,进入CMD窗口;
2.输入imp,回车;
3.在用户名处输入相应用户名,此用户名最好与先前导出数据库时所用用户名一样,例如
导出2.5版本归档数据库时所用用户名为DYACDB25,且当前数据库SID(实例名)为ORA10ES,则在此处输入DYACDB25@ORA10ES,回车;
(需先在当前数据库实例上创建用户DY ACDB25,赋予DBA权限,且此用户下表内容为空)
4.口令:输入此用户名的口令,回车;
5.导入文件:指定要导入的备份文件完整路径、文件名,如:
C:\backup\dyacdb25_20070801.dmp ,回车;
6.输入插入缓冲区大小:直接回车,选择默认的30720;
7.只列出导入文件的内容:直接回车,选择默认的no;
8.由于对象已存在, 忽略创建错误:直接回车,选择默认的no;
9.导入权限:直接回车,选择默认的yes;
10.导入表数据:直接回车,选择默认的yes;
11.导入整个导出文件:直接回车,选择默认的no;
12.用户名:输入导出时所用相应用户名,回车。
例如导出2.5版本归档数据库时所用用户
名为DYACDB25,则在此处输入DY ACDB25;
13.输入表或分区名称:直接回车,选择默认的空列表,即用户的所有表;
14.导入完成,提示:成功终止导入, 没有出现警告。
这种输入是正常的,说明导入操作
成功完成;。
oracle中expimp备份还原工具的使用详解

oracle中expimp备份还原工具的使用详解Oracle数据库的exp和imp命令是数据库备份和恢复的常用工具。
本文将详细介绍exp和imp命令的用法和具体步骤。
一、exp命令exp命令用于将Oracle数据库中的数据和对象导出到一个二进制文件中,以进行备份或迁移。
以下是exp命令的详细步骤:1. 登录到Oracle数据库的命令行界面。
2. 输入以下命令启动exp工具:其中,username是要导出数据的用户名,password是对应的密码,connection_string是连接数据库的字符串,包括主机名、端口号和服务名等信息。
3. exp工具启动后,会提示输入导出内容的方式。
可以选择导出全库、特定表或特定用户的数据。
输入相应的选项并按Enter键确定。
4. 接下来,exp工具会要求输入导出的目标文件名。
输入文件名并按Enter键确定。
5. 导出过程将开始执行。
exp工具会逐一导出数据库的数据和对象,并将其存储在目标文件中。
此过程可能需要一些时间,取决于数据库的大小和复杂性。
6. 导出完成后,在命令行中会显示相应的导出信息。
可以根据需要选择是否结束exp工具。
二、imp命令imp命令用于将exp命令导出的二进制文件恢复到Oracle数据库中。
以下是imp命令的详细步骤:1. 登录到Oracle数据库的命令行界面。
2. 输入以下命令启动imp工具:其中,username是要导入数据的用户名,password是对应的密码,connection_string是连接数据库的字符串,包括主机名、端口号和服务名等信息。
3. imp工具启动后,会提示输入导入内容的方式。
可以选择导入全库、特定表或特定用户的数据。
输入相应的选项并按Enter键确定。
4. 接下来,imp工具会要求输入导入的源文件名。
输入文件名并按Enter键确定。
5. 导入过程将开始执行。
imp工具会读取源文件中的数据和对象,并将其恢复到目标数据库中。
[知识]imp和exp命令导入和导出.dmp文件
![[知识]imp和exp命令导入和导出.dmp文件](https://img.taocdn.com/s3/m/c881376700f69e3143323968011ca300a6c3f6cc.png)
Oracle数据库文件中的导入\导出(imp/exp命令)Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。
exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle 8i 中安装目录ora81BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
下面介绍的是导入导出的实例。
数据导出:1 将数据库TEST完全导出,用户名system密码manager 导出到D:daochu.dmp中exp system/manager@TEST file=d:daochu.dmp full=y2 将数据库中system用户与sys用户的表导出exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)3 将数据库中的表inner_notify、notify_staff_relat导出exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmptables=(inner_notify,notify_staff_relat)4 将数据库中的表table1中的字段filed1以"00"打头的数据导出exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面加上com press=y 来实现。
数据的导入1 将D:daochu.dmp 中的数据导入TEST数据库中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
oracle中imp命令详解Oracle的导入实用程序(Import utility)允许从数据库提取数据,并且将数据写入操作系统文件。
imp使用的基本格式:imp[username[/password[@service]]],以下例举imp常用用法。
1. 获取帮助imp help=y2. 导入一个完整数据库imp system/manager file=bible_db log=dible_db full=y ignore=y3. 导入一个或一组指定用户所属的全部表、索引和其他对象imp system/manager file=seapark log=seapark fromuser=seaparkimp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)4. 将一个用户所属的数据导入另一个用户imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copyimp system/manager file=tank log=tank fromuser=(seapark,amy) touser=(seapark1, amy1)5. 导入一个表imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)6. 从多个文件导入imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) log=paycheck,filesize=1G full=y7. 使用参数文件imp system/manager parfile=bible_tables.parbible_tables.par参数文件:#Import the sample tables used for the Oracle8i Database Administrator's#Bible.fromuser=seapark touser=seapark_copy file=seapark log=seapark_import 8. 增量导入(9i中已经取消)imp system./manager inctype= RECTORE FULL=Y FILE=AOracle imp/exp帮助说明C:Documents and Settingsadministrator>exp help=yExport: Release 9.2.0.1.0 - Production on 星期三7月28 17:04:43 2004 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.通过输入EXP 命令和用户名/口令,您可以后接用户名/口令的命令:例程: EXP SCOTT/TIGER或者,您也可以通过输入跟有各种参数的EXP 命令来控制“导出”按照不同参数。
要指定参数,您可以使用关键字:格式: EXP KEYWORD=value 或KEYWORD=(value1,value2,...,valueN) 例程: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)或TABLES=(T1: P1,T1: P2),如果T1 是分区表USERID 必须是命令行中的第一个参数。
关键字说明(默认) 关键字说明(默认)--------------------------------------------------------------------------USERID 用户名/口令FULL 导出整个文件(N)BUFFER 数据缓冲区大小OWNER 所有者用户名列表FILE 输出文件(EXPDA T.DMP) TABLES 表名称列表COMPRESS 导入到一个区(Y) RECORDLENGTH IO 记录的长度GRANTS 导出权限(Y) INCTYPE 增量导出类型INDEXES 导出索引(Y) RECORD 跟踪增量导出(Y)DIRECT 直接路径(N) TRIGGERS 导出触发器(Y)LOG 屏幕输出的日志文件STA TISTICS 分析对象(ESTIMA TE)ROWS 导出数据行(Y) PARFILE 参数文件名CONSISTENT 交叉表的一致性(N) CONSTRAINTS 导出的约束条件(Y) OBJECT_CONSISTENT 只在对象导出期间设置为读的事务处理(N) FEEDBACK 每x 行的显示进度(0)FILESIZE 每个转储文件的最大大小FLASHBACK_SCN 用于将会话快照设置回以前状态的SCN FLASHBACK_TIME 用于获取最接近指定时间的SCN 的时间QUERY用于导出表的子集的select 子句RESUMABLE 遇到与空格相关的错误时挂起(N)RESUMABLE_NAME 用于标识可恢复语句的文本字符串RESUMABLE_TIMEOUT RESUMABLE 的等待时间TTS_FULL_CHECK 对TTS 执行完整的或部分相关性检查TABLESPACES 要导出的表空间列表TRANSPORT_TABLESPACE 导出可传输的表空间元数据(N)TEMPLA TE 调用iAS 模式导出的模板名在没有警告的情况下成功终止导出。
==================================================C:Documents and Settingsadministrator>imp help=yImport: Release 9.2.0.1.0 - Production on 星期三7月28 17:06:54 2004 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.可以通过输入IMP命令和您的用户名/口令后接用户名/口令的命令:例程: IMP SCOTT/TIGER或者, 可以通过输入IMP 命令和各种参数来控制“导入”按照不同参数。
要指定参数,您可以使用关键字:格式: IMP KEYWORD=value 或KEYWORD=(value1,value2,...,vlaueN) 例程: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N 或TABLES=(T1: P1,T1: P2),如果T1 是分区表USERID 必须是命令行中的第一个参数。
关键字说明(默认)关键字说明(默认)--------------------------------------------------------------------------USERID 用户名/口令FULL 导入整个文件(N)BUFFER 数据缓冲区大小FROMUSER 所有人用户名列表FILE 输入文件(EXPDA T.DMP) TOUSER 用户名列表SHOW 只列出文件内容(N) TABLES 表名列表IGNORE 忽略创建错误(N) RECORDLENGTH IO 记录的长度GRANTS 导入权限(Y) INCTYPE 增量导入类型INDEXES 导入索引(Y) COMMIT 提交数组插入(N)ROWS 导入数据行(Y) PARFILE 参数文件名LOG 屏幕输出的日志文件CONSTRAINTS 导入限制(Y) DESTROY覆盖表空间数据文件(N)INDEXFILE 将表/索引信息写入指定的文件SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护(N) FEEDBACK 每x 行显示进度(0)TOID_NOV ALIDA TE 跳过指定类型ID 的验证FILESIZE 每个转储文件的最大大小STA TISTICS 始终导入预计算的统计信息RESUMABLE 在遇到有关空间的错误时挂起(N) RESUMABLE_NAME 用来标识可恢复语句的文本字符串RESUMABLE_TIMEOUT RESUMABLE 的等待时间COMPILE 编译过程, 程序包和函数(Y)STREAMS_CONFIGURA TION 导入Streams 的一般元数据(Y) STREAMS_INSTANITA TION 导入Streams 的实例化元数据(N) 下列关键字仅用于可传输的表空间TRANSPORT_TABLESPACE 导入可传输的表空间元数据(N) TABLESPACES 将要传输到数据库的表空间DA TAFILES 将要传输到数据库的数据文件TTS_OWNERS 拥有可传输表空间集中数据的用户成功终止导入,但出现警告。
Oracle8i/9i EXP/IMP使用经验一、8i EXP常用选项1、FULL,这个用于导出整个数据库,在ROWS=N一起使用时,可以导出整个数据库的结构。
例如:exp sys file=./db_str.dmp log=./db_str.log full=y rows=n compress=y direct=y2、BUFFER和FEEDBACK,在导出比较多的数据时,我会考虑设置这两个参数。
例如:exp new file=yw97_2003.dmp log=yw97_2003_3.log feedback=10000 buffer=100000000tables=WO4,OK_YT3、FILL和LOG,这两个参数分别指定备份的DMP名称和LOG名称,包括文件名和目录,例子见上面。
需要说明的是,EXP可以直接备份到磁带中,即使用FILE=/dev/rmt0(磁带设备名),但是一般我们都不这么做,原因有二:一、这样做的速度会慢很多,二、现在一般都是使用磁带库的,不建议直接对磁带进行操作。
至于没有使用磁带库的朋友可以考虑和UNIX的TAR结合使用。
如果你真想使用EXP直接到磁带,你可以参考Metalink文章“EXPORTING TO TAPE ON UNIXSYSTEMS”(文档号:30428.1),该文中有详细解释。
4、COMPRESS参数将在导出的同时合并碎块,尽量把数据压缩到initial的EXTENT里,默认是N,一般建议使用。
DIRECT参数将告诉EXP直接读取数据,而不像传统的EXP那样,使用SELECT来读取表中的数据,这样就减少了SQL语句处理过程。
一般也建议使用。