您的位置:首页 > 数据库 > Oracle

Oracle 10g/11g 导入导出整理

2015-06-19 16:13 519 查看
 Oracle10g/11g基本导入导出命令:

exp 用户名/用户密码@服务名 file=保存路径.dmp buffer=8192 filesize=10000m feedback=1000
imp 用户名/用户密码@服务名 file=文件所在路径.dmp full=y

  一般来说,指定用户下数据导出(包括触发器,存储过程等)在10g中就可以完全导出(导入)。另外还有导出指定表,指定函数等可以参考Oracle的官方文档(安装后EM界面上貌似就有,也可以到官网上去找)。总体来说10g的导入导出还比较方便。

   说明: 1、exp/imp命令使用时,只要能够连接数据库,那么就可以在服务端(远端)使用。

       2、Oracle11g基本导入导出命令与Oracle10g相同,需要注意的是11g导出有时空表不会导出,问题参考http://www.cnblogs.com/GYoungBean/archive/2012/07/24/2605963.html   

       3、在不同版本导入时,高版本可以兼容低版本的导出文件,但是需要注意表空间名称、索引、版本号等问题。

 

  使用expdp/impdp导出/导入文件:

  使用expdp命令时,需要指定转储的文件夹。

      1、基本导出方法:

CREATE OR REPLACE DIRECTORY test_dir(directory别名) AS '/u01/app/oracle/oradata/'(此处为硬盘上路径);
GRANT READ, WRITE ON DIRECTORY test_dir(directory别名) TO scott(指定用户名)/public(所有用户);
expdp scott/scott@orcl directory=test_dir DUMPFILE=xx.dmp schemas=scott(用户名) logfile=expdpScott.log version=10.2.0.1.0(导入数据版本号,同版本内可选参数)


  2、并行导出:

expdp scott/scott@orcl directory=test_dir parallel=4 DUMPFILE=xx_%U.dmp schemas=scott(用户名) logfile=expdpScott.log version=10.2.0.1.0


     其中,parallel为并行导出参数。可以指定导出时使用的线程数。_%U为通配符,导出后形式为XX01.dmp;xx02.dmp等。

         说明:1、expdp/impdp为服务器端命令,所以此时导出时只能在服务器端使用(若在远端导出请往下看)

            2、到出前请确认作为转储文件夹在硬盘中存在且路径正确

            3、version使用时,如果是从11g导入的数据要导入到10g中,那么请指定10g的版本号

            4、导入命令请参考文档(见最后的参考资料b.中)

 

   远端使用expdp命令导出:

  使用远端导出时,请确认远端电脑中安装有oracle客户端并且能够连接到服务端。同时也要相应的建立转储文件夹,且DIRECTORY 要建立在本地

CREATE DATABASE LINK remote_scott(dblink别名) CONNECT TO SCOTT(要连接到用户名) IDENTIFIED BY tiger(要连接的用户密码) USING 'DEV'(远端数据库服务名);

expdp test/test@db10g(本地数据库用户) tables=SCOTT.EMP(远端) network_link=REMOTE_SCOTT(dblink名称) directory=TEST_DIR dumpfile=EMP.dmp logfile=exp.log


  思路就是在本地库与远端建立DB_Link。上面语句中tables=SCOTT.EMP(远端)只是导出的一张表(导出用户下所有表)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle11g 数据库