oracel 导入导出
一、导出模式(三种模式)及命令格式
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.存储过程名. 打开看下就明白了。
其他对象的导入参照存储过程对象导入方式。
参考:http://www.cnblogs.com/iampkm/archive/2013/02/27/2934927.html
oracel 导入导出的更多相关文章
- Oracle 导入导出--and一些知识,备忘
这两天在做迁移Ora数据库,有一个圆友帮忙,哈哈,两个臭皮匠顶半个诸葛亮. 本来以为很简单的就imp和exp就欧了,结果各种状况百出,百度了老多,学到好多东西. 你的导出:exp yc/yc@orcl ...
- CRL快速开发框架系列教程九(导入/导出数据)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- ITTC数据挖掘平台介绍(五) 数据导入导出向导和报告生成
一. 前言 经过了一个多月的努力,软件系统又添加了不少新功能.这些功能包括非常实用的数据导入导出,对触摸进行优化的画布和画笔工具,以及对一些智能分析的报告生成模块等.进一步加强了平台系统级的功能. 马 ...
- ASP.NET Core 导入导出Excel xlsx 文件
ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...
- Oracle 数据库导入导出 dmp文件
转自: http://hi.baidu.com/ooofcu/blog/item/ec5d1f9580d41f007af48077.html 首先询问对方数据库的表空间名称和大小,然后在你的oracl ...
- Oracle导入导出
Oracle 10g 已经引入了数据泵(点击Data Dump)技术,这项技术和之前的exp/imp有哪些好处呢,简单的来说就是恢复和备份速度非常快: 在说明数据泵的使用方法之前,我们先来了解二者的区 ...
- csv表格处理(上)-- JS 与 PHP 协作导入导出
CSV简介 在开发后台管理系统的时候,几乎无可避免的会遇到需要导入导出Excel表格的需求.csv也是表格的一种,其中文名为“逗号分隔符文件”.在Excel中打开如下图左边所示,在记事本打开如下图右边 ...
- PHP导入导出excel表格图片(转)
写excel的时候,我用过pear的库,也用过pack压包的头,同样那些利用smarty等作的简单替换xml的也用过,csv的就更不用谈了.呵呵.(COM方式不讲了,这种可读的太多了,我也写过利用wp ...
- excel的导入导出的实现
1.创建Book类,并编写set方法和get方法 package com.bean; public class Book { private int id; private String name; ...
随机推荐
- 函数lock_rec_add_to_queue
在原来的type_mode基础上,加上LOCK_REC /*********************************************************************// ...
- laravel重要概念和知识点
Service Provider: 一个laravel service provider就是一个注册IoC container binding的类.实际上,laravel本身就自包含了一堆管理核心框架 ...
- duilib库分析: 消息流程分析
转 看下CWindowWnd类与CPaintManagerUI类是咋进行消息分发的吧. 1. 先看下CPaintManagerUI类的MessageLoop函数: void CPaintManag ...
- 总结swift 1.2适配swift2.0遇到的改变
swift1.2适配swift2.0 以下列举的是我在项目中遇到的需要修改的,基本常见的问题就没有罗列了. 1.find函数变成了为indexOf 2.sort变成了sortInPlace 3.sor ...
- BZOJ 4269 再见Xor
线性基. 求次大值就是再异或一个线性基好了. #include<iostream> #include<cstdio> #include<cstring> #defi ...
- iOS 9的新内容
https://www.hackingwithswift.com/ios9 Search extensibility Update: I wrote a tutorial on Core Spotli ...
- 07day1
怒跪了. 砍树 排序 [问题描述] 小 A 在一条水平的马路上种了 n 棵树,过了几年树都长得很高大了,每棵树都可以看作是一条长度为 a[i]的竖线段.由于有的树过于高大,挡住了其他的树,使得另一 ...
- ecshop init.php文件分析(转)
<?php /** * ECSHOP 前台公用文件 */ //防止非法调用 defined-判断常量是否已定义,如果没返回false if (!defined('IN_ECS')) { die( ...
- Dataguard后台进程解析
Log Transport Service 主节点上,日志传输服务主要使用如下几个进程: 1.LGWR LGWR搜集事务日志,并且更新联机日志.在同步模式下,LGWR直接将redo信息直接 ...
- ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)
不论是单实例还是RAC,对于非缺省端口下(1521)的监听器,pmon进程不会将service/instance注册到监听器,即不会实现动态注册.与单实例相同,RAC非缺省端口的监听器也是通过设置参数 ...