EXP和IMP

第一次写博客,希望以后能坚持。在oracle之路上,还望得到前辈及同学们的指教。

怕什么真理无穷,进一寸有一寸的欢喜。------胡适             共勉了!

话不多讲,这两天看了一下EXP和IMP,大概整理了一下,简单的笔记一下,共同学习。

1、简述

        EXP和IMP是Oracle Database 10g 之前的工具。但10g版本及后续版本都保留了此工具。说明它仍有他的优势所在,比如它们具有跨版本、跨平台的特性,甚至支持跨字符集的数据迁移,最重要的是操作简单,只要执行IMP/EXP命令,指定相应的参数就可以实施导入/导出数据的任务了。当然它也存在相当的缺点:它不支持增量备份(曾经支持),而且对大规模数据库的导入/导出效率均较差,这是因为受限于它的处理数据的方式。

2、命令说明

2.1 导出(EXPORT)

            导出就是使用工具EXP将数据库部分或全部对象的结构和数据导出,并存储到OS文件中的过程。

2.1.1 EXP常用命令说明

            导出使用exp命令来完成,使用该命令可以带有多个选项,简单说几个常用的:

1、buffer

            该选项用于指定提取行数据时的缓冲区尺寸。

2、file

            该选项用于指定导出文件名,默认名称为expdat.dmp

3、filesize

            该选项用具指定导出文件的最大尺寸。

4、full

            该选项指定数据库的导出模式,默认值是N,当设置为Y时,导出除SYS外所有其他方案的对象。

5、help

           该选项用于指定是否显示exp命令的帮助信息,默认N。在应用中若有问题可以使用该命令查询。

6、log

           该选项用于指定到处日志文件的名称,默认不生成导出日志文件。

7、owner

            该选项用于指定用户导出模式。普通用户只能导出其自身的方案,若想导出其他用户方案,须有exp_full_database的角色或dba角色。

8、parfile

            该选项用于指定导出工具要使用的参数文件名。若经常使用exp导出数据,可以将命令放到参数文件中,然后导出时调用该参数文件。

9、query

            该选项用于指定where条件子句,从而导出表的部分数据。

10、rows

            该选项用于指定是否导出表行数据,默认Y,若设置为N,则只导出表结构,而不导出数据。

11、tables

            该选项用于指定导出表。普通用户只能导出自身方案的表,若想导出其他用户方案的表,须有exp_full_database的角色或dba角色。

12、tablespaces

             该选项用于指定表空间导出模式。使用该选项时,将导出指定表空间上的所有表。需要注意,使用该选项时,要求用户具有dba角色或exp_full_database的角色。

13、userid

            该选项用于指定执行到处操作的用户名、口令和连接字符串。需要注意:当使用特权用户身份导出时,必须用单引号引住(userid=‘sys/admin as sysdba’),因为中间有空格;另外,如果userid是exp后的第一个选项,可以省略userid。

2.1.2 调用EXP

        EXP是客户端的工具,该工具既可以在Oracle客户端使用,也可以在Oracle服务器端使用。当在客户端使用时,必须带有连接字符串;在服务器端使用时可以不带连接字符串。导出包括导出表、导出方案、导出数据库3中模式。

1、导出表

        导出表是指使用exp将一个或多个表的结构和数据存储到OS文件中,导出表是使用tables选项完成的。普通用户可以导出其方案的所有表,但如果要导出其他方案的表,就需要该用户拥有dba角色或exp_full_database的角色。导出表时,默认情况下也会将相应表上的所有索引、触发器、约束导出。

示例如下:

exp scott/tiger@demo tables=dept,emp file=tab.dmp

2、导出方案

        导出方案是指使用exp将一个或多个方案中的所有对象和数据存储到OS文件中,导出方案是使用owner选项完成的。普通用户可以导出其自身的方案,如要导出其他方案,

则需要该用户拥有dba角色或exp_full_database的角色。当用户导出自身方案时,可不指定owner选项。

