浅述Oracle用户表空间关系

来源:互联网 发布:游戏鼠标推荐 知乎 编辑:程序博客网 时间:2024/06/08 07:36
一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用。用户和表空间没有隶属关系,表空是一个用来管理数据存储逻辑概念,表空间只是和数据文件发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。

  用户属于数据库实例的,在一个实例下不能同名用户。但在一Oracle服务器,可以创建多个实例,只要你的机器配置够用就可以。因为一个实例启动起码需要100多兆内存的。所以在一Oracle服务器上可以存在多个同名用户,他们是属于不同数据库实例,他们对应使用的表空间在不同的实例上。

  查询表空间和用户之间的关系:

  SELECT FROM DBA_SEGMENTS WHERE TABLESPACE_NAME=?

  Oracle用户表空间关系FAQ:

  在Oracle中建立了一个用户UB,它的默认表空间是TSA,在数据库用了一段时间后,发现原来搞错了,把默认表空间改成TSB。现在想问几个问题:

  1.数据究竟放在那个表空间上了?

  更改以前的放在tsa里面,后来的放在tsb里面

  2.我想把数据都放回表空间TSB上可以吗?

  将表b存放在tsa里面 --alter table b move tablespace tsb;

  3.怎样才知道数据表放在哪个表空间上?select table_name,TABLESPACE_NAME from user_tables;

  4.我用Exp 来导出UB这个用户,能把它所有数据都导出吗?可以。