EXP/IMP

EXP/IMP是oracle中比较传统的数据库逻辑备份工具实现全库或者表空间的逻辑备份,但是不支持用户的交互模式,即在备份过程中无法控制或者切换进程。
下面介绍如何使用exp/imp:
SQL> select * from v$version where rownum=1;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
SQL> !cat /etc/issue
Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
Kernel \r on an \m


EXP:
[oracle@localhost ~]$ exp help=y
Export: Release 11.2.0.1.0 - Production on 星期六 6月 13 18:36:25 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
通过输入 EXP 命令和您的用户名/口令, 导出
操作将提示您输入参数: 
    例如: EXP SCOTT/TIGER
或者, 您也可以通过输入跟有各种参数的 EXP 命令来控制导出
的运行方式。要指定参数, 您可以使用关键字: 
   格式:  EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
     例如: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
               或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表
USERID 必须是命令行中的第一个参数。
关键字   说明 (默认值)         关键字      说明 (默认值)
--------------------------------------------------------------------------
USERID   用户名/口令           FULL        导出整个文件 (N)
BUFFER   数据缓冲区大小        OWNER        所有者用户名列表
FILE     输出文件 (EXPDAT.DMP)  TABLES     表名列表
COMPRESS  导入到一个区 (Y)   RECORDLENGTH   IO 记录的长度
GRANTS    导出权限 (Y)          INCTYPE     增量导出类型
INDEXES   导出索引 (Y)         RECORD       跟踪增量导出 (Y)
DIRECT    直接路径 (N)         TRIGGERS     导出触发器 (Y)
LOG      屏幕输出的日志文件    STATISTICS    分析对象 (ESTIMATE)
ROWS      导出数据行 (Y)        PARFILE      参数文件名
CONSISTENT 交叉表的一致性 (N)   CONSTRAINTS  导出的约束条件 (Y)
OBJECT_CONSISTENT    只在对象导出期间设置为只读的事务处理 (N)
FEEDBACK             每 x 行显示进度 (0)
FILESIZE             每个转储文件的最大大小
FLASHBACK_SCN        用于将会话快照设置回以前状态的 SCN
FLASHBACK_TIME       用于获取最接近指定时间的 SCN 的时间
QUERY                用于导出表的子集的 select 子句
RESUMABLE            遇到与空格相关的错误时挂起 (N)
RESUMABLE_NAME       用于标识可恢复语句的文本字符串
RESUMABLE_TIMEOUT    RESUMABLE 的等待时间
TTS_FULL_CHECK       对 TTS 执行完整或部分相关性检查
VOLSIZE              写入每个磁带卷的字节数
TABLESPACES          要导出的表空间列表
TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
TEMPLATE             调用 iAS 模式导出的模板名
成功终止导出, 没有出现警告。

上面是oracle  11gR2的exp命令指令
在使用exp程序命令时,可以不带参数,此时需要用户输入一些参数来导出要备份的数据,如用户名和密码,输入缓冲区的大小,导出的文件名,导出的表还是所有用户的对象,是否导出权限等等。
下面介绍exp导出整个数据库,导出特定的用户,导出特定的表和特定的表空间:
使用exp导出hr用户的所有数据库对象:
[oracle@localhost ~]$ exp
Export: Release 11.2.0.1.0 - Production on 星期六 6月 13 18:56:40 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
用户名: hr
口令: 
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
输入数组提取缓冲区大小: 4096 >    默认的字节数是4096,如果用户包含大对象,则需要设置该参数
 导出文件: expdat.dmp >                默认文件名是expdat.dmp,可以更改
(2)U(用户), 或 (3)T(表): (2)U > u    选择导出的数据库对象
导出权限 (yes/no): yes > yes           即是否导出对表、视图,序列,角色的授权
导出表数据 (yes/no): yes > yes       即可以导出表的结构也可以导出数据或者导出表的结构和表数据,如果不导出表数据就是只导出表的结构,就是表的定义
压缩区 (yes/no): yes > yes
已导出 AL32UTF8 字符集和 AL16UTF16 NCHAR 字符集
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 HR 的外部函数库名
. 导出 PUBLIC 类型同义词
. 正在导出专用类型同义词
. 正在导出用户 HR 的对象类型定义
即将导出 HR 的对象...
. 正在导出数据库链接
. 正在导出序号
. 正在导出簇定义
. 即将导出 HR 的表通过常规路径...
. . 正在导出表                       COUNTRIES导出了           0 行
. . 正在导出表                               T导出了           3 行
. . 正在导出表                              TT导出了           1 行
. 正在导出同义词
. 正在导出视图
. 正在导出存储过程
. 正在导出运算符
. 正在导出引用完整性约束条件
. 正在导出触发器
. 正在导出索引类型
. 正在导出位图, 功能性索引和可扩展索引
. 正在导出后期表活动
. 正在导出实体化视图
. 正在导出快照日志
. 正在导出作业队列
. 正在导出刷新组和子组
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计信息
成功终止导出, 没有出现警告。

