首页 > 代码库 > Oracle基础 exp/imp命令
Oracle基础 exp/imp命令
一、导出方式:
使用exp/imp方式导出数据分为四种方式:
1、表方式导出:一个或多个指定的表,包括表的定义、表数据、表的所有者授权、表索引、表约束,以及创建在该表上的触发器。也可以只导出结构,不导出数据。还可以导出用户所拥有的全部表,还可以指定导出的表的分区。
2、用户方式导出:用户模式的所有对象以及对象中的数据。
3、表空间方式导出:包含在指定表空间中的所有对象,以及对象上的索引定义。
4、全部数据库方式导出:是指数据库中的所有对象,包括表空间、用户及模式中的所有对象(表、视图、序列、同义词、约束、索引、存储过程和触发器等)、数据和权限。
二、用exp命令导出数据。
语法:
exp userid=username/password direct=y full=y rows=y file=d:/backup/back.dmp log=d:/backup/back.log
说明:
userid=username/password:表示用户名和密码。
direct=y:是否按直接路径导出
full=y:表示全部数据库导出
rows=y:表示连同基表中的数据一同导出
file:导出文件
log:导出的日志文件
参数可以是一个或者多个,如果在命令行没有给出必须的参数,导出使用程序会提示用户逐个输入。
由于exp参数过多,可以通过输入 exp help=y 获取exp的语法信息。
通过输入 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 交叉表一致性 CONSTRAINTS 导出约束条件 (Y)
FEEDBACK 每 x 行显示进度 (0)
FILESIZE 每个转储文件的最大大小
FLASHBACK_SCN 用于回调会话快照的 SCN
FLASHBACK_TIME 用来获得最接近于指定时间的 SCN 的时间
QUERY 用来导出表的子集的选择子句
RESUMABLE 遇到与空格有关的错误时挂起 (N)
RESUMABLE_NAME 用来标识可恢复语句的文本字符串
RESUMABLE_TIMEOUT RESUMABLE 的等待时间
TTS_FULL_CHECK 对 TTS 执行完全或部分相关性检查
TABLESPACES 要导出的表空间列表
TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
TEMPLATE 调用 iAS 模式导出的模板名称
示例:
1)将数据库完全导出
exp system\system@accp file=‘d:\backup\full.dmp‘ full=y
2)导出用户
exp system/accp@accp file=‘d:\backup\scott.dmp‘ owner=(scott)
3)导出表
exp scott/scott@accp file=‘d:\backup\table.dmp‘ tables=(emp,dept)
4)导出表空间
exp scott/scott@accp file=‘d:\backup\table.dmp‘ tablespaces=(users)
如果想对dmp文件进行压缩,可以在上面命令后面 加上 compress=y 来实现。
三、使用imp命令导入数据
可以通过在命令行输入 imp help=y 获取imp的语法信息:
=============================================================================
C:/Documents and Settings/auduser>imp help=y
可以通过输入 IMP 命令和您的用户名/口令 后接用户名/口令的命令:
例程: IMP SCOTT/TIGER
或者, 可以通过输入 IMP 命令和各种参数来控制“导入” 按照不同参数。要指定参数,您可以使用关键字:
格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,vlaueN)
例程: 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)
下列关键字仅用于可传输的表空间
TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)
TABLESPACES 将要传输到数据库的表空间
DATAFILES 将要传输到数据库的数据文件
TTS_OWNERS 拥有可传输表空间集中数据的用户
示例:
1)导入全部
imp scott/scott@accp file=full.dmp full=y
2)导入表
imp scott/scott@accp file=table.dmp tables=(emp,dept)
3)导入用户
imp scott/scott@accp file=d:\backup\scott.dmp fromuser=scott touser=scott
Oracle基础 exp/imp命令