关于指定表空间的问题

yuan1023 2003-11-03 12:04:42
我从用户那里带来一个DMP的文件,使用jz1用户导出来的,现在我用同样的用户导入另外一个数据库,但是用imp导入之后表不能放到我指定的表空间。导完之后他自动就放到system里面了。请问我怎么办才能把那些个表放到我想放的地方?
...全文
93 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
WHAPHY 2003-11-05
  • 打赏
  • 举报
回复
在你的imp 语句后面跟一个 indexfile=(路径\文件名)这样就只会导出表结构到一个文本文件。而不用把数据导入,然后看看表结构的语句。。就知道各自的表空间了
yuan1023 2003-11-05
  • 打赏
  • 举报
回复
兄弟那样不行啊,那个倒出文件不知道用户是用什么用户名倒出来的,也不知道原来那些表在那个表空间,就只有这个倒出文件。服务器上有多个工程,只有一个实例,不把各自的表放到各自的表空间容易出错。我搞了好久都没有办法。
gladness 2003-11-05
  • 打赏
  • 举报
回复
大概在用户那里就是用的system表空间。
你可以导进来以后再挪到你指定的表空间里去。
即把jz1用户中的所有对象都移到指定表空间。
比如在sqlplus 里,连到jz1用户
SET HEADING OFF
SET FEEDBACK OFF
SET SQLPROMPT ''
SPOOL tmp.sql
SELECT 'ALTER TABLE '||table_name||' MOVE TABLESPACE 表空间名;'
FROM user_tables;
SPOOL OFF
SET HEADING ON
SET FEEDBACK 6
SET SQLPROMPT 'SQL> '
之后连到system用户,执行一下tmp.sql就把jz1中的所有表都移到新的表空间里去了。
索引的移法以此类推
yuan1023 2003-11-04
  • 打赏
  • 举报
回复
兄弟们这些办法我试了,都不行的。
chanet 2003-11-04
  • 打赏
  • 举报
回复
导出例子:http://expert.csdn.net/Expert/topic/2301/2301105.xml?temp=.2595331
导入例子:http://expert.csdn.net/Expert/topic/2303/2303132.xml?temp=.7162134
Exp/imp 详解:http://www.oradb.net/expimp.htm
beckhambobo 2003-11-04
  • 打赏
  • 举报
回复
1,把所有表修改为指定的表空间
alter table tablename tablespace tablespacename;
...
2,再接修改用户的决省表空间
alter user username default tablespace spacename;
LGQDUCKY 2003-11-04
  • 打赏
  • 举报
回复
首先要确定导进的用户默认表空间,
然后加上FROMUSER=XX TOUSER=XX1

imp user/pass@sid file='路径/文件名' commit=y fromuser=jz1 touser=new_user1;
daydayupliq 2003-11-04
  • 打赏
  • 举报
回复
imp -help 研究研究!
拿来的DMP文件
imp user/pass@sid file='路径/文件名' commit=y full=y;

有问题发消息!
daydayupliq 2003-11-03
  • 打赏
  • 举报
回复
指定好新数据库里的用户(默认表空间)也就不会有问题了!
alter user default tablespace **;
hdkkk 2003-11-03
  • 打赏
  • 举报
回复
先建表
使其它表空间的限额为0
ATCG 2003-11-03
  • 打赏
  • 举报
回复
imp tablespaces=(tablespacenaem)

17,377

社区成员

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

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