exp hr/hr@ORCL owner=hr file=hr_db_20141017dmp log=hr_db_20141017log
imp hr/hr file=hr_db_20141017dmp log=hr_db_20141017log full=y
楼上的正解,你不需要导出一个库中所有帐户的数据,只需要导出某一个你需要的帐户即可。
数据泵不一致导致的,比如说你用expbd导出来的用imp导入的时候就会出现这个错误,exp导出来的用imp导入;
expbd导出来的用impbd导入。
和版本没有关系,导出库时用的oracle版本和导入时用的不同。小版本不同也有影响。
解决办法:使用相同的数据泵导入导出。
OracleDatabase,又名OracleRDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案。
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
Oracle数据库最新版本为OracleDatabase12c。Oracle数据库12c引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如OracleMultitenant可快速整合多个数据库,而AutomaticData和HeatMap能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c成为私有云和公有云部署的理想平台。
前言:
将SQLServer数据库中的表和数据全量导入到Oracle数据库,通过Microsoft SqlServer Management Studio工具,直接导入到oracle数据库,免去了生成脚本的步骤。本教程以图文的方式,方便没用过的SqlServer的朋友,也可以完成跨库导出数据。
教程开始:
1在开始菜单中打开Microsoft SqlServer Management Studio,找到需要导出的SQLServer数据库,选择任务,再选择导出数据。
2打开导出数据工具:
3选择数据源:即选择从哪个数据库导出数据,如果是本机,服务器名称就填:localhost
4选择目标:要导入导Oracle数据库,就选择:Oracle Provider for OLE DB,然后再点击属性,在属性中设置Oracle数据库的用户名密码。
5输入要导入Oracle的数据库的用户名和密码,测试连接成功,然后勾选允许保存密码的复选框,否则关闭窗口,密码可能会丢失,又要重新输入增加麻烦。
6选择复制一个或多个表选项:
7选择你要导入表,这里只选择一个表作为示例,你可以勾选多个表一起导出。
重点开始:点击编辑映射,这里设置SqlServer字段数据类型与Oracle数据类型的映射,因为它们之间的数据类型略有不同,也就成了导出时候最容易出错的地方。
8两个数据库之间的字段数据类型转换:
如果新手不知道,哪个字段需要转换,可以先执行下一步,最后导出失败会有报错信息。再根据错误信息列名,进行调整。
例如:把Datetime 转为Date,char 转为varchar2,根据表实际的数据多调整下试试。
难点:这也是不同数据库导入数据最容易出错的地方,因为Oracle和SqlServer的数据类型略有不同,需要手动匹配调整。
9查看数据类型映射,有叹号的地方,就是应该转换的地方,往往失败就在此处,你可以双击查看下具体的转换信息。此处不用设置,保留默认下一步即可。
10继续执行下一步:
11点击完成,执行完后发现报错信息。接下来讲讲如何改错。
12点击打开报错信息,发现里面有些字段提示转换失败,然后记住出错的字段,最好截个图,然后返回上一步。
13点击上一步,一直返回到“编辑映射"页面,重新调整出错的字段。
14找到出错的字段,将char字段类型转为Varchar2即可。其他字段同理,找出转换出错的字段,修正即可。
15再次点击完成尝试,发现导出全部成功,并导出了“10条数据“。
16打开PlSQL,连接到Oracle数据库,查看下刚导入的表,发现表和数据全部成功导入:
顶
2
踩
0
跨版本的数据库导入导出,建议抛弃exp和expdp,改用script sql脚本的方式
这个博文写的很好,你简单读一下
>
要知道,其实自己要经常知道一个HELP,呵呵,在命令行下输入:IMP -HELP和EXP -HELP会输出相应的子项,这里可以找到所有的命令。
其次我再提醒一下楼主,tables=(table1) 这个在WINDOWS下好用,在LINUX下或AIX下是不好用的,请把括号去掉,多个表用逗号分开,不要括号,除了WINDOWS我用过的都不好用。
最后我简单做过实验,希望LZ有点结果,我这是从一个数据库的SCOTT用户移植一张表到另一个数据的SCOTT用户,只有结构没有内容(付:我的SCOTT用户赋予了DBA权限,否则没法导出,你可以用其他有DBA权限的用户
以上就是关于关于ORACLE数据库数据泵的使用问题全部的内容,包括:关于ORACLE数据库数据泵的使用问题、数据库管理系统数据泵不一致(数据泵客户机与数据库版本不兼容)、怎么把sqlserver一个表中的数据导入到oracle中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)