exp/imp 多用户导入导出
创建用户
创建三个用户test1,test2,test3及表table1,table2,table3
SQL> create user test1 identified by test1 default tablespace users; User created. SQL> grant connect,resource to test1; Grant succeeded. SQL> create table test1.table1 as select * from dba_objects; Table created. SQL> select count(1) from test1.table1; COUNT(1)
----------
87459
create user test2 identified by test2 default tablespace users;
grant connect,resource to test2;
create table test2.table2 as select * from dba_objects; create user test3 identified by test3 default tablespace users;
grant connect,resource to test3;
create table test3.table3 as select * from dba_objects;
导出数据
$ exp system/oracle file=test.dmp owner=test1,test2,test3
...
About to export specified users ...
. exporting pre-schema procedural objects and actions
. exporting foreign function library names for user TEST1
. exporting foreign function library names for user TEST2
. exporting foreign function library names for user TEST3
...
Export terminated successfully without warnings.
清理数据
drop table test1.table1 purge;
drop table test2.table2 purge;
drop table test3.table3 purge;
导入数据
1.乱序导入
$ imp system/oracle fromuser=test1,test2,test3 touser=test3,test1,test2 file=test.dmp
...
. importing TEST1's objects into TEST3
. importing TEST2's objects into TEST1
. importing TEST3's objects into TEST2
...
Import terminated successfully without warnings.
$ sqlplus / as sysdba
SQL> select count(1) from test1.table2; COUNT(1)
----------
87461 SQL> select count(1) from test2.table3; COUNT(1)
----------
87461 SQL> select count(1) from test3.table1; COUNT(1)
----------
87461
总结:导入的时候不会主动识别用户名进行匹配,而是根据fromuser和touser的排列按顺序匹配进行导入。
2.fromuser<touser
清理数据:
drop table test1.table2 purge;
drop table test2.table3 purge;
drop table test3.table1 purge;
导入:
$ imp system/oracle fromuser=test1,test2 touser=test1,test2,test3 file=test.dmp
...
. importing TEST1's objects into TEST1
. importing TEST2's objects into TEST2
...
Import terminated successfully without warnings.
验证:
SQL> select owner,table_name from dba_tables where owner in ('TEST1','TEST2','TEST3'); OWNER TABLE_NAME
---------- ------------------------------
TEST2 TABLE2
TEST1 TABLE1
总结:当fromuser<touser时,仍然按顺序匹配将fromuser下的对象导入到touser。多出的touser不作处理,不导入任何数据。
3.fromuser>touser
清理数据:
drop table test1.table1 purge;
drop table test2.table2 purge; 导入:
$ imp system/oracle fromuser=test1,test2,test3 touser=test1,test2 file=test.dmp
...
. importing TEST1's objects into TEST1
. importing TEST2's objects into TEST2
. importing TEST3's objects into TEST3
...
Import terminated successfully without warnings. 验证:
SQL> select owner,table_name from dba_tables where owner in ('TEST1','TEST2','TEST3'); OWNER TABLE_NAME
---------- ------------------------------
TEST1 TABLE1
TEST2 TABLE2
TEST3 TABLE3
总结:fromuser>touser时,多出的用户会在数据库中找到对应相同账户并导入数据。(相同账户在目标数据库中存在的情况下)
当账户在目标库中不存在时,会报错,并忽略掉对该用户的导入:
SQL> drop user test3 cascade; User dropped. $ imp system/oracle fromuser=test1,test2,test3 touser=test1,test2 file=test.dmp ...
. importing TEST1's objects into TEST1
. importing TEST2's objects into TEST2
. importing TEST3's objects into TEST3
IMP-00003: ORACLE error 1435 encountered
ORA-01435: user does not exist
....
Import terminated successfully with warnings.
SQL> select owner,table_name from dba_tables where owner in ('TEST1','TEST2','TEST3');
OWNER TABLE_NAME
---------- ------------------------------
TEST1 TABLE1
TEST2 TABLE2
exp/imp 多用户导入导出的更多相关文章
- Oracle exp/imp数据导入导出工具基本用法
一.获取帮助 exp/imp help=y 二.数据导出 1.将数据库完全导出,设置full选项exp system/manager@orcl file=d:\db.dmp full=y 2.导出数据 ...
- exp/imp 数据库数据导出/导入
一.exp数据导出 1.导出全部数据 exp 用户名/密码@服务名 file=文件存储路径/xxx.dmp log=日志存储路径/xxx.log full=y 例: [oracle@dbservice ...
- 用exp、dmp导入导出用户到同一个实例下时,类型type会有问题
oralce的type都有唯一id,在同一个实例下,通过导入导出方法创建type时,会有唯一性问题 最好的解决方法使用impdb,expdb的方式导入导出 用oid=n解决. 实在不行,可用稍微麻烦的 ...
- [terry笔记]Oracle数据泵-schema导入导出
数据泵是10g推出的功能,个人倒数据比较喜欢用数据泵. 其导入的时候利用remap参数很方便转换表空间以及schema,并且可以忽略服务端与客户端字符集问题(exp/imp需要排查字符集). 数据泵也 ...
- oracle数据库数据导入导出步骤(入门)
oracle数据库数据导入导出步骤(入门) 说明: 1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL 2.如果熟悉命令,建议用exp/imp ...
- Oracle数据库导入导出 imp/exp备份还原
Oracle数据导入导出imp/exp Oracle数据导入导出imp/exp 在cmd的dos命令提示符下执行,而不是在sqlplus里面,但是格式一定要类似于: imp/exp 用户名/密 ...
- linux 下使用exp/imp 或者expdp/impdp导出导入oracle数据表数据
一.环境配置 1.执行环境: exp/imp可以在客户端执行也可以在服务器端执行,在客户端执行需要先安装有oracle的客户端,如果是linux系统,就是以oracle用户登录,在控制台下执行.建议在 ...
- EXP/IMP 导出生产库表的指定数据到测试库一例
一般来讲,EXP/IMP是上一代导出导入程序,EXPDP/IMPDP是新一代的导出导入程序.对于大数据量的导出导入首选EXPDP/IMPDP,可以用到并行度,对表空间等操作上也更加的灵活.对于小数据量 ...
- Oracle 【IT实验室】数据库备份与恢复之一:exp/imp(导出与导入&装库与卸库)
1.1 基本命令 1. 获取帮助 $ exp help=y $ imp help=y 2. 三种工作方式 (1)交互式方式 $ exp // 然后按提示输入所需要的参数 ...
随机推荐
- 使用JSON JavaScriptSerializer进行反序列化和序列化时报错,字符的长度超出了MaxJsonLength的长度
文章参考:https://www.cnblogs.com/wangfuyou/p/6046307.html 1.解决办法是在web.config增加如下节点到<configuration> ...
- 【转】Nginx SSL_PROTOCOL_ERROR 问题
转自:https://maoxian.de/2017/12/1471.html 这两天在检查一台 Nginx 配置的时候,遇到了一个极端诡异的问题.一段很通用的配置,配在这个服务器上,就会 100% ...
- CommonJS,AMD,RequireJS的区别
RequireJS实现了AMD的API. CommonJS是使用exports对象来定义模块的一种方法,它定义了模块的内容.简单地实现一个CommonJS的定义就像下面这样: // someModul ...
- bzoj 1415: [Noi2005]聪聪和可可
直接上记忆化搜索 #include<queue> #include<cstdio> #include<algorithm> using namespace std; ...
- hdu_1015(dfs)
题意:根据给出的计算公式,给一个n和一个字符集,问能不能在字符串集中找到不重复的五个字符,让其计算结果等于给定的n,如果有多个解输出字典序最大的一个 题解:dfs直接上代码了 code: #inclu ...
- 【笔记】移动端H5数字键盘input type=number的处理(IOS和Android)
在Vue中的项目,基于VUX-UI开发,一个常见的需求: 1.金额输入框 2.弹出数字键盘 3.仅支持输入两位小数,限制最大11位数,不允许0开头 后续:与UI沟通后, 思路调整为限制输入,并减少正则 ...
- WEB 小案例 -- 网上书城(一)
距离上次写博客有两周了吧,最多的原因就是自己期末考试了,上课没听就只能在期末狠狠的复习了,毕竟已经挂科了.当然还是因为自己懒吧!!!废话不多说开始我们今天的正题,网上书城! 一. 新建数据表(MySQ ...
- MLlib--决策树
转载请标明出处http://www.cnblogs.com/haozhengfei/p/d65ab6ccff684db729f44a947ac9e7da.html 决策树 1.什么是决策树 决策 ...
- Linux 中出现的-bash: syntax error near unexpected token `
版权声明:本文为博主原创文章,未经博主允许不得转载. 在Linux 5中导入数据时,出现下面的错误. -bash: syntax error near unexpected token `(' 检查了 ...
- 无格式转换php
// 无格式转换function ClearHtml($content,$allowtags='') { mb_regex_encoding('UTF-8'); //replace MS specia ...