1、exp导出的参数(FULL,OWNER)测试

先知道的一点是full不能与owner共存,还有都是以用户的方式导出(在这里),其中不仅仅包括表,这可能就是下面报warnings的原因,因为Oracle系统库里边有动态的表或其它动态对象。

【A】首先是DBA(system)用户连接数据库

1)都不指            -> 仅仅导出system模式。(报了点warnings)
2)owner=test -> 仅仅导出owner指定的模式(test)。
3)full=y -> 全库导出,需注意!!!,因为有DBA权限。(也报了点warnings..)

【B】然后是普通用户(test)连接数据库

1)都不指          -> 仅仅导出test模式。
2)owner=test -> 仅仅导出owner指定的模式(test),如果换成非己模式需要有访问的权限(可能不一定是DBA,待测试)。
3)full=y -> 会提示没有dba权限,然后询问如下的问题(默认>我选的):
(2)U(sers), or (3)T(ables): (2)U > 2
Export grants (yes/no): yes > yes
Export table data (yes/no): yes > no
Compress extents (yes/no): yes > no
最后也仅仅导出了test,因为这里test用户只有访问test模式的权限,(也报了点warnings,但这里报的是无DBA权限)
如果有访问其他schema的权限的话估计也会导出其他模式(待测试),
如果有dba权限的话会导出全库(已测试,如【C】)。

【C】再来是普通用户(test1)拥有DBA权限连接数据库

1)都不指          -> 仅仅导出test1模式。
2)owner=test -> 仅仅导出owner指定的模式(test),看好了这里是test不是test1,与【B】上面的一起看就明白。
3)full=y -> 全库导出,需注意!!!,因为有DBA权限。(也报了点warnings..)

【D】最后,exp总结

其实不难发现都是权限搞的怪,如果test有dba权限,那就跟system没啥区别,记住下边的即可:
1)都不指,导出自己。
2)owner,导出owner所指,需有权限访问所指,否则报错退出。
3)full=y,导出全库,需有DBA权限,否则只会导出自己及所能访问的模式

2、imp导入的参数(FULL,OWNER变成了FROMUSER/TOUSER)测试

这里full也不能与fromuser/touser共存,只能选一个。

【A】首先是DBA(system)用户连接数据库

1)都不指                 -> 不管dmp文件是单个用户还是多个用户都会提示Must specify FULL=Y or provide FROMUSER/TOUSER or TABLES arguments。

2)FROMUSER/TOUSER
a)单独指定FROMUSER -> 以模式(用户)的形式导入。
b)两个都指定 -> 会按顺序匹配用户以非用户(怼内容)的方式导入,FROMUSER匹配不到TOUSER的则以模式(用户)形式导入;所以如果需要把内容都导入system,FROMUSER有几个模式,TOUSER就得写几个system。
c)单独指定TOUSER -> 又会提示Must specify FULL=Y or provide F....。 3)full=y -> 如果dmp文件只有一个用户,所有东西导入到system用户;多个用户则以模式(用户)的形式导入,并非把所有东西导入到system,这里要特别注意!!!

注意的地方:
以用户的方式导入如果某个用户已经存在则使用已存在的用户,某个表已经存在就跳过(不匹配数据,就是说如果表存在但没有数据时,直接跳过不会插入数据)。

【B】然后是普通用户(test)连接数据库

1)都不指                 -> 报warning,不仅仅是Must...这个错误,反正就记住这样导入是不行的就行了。

2)FROMUSER/TOUSER
a)单独指定FROMUSER -> 报没权限错误,因为是按用户导入的。
b)两个都指定 -> 跟上边一样按顺序匹配用户,但是如果dmp文件是以DBA用户导出的,你怎么导入都是不行的,因为你不配,哈哈哈。
c)单独指定TOUSER -> 报错,非权限错误,即使dmp文件不是DBA用户导出的也会报错。 3)full=y -> 跟上边一样,如果dmp文件只有一个用户要注意了,会以内容的方式导入,说第二遍了(还有如果dmp文件是以DBA用户导出的,你怎么导入都是不行的)。

【C】最后,imp总结

 看【A】就好,认真看,不然删表累死你。
建议少用full=y,多用FROMUSER/TOUSER,因为你不知道dmp文件有几个用户,应该有命令查看的,有空查下资料。
而且如果用full=y有些没必要导入的用户也导入就不好了,全库迁移除外。
所以imp导入就都指定FROMUSER/TOUSER就行。

