关于oracle默认表空间

whzxl06018 2011-06-17 10:41:30
1.我在Oracle中分别新建了三个用户:a,b,c.它们的默认表空间分别是:a,b,c,临时表空间都是:TEMP
2.在建立好用户之后,我手中有一个a.dmp文件库,这是我用imp a/123@oral file=D:\a.dmp full=y ignore=y 的语句分别导入到第一步所建立的三个用户中,可现在有一个问题就是在表空间(TableSpace)中去查看的时候,b,c表空间中的table都是空的,却都在a表空间table中出现。出现的形式是:a.表1,a.表2,…… b.表1,b.表2 ……c.表1,c.表2……
...全文
926 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Northgale 2011-10-18
  • 打赏
  • 举报
回复
full=y这个是最笨的一个参数,怎么大家都喜欢用这个?
whzxl06018 2011-09-29
  • 打赏
  • 举报
回复
谢谢,学习了
秋雨飘落 2011-06-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 susu_0807 的回复:]
学习了,
原来只是知道在导入dmp文件时,系统会首先检测导出文件对应的表空间是否存在,在碰到元老的导出文件对应的表空间在导入的数据库中不存在时,会首先创建一个同名的表空间来解决问题。
[/Quote]

---------不会创建一个同名的表空间
在导入DMP的时候,如果指定FROMUSER 和 TOUSER,就是导入到用户的默认表空间
咖啡 2011-06-19
  • 打赏
  • 举报
回复
学习了,
原来只是知道在导入dmp文件时,系统会首先检测导出文件对应的表空间是否存在,在碰到元老的导出文件对应的表空间在导入的数据库中不存在时,会首先创建一个同名的表空间来解决问题。
fendou1314 2011-06-18
  • 打赏
  • 举报
回复
学习了~~~

[Quote=引用 1 楼 tangren 的回复:]
Oracle并没有提供什么参数来指定要导入哪个表空间,数据默认将导入到原本
导出时数据所在的表空间中,但是我们可以通过以下的方法来实现导入到不同的表空间。

首先,收回目的用户的”UNLIMITED TABLESPACE”权限:
revoke unlimited tablespace from username;

其次,取消目的用户在原数据导出表空间中的配额,这样才能迫使IMP把数……
[/Quote]
tangren 2011-06-17
  • 打赏
  • 举报
回复
Oracle并没有提供什么参数来指定要导入哪个表空间,数据默认将导入到原本
导出时数据所在的表空间中,但是我们可以通过以下的方法来实现导入到不同的表空间。

首先,收回目的用户的”UNLIMITED TABLESPACE”权限:
revoke unlimited tablespace from username;

其次,取消目的用户在原数据导出表空间中的配额,这样才能迫使IMP把数据
导入到用户的默认表空间中去。
alter user xxx default tablespace 你的目标表空间;

然后,将希望导入的表空间设为目的用户的默认表空间,并添加配额。
alter user xxx quota unlimited on 你的目标表空间;

最后,执行IMP。

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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