exp/imp 导入指定表空间

ycjyz2012 2014-04-01 10:29:57
我要把scott用户上的所有对象导出来,现在有一新用户A,A的默认表空间是TBS_A,请问怎么把Scott的数据导入到TBS_A中

网上所提供的答案, revoke unlimited tablespace from A; alter user A quota 0 on users; alter user A quota unlimited on tbs_A;

测试过后还是往users表空间内导入,由于配额是0,报错ORA-01536: 超出表空间 'USERS' 的空间限额;

请问大虾们怎么解决?
...全文
586 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eossoft-2020 2014-04-18
  • 打赏
  • 举报
回复
楼主 怎么解决的?我也遇到这个问题
ycjyz2012 2014-04-09
  • 打赏
  • 举报
回复
引用 14 楼 tomshenhao 的回复:
为什么要按两次Ctrl+C。按一次就可以了。 你现在需要输入:impdp <用户名>/<密码> attach 重新回到import> 然后输入status
非常感谢,问题解决了。非常感谢你跟了这么长时间
卖水果的net 2014-04-09
  • 打赏
  • 举报
回复
LZ是 exp/imp 还是expdp /impdp?看你在回复里写了 expdp ,但是帖子的标题是 exp 。 1.如果你是 exp 的话 a).可以先到源数据库上,用plsql 把建表语句弄出来 b).再到源库上建用户,建表 c).再 imp 加ignore=y 参数导入 2.expdp /impdp 方法 a).impdp remap_tablespace=MYTS. b).呵呵
tomshenhao 2014-04-09
  • 打赏
  • 举报
回复
为什么要按两次Ctrl+C。按一次就可以了。 你现在需要输入:impdp <用户名>/<密码> attach 重新回到import> 然后输入status
ycjyz2012 2014-04-09
  • 打赏
  • 举报
回复
引用 12 楼 tomshenhao 的回复:
LZ结果如何?
大哥,现在到这一步卡住了 处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX Import> status ^C C:\Users\jyz>; ';' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
tomshenhao 2014-04-09
  • 打赏
  • 举报
回复
LZ结果如何?
ycjyz2012 2014-04-08
  • 打赏
  • 举报
回复
引用 10 楼 tomshenhao 的回复:
你导入的时候,按Ctrl+C,然后输入status。可以看具体在做什么。
非常感谢你的回答,有的时候卡了一夜。数据量也不大,就4G 左右
tomshenhao 2014-04-07
  • 打赏
  • 举报
回复
你导入的时候,按Ctrl+C,然后输入status。可以看具体在做什么。
ycjyz2012 2014-04-04
  • 打赏
  • 举报
回复
引用 8 楼 tomshenhao 的回复:
不太明白,什么意思? 你为什么需要导出一个表再倒入同样的表空间呢? 一般就是做备份, 如果导入也是先删除再导入.
现在按照你的意思用EXPDP/IMPDP,但是导入的时候 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA 到这步的时候就卡住了;这是怎么回事?
tomshenhao 2014-04-03
  • 打赏
  • 举报
回复
不太明白,什么意思? 你为什么需要导出一个表再倒入同样的表空间呢? 一般就是做备份, 如果导入也是先删除再导入.
ycjyz2012 2014-04-03
  • 打赏
  • 举报
回复
引用 6 楼 tomshenhao 的回复:
一般不需要,你创建用户A指定了默认的tablespace是TBS_A. 只需要授权: GRANT UNLIMITED TABLESPACE to A; 就可以了.不用再revoke.
如果以这个用户创建表1的话,表1是在默认的表空间。但是导入的话是不可以进入默认表空间了
tomshenhao 2014-04-03
  • 打赏
  • 举报
回复
一般不需要,你创建用户A指定了默认的tablespace是TBS_A. 只需要授权: GRANT UNLIMITED TABLESPACE to A; 就可以了.不用再revoke.
ycjyz2012 2014-04-02
  • 打赏
  • 举报
回复
引用 4 楼 tomshenhao 的回复:
你直接导出和导入都用system用户好了,你现在需要将scott的所有对象导入A用户中。 1. 设置dba_directory 2. expdp system/<password> DIRECTORY=datamove DUMPFILE=scott.dmp SCHEMAS=scott logfile=expdp.log 3. impdp system/<password> directory=datamove dumpfile=scott.dmp SCHEMAS=scott logfile=impdp.log remap_schema=scott:A
请问网上说的配置:revoke unlimited tablespace from A; alter user A quota 0 on users; alter user A quota unlimited on tbs_A; 可以实现吗?因为说的人很多。如果可以的话,为什么我测试的不可以,有什么主意点?
tomshenhao 2014-04-02
  • 打赏
  • 举报
回复
你直接导出和导入都用system用户好了,你现在需要将scott的所有对象导入A用户中。 1. 设置dba_directory 2. expdp system/<password> DIRECTORY=datamove DUMPFILE=scott.dmp SCHEMAS=scott logfile=expdp.log 3. impdp system/<password> directory=datamove dumpfile=scott.dmp SCHEMAS=scott logfile=impdp.log remap_schema=scott:A
ycjyz2012 2014-04-02
  • 打赏
  • 举报
回复
引用 2 楼 sych888 的回复:
用IMP好像要设置一下权限 你可以用EXPDP/IMPDP 用remap_tablespace来解决
是不是 revoke unlimited tablespace from A; alter user A quota 0 on users; alter user A quota unlimited on tbs_A;这些啊,我在网上看到的基本上都是这个方案。但是导入的时候还是往users表空间里导入,users表空间的空间限额都设置为0了,所以才报错。。。
sych888 2014-04-02
  • 打赏
  • 举报
回复
用IMP好像要设置一下权限 你可以用EXPDP/IMPDP 用remap_tablespace来解决
ycjyz2012 2014-04-02
  • 打赏
  • 举报
回复
大侠们,还请给些建议

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