【博主注:数据库方面 ITPUB网站及博客内容非常丰富】
 

转载来源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。

 
3。使用TOAD
TOAD是强大的Oracle数据库管理软件,是Quest出品的第三方软件,我们可以使用其中的Rebuild Multi Objects工具来实现将多个Object转移到指定的表空间。
于是我们可以不管三七二十一,先IMP,然后再用TOAD作事后的修改。
关于TOAD的使用,此处不作详细解释。
 

楼主成功方法,基本是方法2,但略有不同。
 
步骤1:新建表空间和临时表空间(略),新建用户。
 
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的更多相关文章

  1. 【转】Oracle - 数据库的实例、表空间、用户、表之间关系

    [转]Oracle - 数据库的实例.表空间.用户.表之间关系 完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机 ...

  2. Oracle 数据库、实例、表空间、用户、数据库对象

    Oracle是一种数据库管理系统,是一种关系型的数据库管理系统.通常情况了我们称的“数据库”,包含了物理数据.数据库管理系统.内存.操作系统进程的组合体,就是指这里所说的数据库管理系统. 完整的Ora ...

  3. Oracle - 数据库的实例、表空间、用户、表之间关系

    完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Ora ...

  4. [转]Oracle - 数据库的实例、表空间、用户、表之间关系

    本文转自:http://www.cnblogs.com/adforce/p/3312252.html 完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物 ...

  5. Oracle 11g安装,新建表空间和用户

    windows版: 官网下载,两个压缩包,总共2G,解压到同一个文件夹下,setup.exe双击执行,首次安装的话,一直下一步就可以了,最后一步可能时间比较长,等着就好了,一般性能的机器大概要半小时左 ...

  6. ORACLE导入导出数据dmp

    imp testwms3/isc@TESTGMMC FILE=C:\ZKGL_201407012334.dmp ignore=y fromuser=GMMCZKGL touser=testwms ta ...

  7. Hive表的建立和导入导出数据

    Hive是Hadoop的常用工具之一,Hive查询语言(HiveQL)的语法和SQL类似,基本实现了SQL-92标准. 1. 表的建立 编写以下的文件: USE test; DROP TABLE IF ...

  8. 转 Oracle Transportable TableSpace(TTS) 传输表空间 说明

    ############1   迁移数据库的集中方法 三.相关技术 迁移方式 优势 不足1 Export and import • 对数据库版本,以及系统平台没有要求 • 不支持并发,速度慢• 停机时 ...

  9. Oracle学习笔记—数据库,实例,表空间,用户、表之间的关系

    之前一直使用的关系型数据库是Mysql,而新公司使用Oracle,所以最近从网上搜集了一些资料,整理到这里,如果有不对的地方,欢迎大家讨论. 基本概念: 数据库:Oracle 数据库是数据的物理存储. ...

随机推荐

  1. php数组处理函数

    array_reverse()数组反向排序,$arr=array_reverse($arr)

  2. POJ1043 What's In A Name?

    题目来源:http://poj.org/problem?id=1043 题目大意: 一个犯罪团伙有n个成员,每人有一个唯一的字符串作为id,每人还有一个唯一的字符串作为name.该团伙有一个hideo ...

  3. Restful 4 -- 认证组件、权限组件、频率组件、url注册器、响应器、分页器

    一.认证组件.权限组件.频率组件总结:  只有认证通过的用户才能访问指定的url地址,比如:查询课程信息,需要登录之后才能查看,没有登录,就不能查看,这时候需要用到认证组件 1.认证组件格式 写一个认 ...

  4. list倒序删除

    public static void main(String[] args) { List<Integer> nums = new ArrayList<Integer>(); ...

  5. 插入po得到主键,插入sql得到主键

    import com.yd.common.data.CIPPageInfo; import com.yd.common.data.CIPReqCondition; import com.yd.comm ...

  6. 错误:正在解析文件 '/var/lib/dpkg/updates/0004'

    sudo rm /var/lib/dpkg/updates/* sudo apt-get update

  7. PHP面试题基础问题

    1.对于大流量的网站,您采用什么样的方法来解决访问量问题? 首先,确认服务器硬件是否足够支持当前的流量 其次,优化数据库访问. 第三,禁止外部的盗链. 第四,控制大文件的下载. 第五,使用不同主机分流 ...

  8. 3年,阅读量100万+, Github Star 15000+

    这两天突然发现,三年前在博客园写的一篇文章阅读量超过百万了,对,还是技术文章.这个让我蛮惊讶的,当时刚开始写这篇文章的时候,一周的阅读量也才两三千,随着时间慢慢的过去,在搜索引擎的加持下竟然超过了百万 ...

  9. 原型设计工具 Axure RP 7.0下载地址及安装说明

    Axure RP是产品经理必备的原型制作工具,因为很多同学是新手,在这里整理一下axure7.0的下载.安装和汉化流程,希望能够帮到大家. Axure RP是美国Axure Software Solu ...

  10. android 开发AlertDialog.builder对话框的实现

    AndroidAPI提供了Dialog对话框控件,但google明确指出不建议开发者只是使用Dialog来创建对话框,而应该自定义对话框或者使用API中提供的Dialog的子类,如AlertDialo ...