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

简介: 要将数据导入到其他用户下,在进行imp 时要使用 FROMUSER   和 TOUSER 这两个参数 FROMUSER: 指定对象的原有属主    TOUSER:指定对象的新属主,即要导入的用户 如导入原scott 用户下的dept 表和emp 表到 yang...

要将数据导入到其他用户下,在进行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

目录
相关文章
|
SQL 关系型数据库 MySQL
MySQL数据库的数据导入和导出操作指南
MySQL数据库的数据导入和导出操作指南
|
4月前
|
存储 数据挖掘 关系型数据库
DataFrame 与数据库交互:从导入到导出
【5月更文挑战第19天】本文介绍了如何在数据分析中实现DataFrame与MySQL数据库之间的数据交互。通过`pandas`的`read_sql`函数可将数据库中的数据导入DataFrame,处理后使用数据库游标执行插入或更新操作将数据导回。注意数据类型匹配、数据完整性和一致性。对于大量数据,可采用分块读取和批量操作提升效率。这种交互能结合数据库的存储管理和DataFrame的分析功能,提高数据处理效率。
128 2
|
4月前
EsayExcel文件导入导出
EsayExcel文件导入导出
86 3
|
10月前
|
DataWorks 数据库 数据安全/隐私保护
在DataWorks中导出的数据库可能存在权限问题
在DataWorks中导出的数据库可能存在权限问题
64 1
|
SQL 运维 关系型数据库
|
SQL Oracle Cloud Native
|
SQL 算法 关系型数据库
|
Java
HSSFWorkbook实现导入导出
HSSFWorkbook实现导入导出
193 0
|
SQL 关系型数据库 MySQL
【笔记】用户指南—数据导入和导出—使用mysqldump导入导出数据
本文介绍了通过mysqldump工具将PolarDB-X数据导入导出的几种常见场景和详细操作步骤。 PolarDB-X支持MySQL官方数据导出工具mysqldump。mysqldump命令的详细说明请参见MySQL 官方文档。
232 0
|
关系型数据库 MySQL Java
用户指南—数据导入和导出—使用程序进行数据导入
本文将介绍如何通过编写代码的方式,将导入数据到PolarDB-X中。
125 0