oracle导入导出表

oracle本身对表的导入导出方式有很多,oracle方式,sql方式,plsql方式等等,得到的文件后缀分别是dmp,sql和pde,这里这三种的好坏想必大家都多少有些了解了。

dmp是oracle原生导出文件,导入导出速度快,压缩率高,文件移植性和实用性好,方便备份还原等,需要时,导入导出即可。缺点是,只是应用于oracle数据库。

sql脚本文件呢,则是一种通用方式,导入导出速度较快,文件移植和实用性甚至超过dmp,因为它是.sql后缀的,所以它基本上能用应用于所有主流的数据库,只要有此sql文件,可通用于oracle,mssql,mysql等等。这个优点不巧也正是它的缺点,因为需通用于大部分主流数据库,所以它的sql文件里,只能保存通用类型,如oracle的大数据类型clob,blob在使用sql导入导出时,就会发生错误。遇到其他数据库的特定类型,也是如此。而且假使表比较多,数据量比较大的话,得到的相应的sql文件也比较多,不方便管理和使用。

pde方式,则使用的并不多见,使用也比较有局限性。

下面就开始正题,比如我现在在公司里,用公司数据库里的表,但是明天放假了,我想在家里做做项目的话,这时候,就需要用到oracle的表的导入导出了。即,从公司的数据库里导出表,然后带回家,导入到我的机器上面。

公司的oracle是10g,而我本机上的oracle是11g的r2版本。首先是导出表,我在公司的用户名和密码是rent/rent

权限是普通的读写权限,登录方式的normal。导出时,我是使用的PL/sql developer工具,导出方式为oracle导出dmp文件,使用的bin文件是10g的BIN目录下的exp.exe执行文件,导入到桌面为rent.dmp。

然后把自己的机器上的oracle11g服务打开,启动以sys方式登录,登录后,创建表空间为rent,用户名密码为rent/rent,用户的默认表空间为rent,给它权限为下面5个,connect ,dba,EXP_FULL_DATABASE ,IMP_FULL_DATABASE ,RESOURCE。一切就绪后注销登录,选择rent/rent用户登录,登录方式为normal。

最后打开dos,输入imp,提示输入用户名和密码,即输入我们的用户名和密码。后面提示要给出dmp文件的位置,这里我是在d盘的rent.dmp,于是我写入d:/rent.dmp。最后它就会自动开始导入了。

希望大家也能一次成功,值得注意的是,导入和导出时,需使用的可执行文件为exp.exe和imp.exe,这两个文件的版本一定要是相同的版本,比如我就是全部都用的10g的。不然的话,就会报错的。

猜你喜欢

转载自phantomes.iteye.com/blog/1756610