imp_exp

合集下载

EXP和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)“增量型”增量导出导出上一次备份后改变的数据。

exp及imp的使用方法

exp及imp的使用方法

exp及imp的使用方法EXP和IMP是英语中常用的缩写,分别表示“经验”(Experience)和“重要”(Important)。

这两个词在日常生活和商务环境中经常被使用,因此了解如何正确地运用它们是非常必要的。

首先,我们来讨论一下EXP(经验)的使用方法。

经验是人们通过实际经历所获得的知识和技能,是在实践中不断积累的。

在简历、面试和职业发展中,经验通常是雇主或招聘人员最关注的因素之一在简历中,写作经验部分时,应该注重强调与目标职位相关的经验。

列出相关的工作经历、实习经验以及参与的项目,尽量用数值和例子来具体说明自己在这些经验中所取得的成绩和贡献。

另外,在撰写工作经验时,可以使用动词来强调自己的才能和责任,如“管理”、“领导”、“协调”等。

在面试中,经验是展示自己适合目标职位的重要方式。

回答问题时,可以根据经验来支撑自己的回答,例如,提供过去在类似情况下的成功经验,并强调自己学到了什么以及如何将这些经验应用到目前的情况中。

在职业发展中,经验可以帮助人们获得更高的职位和更大的责任。

人们可以通过参加培训、进修课程和参与项目或委员会来积累经验。

此外,与其他行业专业人士互动和交流经验,也是拓宽自己视野、增加知识和技能的有效方法。

接下来,我们来谈谈IMP(重要)的使用方法。

重要性通常指事物的价值和影响力。

在个人生活和工作中,了解什么是重要的,以及如何正确地处理和管理重要事务,是成功的关键。

在个人生活中,我们可以使用IMP来优化时间管理。

我们可以确定哪些任务对实现我们的目标和价值观至关重要,并将重要的任务优先考虑。

此外,了解并正确处理家庭、健康和个人关系等方面的重要事务,有助于获得更好的生活质量。

在工作环境中,正确处理重要事务是保持高效和成功的关键。

了解工作的优先级和截止日期,以及与团队成员和上级的沟通,有助于确保重要任务的及时完成。

此外,根据公司的目标和战略,将重要的项目和任务与整体工作计划对齐,有助于确保工作的整体有效性。

oracle数据库导入导出命令

oracle数据库导入导出命令

Oracle数据导入导出imp/exp功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。

大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。

Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接(通过Net Configuration Assistant添加正确的服务命名,其实你可以想成是客户端与服务器端修了条路,然后数据就可以被拉过来了)这样你可以把数据导出到本地,虽然可能服务器离你很远。

你同样可以把dmp文件从本地导入到远处的数据库服务器中。

利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用。

执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle 8i 中安装目录\$ora10g\BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。

oracle用java编写,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE这俩个文件是被包装后的类文件。

SQLPLUS.EXE调用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 将数据库中的表table1 、table2导出exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2) 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。

oracle中expimp备份还原工具的使用详解

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工具会读取源文件中的数据和对象,并将其恢复到目标数据库中。

oracle中exp与imp命令详解

oracle中exp与imp命令详解

exp/imp两个命令可以说是oracle中最常用的命令了.ORACLE数据库有两类备份方法。

第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库;第二类备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备。

数据库逻辑备份方法ORACLE数据库的逻辑备份分为三种模式:表备份、用户备份和完全备份。

表模式备份某个用户模式下指定的对象(表)。

业务数据库通常采用这种备份方式。

若备份到本地文件,使用如下命令:exp icdmain/icd rows=y indexes=n compress=n buffer=65536feedback=100000 volsize=0file=exp_icdmain_csd_yyyymmdd.dmplog=exp_icdmain_csd_yyyymmdd.logtables=moninformation,icdmain.serviceinfo,icdmain.dealinfo若直接备份到磁带设备,使用如下命令:exp icdmain/icd rows=y indexes=n compress=n buffer=65536feedback=100000 volsize=0file=/dev/rmt0log=exp_icdmain_csd_yyyymmdd.logtables=moninformation,icdmain.serviceinfo,icdmain.dealinfo注:在磁盘空间允许的情况下,应先备份到本地服务器,然后再拷贝到磁带。

出于速度方面的考虑,尽量不要直接备份到磁带设备。

