[原文]http://hi.baidu.com/cat_june/blog/item/0573a945fd8ead36879473e4.html
自己觉得对Oracle还掌握得不错,不过昨天隔壁实验室的同学问了我一个问题让我郁闷了一把。她在一个数据库里把一个用户A的在表空间AA上的表用exp导出到exp.dmp文件中,再把它导入到另一台机器上的数据库里,这时她用的是用户B,默认表空间是BB,但是用imp导入时我们发现表是导入到了B用户下,但是还是存在了AA表空间里面,但是她需要导入到BB里,这时我们又试了好几次,都是这样。才发现自己以前都是复制过来的数据库,没有涉及到更改表空间,于是上网查了查,幸好有好心人有解决方案。
SQL> create user myhuang identified by myhuang default tablespace myhuang;//先创建一个用户
SQL> grant resource,connect to myhuang;
SQL> grant dba to myhuang;//赋DBA权限
SQL> revoke unlimited tablespace from myhuang;//撤销此权限
SQL> alter user myhuang quota 0 on system;//将用户在System表空间的配额置为0
SQL> alter user myhuang quota unlimited on myhuang;//设置在用户在myhuang表空间配额不受限。
经过上述设置后,就可以用imp导入数据,数据将会进入指定的myhuang表空间:
C:\Documents and Settings\myhuang>imp system/123456@vdb fromuser=lnxh tous
er=myhuang file=G:\myhuang\lnxh.dmp ignore=y grants=n
顺便说两个小问题:
(1)IMP-00003: 遇到 ORACLE 错误 1658
ORA-01658: 无法为表空间 MYHUANG 中的段创建 INITIAL 区
通常这个问题可以通过Resize增加表空间数据文件大小来解决。
(2)删除表空间
SQL> drop tablespace myhuang including contents and datafiles;
[个人补充]
如遇IMP-00003: ORACLE error 1950 encountered.
ORA-01950: no privileges on tablespace 'XXXXXXX'
说明你的表中有BLOB之类的字段,此类表无法导入新的表空间
网上说9i中此问题没有完美的解决方案,估计只能先建一个同名的表空间,然后把这个表移到新的表空间中
不知道10g和11g中是怎么样的,没有测试过
分享到:
相关推荐
在实际工作中,有时需要将exp导出的历史备份dmp文件进行恢复,若之前的建表语句及表空间名无法找到,则直接用imp语句进行导入的话可能...使用本文方法可将exp导出的数据用imp导入不同的表空间,从而有效解决此问题。
"ORACLE导入数据文件到指定的表空间"这个主题涉及了Oracle数据库的导入工具(IMP)、数据泵(IMPDP)以及如何规划和管理表空间。 首先,我们需要了解Oracle的导入工具IMP。IMP是Oracle Data Pump Import的简称,它...
### Oracle导入时表空间不一致解决方法 在Oracle数据库管理中,经常会出现因表空间不一致而导致的数据导入失败的问题。本文将详细介绍如何解决这一常见问题,并确保数据能够顺利地从一个环境迁移到另一个环境中。 ...
然而,在使用 Oracle 11G 时,用户可能会遇到一些问题,例如无法导出空表的问题。在本文中,我们将讨论如何解决这个问题,并提供了多种方法来导入和导出数据。 一、解决无法导出空表的问题 在 Oracle 11G 中,默认...
一般的做法是直接删除表空间然后imp导入数据,但是我这边的情况是远程有一个web始终连着,为了免得每天还要去启动那个web服务,我就采用了这个做法,只删除表,这样不会断开连接,注意,这个web只是白天在用。...
Oracle 11G 的导入导出工具 exp 和 imp 是数据库管理员进行数据迁移、备份和恢复的重要工具。然而,在11G R2 版本中,由于一个新特性,空表在没有数据的情况下不会分配 segment,导致无法通过 exp 导出。这个问题...
**问题描述**:在使用`IMP`命令导入DMP文件时出现“IMP-00038:无法转换为环境字符集句柄”错误。 - **解决方法**: - 使用`IMPDP`命令代替`IMP`命令进行导入。 - 示例命令: ```sql IMPDP username/password ...
### Oracle数据库中IMP导入数据详解 #### 一、引言 在Oracle数据库管理与维护过程中,数据导入是一项非常重要的操作。对于刚接触Oracle的新手来说,掌握如何使用`IMP`命令进行数据导入尤为关键。本文将详细介绍...
为避免此问题,可以设置`compress=N`来导出大表,这样每个数据块就不会被压缩,从而降低导入时的空间需求。 字符集不匹配是另一个潜在问题。如果exp和imp使用的字符集不同,导入操作会失败。这时,可以通过调整操作...
### Oracle 数据库表空间管理与数据导入导出详解 #### 表空间概念及管理 在Oracle数据库中,**表空间**是逻辑存储结构的一部分,用于组织数据库中的数据和索引。一个表空间由一个或多个数据文件组成,这些数据文件...
### Oracle 创建用户、表空间及导入导出命令详解 #### 一、创建表空间 在 Oracle 数据库中,表空间是存储数据的基本单位。表空间由一个或多个数据文件组成,用于存储表、索引等数据库对象。创建表空间通常包括创建...
exp工具将这些信息写入一个.dmp文件,该文件可以在不同的Oracle环境之间传输,并使用imp工具重新导入。 22、exp语法和参数 exp命令支持多种参数,例如 owner(用户)、file(输出文件名)、log(日志文件)、tables...
本文将详细解析Oracle数据库的导入导出命令及其使用方法。 数据导出: Oracle提供了一个名为`exp`的实用程序(在较新版本中为`expdp`)来导出数据库对象,如表、视图、索引等。以下是一些基本的导出命令: 1. 完整...
`impdp`(Import Data Pump)是Oracle提供的一种高效的数据导入工具,它能够实现表空间、表或整个数据库的快速导入,相比传统`imp`命令,在性能和功能上都有显著提升。下面将详细介绍`impdp`的一些关键选项及其应用...
### Oracle 创建删除用户、角色、表空间、导入导出命令总结 #### 一、表空间管理 表空间是Oracle数据库中的基本存储单元,用于管理数据文件。以下为创建临时表空间与非临时表空间的命令示例: 1. **创建临时表...
Oracle 19c 备份恢复-导入导出 ...Oracle 19c 备份恢复-导入导出是指使用 exp 和 imp 工具实现数据库的备份恢复和数据的导入导出,通过选择合适的工作方式、模式和选项,可以满足不同的备份恢复和数据导入导出需求。
Linux 下向 Oracle 数据库中导入 dmp 文件需要按照一定的步骤进行,包括登录 Linux 系统、创建用户表空间、创建用户、赋予权限、创建临时表空间和导入 dmp 文件等。只有按照正确的步骤进行,才能成功地将 dmp 文件...
1. **数据迁移**:当需要将数据从一个Oracle数据库迁移到另一个Oracle数据库时,可以使用EXP和IMP。 2. **数据库备份和恢复**:定期执行EXP导出,可以在数据库出现问题时快速恢复到某个已知的良好状态。 3. **开发和...
### Oracle创建用户、表空间、导入导出命令详解 #### 创建临时表空间 在Oracle数据库管理中,创建临时表空间是十分重要的步骤之一,尤其是在处理大量临时数据或排序操作时。临时表空间主要用于存储排序、索引创建...