示例如下:

exp scott/tiger@demo  file=tab.dmp

3、导出数据库

        导出数据库是指使用exp将所有数据库对象及其数据存储到特定OS文件中,导出数据库使用full选项完成。导出数据库要求用户必须具有dba角色或exp_full_database的角色,并且导出数据库不会导出SYS方案的任何对象。

示例如下:

exp system/manager@demo  full=y file=full.dmp

 

2.2  导入(IMPORT)

            导入就是使用工具IMP将OS文件中的对象结构和数据装载到数据库中的过程。

 

2.2.1 IMP常用命令说明

            导入使用imp命令来完成,使用该命令可以带有多个选项,简单说几个常用的:

1、buffer

           该选项用于指定传送行数据时的缓冲区尺寸。

2、datafiles

            该选项值为Y时,用于指定要被搬移到目标数据库的数据文件列表。

3、file

            该选项用于指定导入要使用的转储文件名。

4、filesize

            该选项用于指定导出文件的最大尺寸。如果数据库对象数据被分布到多个导出文件中,导入时必须指定filesize选项。

5、full

            该选项用于指定导入转储文件的所有内容,默认值为Y,设置为Y时,会将导出的文件所有内容导入到数据库中。

6、help

            IMP的帮助信息。例:imp help=y

7、log

            用于指定导入日志文件名称,默认情况下不生成导入日志文件。

8、parfile

            该选项用于指定导入工具要使用的参数文件名。类似exp的该同名属性。

9、rows

            该选项用于指定是否导入表行数据,默认值Y,当设置为N时,只导入表结构,而不导入数据。

10、tables

            该选项用于指定导入表或表分区,例: imp scott/tiger tables=dept,emp file=a.dmp

11、tablespaces

            该选项用于指定导入特定表空间上所有对象。使用tablespaces选项时,会导入特定表空间上的所有表。需要注意:使用tablespaces选项时,用户要具有imp_full_database或dba角色,并且,必须将full选项设置为Y。

示例:imp system/manager file=a.dmp tablespaces=user01 full=y

12、touser

            该选项用于指定将特定方案对象导入到其他用户。使用该选项时,用户要具有imp_full_database或dba角色。

13、fromuser

            该选项用于指定从导出文件中摘取并导入特定用户的对象。使用该选项导入其他方案的对象时,用户要具有imp_full_database或dba角色。

14、userid

          用于指定导入操作的用户名、口令和连接字符串。痛emp的userid。

2.1.2 调用IMP

          同exp类似,导入也包括导入表、导入方案、导入数据库3种模式。

 

1、导入表

        是指使用imp将exp文件中的表结构及其数据装载到数据库中,导入表是使用tables选项完成的。普通用户可以直接导入其所拥有的表,但如果要将表导入到其他用户中,则要求该用户必须具有imp_full_database或dba角色,需要注意:如果将表导入到其它用户中,需要指定fromuser和touser选项.

示例:

imp scott/tiger@demo file=tab.dmp tables=emp,dept

imp system/manager@demo file=tab1.dmp tables=dept,emp fromuser=scott touser=system

2、导入方案

       导入方案是使用imp将emp文件中特定方案的所有对象及数据装载到数据库中。普通用户可以导入其自身的方案,导入时提供userid和file即可。但如果要将一个方案的所有对象导入到其他方案中,则要求该用户具有imp_full_database或dba角色,并提供formuser和touser选项。

是例:

imp scott/tiger@demo file=schema2.dmp

imp system/manager@demo file=schma1.dmp formuser=scott touser=system

3、导入数据库

        导入数据库是指使用imp将exp文件中所有对象和数据装载到oracle数据库中。导入数据库要求用户必须具有imp_full_database或dba角色。需要注意:因为导出文件中没有SYS方案的对象,所以导入时也不会包含SYS方案的对象。

示例:

imp system/manager@demo file=full.dmp full=y

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值