`

exp/imp命令详解

阅读更多
exp
引用

D:\>exp help=y

Export: Release 10.1.0.2.0 - Production on 星期四 12月 23 15:01:34 2010

Copyright (c) 1982, 2004, Oracle.  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 执行完整或部分相关性检查
TABLESPACES          要导出的表空间列表
TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
TEMPLATE             调用 iAS 模式导出的模板名

成功终止导出, 没有出现警告。


imp
引用

D:\>imp help=y

Import: Release 10.1.0.2.0 - Production on 星期四 12月 23 14:57:07 201

Copyright (c) 1982, 2004, Oracle.  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)

下列关键字仅用于可传输的表空间
TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)
TABLESPACES 将要传输到数据库的表空间
DATAFILES 将要传输到数据库的数据文件
TTS_OWNERS 拥有可传输表空间集中数据的用户

成功终止导入, 没有出现警告。

exp/imp两个命令可以说是oracle中最常用的命令了.

  ORACLE数据库有两类备份方法。第一类为物理备份,该方法实现数据库的完整恢复,但

  数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部

  存储设备,例如磁带库;第二类备份方式为逻辑备份,业务数据库采用此种方式,此方

  法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备。

  数据库逻辑备份方法

  ORACLE数据库的逻辑备份分为三种模式:表备份、用户备份和完全备份。

  表模式
  备份某个用户模式下指定的对象(表)。业务数据库通常采用这种备份方式。

  若备份到本地文件,使用如下命令:

引用

exp ccatstep/marconi@62 rows=y indexes=n compress=n buffer=65536 feedback=100000  file=001.dmp log=exp_test.log tables=ccatstep.ccatstep_tbl_lineinfo

若直接备份到磁带设备,使用如下命令:
引用

exp ccatstep/marconi@62 rows=y indexes=n compress=n buffer=65536 feedback=100000 file=/dev/rmt0 log=exp_icdmain_csd_yyyymmdd.log tables=ccatstep.tableName

注:在磁盘空间允许的情况下,应先备份到本地服务器,然后再拷贝到磁带。出于速度

  方面的考虑,尽量不要直接备份到磁带设备。

  用户模式
  备份某个用户模式下的所有对象。业务数据库通常采用这种备份方式。

  若备份到本地文件,使用如下命令:
引用

exp bdf/marconi@62 owner=bdf rows=y indexes=n compress=n buffer=65536 feedback=100000 file=002.dmp log=002.log

若直接备份到磁带设备,使用如下命令:
引用

exp bdf/marconi@62 owner=bdf rows=y indexes=n compress=n buffer=65536 feedback=100000 file=/dev/rmt0 log=002.log

注:如果磁盘有空间,建议备份到磁盘,然后再拷贝到磁带。如果数据库数据量较小,

  可采用这种办法备份。

  完全模式
  备份完整的数据库。业务数据库不采用这种备份方式。备份命令为:
引用

exp system/marconi@62 rows=y indexes=n compress=n buffer=65536 feedback=100000  full=y file=exp_fulldb_yyyymmdd.dmp(磁带设备则为/dev/rmt0) log=exp_fulldb_yyyymmdd.log

对于数据库备份,建议采用增量备份,即只备份上一次备份以来更改的数据。增量备份命令:
引用
exp system/marconi@62 inctype=incremental rows=y indexes=n compress=n buffer=65536 feedback=100000  full=y file=exp_fulldb_yyyymmdd.dmp log=exp_fulldb_yyyymmdd.log

注:关于增量备份必须满足下列条件:

  1.只对完整数据库备份有效,且第一次需要full=y参数,以后需要inctype=incremental参数。

  2. 用户必须有EXP_FULL_DATABASE的系统角色。

  3. 话务量较小时方可?捎檬菘獗阜荨?

  4. 如果磁盘有空间,建议备份到磁盘,然后再备份到磁带。

  业务数据库备份方法及周期

  用EXP进行备份前,先在SYS用户下运行CATEXP.SQL文件(如果以前已运行该文件,则不要执行这个脚本)。没有特殊说明,不允许在客户端执行备份命令。
备份命令参照表模式下的备份命令。从磁盘文件备份到磁带
如果首先备份到本地磁盘文件,则需要转储到磁带设备上。
备份时间安排

  由于备份时对系统I/O有较大影响,所以,建议在晚上11点以后进行备份工作。

  业务数据库Oracle版本的恢复

  恢复方案需根据备份方案确定。由于业务数据库采用表备份和用户备份相结合的方案,

  所以业务数据库的恢复需根据实际情况采用表恢复和用户恢复相结合的方案。

  恢复方案

  数据库的逻辑恢复分为表恢复、用户恢复、完全恢复三种模式。

  表模式
  此方式将根据按照表模式备份的数据进行恢复。
引用

imp system/liweiwei@liweiwei fromuser=ccatstep touser=system rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n  file=002.dmp log=002.log

若从磁带设备恢复,使用如下命令:

引用

imp system/liweiwei@liweiwei fromuser=ccatstep touser=system rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n  file==/dev/rmt0 log=002.log

B. 恢复备份数据中的指定表

  若从本地文件恢复,使用如下命令:
引用

imp system/liweiwei@liweiwei fromuser=ccatstep touser=system rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n  file=002.dmp log=002.log tables=ccatstep_tbl_ne

若从磁带设备恢复,使用如下命令:
引用

imp system/liweiwei@liweiwei fromuser=ccatstep touser=system rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n  file=/dev/rmt0 log=002.log tables=ccatstep_tbl_ne

用户模式
  此方式将根据按照用户模式备份的数据进行恢复。

  A. 恢复备份数据的全部内容

  若从本地文件恢复,使用如下命令:

引用

imp system/liweiwei@liweiwei fromuser=bdf touser=system rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n  file=002.dmp log=002.log

若从磁带设备恢复,使用如下命令:
引用

imp system/liweiwei@liweiwei fromuser=bdf touser=system rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n  file==/dev/rmt0 log=002.log


完全模式
  如果备份方式为完全模式,采用下列恢复方法:

  若从本地文件恢复,使用如下命令:

  imp system/manager rows=y indexes=n commit=y buffer=65536

  feedback=100000 ignore=y  full=y

  file=exp_icdmain_yyyymmdd.dmp

  log=imp_icdmain_yyyymmdd.log

  若从磁带设备恢复,使用如下命令:

  imp system/manager rows=y indexes=n commit=y buffer=65536

  feedback=100000 ignore=y  full=y

  file=/dev/rmt0

  log=imp_icdmain_yyyymmdd.log

参数说明

  1. ignore参数

  Oracle在恢复数据的过程中,当恢复某个表时,该表已经存在,

  就要根据ignore参数的设置来决定如何操作。

  若ignore=y,Oracle不执行CREATE TABLE语句,直接将数据

  插入到表中,如果插入的记录违背了约束条件,比如主键约束,

  则出错的记录不会插入,但合法的记录会添加到表中。

  若ignore=n,Oracle不执行CREATE TABLE语句,同时也不会

  将数据插入到表中,而是忽略该表的错误,继续恢复下一个表。

  2. indexes参数

  在恢复数据的过程中,若indexes=n,则表上的索引不会被恢复

  ,但是主键对应的唯一索引将无条件恢复,这是为了保证数据

  的完整性。

  字符集转换

  对于单字节字符集(例如US7ASCII),恢复时,数据库自动转

  换为该会话的字符集(NLS_LANG参数);对于多字节字符集

  (例如ZHS16CGB231280),恢复时,应尽量使字符集相同

  (避免转换),如果要转换,目标数据库的字符集应是输出数

  据库字符集的超集。
恢复方法

  业务数据库采用表恢复方案。在用IMP进行恢复前,先在SYS

  用户下运行CATEXP.SQL文件(如果以前已运行该文件,则

  不要执行这个脚本),然后执行下列命令:

  IMP ICDMAIN/ICD FILE=文件名 LOG=LOG文件名 ROWS=Y

  COMMIT=Y BUFFER=Y IGNORE=Y TABLES=表名

  注:要恢复的表名参照备份的表名

  。恢复是在原表基础上累加数据

  。没有特殊说明,不允许在客户端执行恢复命令


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics