【导入导出】将数据导入到其他用户

简介:

要将数据导入到其他用户下,在进行imp 时要使用 FROMUSER   和 TOUSER 这两个参数

FROMUSER: 指定对象的原有属主    TOUSER:指定对象的新属主,即要导入的用户 如导入原scott 用户下的dept 表和emp 表到 yang 用户下
1)  C:\Documents and Settings\Administrator>exp scott/yang@orcl  file=f:\dump\scott.
dmp log=f:\dump\scott.log tables=(emp,dept)
Export: Release 11.1.0.6.0 - Production on 星期日 8月 15 22:54:27 2010
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的表通过常规路径...
. . 正在导出表                             EMP导出了          14 行
. . 正在导出表                            DEPT导出了           4 行
成功终止导出, 没有出现警告。

在YANG用户下 ,查看导入结果:

SQL> show user
USER 为 "YANG"
SQL> select username,default_tablespace from user_users;
USERNAME      DEFAULT_TABLESPACE                              
--------------------   -------------------------                  
YANG                   EXAMPLE    ---yang 的默认表空间                                 
SQL> select table_name,tablespace_name from user_tables;
TABLE_NAME                  TABLESPACE_NAME                                 
------------------------------ ------------------------------                  
TEST                                   EXAMPLE                                         
CLOB_CONTENT             EXAMPLE                                         
EMP                                      USERS    --导入的对象所属表空间                                
DEPT                                    USERS

2)什么原因呢?
   imp 时在导入数据时会首先创建表结构,这个表结构来自exp 导出的数据库,其中包含该对象在源端数据库中 的存储属性,(比如这个emp表 其属性说明它存在users 表空间里) 在导入到目标数据库中时仍然会寻找并存储到那个表空间,如果找到,就导入到那个表空间里!如果找不到,就报错,你猜呢,当然会报错了....

3)解决办法:
首先显示的授予用户指定的表空间 的存储权限,我的yang 表空间是example ,然后收回UNLIMIT tablespace 权限(UNLIMIT tablespace:拥有操作所有表空间的权限)   

SQL> conn system/yang@orcl as  sysdba
已连接。
SQL> alter user yang quota unlimited on example;
用户已更改。
SQL> revoke unlimited tablespace from yang;
撤销成功。

4) 再次执行导入,(先将emp 和dept 删除掉!)

SQL> conn yang/yang@orcl
已连接。
SQL> drop table emp purge;----为了再次导入,当然也可以使用ignore =y 参数
表已删除。
SQL> drop table dept purge;
表已删除。
SQL> set timing on
SQL> select username,default_tablespace from user_users;
USERNAME                       DEFAULT_TABLESPACE                              
------------------------------ ------------------------------                  
YANG                           EXAMPLE                                         
已用时间:  00: 00: 00.01
SQL> select table_name,tablespace_name from user_tables;
TABLE_NAME                     TABLESPACE_NAME                                 
------------------------------ ------------------------------                  
TEST                                    EXAMPLE                                         
CLOB_CONTENT              EXAMPLE                                         
EMP                                      EXAMPLE -这次的结果符合期望                                     
DEPT                                     EXAMPLE
                                         
已用时间:  00: 00: 00.18

相关文章
|
18天前
EsayExcel文件导入导出
EsayExcel文件导入导出
22 3
|
8月前
|
SQL 关系型数据库 MySQL
MySQL数据库的数据导入和导出操作指南
MySQL数据库的数据导入和导出操作指南
|
3月前
|
SQL 关系型数据库 MySQL
数据库导入导出工具BatchTool介绍
本文将围绕 MySQL 以及 PolarDB-X 的数据离线导入导出场景来展开。首先,通过实验进行了生态工具 BatchTool 与传统 mysqldump 的性能对比,然后结合具体的实践场景来介绍 BatchTool 不同参数的使用方式。
|
4月前
|
DataWorks 数据库 数据安全/隐私保护
在DataWorks中导出的数据库可能存在权限问题
在DataWorks中导出的数据库可能存在权限问题
27 1
|
Java
HSSFWorkbook实现导入导出
HSSFWorkbook实现导入导出
171 0
|
SQL Oracle Cloud Native
数据导入与导出 | 学习笔记(一)
快速学习数据导入与导出
133 0
数据导入与导出 | 学习笔记(一)
|
SQL 算法 关系型数据库
数据导入与导出 | 学习笔记(三)
快速学习数据导入与导出
108 0
数据导入与导出 | 学习笔记(三)
|
SQL 运维 关系型数据库
数据导入与导出 | 学习笔记(二)
快速学习数据导入与导出
82 0
数据导入与导出 | 学习笔记(二)
|
SQL 关系型数据库 MySQL
【笔记】用户指南—数据导入和导出—使用mysqldump导入导出数据
本文介绍了通过mysqldump工具将PolarDB-X数据导入导出的几种常见场景和详细操作步骤。 PolarDB-X支持MySQL官方数据导出工具mysqldump。mysqldump命令的详细说明请参见MySQL 官方文档。
203 0
|
SQL 关系型数据库 MySQL
【笔记】用户指南—数据导入和导出—使用程序进行数据导入
本文将介绍如何通过编写代码的方式,将导入数据到PolarDB-X中。
114 0