linux中,所导出的对象在当前用户的目录下:
[oracle@localhost ~]$ ls -l expdat.dmp
-rw-r--r-- 1 oracle oinstall 16384 06-13 18:57 expdat.dmp

exp指令导出整个数据库:
 exp system/manager full=y file=database.dmp

....... 
......
由于页面,不具体罗列导出信息
[oracle@localhost ~]$ ls -l database.dmp
-rw-r--r-- 1 oracle oinstall 150200320 06-13 19:20 database.dmp

exp指令导出特定的表:
[oracle@localhost ~]$ exp hr/hr tables = hr.t file=hrt.dmp
Export: Release 11.2.0.1.0 - Production on 星期六 6月 13 19:30:12 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已导出 AL32UTF8 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的表通过常规路径...
. . 正在导出表                               T导出了           3 行
成功终止导出, 没有出现警告。


[oracle@localhost ~]$ exp hr/hr tables = t file=hrt.dmp
Export: Release 11.2.0.1.0 - Production on 星期六 6月 13 19:30:24 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已导出 AL32UTF8 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的表通过常规路径...
. . 正在导出表                               T导出了           3 行
成功终止导出, 没有出现警告。


[oracle@localhost ~]$ exp hr/hr tables = t file=hrt.dbf
Export: Release 11.2.0.1.0 - Production on 星期六 6月 13 19:30:54 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已导出 AL32UTF8 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的表通过常规路径...
. . 正在导出表                               T导出了           3 行
成功终止导出, 没有出现警告。



[oracle@localhost ~]$ exp system/manager tables=hr.t file=hrtt.dmp    注意此时使用schema_name.table_name
Export: Release 11.2.0.1.0 - Production on 星期六 6月 13 19:33:46 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已导出 AL32UTF8 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的表通过常规路径...
当前的用户已更改为 HR
. . 正在导出表                               T导出了           3 行
成功终止导出, 没有出现警告。


导出特定用户:
这种方式和不带参数,很相似,下面做下实验:
[oracle@localhost ~]$ exp system/manager owner=hr file=hr.dmp
Export: Release 11.2.0.1.0 - Production on 星期六 6月 13 19:37:34 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已导出 AL32UTF8 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的用户...
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 HR 的外部函数库名
. 导出 PUBLIC 类型同义词
. 正在导出专用类型同义词
. 正在导出用户 HR 的对象类型定义
即将导出 HR 的对象...
. 正在导出数据库链接
. 正在导出序号
. 正在导出簇定义
. 即将导出 HR 的表通过常规路径...
. . 正在导出表                       COUNTRIES导出了           0 行
. . 正在导出表                               T导出了           3 行
. . 正在导出表                              TT导出了           1 行
. 正在导出同义词
. 正在导出视图
. 正在导出存储过程
. 正在导出运算符
. 正在导出引用完整性约束条件
. 正在导出触发器
. 正在导出索引类型
. 正在导出位图, 功能性索引和可扩展索引
. 正在导出后期表活动
. 正在导出实体化视图
. 正在导出快照日志
. 正在导出作业队列
. 正在导出刷新组和子组
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计信息
成功终止导出, 没有出现警告。

导出特定的表空间:

[oracle@localhost ~]$ exp system/manager tablespaces=users file=user.dmp
Export: Release 11.2.0.1.0 - Production on 星期六 6月 13 19:39:38 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已导出 AL32UTF8 字符集和 AL16UTF16 NCHAR 字符集
即将导出所选表空间...
对于表空间 USERS...
. 正在导出簇定义
. 正在导出表定义
. . 正在导出表                               T导出了           3 行
. . 正在导出表                              TT导出了           1 行
. . 正在导出表      QUEST_SOO_EVENT_CATEGORIES导出了        1641 行
. . 正在导出表      QUEST_SOO_PARSE_TIME_TRACK导出了           1 行
. . 正在导出表       QUEST_SOO_SCHEMA_VERSIONS导出了           1 行
. . 正在导出表               QUEST_SOO_VERSION导出了           1 行
. . 正在导出表                        BOOKINFO导出了          19 行
. . 正在导出表                        BOOKTYPE导出了           7 行
. . 正在导出表                          BORROW导出了           0 行
. . 正在导出表                   LIBRARY_ORDER导出了           9 行
. . 正在导出表                        OPERATER导出了          20 行
. . 正在导出表                          READER导出了          18 行
. 正在导出引用完整性约束条件
. 正在导出触发器
成功终止导出, 没有出现警告。

IMP:
imp使用程序将备份的整个数据库导入到当前的数据库中。在导入过程中,包括一系列创建数据库对象的过程,如创建表空间,表,表的索引,序列号以及授权用户等。如果要创建的数据库对象已存在,则此时可以用ignore参数,否则会失败,整个参数会使IMP程序忽略这些错误:
[oracle@localhost bin]$ imp help=yes


