一、导出模式(三种模式)及命令格式

1、 全库模式

exp 用户名/密码@网络服务名 full=y file=路径\文件名.dmp log=路径\文件名.log

2、 用户模式(一般情况下采用此模式)

exp 用户名/密码@网络服务名 owners=(用户1,用户2,用户3,…) file=路径\文件名.dmp log=路径\文件名.log

3、 表模式

exp 用户名/密码@网络服务名 tables=(表名1,表名2,表名3,…)file=路径\文件名.dmp log=路径\文件名.log

4、 另外,还可以只导出某个表空间

exp 用户名/密码@网络服务名 tablespaces=(表空间1,表空间2,表空间3,…) file=路径\文件名.dmp log=路径\文件名.log

二、导入模式(三种模式)及命令格式

1、 全库模式

imp 用户名/密码@网络服务名 full=y file=路径\文件名.dmp log=路径\ds110.log

2、 用户模式(一般情况下采用此模式)

imp 用户名/密码@网络服务名 file=路径\文件名.dmp fromuser=导出的用户名 touser=导入的用户名 log=路径\ds110.log

3、 表模式

imp 用户名/密码@网络服务名 tables=(表名1,表名2,表名3,…)file=路径\文件名.dmp fromuser=导出的用户名 touser=导入的用户名 log=路径\ds110.log

4、 另外,还可以只导入某个表空间

imp 用户名/密码@网络服务名 tablespaces=(表空间1,表空间2,表空间3,…) file=路径\文件名.dmp fromuser=导出的用户名 touser=导入的用户名 log=路径\ds110.log

三、导入的命令参数说明

USERID 用户名/密码

FULL 是否全库导入 (Y 或 N),默认为 N

BUFFER 数据缓冲的大小

FROMUSER 导出的用户列表,即导入文件是从哪个用户导出的

TOUSER 导入的用户列表,即要到哪个用户中

FILE 导入文件,是dmp文件

SHOW 只列出文件内容 (Y 或 N) ,默认为 N

TABLES 要导入的表名列表

IGNORE 在导入过程中是否忽略错误 , 默认为 N

RECORDLENGTH 记录的长度,默认为operating system-dependent

GRANTS 导入权限 (Y 或 N),默认为Y

INCTYPE 导入的类型是否为递增(Y 或 N),默认为 N

INDEXES 导入索引 (Y 或 N) ,默认为Y

COMMIT 在导入过程中,是否导入一行数据,提交一行 (Y 或 N)默认为N,即在每个表导入后,进行提交

ROWS 导入行数据 (Y 或 N) ,默认为 Y

PARFILE 参数文件名

LOG 输出的日志文件

DESTROY 是否覆盖表空间上的数据文件 (Y 或 N) 默认为N

INDEXFILE 将表或索引信息写到指定的文件中

CHARSET 导出文件的字符集,默认为 NLS_LANG

ANALYZE 在导入时执行ANALYZE语句 (Y 或 N) 默认为 Y

FEEDBACK 在导入时每个几行显示进度,默认为0

四、导出的命令参数说明

USERID 用户名/密码

FULL 是否全库导入 (Y 或 N),默认为 N

BUFFER 数据缓冲的大小

OWNER 导出的用户列表

FILE 导出文件,是dmp文件

TABLES 要导出的表名列表

COMPRESS 是否压缩(Y 或 N), 默认为Y

RECORDLENGTH 输入输出记录的长度,默认为operating system-dependent

GRANTS 导出权限 (Y 或 N),默认为Y

INCTYPE 导出的类型是否为递增(Y 或 N),默认为 N

INDEXES 导出索引 (Y 或 N) ,默认为Y

RECORD 是否在系统SYS.INCEXP, SYS.INCFIL中记录一个递增或累计的导出(Y 或 N) , 默认为Y

ROWS 导出行数据 (Y 或 N) ,默认为 Y

PARFILE 参数文件名

CONSTRAINTS 是否导出约束,(Y 或 N) ,默认为 Y

CONSISTENT 在执行导出操作时是否加事务(Y 或 N),默认为 N

LOG 输出的日志文件

STATISTICS 在导出时执行ANALYZE语句 (Y 或 N) 默认为 Y

DIRECT direct path (N)

FEEDBACK 在导出时每个几行显示进度,默认为0

五、导出的对象

1、 全库模块

可以导出除sys用户拥有的所有数据库对象,包括:表空间的定义、配置文件、用户定义、角色、系统权限授权、角色授权、默认角色、resource costs、会滚段的定义、数据库链接、虚列、所有目录别名、所有外部函数库、所有对象类型、所有簇定义;对于每个表,还可导出表使用的对象类型定义、表定义、表数据、嵌套表数据、表索引、表约束、表授权、分析表、列和表注释、审核信息、所有引用的完整性约束、所有同义词、所有视图、所有存储过程、包、函数、所有触发器、分析簇、快照、job、all refresh groups and children