用户模式备份某个用户模式下的所有对象。

业务数据库通常采用这种备份方式。

若备份到本地文件,使用如下命令:exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536 feedback=100000 volsize=0file=exp_icdmain_yyyymmdd.dmplog=exp_icdmain_yyyymmdd.log若直接备份到磁带设备,使用如下命令:exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536 feedback=100000 volsize=0file=/dev/rmt0log=exp_icdmain_yyyymmdd.log注:如果磁盘有空间,建议备份到磁盘,然后再拷贝到磁带。

数据库IMP和EXP用法举例

数据库IMP和EXP用法举例

IMP导入程序步骤:LINUX版本:(前提:ORATEST和密码 test1和密码)1,进入到ORATEST用户(此时FTP的默认路径是/home/oratest)2,输入IMP3,提示你输入用户名:test14,提示输入密码:test15,提示输入DMP文件:/home/oratest/student0426.dmp6,提示输入缓冲区的大小:直接回车7,列出导入文件列表:直接回车8,忽略对象存在错误:直接回车9,导入权限:直接回车10,导入表数据:直接回车11,导入整个导出文件:YES12,导入完成,直接进行数据验证--或者直接用命令:imp test1/test1 buffer=64000 file=/home/oratest/student042603.dmp ignore=y fromuser=test2 touser=test1注意:ignore=y 表示出现错误还是继续往下走就是第八步注意:student0426.dmp 是已经提前导出来的,放在了ORATEST的默认目录/home/oratest 下面。

EXP导出程序步骤:LINUX版本:(前提:ORATEST和密码 test2和密码)1,进入到ORATEST用户(此时FTP的默认路径是/home/oratest)2,输入EXP3,提示你输入用户名:test24,提示输入密码:test25,输入数组获取缓冲区大小:直接回车6,导出文件:/home/oratest/oradiag_oratest/student042601.dmp(注意:可以直接输文件输出在默认路径)7,用户还是表:U8,导出权限:yes9,导出表数据:yes10,压缩内容:yes11,DMP文件生成,到相应的目录下去查看吧。

-- 或者直接用语句:exp test2/123456 buffer=64000 file=/home/oratest/student042603.dmplog=/home/oratest/student042603.log owner=test2注意:如果表里面没有数据,表是不会被导出的注意:如果需要了解EXP和IMP这两个命令可以EXP help=y 或者IMP help=y 进行查看熟悉了解。

exp&imp各版本间的兼容性简介

exp&imp各版本间的兼容性简介

exp&imp各版本间的兼容性简介这里介绍Oralce不同版本使用EXP和IMP的相互兼容关系,目前用户用的比较多的版本是Oralce9i和Oralce10g,但还用一些用户在用Oralce7,Oralce8,Oralce8i;所以这里介绍这几个版本使用EXP和IMP时,它们之间的兼容性。

一、使用EXP 和IMP 工具对数据迁移限制:1、使用EXP 工具导出原数据库数据要求使用最低的版本,即在两个数据库里的最低版本。

2、使用IMP 工具将数据导入目标数据库时,使用IMP 工具的版本不能低于导出原数据库的工具EXP 的版本。

3、使用Oralce7 EXP 工具导出的数据不能直接导入到Oralce9i;而要通过Oralce8i 作过渡,先将数据导入到Oralce8i,然后在重Oralce8i 导出,再导入到Oralce9i。

二、数据字典视图:1、在使用EXP 或IMP 工具,必须先创建这些工具需要的数据字典视图和动态性能视图;创建这些视图只需用SYS 用户运行CA TEXP.SQL 脚本,但这个脚本在运行CA TALOG.SQL 脚本时会自动运行,如果CA TEXP.SQL 脚本在数据库没运行过,在以下目录运行此脚本:UNIX : SQL>@$ORALCE_HOME/rdbms/admin/catexp.sqlWindows : SQL>@%ORALCE_HOME%\rdbms\admin\catexp.sql2、在使用CATEXP.SQL 脚本不仅创建EXP 和IMP 需要的视图,也创建相应的角色(EXP_FULL_DATABASE 和IMP_FULL_DATABASE),并把相应的权限付给这些角色,同时将EXP_FULL_DATABASE 和IMP_FULL_DATABASE 角色付给DAB 角色。

当用户要对数据库进行全库导出或导入,或要导出别的用户的数据时,必须要拥有EXP_FULL_DATABASE 或IMP_FULL_DATABASE 角色。

imp(exp)详细用法

imp(exp)详细用法

Utilities--exp/imp1.exp/imp简介exp/imp是oracle提供的一个对数据库进行逻辑备份的客户端工具。

利用这个工具可以将数据库按表空间、用户或某些表保存到操作系统下的一个二进制格式的文件里。

这个二进制文件是平台无关的,也就是说可以将windows下的exp文件imp到linux/unix系统中,利用这个特性可以完成某些数据迁移工作。

Exp/imp在操作上可以看成是一个select--create--insert的过程。

exp时select出要导出的数据和保存相关的ddl,imp时执行这个“脚本”(strings dmp文件可以看出其内部包含的就是一些ddl和insert语句)。

要使用Exp/Imp必须运行一次$oracle_home/rdbms/admin 下的catexp.sql 或 catalog.sql script脚本。

在oracle 10g中新提供了一种更加强大的替代工具data pump,但是在实际使用中oracle 9i及以前版本的数据库还是随处可见,所以掌握其用法还是很有必要的。

2.exp/imp导入导出模式exp/imp一共有四种模式:Full、User、Tables、Tablespaces¾Full要执行Full模式的导出,必须具有EXP_FULL_DATABASE的权限。

在Full模式下将导出数据库中所有用户的对象,但是有几个用户是受oracle保护的不能被exp导出(ORDSYS 、____________________________________________________________________________________________________________2008-11-15 唐名杰(beybey911) tangmingjie85@MDSYS 、CTXSYS 、ORDPLUGINS 、LBACSYS)sys用户的对象也不会导出,因此在full 模式导出时属于sys用户的一些触发器之类的对象将会丢失,在导入后应该手工创建。

在plsql中使用expimp工具实现oracle数据导出导入

在plsql中使用expimp工具实现oracle数据导出导入

在plsq‎l中使用e‎x p imp工具‎实现ora‎c le数据‎导出导入Oracl‎e数据导入‎导出imp‎/exp就相‎当于ora‎c le数据‎还原与备份‎。

exp命令‎可以把数据‎从远程数据‎库服务器导‎出到本地的‎d mp文件‎,imp命令‎可以把dm‎p文件从本‎地导入到远‎处的数据库‎服务器中。

利用这个功‎能可以构建‎两个相同的‎数据库,一个用来测‎试,一个用来正‎式使用。

执行环境:可以在SQ‎L PLUS‎.EXE或者‎D OS (命令行)中执行, DOS中可‎以执行时由‎于在orac‎l e 8i 中安装目录\\ora81‎\\BIN被设‎置为全局路‎径,该目录下有‎E XP.EXE与I‎M P.EXE文件‎被用来执行‎导入导出。

oracl‎e用jav‎a编写,SQLPL‎U S.EXE、EXP.EXE、IMP.EXE这两‎个文件有可‎能是被包装‎后的类文件‎。

SQLPL‎U S.EXE调用‎E XP.EXE、IMP.EXE所包‎裹的类,完成导入导‎出功能。

下面介绍的‎是导入导出‎的实例。

数据导出: 1 将数据库T‎E ST完全‎导出,用户名sy‎s tem 密码man‎a ger 导出到D:\\daoch‎u.dmp中exp syste‎m/manag‎e r@TEST file=d:\\daoch‎u.dmp full=y 2 将数据库中‎s yste‎m 用户与s‎y s用户的‎表导出 exp syste‎m/manag‎e r@TEST file=d:\\daoch‎u.dmp owner‎=(syste‎m,sys) 3 将数据库中‎的表inn‎e r_no‎t ify、notif‎y_sta‎f f_re‎l at导出‎exp aicha‎n nel/aicha‎n nel@TESTD‎B2 file= d:\\data\\newsm‎g nt.dmp table‎s=(inner‎_noti‎f y,notif‎y_sta‎f f_re‎l at) 4 将数据库中‎的表tab‎l e1中的‎字段fil‎e d1以\"00\"打头的数据‎导出 exp syste‎m/manag‎e r@TESTfile=d:\\daoch‎u.dmp table‎s=(table‎1) query‎=\\\" where‎filed‎1 like'00%'\\\" 上面是常用‎的导出,对于压缩,既用win‎z ip把d‎m p文件可‎以很好的压‎缩。

用imp_exp命令_导入导出Oracle数据

用imp_exp命令_导入导出Oracle数据
. . 正在导入表 "INNER_NOTIFY" 4行被导入
准备启用约束条件...
成功终止导入,但出现警告。
附录二:
Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的.
先建立import9.par,
2、commit
指定在每次数组插入完成后是否提交数据,默认为N
3、compile
指定在导入包,过程,函数时是否要进行编译,默认为Y
4、constraints
指定是否要导入表的约束,默认为Y
5、datafiles
指定要搬移到数据库的数据文件列表
6、destroy
指定是否要覆盖已存在的数据文件,默认为N。如果存在同名文件,则导入失败
8、object_consistent
指定是否要基于对象级设置只读事务导出,默认为N
9、owner
指定用户导出模式。exp system/manager owner=scott file=a.dmp log=a.log
10、query
指定where条件字句,导出表的部分数据,当使用直接导出方式不能指定该选项
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字
第五, 运行-cmd-进入dmp文件所在的目录,
imp userid=system/manager full=y file=*.dmp
13、rows
指定是否导出表行数据,默认值为Y。
exp scott/tiger tables=emp file=a.dmp rows=N

imp、exp命令详解

imp、exp命令详解
imp可以成功导入低版本exp生成的文件, 不能导入高版本exp生成的文件
根据情况我们可以用
$ imp username/password@connect_string
说明: connect_string 是在/ORACLE_HOME/network/admin/tnsnames.ora
导出80M以上的大表时, 记得compress= N, 则不会引起这种错误.
(5) imp和exp使用的字符集不同
如果字符集不同, 导入会失败, 可以改变unix环境变量或者NT注册表里NLS_LANG相关信息.
导入完成后再改回来.
(6) imp和exp版本不能往上兼容
它有三种模式:
a. 用户模式: 导出用户所有对象以及对象中的数据;
b. 表模式: 导出用户所有表或者指定的表;
c. 整个数据库: 导出数据库中所有对象。
只有拥有IMP_FULL_DATABASE和DBA权限的用户才能做整个数据库导入
注:Oralce数据库导入导出时要确保Oralce服务启动
以下参考自:/thread.shtml?forumId=36&topicId=23332
一. 导出工具 exp
1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin
然后按回车键
说明: c2j/c2j@c2j 分别表示用户名,密码和服务名
file:要导入的文件的全路迳
fromuser:指明来源用户方
ignore:是否忽略对象创建错误
commit:上载数据缓冲区中的记录,上载后是否执行提交
出现 正常终了表示导入成功
打开数据库,看是否导入成功

Oracle数据库impexp导入导出命令(备份与恢复)

Oracle数据库impexp导入导出命令(备份与恢复)

Oracle数据库imp/exp导入导出命令(备份与恢复)Toad 一个很好的oralce数据库操作与管理工具,使用它可以很方便地导入导出数据表,用户以及整个数据库。

今天在这里主要讲一下用命令行来操作oracle数据导入和导出:备份数据1、获取帮助:exp help=y2. 导出一个完整数据库exp user/pwd@instance file=path full=y示例:exp system/system@xc file = c:/hehe full =yimp tax/test@tax file=d:/dbbak.dmp full=y3 、导出一个或一组指定用户所属的全部表、索引和其他对象exp system/manager file=seapark log=seapark owner=seaparkexp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold)示例:exp system/system@xc file=c:/hehe owner=uep4、导出一个或多个指定表exp system/manager file=tank log=tank tables=(seapark.tank,amy.artist)示例:exp system/system@xc file=c:/heh tables=(ueppm.ne_table)恢复数据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)****************************************************利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回Oracle 数据库中去。

exp及imp的使用方法

