Oracle小技巧_不同表空间不同用户导入导出数据dmp
转载来源ITPUB 博客
经常有人会问:原来的数据在USERS表空间里面,我想把它IMP进APP表空间,我已经修改了目的用户的默认表空间,为什么结果还是IMP到USERS表空间中了呢。
关于此问题,作如下解释:
Oracle并没有提供什么参数来指定要导入哪个表空间,数据默认将导入到原本导出时数据所在的表空间中,但是我们可以通过以下的方法来实现导入到不同的表空间。
下面是网络上搜集的3个方法:
1.在IMP时候使用INDEXFILE参数
当给此参数指定了某一文件名,IMP的时候所有的index将不会直接导入到表空间中,而是在指定的文件中生成创建index的脚本。
然后用文本编辑器打开此文件,直接编辑脚本中的storage参数,修改为想要导入的表空间名称。
然后重新执行IMP,使用INDEXS=n参数将除Index之外的Objects导入。
最后进入SQL*PLUS,直接运行刚才编辑的脚本,生成索引。
该方法适用于将index以及constraints导入指定的表空间。
2.改变目的用户的默认表空间
这就是上面说的经常有人提问的方法。但是上述的问题之所以没有成功,是因为缺少了下面的几步。
首先,收回目的用户的"UNLIMITED TABLESPACE"权限:
revoke unlimited tablespace from username;
其次,取消目的用户在原数据导出表空间中的配额,这样才能迫使IMP把数据导入到用户的默认表空间中去。
然后,将希望导入的表空间设为目的用户的默认表空间,并添加配额。
最后,执行IMP。
TOAD是强大的Oracle数据库管理软件,是Quest出品的第三方软件,我们可以使用其中的Rebuild Multi Objects工具来实现将多个Object转移到指定的表空间。
于是我们可以不管三七二十一,先IMP,然后再用TOAD作事后的修改。
关于TOAD的使用,此处不作详细解释。
create user orange identified by 12345678;
grant resource,connect,dba to orange;
revoke unlimited tablespace from orange;
alter user orange default tablespace newtablespaces temporary tablespace newtablespacestemp; -- 设置默认表空间为新建的表空间
alter user orange quota unlimited on newtablespaces ; -- 设置对默认表空间/新表空间配合为无限制配额
步骤2:导出原表空和原用户的数据表结构(不含数据)。
// 这是CMD命令
// rows=n 表示不导出数据
exp apple/pwd@dblink file=E:\dbtable.dmp rows=n // 导入数据表,更换表的所属用户
// tablespaces=newtablespaces 参数一定要加
imp orange/pwd@dblink file=E:\dbtable.dmp fromuser=apple touser=orange ignore=y tablespaces=newtablespaces
步骤3:导出原来的全部数据,导入到已经建好的表结构中。
// 导出原表空间和原用户的数据库表及数据
exp apple/pwd@dblink file=E:\dbtabledata.dmp // 导入数据到新用户和表空间中
// tablespaces=newtablespaces 参数一定要加
imp orange/pwd@dblink file=E:\dbtabledata.dmp fromuser=apple touser=orange ignore=y tablespaces=newtablespaces
注意:
1.导入时如果不加参数 tablespace=XXX,总是报错:ORA-01950:对表空间无权限。
2. 对临时表空间不能执行配额操作,对永久表空间可以。
Oracle小技巧_不同表空间不同用户导入导出数据dmp的更多相关文章
- 【转】Oracle - 数据库的实例、表空间、用户、表之间关系
[转]Oracle - 数据库的实例.表空间.用户.表之间关系 完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机 ...
- Oracle 数据库、实例、表空间、用户、数据库对象
Oracle是一种数据库管理系统,是一种关系型的数据库管理系统.通常情况了我们称的“数据库”,包含了物理数据.数据库管理系统.内存.操作系统进程的组合体,就是指这里所说的数据库管理系统. 完整的Ora ...
- Oracle - 数据库的实例、表空间、用户、表之间关系
完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Ora ...
- [转]Oracle - 数据库的实例、表空间、用户、表之间关系
本文转自:http://www.cnblogs.com/adforce/p/3312252.html 完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物 ...
- Oracle 11g安装,新建表空间和用户
windows版: 官网下载,两个压缩包,总共2G,解压到同一个文件夹下,setup.exe双击执行,首次安装的话,一直下一步就可以了,最后一步可能时间比较长,等着就好了,一般性能的机器大概要半小时左 ...
- ORACLE导入导出数据dmp
imp testwms3/isc@TESTGMMC FILE=C:\ZKGL_201407012334.dmp ignore=y fromuser=GMMCZKGL touser=testwms ta ...
- Hive表的建立和导入导出数据
Hive是Hadoop的常用工具之一,Hive查询语言(HiveQL)的语法和SQL类似,基本实现了SQL-92标准. 1. 表的建立 编写以下的文件: USE test; DROP TABLE IF ...
- 转 Oracle Transportable TableSpace(TTS) 传输表空间 说明
############1 迁移数据库的集中方法 三.相关技术 迁移方式 优势 不足1 Export and import • 对数据库版本,以及系统平台没有要求 • 不支持并发,速度慢• 停机时 ...
- Oracle学习笔记—数据库,实例,表空间,用户、表之间的关系
之前一直使用的关系型数据库是Mysql,而新公司使用Oracle,所以最近从网上搜集了一些资料,整理到这里,如果有不对的地方,欢迎大家讨论. 基本概念: 数据库:Oracle 数据库是数据的物理存储. ...
随机推荐
- 洛谷P1967 货车运输
题目描述 \(A\)国有\(n\)座城市,编号从\(1\)到\(n\),城市之间有\(m\)条双向道路.每一条道路对车辆都有重量限制,简称限重.现在有\(q\)辆货车在运输货物, 司机们想知道每辆车在 ...
- PAT甲级——1099 Build A Binary Search Tree (二叉搜索树)
本文同步发布在CSDN:https://blog.csdn.net/weixin_44385565/article/details/90701125 1099 Build A Binary Searc ...
- Subversion Server Edge用户权限设置简介
Subversion Server Edge用户权限可分为两种,一种为按用户权限,一种为按组权限设置 1.按用户设置权限 [codeLibrary:/] //对整个代码库 *=r //所有用户 ...
- JavaScript 给表格排序
(function(){ var mTable=document.getElementById('table'); var sort=function(el,index,desc){ var mTbo ...
- HDU 4622 Reincarnation Hash解法详解
今天想学字符串hash是怎么弄的.就看到了这题模板题 http://acm.hdu.edu.cn/showproblem.php?pid=4622 刚开始当然不懂啦,然后就上网搜解法.很多都是什么后缀 ...
- HDU 5775 L - Bubble Sort 树状数组
给定一段冒泡排序的代码,要求输出每个数字能到达的最右边的位置和最左边的位置的差 因为那段冒泡排序的代码是每次选取一个最小的数,放在左边的,所以,每个数最多能到达右边的位置应该是起始位置i+右边有多少个 ...
- jQuery jQuery on()方法
jQuery on()方法是官方推荐的绑定事件的一个方法. $(selector).on(event,childSelector,data,function,map) 由此扩展开来的几个以前常见的方法 ...
- Comparing Two High-Performance I/O Design Patterns--reference
by Alexander Libman with Vladimir GilbourdNovember 25, 2005 Summary This article investigates and co ...
- java Smaphore 控制并发线程数
概念: Semaphore(信号量)是用来控制同事访问特定资源的线程数量,它通过协调各个线程,已保证合理的使用公共资源. 应用场景: Semaphore 可以用于做流量控制,特别是共用资源有限的应用场 ...
- POJ 1797 ——Heavy Transportation——————【最短路、Dijkstra、最短边最大化】
Heavy Transportation Time Limit:3000MS Memory Limit:30000KB 64bit IO Format:%I64d & %I64 ...