2、 用户模块

对象类型、数据库链路、序列、簇定义,对于每个表,还可导出表使用的对象类型定义、表定义、表数据、嵌套表数据、表索引、表约束、表授权、分析表、列和表注释、审核信息、属于当前用户的表所引用的完整性约束、同义词、视图、存储过程、包、函数、触发器、分析簇、快照、job、refresh groups

3、 表模式

可导出表使用的对象类型定义、表定义、表数据、嵌套表数据、表索引、表约束、表授权、分析表、列和表注释、审核信息、表引用的完整性约束、触发器,还可导出其他用户拥有的触发器、其他用户用户的索引

六、导入时的顺序

1、 字符集

2、 表定义

3、 表数据

4、 表索引

5、 完整性约束、触发器、bitmap索引

6、 视图、函数、过程

7、 包

七、高级应用

1、 当把数据加载到一张已存在的表中,必须使用参数IGNORE = Y

2、 如何在导出表时加入条件

Exp 用户名/密码@网络服务名 file=路径\文件名.dmp tables=(表名) query = \”条件\”

3、

八、全库导入时包含的系统对象

配置文件profiles

公共数据库链接

同义词

角色

会滚段的定义

system audit options

系统权限

表空间定义

tablespace quotas

用户定义

目录别名

九、导入工具imp可能出现的问题

1、数据库对象已经存在

一般情况, 导入数据前应该彻底删除目标数据下的表, 序列, 函数/过程,触发器等;数据库对象已经存在, 按缺省的imp参数, 则会导入失败;如果用了参数ignore=y, 会把exp文件内的数据内容导入;如果表有唯一关键字的约束条件, 不合条件将不被导入,如果表没有唯一关键字的约束条件, 将引起记录重复

2、 数据库对象有主外键约束
 这发生在将几个包含表的DMP文件分别导入数据库时,不符合主外键约束, 数据便会导入失败;解决办法: 先导入主表, 再导入依存表;disable目标导入对象的主外键约束, 导入数据后, 再enable它们
3、 权限不够          
如果要把A用户的数据导入B用户下, 做导入操作的用户需要有imp_full_database权限
4、 导入大表( 大于80M ) 时, 存储分配失败
默认的EXP时, compress = Y, 也就是把所有的数据压缩在一个数据块上,导入时, 如果不存在连续一个大数据块, 则会导入失败,导出80M以上的大表时, 记得compress= N, 则不会引起这种错误.
5、 imp和exp使用的字符集不同
如果字符集不同, 导入会失败, 可以改变unix环境变量或者NT注册表里NLS_LANG相关信息,导入完成后再改回来.
6、 imp和exp版本不能往上兼容

imp可以成功导入低版本exp生成的文件, 不能导入高版本exp生成的文件

十、 从一个账户导出,另一个账户导入

导出表模式示例:

1 从dbo_pwcdb 账号导出 PRNBSN_CONTENTTEMPLATE,PRNBSN_RELINFOCONTENT 两个表,不带数据

exp dbo_pwcdb/dbo_pwcdb@BSY2-NQQX-IP50 file=d:\daochu_noData.dmp tables=

(PRNBSN_CONTENTTEMPLATE,PRNBSN_RELINFOCONTENT) rows=n;

2  导入 dbo_smydb 账户

imp dbo_smydb/dbo_smydb@BSY2-SMY-IP11 full=y file=d:\daochu_noData.dmp  touser=dbo_smydb ignore=y;

十一、 借助PL/SQL  Developer 工具 导出导入 触发器,存储过程,序列,索引等对象。

1   A账户登录PL/SQL Developer 工具,在菜单中选择 工具--->导出用户对象

2 以导出存储过程为示例,选择如下图:

在procedure 对象中,选择需要导出的存储过程对象,设置输出文件名字,点击导出。

3 如果在需要导入的oracle库中,是同一个名字的账户,可以直接新建一个命令窗口,然后复制刚才导出fun_proc.sql的内容,粘贴到 命令窗口中,就自动执行了;相当于通过sql脚本进行导入;

如果需要导入的oracle库中,是另外一个名字的账户,比如B账户。那么需要打开fun_proc.sql 文件,查找所有A账户名全部替换为B账户,然后再用B账户登录PL/SQL Developer 工具,新建命令窗口,粘贴文件内容,执行。

注意:生成的存储过程名字会如下形式 Create procedure   账户A.存储过程名    所以需要替换为 Create procedure   账户B.存储过程名. 打开看下就明白了。

其他对象的导入参照存储过程对象导入方式。