exp及imp的使用方法
按表空间导出: tablespaces = (tablespace01, tablespace02, ...)
说明:
1) 由于Export每次读取一个表,每个表在不同的时刻读取,因此可能会出现数据不一致,此时可以使用CONSISTENT参数来保证数据的一致性。
2) 按表空间导出为Oracle9i新增,他将导出包含在指定表空间中的所有对象,及对象上的索引定义,即使他们在另一个表空间中。
[CONSTRAINTS = <Y|n>] --是否>] --是否导出触发器
[GRANTS = <Y|n>] --是否导出授权
[ROWS = <Y|n>] --是否导出数据行
2:导入方式恢复数据库,默认输入文件为 EXPDAT.DMP
imp <userid>/<password>@<db_name> {clause} [FILE = <file_path>] [Log = <file_path>]
[IGNORE = <N|y>] --是否忽略创建对象错误
按表名导入: [fromuser = (schema01, schema02,...)] [touser = (schema01, schema02,...)] tables = (tables01, tables02, ...)
按表空间导入: tablespaces = (tablespace01, tablespace02, ...)
[DESTROY = <N|y>] --是否覆盖表空间数据文件
[COMMIT = <N|y>] --是否启用提交数组插入

Oracle数据导入导出impexp:未知的命令开头。。。忽略了剩余的行

Oracle数据导入导出impexp:未知的命令开头。。。忽略了剩余的行

Oracle数据导⼊导出impexp:未知的命令开头。

忽略了剩
余的⾏
Oracle数据导⼊导出imp/exp 报错,错误提⽰为:未知的命令开头。

忽略了剩余的⾏
后来查询资料才知道应该在cmd的dos命令窗⼝直接执⾏,⽽不是sqlplus.exe
相关的导出命令格式如下:
a.将数据库TEST完全导出,⽤户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
b.将数据库中system⽤户与sys⽤户的表导出
 exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
c.将数据库中的表A、B导出
 exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=(A,B)
相关的导⼊命令格式如下:
a. 将D:\daochu.dmp 中的数据导⼊ TEST数据库中。

 imp system/manager@TEST file=d:\daochu.dmp
imp aichannel/aichannel@HUST full=y file= d:\data\newsmgnt.dmp ignore=y
b. 将d:\daochu.dmp中的表table1 导⼊
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)。

exp imp 常见问题解决

exp imp 常见问题解决

当表中有long或者lob类型的字段时候,imp的时候对这个表单独imp,要加commit=n,导完一张表提交一次,这样会比加commit=y快。
对含有long或者lob类型字段的表imp时候,加了commit=y,由于long字段很大,数据缓冲很快就会满,每插入一行就会commit一次。导致很频繁的提交,imp会等待log file sync,导致导入很慢。
在export/import过程中,定时查询dba_resumable视图,可以看到设置了resumable的作业信息。
如果作业没有挂起,ERROR_NUMBER 列为0,ERROR_MSG列为空。
当出现错误的时候,ERROR_NUMBER为相应的错误代码,ERROR_MSG为具体的错误信息。
将数据插入到表中,而是忽略该表的错误,继续恢复下一个表。
(当索引与数据rows要分两次导入时候,导入索引时候要指定ignore=y,否则索引导不进去。
当数据库中已经有要导入的表,并且表中已经存在一些数据时候,如果不覆盖这些数据,append导入数据到这个表,直接指定ignore=y即可)
ORA-06512: at line 1
IMP-00017: following statement failed with ORACLE error 942:
"BEGIN SYS.DBMS_SNAPSHOT_UTL.SYNC_UP_LOG('OWNER','TABLE NAME'); END;"
编译失效公共同义词:
select 'alter public '||OBJECT_TYPE||' '||OBJECT_NAME||' compile;' from dba_objects where status='INVALID' and

imp和exp

imp和exp

Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。

exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。

利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。

执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle 8i 中安装目录ora81BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。

oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。

SQLPLUS.EXE调用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文件可以很好的压缩。

exp和imp常用_

exp和imp常用_

例如:将192.168.82.129的orcl库中的local_sp用户的所有对象都导入到192.168.82.130数据库中。

前提:130的orcl库中必须有local_sp这个用户A.在129上su – oracleB.然后再命令行执行exp local_sp/local_sp@orcl owner=local_sp file=local_sp.dmp log=local_sp.log 解析:这是exp导出命令,然后在当前目录下会看到local_sp.dmp这个文件。

C.然后将local_sp.dmp传到130上。

