oracle下逻辑的导入导出工具exp/imp

oracle下逻辑的导入导出工具exp/implinux

exp/imp简介:数据库

        exp/imp是oracle幸存的最古老的两个命令行备份工具 ,在小型数据库的转储、表空间的迁移、表的抽取、检测逻辑和物理冲突中使用很是普遍,咱们能够把它做为小型数据库的物理备份后的一个逻辑备份。它能够跨平台、跨版本。windows

exp/imp的工做原理:服务器

        exp用户进程经过服务器进程链接到数据库,开启shadow进程,同时执行select语句查询数据库中的数据,经过buffer cache并经过SQL语句处理层再转移出exp导出文件,即exp进程须要占用服务器上的SGA和PGA资源。oracle

        imp读取exp导出的.dmp文件,构造DDL语句,插入建立表与其余对象以及添加数据的语句ide


exp的导出数据的方式:工具

        一、全库导出(这种方式通常不用)命令行

        二、按用户导出3d

        三、按表导出对象

exp经常使用参数简介:exp help=y

使用exp/imp工具是,在服务端需开启监听,客户端最好配置链接字符串

客户端的字符集必须与服务端的字符集相同,避免因不一样字符集的转换,致使导出的数据不可用

客户端版本必须与服务端版本一致,好比服务端是10g,客户端是11g,则会报如下错误: 

 

ok,开始导出数据吧

        环境:linux redhat 5.4  oracle 10g 32位

一、全库导出

        exp system/oracle@lck     full=y file=d:\full_database.dmp        

 二、按用户导出

    exp  system/oracle  owner=lck  file=d:\lck_tables.dmp

      

三、按表导出

    

四、在导出是,只导出表结构不导出数据

    

exp工具的缺点:

        速度慢,因为exp链接到数据库须要先select要导出的数据,再经过SGA、PGA传输给exp。

        若是此链接断开,则exp需从头开始导出,没有断点续传的功能

        消耗服务端资源,只能服务端业务的前提下使用


imp 经常使用参数:imp help=y

    

导入数据,将导出的数据导入到windows平台的oracle 11g 64位中

        使用11g客户段导入数据

一、按用户导入

      imp   system/oracle@orcl     fromuser=lck     touser=lck    file=d:\lck_tables.dmp;      

   报错了,用户不存在,好吧,在目标数据库上建立lck用户

    

    再导入

  又报错了,对data表空间没权限,由于没有给lck用户分配在data表空间上的配额,其实如今表结构已经导进来了,看一下

    

      好吧,那就再给lck的配额,再导入      

 啊,仍是报错,对象已存在,加参数ignore=y (忽略建立错误),再导入

  ok,导入成功,  原来导入数据不是一路顺风的啊。

    总结:导入数据前须要在目标数据库中建立对应的用户,并给用户相应的权限和该用户在本身默认表空间上的配额

二、按表导入

    exp system/oracle@orcl  talbes=tab1  fromuser=lck,test  touser=lck,test file=d:\lck_test_tables.dmp  

ok,导入成功!!

相关文章
相关标签/搜索