Oracle怎么导入数据

   本文对Oracle数据的导入导出 imp ,exp 两个命令进行了介绍, 并对其相应的参数进行了说明,然后通过一些示例进行

  演练,加深理解.

  文章最后对运用这两个命令可能出现的问题(如权限不够,不同oracle版本)进行了探讨,并提出了相应的解决方案;

  本文部分内容摘录自网络,感谢网友的经验总结;

  一.说明

  oracle 的exp/imp命令用于实现对数据库的导出/导入操作;

  exp命令用于把数据从远程数据库服务器导出至本地,生成dmp文件;

  imp命令用于把本地的数据库dmp文件从本地导入到远程的Oracle数据库中。

  二.语法

  可以通过在命令行输入 imp help=y 获取imp的语法信息:

  =============================================================================

  C:Documents and Settingsauduser>imp help=y

  Import: Release 9.0.1.1.1 - Production on 星期二 5月 20 18:21:57 2008

  (c) Copyright 2001 Oracle Corporation. All rights reserved.

  可以通过输入 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 拥有可传输表空间集中数据的用户

  ==============================================

  同样可以通过输入 exp help=y 获取exp的语法信息

  Microsoft Windows XP [版本 5.1.2600]

  (C) 版权所有 1985-2001 Microsoft Corp.

  C:Documents and Settingsauduser>exp help=y

  Export: Release 9.0.1.1.1 - Production on 星期二 5月 20 18:26:34 2008

  (c) Copyright 2001 Oracle Corporation. 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 交叉表一致性 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 模式导出的模板名称

时间: 2024-10-30 13:10:56

Oracle怎么导入数据的相关文章

oracle sqlldr导入-Oracle sqlldr 导入数据

问题描述 Oracle sqlldr 导入数据 有表 create table day_gnl_dtl( code char(9),time_stamp timestamp); 需要导入的文本文件day_gnl_dtl.txt 内容为这样的格式: 222022133|2014-04-03 15:59:30.222 222032133|2014-02-03 15:59:30.222 922032233|2014-11-03 15:59:30.222 122312333|2014-09-03 15:

dmp-oracle往导入数据时需要的表空间变得很大导致导入中断

问题描述 oracle往导入数据时需要的表空间变得很大导致导入中断 50C 用的oracle11g,我用imp导入一个3g左右的dmp文件,导入用户和表空间都是新建的应该不存在大小不够的问题,我之前试着导入的时候需要的表空间一直增长到了80g左右把我的硬盘都装满了.不知道有没有什么解决方法望指点. 解决方案 http://www.2cto.com/database/201311/254231.html 解决方案二: http://blog.csdn.net/qq275394303/article

Oracle批量导入文本文件快速的方法(sqlldr实现)_oracle

前言 最近做项目的时候需要导入一批3000多万条的POI数据到Oracle数据库,简单的插入导入速度太慢,使用sqlldr 批量导入3000多万条数据花了20分钟左右,速度还可以,现在分享给大家,具体方法如下: 1.新建导入控制文件 input.ctl,文件内容如下: Load data Characterset UTF8 Infile 'H:\POI\baidu.txt' Append into table tbl_poi_baidu fields terminated by ","

如何在Oracle 10g中通过网络连接导入数据

历史上,Oracle的导入及导出功能曾采用磁盘文件作为卸载和再装载数据库的存储中介.对于较大的数据库这样"交换文件"的方式是个大问题.因为过大文件将会超过操作系统对文件大小的限制,使得导出不能实现. 一些有创新精神的数据管理员使用文件压缩功能,例如UNIX中的压缩功能,以获得交换文件的最大容量.后来版本中的导入及导出功能允许使用多种交换文件以减少限制. 在Oracle 10g中,Data Pump版的导入功能能从其他数据库实例中直接导入,从而完全删除交换文件. 第一步是定义一个数据库链

探讨ORACLE数据库的数据导入方法

oracle|数据|数据库 前言每个数据库管理员都会面临数据导入的问题,这有可能发生在数据库的新老移植过程中,或者是在数据库崩溃后的恢复重建过程中,还有可能是在创建测试数据库的模拟环境过程中,总之作为一名合格的数据库管理员,你应该做好接受各种数据导入请求的技术储备,同时还要尽量满足人本能的对导入速度的苛求.本文仅针对 Oracle 数据库所提供的加速数据导入的各种特性和技术进行探讨,其中的一些方法也可以转化应用于其他数据库.以下七种数据导入方法哪个最适用需要针对具体情况具体分析,我也附带列举了影

使用 Sql*Loader 向 Oracle 导入数据

oracle|导入数据 使用Oracle的sqlldr工具来将SDSS.CSV文件中的数据导入数据库. SDSS.CSV 放置于 E:\ 内容如下:         2.3757291096910399E-4,-8.9490277843631194,20.302597,        0.00023851549291556,-0.88450365314434698,20.098101,        2.5168890447969299E-4,7.7169029946908094E-2,18.7

使用Oracle sql loader批量导入数据

在性能测试中,有一项十分重要的准备工作就是准备测试数据.在进行性能测试之前,首先要保证测试数据库中有测试所需要的足够多的数据.对于数据的准备工作,有时候我会使用LoadRunner生成相应的脚本去准备数据,这样的做法有一个好处就是简便易行,然而它有一个很大的缺点就是效率太慢,当我们需要的数据量极大时,这样做是非常耗时间的,所以我觉得还需要掌握各种不同的技能来完成这个任务.以下就是我在前不久的一次测试中学到的经验: 使用oracle sql loader批量导入数据(在准备测试数据时很有用!) 生

oracle数据库-oracle 创建的dblink导入数据不成功报错

问题描述 oracle 创建的dblink导入数据不成功报错 执行数据导入时报:ORA-24777: 不允许使用不可移植的数据库链路

如何使用PLSQL Developer从oracle数据库 导入导出数据

如何使用PLSQL Developer从oracle数据库 导入导出数据  用pl/sql developer导出表的数据时有三种方式:Oracle Export,Sql Insert,pl/sql developer  只有"Oracle Export"方式导出再导入后,表结构和索引结构没有发生变化,另两种方式都改变了索引类型.另外  Sql Insert的那个可以导成sql,可以用文本编辑器打开.  pl/sql developer 也可以导出,但文本编辑器不能打开.  区别: