oracle10g导出dmp文件|如何实现oracle11g和oracle10g的数据互相导入导出

A. oracle 10g用exp命令按用户导出的DMP文件缺少表,谁能告诉我为什么吗

你缺少的表是不是都是没数据的?如果是就按我提供的方法,应该能解决!1.用以下这句查找空表并生成执行命令select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0; 2.将查询结果的内容导出,执行导出的语句。3.然后再用exp的方式去导出数据库,就可以完整的导出包括空表的数据库。

B. 怎样将oracle中某一张表的数据导出为dmp文件

exp 是dos命令 不需要打开sqlplusexp username/password file=你文件的存放路径 tables=你要导出的表名具体操作如下:C:\Documents and Settings\Administrator>exp scott/tiger file=d:\emp.dmp tables=empExport: Release 10.2.0.1.0 – Proction on 星期一 2月 14 10:42:26 2011Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – ProctionWith the Partitioning, OLAP and Data Mining options已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集即将导出指定的表通过常规路径…. . 正在导出表 EMP 导出了 14 行成功终止导出, 没有出现警告。

C. oracle服务器是10g,客户端数据库11g,怎么导出10g数据到本地

客户端访问数据库不存在什么冲突,导入导出工具exp可以在远端执行,expdp需要在数据库本地执行. 如果是要导出数据到本地11g数据库,可以在10g服务器用expdp到处后,确认到处过程中是用的什么版本的expdp , 传到11g这边,用impdp导入,加上参数 COMPATIBLE=10.x.x.x(10g导出时可以看到的版本)

D. 如何在oracle中导入导出dmp数据库文件

Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于 在oracle 8i 中 安装目录\ora81\BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。下面介绍的是导入导出的实例。数据导出:1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\chu.dmp中 exp system/[email protected] file=d:\chu.dmp full=y2 将数据库中system用户与sys用户的表导出 exp system/[email protected] file=d:\chu.dmp owner=(system,sys)3 将数据库中的表inner_notify、notify_staff_relat导出 exp aichannel/[email protected] file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat) 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出 exp system/[email protected] file=d:\chu.dmp tables=(table1) query=\" where filed1 like '00%'\" 上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。 也可以在上面命令后面 加上 compress=y 来实现。数据的导入1 将D:\chu.dmp 中的数据导入 TEST数据库中。 imp system/[email protected] file=d:\chu.dmp imp aichannel/[email protected] full=y file=file= d:\data\newsmgnt.dmp ignore=y 上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。 在后面加上 ignore=y 就可以了。2 将d:\chu.dmp中的表table1 导入imp system/[email protected] file=d:\chu.dmp tables=(table1) 基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。注意:操作者要有足够的权限,权限不够它会提示。数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。附录一:给用户增加导入数据权限的操作第一,启动sql*puls第二,以system/manager登陆第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略)第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW , 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 或者 imp userid=system/manager full=y file=filename.dmp执行示例:F:\Work\Oracle_Data\backup>imp userid=test/test full=y file=inner_notify.dmp屏幕显示Import: Release 8.1.7.0.0 – Proction on 星期四 2月 16 16:50:05 2006(c) Copyright 2000 Oracle Corporation. All rights reserved.连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 – ProctionWith the Partitioning optionJServer Release 8.1.7.0.0 – Proction经由常规路径导出由EXPORT:V08.01.07创建的文件已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入导出服务器使用UTF8 NCHAR 字符集 (可能的ncharset转换). 正在将AICHANNEL的对象导入到 AICHANNEL. . 正在导入表 "INNER_NOTIFY" 4行被导入准备启用约束条件…成功终止导入,但出现警告。附录二:Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的. 先建立import9.par, 然后,使用时命令如下:imp parfile=/filepath/import9.par 例 import9.par 内容如下: FROMUSER=TGPMS TOUSER=TGPMS2 (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同) ROWS=Y INDEXES=Y GRANTS=Y CONSTRAINTS=Y BUFFER=409600 file==/backup/ctgpc_20030623.dmp log==/backup/import_20030623.log

E. 如何在oracle中导入导出dmp文件

您好,很高兴为您解答。imp username/[email protected]_string param=value …exp username/[email protected]_string param=value …如果是在sqlplus命令下,要在imp或者exp命令前加$,不然会报错:SP2-0734:未知的命令开头 ”exp pafirc …”,如果是在cmd命令窗口下(如果是用sqlplus "用户名/密码"登陆的,相当于在sqlplus命令窗口下),则可以不用。数据导出:1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\chu.dmp中exp system/[email protected] file=d:\chu.dmp full=y2 将数据库中system用户与sys用户的表导出exp system/[email protected] file=d:\chu.dmp owner=(system,sys)3 将数据库中的表inner_notify、notify_staff_relat导出exp aichannel/[email protected] file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)4 将数据库中的表table1中的字段filed1以"00"打头的数据导出exp system/[email protected] file=d:\chu.dmp tables=(table1) query=\" where filed1 like '00%'\"上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。也可以在上面命令后面 加上 compress=y 来实现。数据的导入:1 将D:\chu.dmp 中的数据导入 TEST数据库中。imp system/[email protected] file=d:\chu.dmpimp aichannel/[email protected] full=y file=file= d:\data\newsmgnt.dmp ignore=y上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上 ignore=y 就可以了。2 将d:\chu.dmp中的表table1 导入imp system/[email protected] file=d:\chu.dmp tables=(table1)基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。注意:操作者要有足够的权限,权限不够它会提示。数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。附录一:给用户增加导入数据权限的操作第一,启动sql*puls第二,以system/manager登陆第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略)第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,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或者 imp userid=system/manager full=y file=filename.dmp执行示例:F:\Work\Oracle_Data\backup>imp userid=test/test full=y file=inner_notify.dmp屏幕显示Import: Release 8.1.7.0.0 – Proction on 星期四 2月 16 16:50:05 2006(c) Copyright 2000 Oracle Corporation. All rights reserved.连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 – ProctionWith the Partitioning optionJServer Release 8.1.7.0.0 – Proction经由常规路径导出由EXPORT:V08.01.07创建的文件已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入导出服务器使用UTF8 NCHAR 字符集 (可能的ncharset转换)正在将AICHANNEL的对象导入到 AICHANNEL正在导入表 "INNER_NOTIFY" 4行被导入准备启用约束条件…成功终止导入,但出现警告。附录二:Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的.先建立import9.par,然后,使用时命令如下:imp parfile=/filepath/import9.par例 import9.par 内容如下:FROMUSER=TGPMSTOUSER=TGPMS2 (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSERTOUSER的用户可以不同)ROWS=YINDEXES=YGRANTS=YCONSTRAINTS=YBUFFER=409600file==/backup/ctgpc_20030623.dmplog==/backup/import_20030623.log如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】希望我的回答对您有所帮助,望采纳! ~ O(∩_∩)O~

F. Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令 详细的 详细的 谢谢