Oracle exp,imp,expdp,impdp数据导入导出的更多相关文章

  1. expdp impdp 数据库导入导出命令详解

    一.创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建.create directory dpdata1 as 'd:\test\dump'; 二.查看管理理员目录(同时 ...

  2. expdp impdp 数据库导入导出命令具体解释

    一.创建逻辑文件夹,该命令不会在操作系统创建真正的文件夹.最好以system等管理员创建. create directory dpdata1 as 'd:\test\dump'; 二.查看管理理员文件 ...

  3. Oracle数据库的创建、数据导入导出

    如何结合Sql脚本和PL/SQL Developer工具来实现创建表空间.创建数据库.备份数据库.还原数据库等操作,然后实现Oracle对象创建.导入数据等操作,方便我们快速了解.创建所需要的部署Sq ...

  4. Oracle exp和expdp对数据进行备份

    以下给出两个示例,详细内容需要查阅手册: exp system OWNER=ZLTX FILE=ZLTX20190123.DMP expdp system DUMPFILE=ZLTX20190123. ...

  5. Oracle exp/imp数据导入导出工具基本用法

    一.获取帮助 exp/imp help=y 二.数据导出 1.将数据库完全导出,设置full选项exp system/manager@orcl file=d:\db.dmp full=y 2.导出数据 ...

  6. Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令

    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利 ...

  7. Oracle数据导入导出imp/exp

    功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失). Oracle有个好处,虽然你的电 ...

  8. Oracle数据导入导出imp/exp sp2-0734:未知的命令开头'imp...解决方法

    Oracle数据导入导出imp/exp sp2-0734:未知的命令开头'imp...解决方法   sp2-0734:未知的命令开头'imp 忽略了剩余行默认分类   www.2cto.com  应该 ...

  9. Oracle数据导入导出imp/exp命令总结

    racle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利用 ...

随机推荐

  1. 如何让Oracle数据库保持优良性能的方法

    OracleDatabase,又名OracleRDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品.可以说Oracle数据库系统是目前世界上流行 ...

  2. Arduino-舵机控制Servo

    以前没有接触过硬件,因为把弄APM2.5不得不去接触arduino板.Arduino是块极易上手的控板,不像单片机,你要花费大量的时间去学习预备知识,它只要你稍微懂点C语言既能上手.对于我这种业余爱好 ...

  3. 的NodeJS异步数据库函数需要同步的答案 +

    我是新来的NodeJS和我写,需要从我去过的所有的函数应该是在这种情况下,读QUERY我的MySQL数据库,并返回代码,我非常希望服务器能够对其他事件作出回应而这个地方是轨迹查询请求.然而,它并不特别 ...

  4. python 将表格多个列数据放到同一个单元格中

      表格模板: 目的将卡片1到卡片5的所有数据组合起来到一个单元格中如下入F列中(工作中为了避免手动复制粘贴),其余不变,因为数据太多 自己一个一个复制工作效率太低,所以写这个脚本是为了方便自己有需要 ...

  5. 某寺庙,有小和尚、老和尚若干。有一水缸,由小和尚用水桶从井中提水入缸,老和尚用水桶从缸里取水饮用。水缸可容10桶水,水取自同一井中。水井径窄,每次只能容一个水桶取水。水桶总数为3个。每次入、取缸水仅为1桶,且不可以同时进行。试用P、V操作给出小和尚、老和尚动作的算法描述。

    寺庙和尚打水 设信号量mutex_gang, mutex_jing, gang_empty, gang_full, count分别表示使用缸互斥, 使用井互斥, 缸空, 缸满, 水桶总个数 semap ...

  6. css隐藏元素的六类13种方法

    隐藏元素的方法 隐藏元素的方法可以总结为六类:直接隐藏.对溢出内容隐藏.对元素透明度进行调整.将元素移除当前屏幕.对元素的层级关系进行调整.对元素进行裁剪 只有对元素的透明度进行调整才可以点击,其余都 ...

  7. mysql数值函数

    abs(x) -- 绝对值 abs(-10.9) = 10 format(x, d) -- 格式化千分位数值 format(1234567.456, 2) = 1,234,567.46 ceil(x) ...

  8. iOS 蓝牙(GameKit CoreBluetooth)

    利用GameKit框架实现ios设备的蓝牙通讯,导入框架:#import <GameKit/GameKit.h>  , 注意: 此框架只能用于ios设置间蓝牙通讯 如今苹果开放了接口来实现 ...

  9. jquery 筛选元素(1)

    .eq() 减少匹配元素的集合为指定的索引的那一个元素. .eq(index) index一个整数,指示元素的位置,以0为基数. $("li").eq(2).css('backgr ...

  10. tp3.2 excel导出

    //导出操作 function exportExcel($expTitle,$expCellName,$expTableData,$names,$width){ $xlsTitle = iconv(' ...