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

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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22664653/viewspace-671031/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22664653/viewspace-671031/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值