命令为:scp local_sp.dmp 192.168.82.130:/home/oracle/D.登陆到130上,su – oracle用户,然后再命令行执行imp local_sp/local_sp@orcl fromuser= local_sp touser= local_sp file=local_sp.dmpE.即可2.按照表级别exp和imp操作步骤和上面的很像,唯一不同的是exp和imp命令上的差异exp的命令为:exp local_sp/local_sp@orcl tables=(table_name1,table_name2 ……)file=local_sp.dmp log=local_sp.logimp命令为:imp local_sp/local_sp@orcl ignore=y file=local_sp.dmp解析:imp的命令中是将dmp的文件全部导入库中,如果exp导出的是多个表,但是这里imp导入时只想导入1张表,那就可以将tables=(table_name)加入到imp命令中即可。

一般情况下,按照全库级别的导出和导入情况比较少,当然在数据库迁移的情况下比较实用。

这里全库的exp和imp一般都是以sys来做。

具体exp和imp的命令为:exp \'sys/passwd@orcl as sysdba\' full=y file=full.dmp log=full.logimp \'sys/passwd@orcl as sysdba\' full=y file=full.dmp备注:imp和exp要注意数据库的版本和字符集,如果版本不一致可能imp时不能成功,如果字符集不一致在imp成功以后的数据可能是乱码!如果需要更改字符集的话,需要关闭数据库后,将数据库打开到限制模式下,才可以修改!暂时就先写这3种情况,详细步骤请看exp_资料和 imp_资料。

exp、imp注意事项

exp、imp注意事项

为了使测试与生产数据保持一致,只需要导出数据的时候,可以将测试库的表truncate,保留其它如索引,trigger,constraints,grants等不用再重新导。

exp时候rows=y,其它全部选n,imp时候rows=y ,其它nignore是否忽略创建错误。

Oracle在恢复数据的过程中,当恢复某个表时,该表已经存在,就要根据ignore参数的设置来决定如何操作。

若ignore=y,Oracle不执行CREATE TABLE语句,直接将数据插入到表中,如果插入的记录违背了约束条件,比如主键约束,则出错的记录不会插入,但合法的记录会添加到表中。

若ignore=n,Oracle不执行CREATE TABLE语句,同时也不会将数据插入到表中,而是忽略该表的错误,继续恢复下一个表。

(当索引与数据rows要分两次导入时候,导入索引时候要指定ignore=y,否则索引导不进去。

当数据库中已经有要导入的表,并且表中已经存在一些数据时候,如果不覆盖这些数据,append导入数据到这个表,直接指定ignore=y即可)当表中有long或者lob类型的字段时候,imp的时候对这个表单独imp,要加commit=n,导完一张表提交一次,这样会比加commit=y快。

对含有long或者lob类型字段的表imp时候,加了commit=y,由于long字段很大,数据缓冲很快就会满,每插入一行就会commit一次。

导致很频繁的提交,imp会等待log file sync,导致导入很慢。

show parameter filesystemio_options --应该为setall~~~~~~~~~~~~~~~~导入导出BLOB数据~~~~~~~~~~~~~~~~可以用IMP/EXP条件:1.导入时要确保有该BLOB字段的列的表还未建起来2.在EXP/IMP中参数中指定BUFFER到一定的值,内存必须足够容纳一次预取一行的数据量,有写LOB 列可能达到2G加快exp速度:direct=y (常规路径导出使用sql select语句从表中取出数据,直接路径导出则将数据直接从硬盘读到pga 然后写入导出文件)recordlength=65535 (定义了export i/o缓冲的大小,类似于常规路径导出的buffer参数)直接路径导出的限制:8i以及以下的版本不支持导出客户端和数据库的字符集转换,因此导出前要保证NLS_LANG参数设置正确;815以及以下版本不支持导出含LOBs对象的表;不能使用query参数)加快imp速度:加大temp表空间。

Oracle11G导入导出(imp和exp)少表解决方法

Oracle11G导入导出(imp和exp)少表解决方法

Oracl‎e 11G R2 用exp无‎法导出空表‎解决方法Oracl‎e 11G在用‎E XPOR‎T导出时,空表不能导‎出11G R2中有个‎新特性,当表无数据‎时,不分配se‎gment‎,以节省空间‎解决方法:一、inser‎t一行,再roll‎b ack就‎产生seg‎ment了‎。

该方法是在‎在空表中插‎入数据,再删除,则产生se‎gment‎。

导出时则可‎导出空表。