Oracle中exp导出与imp导入的参数(full,owner/formuser/touser)测试的更多相关文章

  1. Oracle中如何导出存储过程、函数、包和触发器的定义语句?如何导出表的结构?如何导出索引的创建语句?

    Oracle中如何导出存储过程.函数.包和触发器的定义语句?如何导出表的结构?如何导出索引的创建语句? QQ群里有人问:如何导出一个用户下的存储过程?   麦苗答:方法有多种,可以使用DBMS_MET ...

  2. oracle中使用impdp数据泵导入数据提示“ORA-31684:对象类型已经存在”错误的解决

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/47448751 本文出自[我是干勾鱼的博客] oracle中使用impdp数据泵导 ...

  3. Oracle中exp,imp(导入导出)数据迁移注意事项

    这几天做开发库schema备份,出现些问题,记录一下.一,exp时,os语言环境和数据库不同时会自动发生转换.   如果操作系统的字符集小于数据库字符集,就可能出现乱码现象.imp时,同理,也是有可能 ...

  4. ORACLE中查询语句的执行顺及where部分条件执行顺序测试

    Oracle中的一些查询语句及其执行顺序 原文地址:https://www.cnblogs.com/likeju/p/5039115.html 查询条件: 1)LIKE:模糊查询,需要借助两个通配符, ...

  5. oracle中exp,imp的使用详解

    http://www.cnblogs.com/yugen/archive/2010/07/25/1784763.html

  6. oracle数据库cmd导出数据和导入数据

    一:前言 每次我自己来导出oracle数据的数据进行备份的时候都是要看一遍记载的语句,还别说自己敲多了,也熟练了,但是还是不是很放心,所以就记载下来吧. 二:内容 (1).最简单,最直接的导入方式(这 ...

  7. ORACLE 11G EXP导出空表方法

    EXP在导出11G的库的时候,与过去10G,9I的版本有很大的差别. 就是没有数据的表是不会分配空间的. 从Oracle 11.2.0.1版本开始,Oracle又提供了一种新的空间分配方法: Crea ...

  8. Oracle:exp导出exp-00091问题

    今天导出一数据库数据,发现EXP-00091问题: 连接到: Oracle Database 10g Enterprise Edition Release - Production With the ...

  9. oracle用exp导出dmp文件时发现空表没有导出来

    问题: 今天,从同事电脑考oracle11g中dmp文件,在自己电脑导入,发现少了很多表,而且少的这些表都是空表. 原因: oracle11g 默认的deferred_segment_creation ...

随机推荐

  1. mac os app 开发

    macOS 新手开发:第 1 部分 macOS 新手开发:第 2 部分 macOS 新手开发:第 3 部分

  2. 安装酷痞到IIS7.x共用80端口Windows(64位)系统下运行多个酷痞

    需求: 1.酷痞直接运行的模式是自宿主运行.由于win系统一般都由iis提供多个网站服务,并首先占用了80端口,如果想酷痞可以直接通过主机头和iis共用80端口会出现这种运行模式的需求. 以下是实现方 ...

  3. day16匿名函数

    匿名函数,好像也就是 lambda 表达式 先来看一段函数,返回 def func(n): return n * 3 print(func(5))15 用lambda表达式写: func = lamb ...

  4. ajax的xmlHttpRequest异步请求和Springmvc的sendRedirect失效问题

    参考: Ext 提交表单用的异步提交Ajax.Ajax在发送请求时后台返回的数据(json或者html页面)在其回调函数中处理.  你这个相当于后台把Center_right.jsp页面已经返回给前台 ...

  5. C# 堆栈(Stack)和队列(Queue)

    一.什么是堆?(Heap)      堆是无序的,是一片不连续的内存域,由用户自己来控制和释放,如果用户自己不释放的话,当内存达到一定的特定值时,通过垃圾回收器(GC)来回收.      是程序运行期 ...

  6. webpack打包后访问不到json文件

    一.问题描述 在vue中,前端写ajax假数据,用axios将json数据渲染到组件中,开发期间一切正常,webpack打包压缩后,json文件的路径错误,页面访问不到数据,导致渲染失败. 二.预期结 ...

  7. 跑的飞快的dinic

    orz kczno1 目前还是不知道怎么卡,也不会证明复杂度是正确的 其实我感觉卡不了

  8. 我的 FPGA 学习历程(05)—— 使用 Modelsim 仿真工具

    在第 3 篇中讲到了如何使用图形进行仿真激励输入,图形输入法尽管简单易学,但如若要求复杂的仿真输入激励.较长的仿真时间或是要求打印输出信息乃至输出文件日志则显得不够用了. 本篇以上一篇的 3-8 译码 ...

  9. 清除电脑缓存的bat文件

    电脑在使用了之后,会产生垃圾缓存,若不及时清理会降低电脑的运行速度. 1.步骤: 2.新建一个记事本文件,命名“系统清理”;(或其他名字) 3.原封不动复制下面的文字到该记事本中 @echo off ...

  10. 使用javascript和css模拟帧动画的几种方法浅析

    我们平时在开发前端页面的时候,经常会播放一段帧序列.这段帧序列就像gif图片那样,反复循环播放.那大家可能会说,直接用gif图片就好了,干嘛还去模拟呢?那是因为要做得更加灵活,我们要做到以下几点: 1 ...