Import: Release 11.2.0.1.0 - Production on 星期六 6月 13 21:00:14 2015


Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

通过输入 IMP 命令和您的用户名/口令, 导入
操作将提示您输入参数: 
 例如: IMP SCOTT/TIGER
或者, 可以通过输入 IMP 命令和各种参数来控制导入
的运行方式。要指定参数, 您可以使用关键字: 
    格式:  IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
     例如: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
               或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表
USERID 必须是命令行中的第一个参数。
关键字   说明 (默认值)        关键字      说明 (默认值)
--------------------------------------------------------------------------
USERID   用户名/口令           FULL       导入整个文件 (N)
BUFFER   数据缓冲区大小        FROMUSER    所有者用户名列表(导入数据的源用户名)
FILE     输入文件 (EXPDAT.DMP)  TOUSER     用户名列表(导入数据的目的用户名)
SHOW     只列出文件内容 (N)     TABLES      表名列表
IGNORE   忽略创建错误 (N)    RECORDLENGTH  IO 记录的长度
GRANTS   导入权限 (Y)          INCTYPE     增量导入类型
INDEXES   导入索引 (Y)         COMMIT       提交数组插入 (N)
ROWS     导入数据行 (Y)        PARFILE      参数文件名
LOG     屏幕输出的日志文件    CONSTRAINTS    导入限制 (Y)
DESTROY                覆盖表空间数据文件 (N)
INDEXFILE              将表/索引信息写入指定的文件
SKIP_UNUSABLE_INDEXES  跳过不可用索引的维护 (N)
FEEDBACK               每 x 行显示进度 (0)
TOID_NOVALIDATE        跳过指定类型 ID 的验证 
FILESIZE               每个转储文件的最大大小
STATISTICS             始终导入预计算的统计信息
RESUMABLE              在遇到有关空间的错误时挂起 (N)
RESUMABLE_NAME         用来标识可恢复语句的文本字符串
RESUMABLE_TIMEOUT      RESUMABLE 的等待时间 
COMPILE                编译过程, 程序包和函数 (Y)
STREAMS_CONFIGURATION  导入流的一般元数据 (Y)
STREAMS_INSTANTIATION  导入流实例化元数据 (N)
DATA_ONLY              仅导入数据 (N)
VOLSIZE                磁带的每个文件卷上的文件的字节数
下列关键字仅用于可传输的表空间
TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)
TABLESPACES 将要传输到数据库的表空间
DATAFILES 将要传输到数据库的数据文件
TTS_OWNERS 拥有可传输表空间集中数据的用户
成功终止导入, 没有出现警告。


导入存在的表对象:
[oracle@localhost ~]$ imp hr/hr tables=t  file=/home/oracle/hrt.dbf ignore=yes
Import: Release 11.2.0.1.0 - Production on 星期六 6月 13 21:07:06 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
经由常规路径由 EXPORT:V11.02.00 创建的导出文件
已经完成 AL32UTF8 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 HR 的对象导入到 HR
. 正在将 HR 的对象导入到 HR
. . 正在导入表                             "T"导入了           3 行
成功终止导入, 没有出现警告。



[oracle@localhost ~]$ imp hr/hr tables=t  file=hrt.dbf ignore=yes


Import: Release 11.2.0.1.0 - Production on 星期六 6月 13 21:07:51 2015


Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.




连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


经由常规路径由 EXPORT:V11.02.00 创建的导出文件
已经完成 AL32UTF8 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 HR 的对象导入到 HR
. 正在将 HR 的对象导入到 HR
. . 正在导入表                             "T"导入了           3 行
成功终止导入, 没有出现警告。


导入存在的用户:

[oracle@localhost ~]$ imp system/manager full=y file=hr.dmp ignore=yes
Import: Release 11.2.0.1.0 - Production on 星期六 6月 13 21:09:55 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
经由常规路径由 EXPORT:V11.02.00 创建的导出文件
已经完成 AL32UTF8 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 SYSTEM 的对象导入到 SYSTEM
. 正在将 HR 的对象导入到 HR
. . 正在导入表                     "COUNTRIES"导入了           0 行
. . 正在导入表                             "T"导入了           3 行
. . 正在导入表                            "TT"导入了           1 行
即将启用约束条件...
成功终止导入, 没有出现警告。

将特定的表导入指定用户:
[oracle@localhost ~]$ imp  system/manager tables = t fromuser=hr touser=system  file=hrt.dmp


Import: Release 11.2.0.1.0 - Production on 星期六 6月 13 21:18:54 2015


Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.




连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


经由常规路径由 EXPORT:V11.02.00 创建的导出文件


警告: 这些对象由 HR 导出, 而不是当前用户


已经完成 AL32UTF8 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 HR 的对象导入到 SYSTEM
. . 正在导入表                             "T"导入了           3 行
成功终止导入, 没有出现警告。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29876893/viewspace-1698126/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29876893/viewspace-1698126/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值