龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

浅述Oracle用户表空间关系

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
本文将谈谈Oracle用户表空间关系,这在Oracle中比较重要。希望本文能对大家了解Oracle用户表空间关系有更多的帮助。 一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户

本文将谈谈Oracle用户表空间关系,这在Oracle中比较重要。希望本文能对大家了解Oracle用户表空间关系有更多的帮助。

一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用。用户和表空间没有隶属关系,表空是一个用来管理数据存储逻辑概念,表空间只是和数据文件发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。

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

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

  1. 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这个用户,能把它所有数据都导出吗?可以。

精彩图集

赞助商链接