一、查询表空间所有表
select table_name from all_tables where TABLESPACE_NAME='USERS';
二、查询表所在的表空间
select * from user_tables where table_name='PANTAB';
一个数据库由多个表空间构成,表空间由段构成,段由区构成,区由块构成,这样可以提高效率。
三、查询用户默认表空间
select DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from dba_users where username='MYTEST'
四、如何缩小表空间
1. 如果是Oracle 10G以后的版本,表空间中支持自动段空间管理(ASSM),可以参考下文:Oracle中shrink space命令详解
2 .如果表空间不支持ASSM,只能用最笨的方法,将数据拷贝出来,然后弃用原表空间,参考下文:Oracle收缩表空间
3. 我还有个简单粗暴的办法:先expdp当前数据库,然后用Database Configuration Assistant删除数据库,重建数据库,最后impdp数据库……这么做,同样可以达到缩小表空间的效果,我的就由10G缩小到1G。具体可以参考:Oracle导入(impdp)比较大的数据,包括创建表空间、创建用户、导入数据等;含expdp及其它