`
skzr.org
  • 浏览: 365309 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

oracle数据从一个表空间导入到另外一个表空间

阅读更多

问题:在使用exp导出用户数据后,再使用imp导入时,必须保证两者对象的表空间一致才能成功导入

在此分享一点解决办法:

 

 

  1. exp导出用户数据: exp userid=user/user owner=user file=user.dmp
  2. 导出表DDL:打开pl/sql运行菜单:“工具”->“导出用户对象”功能, 选择所有的表,不选择存储,导出为文user_tables.sql
  3. 创建表结构:使用目标用户登陆pl/sql后,执行:user_tables.sql
  4. 删除约束SQL:

 

select 'ALTER TABLE ' || OWNER || '.' || table_name || ' drop CONSTRAINT ' || constraint_name || ' cascade;' 
from dba_constraints dc where dc.owner='USER';
-- 生成删除主,外建的代码,复制出来 执行即可删除约束

 

  1. 删除索引:
    select 'drop index ' || owner || '.' || index_name || ' ;' from dba_indexes di where di.owner='USER' AND DI.TABLE_TYPE='TABLE' AND di.UNIQUENESS!='UNIQUE' order by di.table_name, di.index_name;
    -- 查询后,复制出来,执行后就可以禁止索引
     
  2. 导入数据: imp userid=other/other fromuser=user touser=other  ignore=y indexes=n constraints=n buffer=102400000 feedback=1000000 file=user.dmp
  3. 重建约束(包括:主键、外键)和索引:运行users_tables.sql即可<--因为之前删除掉了原来的约束和索引
分享到:
评论
3 楼 skzr.org 2010-09-19  
一个表6千多万数据,3个字段的联合主键;
在导入时出现时间过长的问题,经过确定发现是联合主键导致导入缓慢(如果导出和导入是同一个表空间时无此问题);后台看到导入实际上执行的是insert语句,所以解决办法:就是按照文章来删除约束和索引,导入数据后再重建即可
2 楼 skzr.org 2010-09-18  
记得在imp和exp时加上合适的buffer
1 楼 skzr.org 2010-09-18  
查询约束

select 'ALTER TABLE ' || OWNER || '.' || table_name || ' DISABLE CONSTRAINT ' || constraint_name || ';' from dba_constraints where owner not like ('%SYS%')

相关推荐

    oracle备份出来的数据可以导入到另一表空间.txt

    oracle备份出来的数据可以导入到另一表空间.txt

    ORACLE导入数据文件到指定的表空间

    如果是文本数据,可能需要先转换成Oracle可以识别的格式,然后使用`SQL Loader`工具加载到表空间。 5. **表空间管理**:在导入前,检查目标表空间的可用空间,必要时扩展或创建新的表空间。通过`ALTER TABLESPACE`...

    oracle不同用户名及表空间之间的数据导入

    而**表空间** 是存储数据的实际物理区域,它可以包含一个或多个数据文件,用来存放数据库对象的数据。用户可以被分配到特定的表空间,以便管理存储资源。 当需要在不同用户名和表空间之间导入数据时,一般会使用...

    oracle导入时表空间不一致解决方法

    本文将详细介绍如何解决这一常见问题,并确保数据能够顺利地从一个环境迁移到另一个环境中。 #### 一、问题背景 在进行Oracle数据迁移时,源系统与目标系统的表空间可能存在差异,这会导致在执行`imp`命令时出现...

    Oracle dmp文件导出导入(还原)到不同的表空间和不同的用户操作

    假设需要将一个名为`EXPDAT.dmp`的DMP文件从用户`qfyx`的`qfyx_ts`表空间导入到新用户`qctyx`下的`qctyx_ts`表空间中,可以按照以下步骤操作: 1. **创建表空间和用户**: - 创建表空间`qctyx_ts`。 - 创建用户`...

    Oracle利用传输表空间导出导入数据的步骤

    - **第三步**:通过操作系统命令将tsts表空间的数据文件以及之前生成的dmp文件复制到另一个位置,供目标数据库epras使用。 ##### 2. 在目标数据库中导入表空间 - **第四步**:在目标数据库epras中创建一个新的用户...

    Oracle多个表空间合并成一个表空间,验证通过

    为了简化管理和提高效率,我们可能希望将这些不同的表空间中的数据合并到一个新的或现有的表空间中。 #### 步骤详解 ##### 第一步:查询当前用户下的所有表空间 首先需要了解当前用户下存在哪些表空间。这可以通过...

    Oracle中如何使用imp语句导入不同表空间?

    在实际工作中,有时需要将exp导出的历史备份dmp文件进行恢复,若之前的建表语句及表空间名无法找到,则直接用imp语句进行导入的话可能报错表空间不存在,且导入数据占用空间可能会非常大。使用本文方法可将exp导出的...

    Oracle大数据量导入(CSV导入)

    对于CSV文件,创建一个外部表并指定适当的文件位置和分隔符,即可实现数据的快速读取和导入。 4. **Oracle Data Pump (expdp/impdp)** 虽然Data Pump主要用于数据库级别的导出和导入,但也可以通过自定义导出模式...

    oracle数据泵导入

    首先,需要创建一个新的表空间用于存放即将导入的数据。在题目中给出的例子中,创建了一个名为`ABS`的表空间,其大小为10GB,并设置了自动扩展功能。此外,还创建了一个临时表空间`ABS_TEMP`,大小为4GB,同样具有...

    DBF格式的数据导入oracle的流程

    因此,将 DBF 文件导入到 Oracle 数据库中成为一个非常重要的工作。本文将详细介绍如何将 DBF 文件通过 PL/SQL 导入到 Oracle 数据库中。 环境准备 在开始将 DBF 文件导入到 Oracle 数据库之前,我们需要确保 ...

    oracle 创建表空间 导入导出

    oracle 创建表空间 导入导出 详细阐述 oracle创建用户,表空间 及导入导出数据的个人经验。

    oracle创建用户、表空间、导入导出命令

    表空间由一个或多个数据文件组成,用于存储表、索引等数据库对象。创建表空间通常包括创建临时表空间和数据表空间。 **1. 创建临时表空间** 临时表空间主要用于存储临时表和其他临时数据结构。例如: ```sql ...

    ORACLE 导入导出表空间文档

    Oracle的IMP(Import)和EXP(Export)工具用于数据的备份和恢复,允许将数据从一个数据库导出到另一个数据库。这些工具在SQL*Plus或DOS命令行中运行,通过`EXP.EXE`和`IMP.EXE`执行。 ##### 数据导出 导出数据的常见...

    在oracle两个表空间之间移动表

    在Oracle数据库管理中,有时需要将表从一个表空间移动到另一个表空间。这种操作可能是为了优化存储空间使用、提升性能或是满足特定的业务需求。Oracle提供了多种方法来实现这一目标,包括直接移动表、重建索引以及...

    oracle 数据泵与传统的导入导出的区别与实践

    - 参数文件方式调用:将所有参数写入一个参数文件,然后通过指定该文件进行调用,这种方式方便管理大量或复杂的导出导入任务。 - 交互方式调用:在SQL*Plus环境中,可以使用交互式的方式来启动数据泵,逐步输入和...

    Oracle 数据导入工具

    在Oracle环境中,SQL*Loader是这样一个强大的工具,它允许用户快速地从外部数据文件批量导入数据,而无需编写复杂的PL/SQL代码或使用常规的INSERT语句。本篇文章将深入探讨SQL*Loader的工作原理、使用方法以及如何...

    Oracle11G导入导出(imp和exp)少表解决方法

    Oracle 11G 是一个功能强大且复杂的数据库管理系统,它提供了多种方式来导入和导出数据。然而,在使用 Oracle 11G 时,用户可能会遇到一些问题,例如无法导出空表的问题。在本文中,我们将讨论如何解决这个问题,并...

    从一个表空间 另一个表空间

    当需要将用户的表和其他对象从一个表空间转移到另一个表空间时,有几种方法可以实现这一目标: #### 1. 先在新表空间创建表再导入数据 这种方法的基本思路是在新表空间中预先创建好所需的表结构,然后通过导入操作...

    oracle数据库导入数据以及创建用户

    - **SQL*Loader**:Oracle提供的一种强大的工具,能够快速地将大量数据从文本文件或CSV文件加载到数据库中。SQL*Loader读取控制文件,该文件定义了数据文件的格式和数据库表的映射。 - **Data Pump Import (expdp)...

Global site tag (gtag.js) - Google Analytics