这个网络上一搜一大把,都说的很详细,楼主没搜过,数据导出:1 将数据库TEST完全导出,用户名system 密码manager 导出到D:chu.dmp中 exp system/[email protected] file=d:chu.dmp full=y2 将数据库中system用户与sys用户的表导出 exp system/[email protected] file=d:chu.dmp owner=(system,sys)3 将数据库中的表inner_notify、notify_staff_relat导出 exp aichannel/[email protected] file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)4 将数据库中的表table1中的字段filed1以"00"打头的数据导出 exp system/[email protected] file=d:chu.dmp tables=(table1) query=" where filed1 like '00%'" 上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。 也可以在上面命令后面 加上 compress=y 来实现。数据的导入1 将D:chu.dmp 中的数据导入 TEST数据库中。 imp system/[email protected] file=d:chu.dmp imp aichannel/[email protected] full=y file=d:datanewsmgnt.dmp ignore=y 上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。 在后面加上 ignore=y 就可以了。2 将d:chu.dmp中的表table1 导入imp system/[email protected] file=d:chu.dmp tables=(table1)基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。注意:操作者要有足够的权限,权限不够它会提示。数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。当然,上面的方法在导出数据时可能会导出很大的包,那是因为你的用户可能在授权的时候授予了DBA的权限,所以可以采用下面方法来进行数据库备份:数据库备份建议系统过渡后,每周进行一次备份。或者在数据表发生重大改变前,对要改变的数据表进行备份。执行以下步骤,进行备份。在命令行里,敲入“cmd”,回车,进入命令行窗口。在窗口中,输入:exp mas/[email protected]系统提示:输入数组提取缓冲区大小: 4096 >可以直接回车;系统提示:导出文件: EXPDAT.DMP>此处输入导出文件的位置,其路径必须存在,Oracle在这里不会自动建立路径,但可以建立文件名。备份文件以dmp作为后缀。输入内容如:e:\work\mas_db_090925v1.dmp 回车系统提示: (1)E(完整的数据库),(2)U(用户) 或 (3)T(表): (2)U > u此处可以输入u,也可以直接回车,因为系统此时默认的是U系统提示:导出权限(yes/no):yes>回车系统提示:导出表数据(yes/no):yes>回车系统提示:压缩区(yes/no):yes>回车系统提示:要导出的用户: (RETURN 以退出) > mas系统提示:要导出的用户: (RETURN 以退出) > 回车此时系统会自动进行备份本文对Oracle数据的导入导出 imp ,exp 两个命令进行了介绍, 并对其相应的参数进行了说明,然后通过一些示例进行演练,加深理解.文章最后对运用这两个命令可能出现的问题(如权限不够,不同oracle版本)进行了探讨,并提出了相应的解决方案;本文部分内容摘录自网络,感谢网友的经验总结;一.说明 oracle 的exp/imp命令用于实现对数据库的导出/导入操作; exp命令用于把数据从远程数据库服务器导出至本地,生成dmp文件; imp命令用于把本地的数据库dmp文件从本地导入到远程的Oracle数据库中。二.语法可以通过在命令行输入 imp help=y 获取imp的语法信息:============================================================================= C:\Documents and Settings\auser>imp help=y Import: Release 9.0.1.1.1 – Proction on 星期二 5月 20 18:21:57 2008 (c) Copyright 2001 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 输入文件 (EXPDAT.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_NOVALIDATE 跳过指定类型 ID 的验证 FILESIZE 每个转储文件的最大大小 STATISTICS 始终导入预计算的统计信息 RESUMABLE 遇到与空格有关的错误时挂起 (N) RESUMABLE_NAME 用来标识可恢复语句的文本字符串 RESUMABLE_TIMEOUT RESUMABLE 的等待时间 COMPILE 编译过程, 程序包和函数 (Y) 下列关键字仅用于可传输的表空间 TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N) TABLESPACES 将要传输到数据库的表空间 DATAFILES 将要传输到数据库的数据文件 TTS_OWNERS 拥有可传输表空间集中数据的用户==============================================同样可以通过输入 exp help=y 获取exp的语法信息 Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp. C:\Documents and Settings\auser>exp help=y Export: Release 9.0.1.1.1 – Proction on 星期二 5月 20 18:26:34 2008 (c) Copyright 2001 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 输出文件 (EXPDAT.DMP) TABLES 表名称列表 COMPRESS 导入到一个区 (Y) RECORDLENGTH IO 记录的长度 GRANTS 导出权限 (Y) INCTYPE 增量导出类型 INDEXES 导出索引 (Y) RECORD 跟踪增量导出 (Y) DIRECT 直接路径 (N) TRIGGERS 导出触发器 (Y) LOG 屏幕输出的日志文件 STATISTICS 分析对象 (ESTIMATE) ROWS 导出数据行 (Y) PARFILE 参数文件名 CONSISTENT 交叉表一致性 CONSTRAINTS 导出约束条件 (Y) FEEDBACK 每 x 行显示进度 (0) FILESIZE 每个转储文件的最大大小 FLASHBACK_SCN 用于回调会话快照的 SCN FLASHBACK_TIME 用来获得最接近于指定时间的 SCN 的时间 QUERY 用来导出表的子集的选择子句 RESUMABLE 遇到与空格有关的错误时挂起 (N) RESUMABLE_NAME 用来标识可恢复语句的文本字符串 RESUMABLE_TIMEOUT RESUMABLE 的等待时间 TTS_FULL_CHECK 对 TTS 执行完全或部分相关性检查 TABLESPACES 要导出的表空间列表 TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N) TEMPLATE 调用 iAS 模式导出的模板名称三.使用示例3.1 数据导出: 1 将数据库SampleDB完全导出,用户名system 密码manager 导出到E:\SampleDB.dmp中 exp system/[email protected] file=E:\sampleDB.dmp full=y 2 将数据库中system用户与sys用户的表导出 exp system/[email protected] file=E:\sampleDB.dmp owner=(system,sys) 3 将数据库中的表 TableA,TableB 导出 exp system/[email protected] file=E:\sampleDB.dmp tables=(TableA,TableB) 4 将数据库中的表tableA中的字段filed1 值为 "王五" 的数据导出 exp system/[email protected] file=E:\sampleDB.dmp tables=(tableA) query=' where filed1='王五' 如果想对dmp文件进行压缩,可以在上面命令后面 加上 compress=y 来实现。3.2 数据的导入 1 将备份数据库文件中的数据导入指定的数据库SampleDB 中,如果 SampleDB 已存在该表,则不再导入; imp system/[email protected] file=E:\sampleDB.dmp full=y ignore=y2 将d:\chu.dmp中的表table1 导入 imp system/[email protected] file=E:\sampleDB.dmp tables=(table1)3. 导入一个完整数据库 imp system/manager file=bible_db log=dible_db full=y ignore=y4. 导入一个或一组指定用户所属的全部表、索引和其他对象 imp system/manager file=seapark log=seapark fromuser=seapark imp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)5. 将一个用户所属的数据导入另一个用户 imp system/manager file=tank log=tank fromuser=seapark touser=seapark_ imp system/manager file=tank log=tank fromuser=(seapark,amy) touser=(seapark1, amy1)6. 导入一个表 imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)7. 从多个文件导入 imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)log=paycheck, filesize=1G full=y8. 使用参数文件 imp system/manager parfile=bible_tables.parbible_tables.par参数文件: #Import the sample tables used for the Oracle8i Database Administrator'sBible. fromuser=seapark touser=seapark_ file=seapark log=seapark_import参数文件示例见附录9. 增量导入 imp system./manager inctype= RECTORE FULL=Y FILE=A不少情况下要先将表彻底删除,然后导入。四.参数说明4.1、8i EXP常用选项 1、FULL,这个用于导出整个数据库,在ROWS=N一起使用时,可以导出整个数据库的结构。例如: exp sys file=./db_str.dmp log=./db_str.log full=y rows=n compress=y direct=y 2、BUFFER和FEEDBACK,在导出比较多的数据时,我会考虑设置这两个参数。例如: exp new file=yw97_2003.dmp log=yw97_2003_3.log feedback=10000 buffer=100000000 tables=WO4,OK_YT 3、FILL和LOG,这两个参数分别指定备份的DMP名称和LOG名称,包括文件名和目录,例子见上面。 需要说明的是,EXP可以直接备份到磁带中,即使用FILE=/dev/rmt0(磁带设备名),但是一般我们都不这么做,原因有二:一、这样做的速度会慢很多,二、现在一般都是使用磁带库的,不建议直接对磁带进行操作。至于没有使用磁带库的朋友可以考虑和UNIX的TAR结合使用。 如果你真想使用EXP直接到磁带,你可以参考Metalink文章“EXPORTING TO TAPE ON UNIX SYSTEMS”(文档号:30428.1),该文中有详细解释。 4、COMPRESS参数将在导出的同时合并碎块,尽量把数据压缩到initial的EXTENT里,默认是N,一般建议使用。DIRECT参数将告诉EXP直接读取数据,而不像传统的EXP那样,使用SELECT来读取表中的数据,这样就减少了SQL语句处理过程。一般也建议使用。不过有些情况下DIRECT参数是无法使用的。 5、如何使用SYSDBA执行EXP/IMP? 这是一个很现实的问题,有时候我们需要使用SYSDBA来执行EXP/IMP,如进行传输表空间的EXP/IMP,以及在9i下用SYS用户来执行EXP/IMP时,都需要使用SYSDBA才可。我们可以使用下面方式连入EXP/IMP: exp "'sys/sys as sysdba'" file=1.dmp tables=gototop.t rows=n 6、QUERY参数后面跟的是where条件,值得注意的是,整个where子句需要使用""括起来,where子句的写法和SELECT中相同,如果是UNIX平台所有"和'都需要使用\u26469屏蔽它们的特殊含义: exp gototop/gototop file=1.dmp log=1.log tables=cyx.t query="where c1=20 and c2=gototop" 如果是windows平台,则使用下面的格式: exp c/[email protected] file=c.dmp log=c.log tables=t query="""where id=1 and name='gototop'"""4.2、8i IMP常用选项 1、FROMUSER和TOUSER,使用它们实现将数据从一个SCHEMA中导入到另外一个SCHEMA中。 2、IGNORE、GRANTS和INDEXES,其中IGNORE参数将忽略表的存在,继续导入,这个对于需要调整表的存储参数时很有用,我们可以先根据实际情况用合理的存储参数建好表,然后直接导入数据。而GRANTS和INDEXES则表示是否导入授权和索引,如果想使用新的存储参数重建索引,或者为了加快到入速度,我们可以考虑将INDEXES设为N,而GRANTS一般都是Y。 另外一个EXP/IMP都有的参数是PARFILE,它是用来定义EXP/IMP的参数文件,也就是说,上面的参数都可以写在一个参数文件中,但我们一般很少使用。4.4、Oracle9i EXP功能描述 Oracle9i EXP在原有的基础上新增了部分新的参数,按功能主要分为以下几个部分: 1、OBJECT_CONSISTENT – 用于设置EXP对象为只读以保持对象的一致性。默认是N。 2、FLASHBACK_SCN和FLASHBACK_TIME – 用于支持FLASHBACK功能而新增。 3、RESUMABLE、RESUMABLE_NAME和RESUMABLE_TIMEOUT – 用于支持RESUMABLE空间分配而新增。 4、TTS_FULL_CHECK – 用于在传输表空间时使用依赖性检查。 5、TEMPLATE – 用于支持iAS。 6、TABLESPACES – 设置表空间导出模式。个人觉得对于一般用户而言,这个才是新增参数中最实用的一个,可以让用户在原来的FULL、OWNER、TABLES的基础上多了一种选择,使得EXP更加灵活。五、不同版本的EXP/IMP问题? 一般来说,从低版本导入到高版本问题不大,麻烦的是将高版本的数据导入到低版本中,在Oracle9i之前,不同版本Oracle之间的EXP/IMP可以通过下面的方法来解决: 1、在高版本数据库上运行底版本的catexp.sql; 2、使用低版本的EXP来导出高版本的数据; 3、使用低版本的IMP将数据库导入到底版本数据库中; 4、在高版本数据库上重新运行高版本的catexp.sql脚本。 但在9i中,上面的方法并不能解决问题。如果直接使用底版本EXP/IMP会出现如下错误: EXP-00008: ORACLE error %lu encountered ORA-00904: invalid column name 这已经是一个公布的BUG,需要等到Oracle10.0才能解决,BUG号为2261,你可以到METALINK上去查看有关此BUG的详细信息。 BUG归BUG,我们的工作还是要做,在没有Oracle的支持之前,我们就自己解决。在Oracle9i中执行下面的SQL重建exu81rls视图即可。 CREATE OR REPLACE view exu81rls (objown,objnam,policy,polown,polsch,polfun,stmts,chkopt,enabled,spolicy) AS select u.name, o.name, r.pname, r.pfschma, r.ppname, r.pfname, decode(bitand(r.stmt_type,1), 0,'', 'SELECT,') || decode(bitand(r.stmt_type,2), 0,'', 'INSERT,') || decode(bitand(r.stmt_type,4), 0,'', 'UPDATE,') || decode(bitand(r.stmt_type,8), 0,'', 'DELETE,'), r.check_opt, r.enable_flag, DECODE(BITAND(r.stmt_type, 16), 0, 0, 1) from user$ u, obj$ o, rls$ r where u.user# = o.owner# and r.obj# = o.obj# and (uid = 0 or uid = o.owner# or exists ( select * from session_roles where role='SELECT_CATALOG_ROLE') ) / grant select on sys.exu81rls to public; / 六、其他问题 本文只讨论了Oracle8i和9i中的EXP/IMP的一些情况,对于之前的版本,在8.0.X中,除了QUERY参数不能用外,其它差别不大。针对没有QUERY的情况,我们可以先在数据库中使用查询条件建立临时中间表,然后使用EXP导出这个中间表即可。至于Oracle7因为目前使用的人较少,gototop不打算在此做详细解释了,如果读者朋友有需求,你可以参考Metalink文档:“Overview of Export and Import in Oracle7”(文档号:61949.1)。关于EXP/IMP的详细参数信息你可以通过EXP/IMP HELP=Y来获得。 另外关于传输表空间的更多信息可以参考下面的Metelink文档,本文不再详述。 [NOTE:77523.1] Transportable Tablespaces — An Example to setup and use. [NOTE:100698.1] Perform tablespace point-in-time recovery using Transportable Tablespace. 在进行并行EXP/IMP的时候,如果IMP过程建索引的话不建议同时运行5个以上的IMP,如果你想加快速度,可以在IMP的时候不建索引,这样只要内存允许,可以多跑几个,然后是SQL脚本创建需要的索引。 注意: 操作者要有足够的权限,权限不够它会提示。 数据库是否可以连上, 可以用tnsping TestDB 来获得数据库 TestDB 能否连上。附录一: 给用户增加导入数据权限的操作 第一, 启动sql*puls 第二,以system/manager登陆 第三,create user 用户名 IDENTIFIED BY 密码(如果已经创建过用户,这步可以省略) 第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW , 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 或者 imp userid=system/manager full=y file=filename.dmp 附录二: Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的. 先建立import9.par, 然后,使用时命令如下:imp parfile=/filepath/import9.par 例 import9.par 内容如下: FROMUSER=TGPMS TOUSER=TGPMS2 (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同) ROWS=Y INDEXES=Y GRANTS=Y CONSTRAINTS=Y BUFFER=409600 file==/backup/ctgpc_20030623.dmp log==/backup/import_20030623.log

G. Oracle10g怎么imp在exp时设置了compress=y的dmp文件怎么解决

基本语法和实例:1、EXP:有三种主要的方式(完全、用户、表)1、完全:EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y如果要执行完全导出,必须具有特殊的权限2、用户模式:EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC这样用户SONIC的所有对象被输出到文件中。3、表模式:EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC)这样用户SONIC的表SONIC就被导出2、IMP:具有三种模式(完全、用户、表)1、完全:IMP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y2、用户模式:IMP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP FROMUSER=SONIC TOUSER=SONIC这样用户SONIC的所有对象被导入到文件中。必须指定FROMUSER、TOUSER参数,这样才能导入数据。3、表模式:EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC)这样用户SONIC的表SONIC就被导入。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=icdmain.commoninformation,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=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo注:在磁盘空间允许的情况下,应先备份到本地服务器,然后再拷贝到磁带。出于速度方面的考虑,尽量不要直接备份到磁带设备。用户模式备份某个用户模式下的所有对象。业务数据库通常采用这种备份方式。若备份到本地文件,使用如下命令:exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536feedback=100000 volsize=0file=exp_icdmain_yyyymmdd.dmplog=exp_icdmain_yyyymmdd.log若直接备份到磁带设备,使用如下命令:exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536feedback=100000 volsize=0file=/dev/rmt0log=exp_icdmain_yyyymmdd.log注:如果磁盘有空间,建议备份到磁盘,然后再拷贝到磁带。如果数据库数据量较小,可采用这种办法备份。以下为详细的导入导出实例:一、数据导出:1、 将数据库TEST完全导出,用户名system 密码manager 导出到D:\chu.dmp中exp system/[email protected] file=d:\chu.dmp full=y2、 将数据库中system用户与sys用户的表导出exp system/[email protected] file=d:\chu.dmp owner=(system,sys)3、 将数据库中的表table1 、table2导出exp system/[email protected] file=d:\chu.dmp tables=(table1,table2)4、 将数据库中的表table1中的字段filed1以"00"打头的数据导出exp system/[email protected] file=d:\chu.dmp tables=(table1) query=\" where filed1 like '00%'\"上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。不过在上面命令后面 加上 compress=y 就可以了二、数据的导入1、将D:\chu.dmp 中的数据导入 TEST数据库中。imp system/[email protected] file=d:\chu.dmp上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上 ignore=y 就可以了。2 将d:\chu.dmp中的表table1 导入imp system/[email protected] file=d:\chu.dmp tables=(table1)基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。注意:你要有足够的权限,权限不够它会提示你。数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。oracleimp/exp命令使用举例导出数据库服务abc,用户user,密码psd下的table1,table2,table3表到d:\data目录下,导出文件名为test.dmp,语句为:exp user/[email protected] file=d:\data\test.dmp tables=(table1,table2,table3) 。将上述文件恢复的语句为:exp user/[email protected] full=y file=d:\data\test.dmp.注意:如果将备份文件中的所有表恢复,需要加上full=y。如果只须只需要恢复table1,则语句为:exp user/[email protected] file=d:\data\test.dmp tables=table1。即必须指明倒入那些信息,要么全部要么部分表。以下是摘抄的别人的经验。执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于 在oracle 8i 中 安装目录\ora81\BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。下面介绍的是导入导出的实例。数据导出:1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\chu.dmp中exp system/[email protected] file=d:\chu.dmp full=y2将数据库中system用户与sys用户的表导出exp system/[email protected] file=d:\chu.dmp owner=(system,sys)3将数据库中的表inner_notify、notify_staff_relat导出exp aichannel/[email protected] file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)4将数据库中的表table1中的字段filed1以"00"打头的数据导出exp system/[email protected] file=d:\chu.dmp tables=(table1) query=\" where filed1 like '00%'\"上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。也可以在上面命令后面 加上 compress=y 来实现。数据的导入1 将D:\chu.dmp 中的数据导入 TEST数据库中。imp system/[email protected] file=d:\chu.dmp imp aichannel/[email protected] full=y file=file= d:\data\newsmgnt.dmp ignore=y上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上 ignore=y 就可以了。2 将d:\chu.dmp中的表table1 导入imp system/[email protected] file=d:\chu.dmp tables=(table1)基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。注意:操作者要有足够的权限,权限不够它会提示。数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。附录一:给用户增加导入数据权限的操作第一,启动sql*puls第二,以system/manager登陆第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略)第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW , 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或者 imp userid=system/manager full=y file=filename.dmp执行示例:F:\Work\Oracle_Data\backup>imp userid=test/test full=y file=inner_notify.dmp屏幕显示Import: Release 8.1.7.0.0 – Proction on 星期四 2月 16 16:50:05 2006 (c) Copyright 2000 Oracle Corporation. All rights reserved.连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 – ProctionWith the Partitioning optionJServer Release 8.1.7.0.0 – Proction经由常规路径导出由EXPORT:V08.01.07创建的文件已经完成ZHS16GBK字符集和ZHS16GBK NCHAR字符集中的导入导出服务器使用UTF8 NCHAR字符集(可能的ncharset转换). 正在将AICHANNEL的对象导入到 AICHANNEL . . 正在导入表 "INNER_NOTIFY" 4行被导入准备启用约束条件…成功终止导入,但出现警告。附录二:Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的.先建立import9.par,然后,使用时命令如下:imp parfile=/filepath/import9.par例 import9.par 内容如下:FROMUSER=TGPMSTOUSER=TGPMS2 (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)ROWS=YINDEXES=YGRANTS=YCONSTRAINTS=YBUFFER=409600file==/backup/ctgpc_20030623.dmp log==/backup/import_20030623.log

H. 如何实现oracle11g和oracle10g的数据互相导入导出

Oracle 11g数据导入到10g一、在11g服务器上,使用expdp命令备份数据11g 导出语句:EXPDP USERID='facial/[email protected] as sysdba' schemas=facialdirectory=DATA_PUMP_DIR mpfile=test.dmp logfile=test.log version=10.2.0.1.0二、在10g服务器上,使用impdp命令恢复数据准备工作:1.建库2.建表空间3.建用户并授权4.将test.dmp拷贝到10g的dpmp目录下–创建表空间create tablespace TS_Facial datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\Facial.DBF' size 500M autoextend on next 50M;–创建用户create user Facial identified by Facial default tablespace TS_Facial;–授权给用户grant connect,resource,dba to Facial;test.dmp 和 test.log 放在E:\oracle\proct\10.2.0\admin\orcl\dpmp目录下10g 导入语句:IMPDP USERID='facial/[email protected] as sysdba' schemas=facialdirectory=DATA_PUMP_DIR mpfile=test.dmp logfile=test.log version=10.2.0.1.0

I. 如何将oracle 10g上的dmp文件导入到11g中

1、如果提示版本不匹配,在linux可以用sed修改版本,例如:sed -i 's/10.2.0/11.2.0/g' file.dmp2、你需要提前创建好相应的用户或表空间,用sed可以修改dmp文件表空间名称sed -i 's/OTHER_TS/USERS/g' file.dmp3、你可以按用户导入imp user/password file=file.dmp FULL=Y;imp user/password FROMUSER=user01 TOUSER=user02 file=file.dmp FULL=Y;4、可以只导入部分表imp user/password file=file.dmp TABLES=t1,T2;5、更多参考:imp help=y

J. 想把oracle10g的数据,用数据泵导出,导入到12C中,给怎么写导出语句

sqlplus / as sysdba在sqlplus里执行create directory backup as '/data/oracle/oradata/mydata';–这里选择一个文件夹存放dmp文件grant read,write on directory backup to system;退出到linux终端或windos cmd执行expdp systemtest directory=backup mpfile=test.dmp logfile=test.log consistent=y exclude=statistics schemas=sunbaby CLUSTER=N impdp system/test directory=backup mpfile=test.dmp logfile=test.log CLUSTER=N transform=oid:n


赞 (0)