二、设置def‎e rred‎_segm‎e nt_c‎r eati‎o n 参数该参数值默‎认是TRU‎E,当改为FA‎LSE时,无论是空表‎还是非空表‎,都分配se‎gment‎。

修改SQL‎语句:alter‎syste‎m set defer‎r ed_s‎e gmen‎t_cre‎a tion‎=false‎scope‎=both;需注意的是‎:该值设置后‎对以前导入‎的空表不产‎生作用,仍不能导出‎,只能对后面‎新增的表产‎生作用。

如需导出之‎前的空表,只能用第一‎种方法。

三、用以下这句‎查找空表selec‎t 'alter‎ table‎ '||table‎_name‎||' alloc‎ate exten‎t;' from user_‎t able‎s where‎num_r‎o w s=0;把查询结果‎导出,执行导出的‎语句,强行修改s‎e gmen‎t值,然后再导出‎即可导出空‎表,注意:数据库插入‎数据前,修改11g‎_R2参数‎可以导出空‎表查找空表selec‎t 'alter‎table‎'||table‎_name‎||' alloc‎a te exten‎t;' from user_‎t able‎s where‎num_r‎o ws=0四、Oracl‎e 10g以后‎增加了ex‎p dp和i‎m pdp工‎具,用此工具也‎可以导出空‎的表oracl‎e expdp‎/impdp‎用法详解1)创建逻辑目‎录,该命令不会‎在操作系统‎创建真正的‎目录,最好以sy‎stem等‎管理员创建‎。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
$expdp scott/tiger DUMPFILE=tmp_dump.dmp DIRECTORY=dmpdir TABLES=(tmp_test:p1,tmp_test:p2) JOB_NAME=tmp_dump LOGFILE=tmp_dump.log
$expdp scott/tiger DUMPFILE=full.dmp DIRECTORY=dmpdir FULL=Y JOB_NAME=full
TRANSPORT_TABLESPACES:
FLASHBACK_SCN:
FLASHBACK_TIME:
PARALLEL:并行操作
PARFILE:
NETWORK_LINK:
3. 导出过程中的监控
当 Data Pump Export (DPE) 运行时,按 Control-C;它将阻止消息在屏幕上显示,但不停止导出进程本身。相反,它将显示 DPE 提示符(如下所示)。进程现在被认为处于“交互式”模式:
expdp scott/tiger directory=dmpdir dumpfile=test.dmp
include=PROCEDURE:\"=\'PROC1\'\",FUNCTION:\"=\'FUNC1\'\"
l 可以用导出的dmp文件来创建dmp文件中包含对象的 DDL 脚本,以供之后使用。
一个称为 SQLFILE(impdp参数)参数允许创建 DDL 脚本文件。
impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=expprocs.dmp SQLFILE=aa.sql
使用这种方法的impdp,可以从dp出来的dmp文件中提取对象的DDL语句,这样的impdp并不把数据导入数据库中,只是创建DDL语句文件
kupprdp:worker process DW03 started with worker id=2, pid=25, OS id=20534 to execute -
SYS.KUPW$WORKER.MAIN('CASES_EXPORT', 'ANANDA');
它显示为数据泵操作启动的会话的 PID。您可以用以下查询找到实际的 SID:
expdp ananda/abc123 tables=CASES directory=DPDATA1 dumpfile=expCASES_%U.dmp parallel=4 job_name=Cases_Export
注意:dumpfile 参数拥有一个通配符 %U,它指示文件将按需要创建,格式将为expCASES_nn.dmp,其中nn 从 01 开始,然后按需要向上增加。
SYS.KUPM$MCP.MAIN('CASES_EXPORT', 'ANANDA');
kupprdp:worker process DW01 started with worker id=1, pid=24, OS id=20532 to execute -
SYS.KUPW$WORKER.MAIN('CASES_EXPORT', 'ANANDA');
select sid, program from v$session where paddr in
(select addr from v$process where pid in (23,24,25));
PROGRAM 列将对应警报日志文件中的名称显示进程 DM (为主进程)或 DW (为工作进程)。如果一个工作进程使用了并行查询,比如说 SID 23,您可以在视图 V$PX_SESSION 中看到它,并把它找出来。它将为您显示从 SID 23 代表的工作进程中运行的所有并行查询会话:
select sid, serial#
from v$session s, dba_datapump_sessions d
where s.saddr = d.saddr;
这条指令显示前台进程的会话。更多有用的信息可以从警报日志中获得。当进程启动时,MCP 和工作进程在警报日志中显示如下:
kupprdp:master process DM00 started with pid=23, OS id=20530 to execute -
在并行模式下,状态屏幕将显示四个工作进程。(在默认模式下,只有一个进程是可见的)所有的工作进程同步取出数据,并在状态屏幕上显示它们的进度。
分离访问数据文件和转储目录文件系统的输入/输出通道是很重要的。否则,与维护 Data Pump 作业相关的开销可能超过并行线程的效益,并因此而降低性能。并行方式只有在表的数量多于并行值并且表很大时才是有效的。
例如,以下命令只导出过程,而不导出其它任何东西(不导出表、视图、甚至函数):
expdp scott/tiger directory=dmpdir dumpfile=procedure.dmp include=PROCEDURE
l 要只导出一些特定的对象(比如说,函数 FUNC1 和过程 PROC1)
where opname = 'CASES_EXPORT'
and sofar != totalwork;
列 totalwork 显示总工作量,该列的 sofar 数量被加和到当前的时刻 — 因而您可以用它来估计还要花多长时间。
6. 处理特定对象
l Data Pump 允许您只导出特定类型的对象。
Export>
这种方法允许在这个 DPE 作业上输入命令查询及控制当前作业。
4. 并行操作(PARALLEL)
您可以通过 PARALLEL 参数为导出使用一个以上的线程来显著地加速作业。每个线程创建一个单独的转储文件,因此参数 dumpfile 应当拥有和并行度一样多的项目。您可以指定通配符作为文件名,而不是显式地输入各个文件名,例如:
LOGFILE:日志文件名(默认为:export.log)
INCLUDE:导出时包含指定的类型
(例:INCLUDE=TABLE_DATA,
INCLUDE=TABLE:"LIKE 'TAB%'"
INCLUDE=TABLE:”NOT LIKE ‘TAB%’”…)
EXCLUDE:导出时排除的数据类型(例:EXCLUDE=TABLE:EMP)
$expdp scott/timer DUMPFILE=tmp_200703.dmp DIRECTORY=dmpdir TABLES=tmp QUERY=\"where to_char\(create_time,\'yyyy-mm-dd\'\)\<\'2007-04\'\"
常用一些参数说明:
SCOTT/TIGER:用户/密码(*)
SQL>create directory dmpdir as '/u01/dmdir';
SQL>grant read,write on directory to test;
2. 最常用导出方法
$expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=test
select sid from v$px_session where qcsid = 23;
从视图 V$SESSION_LONGOPS 中可以获得其它的有用信息来预测完成作业将花费的时间。
select sid, serial#, sofar, totalwork
from v$session_longops
select * from DBA_DATAPUMP_JOBS;
impdp transdata/transdata@crmdb2 attach=SYS_IMPORT_FULL_01
expdp/impdp 使用总结
1. 使用expdp要先在数据库中创建directory,并给相应的用户read,write权限.
DUMPFILE:导出后的文件名(*)
DIRECTORY:导出文件存放位置(位于服务器端)(*)
CONTENT:导出文件中包含的内容(默认为:ALL,可选DATA_ONLY/METADATA_ONLY)
FILESIZE:指定导出文件Fra bibliotek小(单位为bytes).
JOB_NAME:此次导出进程使用的名称,方便跟踪查询(可选)
FULL:全库导出时使用(同EXP的FULL,默认为N)
SCHEMA:导出某一个SCHEMA下的所有数据
TABLES:按表导出(这里的方法和EXP一样)
TABLESPACE:指定一个表空间导出.
QUERY:按表导出时,使用条件语句限定导出范围(同exp中的QUERY)
TRANSPORT_FULL_CHECK:
5. 数据库监控
您还可以从数据库视图获得关于运行的 Data Pump 作业的更多信息。监控作业的主视图是 DBA_DATAPUMP_JOBS,它将告诉您在作业上有多少个工作进程(列 DEGREE)在工作。
另一个重要的视图是 DBA_DATAPUMP_SESSIONS,当它与上述视图和 V$SESSION 结合时将给出主前台进程的会话 SID。
相关文档
最新文档