




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracleoracle不同版本间数据的导入导出/oracle IMP 命令详解博客分类: OracleoracleOracle的imp/exp组件是我们常用的工具,它的一个操作原则就是向下兼容。下面是据此总结的几个使用规则和相关测试:规则1:低版本的exp/imp可以连接到高版本(或同版本)的数据库服务器,但高版本的exp/imp不能连接到低版本的数据库服务器-1.1 使用9i客户端通过imp连接到10g数据库C:Documents and Settingsyuechaotianexp userid=hdtest/tests67 tables=(ab01) rows=n file=d:x.dmpExport: Release .0 - Production on 星期三 2月 20 10:09:55 2008Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release .0 - ProductionWith the Partitioning, OLAP and Data Mining options已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集注: 将不会导出表数据(行)即将导出指定的表通过常规路径 . . 正在导出表 AB01在没有警告的情况下成功终止导出。-1.2 使用10g客户端通过imp连接9i数据库:连接失败(而不是导出失败)C:Documents and Settingsyuechaotianexp userid=hbjb_kf_hd/tests46 owner=hdtest file=d:x.dmpExport: Release .0 - Production on 星期三 2月 20 09:57:22 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.EXP-00056: 遇到 ORACLE 错误 6550ORA-06550: 第 1 行, 第 41 列:PLS-00302: 必须说明 SET_NO_OUTLINES 组件ORA-06550: 第 1 行, 第 15 列:PL/SQL: Statement ignoredEXP-00000: 导出终止失败规则2:高版本exp出的dmp文件,低版本无法imp(无法识别dmp文件)-2.1 使用10g客户端exp出10g的数据C:Documents and Settingsyuechaotianexp userid=test/testorcl owner=test file=d:10g.dmpExport: Release .0 - Production on 星期三 2月 20 11:16:39 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release .0 - ProductionWith the Partitioning, OLAP and Data Mining options已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集服务器使用 AL32UTF8 字符集 (可能的字符集转换)即将导出指定的用户.导出成功终止, 但出现警告。C:Documents and Settingsyuechaotian-2.2 使用9i客户端imp上面所导出的dmp文件到10g:可以连接到10g中,但无法识别文件C:Documents and Settingsyuechaotianimp userid=test/tests10g fromuser=test touser=test file=d:10g.dmpImport: Release .0 - Production on 星期三 2月 20 11:20:33 2008Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release .0 - ProductionWith the Partitioning, OLAP and Data Mining optionsIMP-00010: 不是有效的导出文件,标题验证失败IMP-00000: 未成功终止导入C:Documents and Settingsyuechaotian规则3:低版本exp出的dmp文件,高版本可以imp(向下兼容)- 3.1 使用9i客户端exp出9i中的数据C:Documents and Settingsyuechaotianexp userid=test/tests9i owner=test file=d:9i.dmpExport: Release .0 - Production on 星期三 2月 20 11:25:04 2008Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.连接到: Oracle9i Enterprise Edition Release .0 - ProductionWith the Partitioning, OLAP and Oracle Data Mining optionsJServer Release .0 - Production已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集即将导出指定的用户.在没有警告的情况下成功终止导出。C:Documents and Settingsyuechaotian- 3.2 使用10g客户端imp到10g数据库中C:Documents and Settingsyuechaotianimp userid=test/testorcl fromuser=test touser=test file=d:9i.dmpImport: Release .0 - Production on 星期三 2月 20 11:28:46 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release .0 - ProductionWith the Partitioning, OLAP and Data Mining options经由常规路径由 EXPORT:V09.02.00 创建的导出文件已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入导入服务器使用 AL32UTF8 字符集 (可能的字符集转换). . 正在导入表 AUDIT_ACTIONS导入了 144 行成功终止导入, 但出现警告。C:Documents and Settingsyuechaotian规则4:从Oracle 低版本的Export数据可以Import到Oracle高版本中,但限于Oracle的相邻版本,如从Oracle 7 到 Oracle 8。对于两个不相邻版本间进行转换,如从Oracle 6 到 Oracle 8,则应先将数据输入到中间版本Oracle 7,再从中间数据库转入更高版本。-我使用10g的imp功能,可以将由817导出的dmp文件直接导入10g中,这与该规则的介绍不同。(该规则出自高道强的Oracle导入导出工具实现数据库移植)C:Documents and Settingsyuechaotianimp userid=test/test fromuser=scott touser=test file=d:tyc.dmpImport: Release .0 - Production on 星期三 2月 20 14:03:33 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release .0 - ProductionWith the Partitioning, OLAP and Data Mining options经由常规路径由 EXPORT:V08.01.07 创建的导出文件警告: 这些对象由 SCOTT 导出, 而不是当前用户已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入导入服务器使用 AL32UTF8 字符集 (可能的字符集转换)导出服务器使用 ZHS16GBK NCHAR 字符集 (可能的 ncharset 转换). 正在将 SCOTT 的对象导入到 TEST. . 正在导入表 ACCOUNT导入了 5 行. . 正在导入表 BONUS导入了 0 行. . 正在导入表 DEPT导入了 4 行. . 正在导入表 EMP导入了 14 行. . 正在导入表 RECEIPT导入了 1 行. . 正在导入表 SALGRADE导入了 5 行即将启用约束条件.成功终止导入, 没有出现警告。C:Documents and Settingsyuechaotian-以上操作,对于OracleXE的10g版本同样适用:C:Documents and Settingsyuechaotianimp userid=test/test fromuser=scott touser=test file=d:tyc.dmpImport: Release .0 - Production on 星期三 2月 20 14:15:51 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Express Edition Release .0 - Production经由常规路径由 EXPORT:V08.01.07 创建的导出文件警告: 这些对象由 SCOTT 导出, 而不是当前用户已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入导出服务器使用 ZHS16GBK NCHAR 字符集 (可能的 ncharset 转换). 正在将 SCOTT 的对象导入到 TEST. . 正在导入表 ACCOUNT导入了 5 行. . 正在导入表 BONUS导入了 0 行. . 正在导入表 DEPT导入了 4 行. . 正在导入表 EMP导入了 14 行. . 正在导入表 RECEIPT导入了 1 行. . 正在导入表 SALGRADE导入了 5 行即将启用约束条件.成功终止导入, 没有出现警告。imp/exp 的导入导出常用:oracle IMP 命令详解oracle IMP 命令详解原文地址:/bloggermodule/blog_viewblog.do?id=465310Oracle的导入实用程序(Import utility)允许从数据库提取数据,并且将数据写入操作系统文件。imp使用的基本格式:impusername/passwordservice,以下例举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=seapark impsystem/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 AdministratorsBible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import8. 增量导入imp system./manager inctype= RECTORE FULL=Y FILE=AOracle数据导入导出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中expsystem/managerTESTfile=d:daochu.dmp full=y2 将数据库中system用户与sys用户的表导出expsystem/managerTESTfile=d:daochu.dmp owner=(system,sys)3 将数据库中的表inner_notify、notify_staff_relat导出expaichannel/aichannelTESTDB2file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)4 将数据库中的表table1中的字段filed1以00打头的数据导出expsystem/managerTESTfile=d:daochu.dmp tables=(table1) query= where filed1 like 00% 上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。也可以在上面命令后面 加上 compress=y 来实现。数据的导入1 将D:daochu.dmp 中的数据导入 TEST数据库中。impsystem/managerTESTfile=d:daochu.dmpimpaichannel/aichannelHUSTfull=y file=file= d:datanewsmgnt.dmp ignore=y上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上 ignore=y 就可以了。2 将d:daochu.dmp中的表table1 导入impsystem/managerTESTfile=d:daochu.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:WorkOracle_Databackupimp userid=test/test full=y file=inner_notify.dmp屏幕显示Import: Release .0 - Production on 星期四 2月 16 16:50:05 2006(c) Copyright 2000 Oracle Corporation. All rights reserved.连接到: Oracle8i Enterprise Edition Release .0 - ProductionWith the Partitioning optionJServer Release .0 - Production经由常规路径导出由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.dmplog=/backup/import_20030623.log-不同版本间的数据库导入导出今天终于把不同版本间的数据库导入导出的问题搞清楚了,先前把自己绕进去了,呵呵。一直没搞清楚这个问题,从2个客户端,2个服务器,2个版本的dmp文件的角度来分析,排列组合也有2*2*2=8种了,真正把这8种情况做完试验以后,其实就是两个规则:规则1. 低版本的exp/imp客户端可以连接到高版本(或同版本)的数据库服务器,但高版本的exp/imp客户端不能连接到低版本的数据库服务器。规则2. 高版本exp出的dmp文件,低版本无法imp(无法识别dmp文件)有了这两个规则,8种试验结果就变得很简单了。排除9iclient to 9iserver, 10gclient to 10gserver.两种可能,剩下有6种可能a. 9iclient + 9i dmp = 10g serveryes b.10client + 9i dmp = 9i serverno(违反规则1)c.10client + 9i dmp = 10g serveryesd. 9iclient + 10g dmp = 9i serverno(违反规则2)e. 9iclient + 10g dmp = 10g serverno(违反规则2)f. 10client + 10g dmp = 9i serverno(违反规则1)附加:g:9i客户端 exp 10g dmp文件 yes h:10g客户端 exp 9i dmp文件 no(违反规则1)详细试验情况如下:9i数据库test_9i 10g数据库test_10ga. 9iclient + 9i dmp = 10g server yes C:Documents and Settingswgzx1impecc_view10/eccnfdbfile=c:9i.dmp fromuser=ecc_view9 touser=ecc_view10Import: Release .0 - Production on 星期四 2月 26 10:16:28 2009Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release .0 - 64bit Production With the Partitioning, OLAP and Data Mining options经由常规路径导出由EXPORT:V09.02.00创建的文件警告: 此对象由 ECC_VIEW9 导出, 而不是当前用户已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入. . 正在导入表 TEST1 14113行被导入成功终止导入,但出现警告。b.10client + 9i dmp = 9i server no(违反规则1)oraclentkdb $ impecc_view9/ecctestdbfile=./9i.dmp full=yImport: Release .0 - Production on 星期四 2月 26 09:52:15 2009Copyright (c) 1982, 2005, Oracle. All rights reserved.IMP-00058: ORACLE error 6550 encounteredORA-06550: 第 1 行, 第 33 列:PLS-00302: 必须说明 SET_NO_OUTLINES 组件ORA-06550: 第 1 行, 第 7 列:PL/SQL: Statement ignoredIMP-00000: Import terminated unsuccessfullyc.10client + 9i dmp = 10g server yesoraclentkdb $ impecc_view10/eccnfdbfile=./9i.dmp full=yImport: Release .0 - Production on 星期四 2月 26 09:57:58 2009Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to: Oracle Database 10g Enterprise Edition Release .0 - 64bit ProductionWith the Partitioning, OLAP and Data Mining optionsExport file created by EXPORT:V09.02.00 via conventional pathWarning: the objects were exported by ECC_VIEW9, not by youimport done in ZHS16GBK character set and AL16UTF16 NCHAR character set. importing ECC_VIEW9s objects into ECC_VIEW10. importing ECC_VIEW9s objects into ECC_VIEW10. . importing table TEST1 14113 rows importedImport terminated successfully without warnings.d. 9iclient + 10g dmp = 9i server no(违反规则2)C:Documents and Settingswgzx1impecc_view9/ecctestdbfile=c:10g.dmp full=yImport: Release .0 - Production on 星期四 2月 26 10:51:59 2009Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.连接到: Oracle9i Enterprise Edition Release .0 - ProductionWith the Partitioning, OLAP and Oracle Data Mining optionsJServer Release .0 - ProductionIMP-00010: 不是有效的导出文件,标题验证失败IMP-00000: 未成功终止导入e. 9iclient + 10g dmp = 10g server no(违反规则2)C:Documents and Settingswgzx1impecc_view10/eccnfdbfile=c:10g.dmp full=yImport: Release .0 - Production on 星期四 2月 26 10:53:18 2009Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release .0 - 64bit Production With the Partitioning, OLAP and Data Mining optionsIMP-00010: 不是有效的导出文件,标题验证失败IMP-00000: 未成功终
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025学年福建省百校高三语文上学期开学联考试卷附答案解析
- 个人户外装备租赁合同模板(含损坏赔偿细则)
- 家电维修经验案例分享与创新方案总结
- 快乐玩具:快乐时光的童年乐趣
- 实验设计数据处理规范要求
- 推动职业教育改革方案
- 如何提高营销团队的执行力
- 医院感染性疾病防控预案
- 职业教育课程改革规划
- 2025云南省丽江市古城区司法局招聘司法行政辅助人员(1人)考试含答案
- GB/T 13667.3-2013钢制书架第3部分:手动密集书架
- 高尔夫人群消费及行为习惯调研报告-课件
- 贝恩咨询模板课件
- 被巡察单位需提供资料清单(模版)
- 《大学物理》教学全套课件
- 林下经济的主要模式课件
- 电镀基础知识介绍-课件
- GB 24427-2021 锌负极原电池汞镉铅含量的限制要求
- DBJ 14-073-2010 岩棉板外墙外保温系统应用技术规程
- 电视摄像第二章电视画面的造型元素
- 桥梁转体施工专项方案(收藏版)
评论
0/150
提交评论