频道栏目
首页 > 资讯 > 其他综合 > 正文

查询某表空间被哪些用户所使用

15-07-17        来源:[db:作者]  
收藏   我要投稿

昨天为测试的妹子如何查查出表空间都被哪些用户使用的方法,给了几个建议。小费了几个周折,怪自己开始的时候情况考虑的不周全,不过总体上还好,满足了她的需求。

 

把过程记录下来,也当是自己的复习了。

 

测试:如何查看共用一个表空间的所有用户

 

回答步骤1:

不知道我理解的对不对,你可以试试这样:

使用dba用户查询:

1、如果先要知道表空间的命名,可以这样查询:

select tablespace_name from dba_tablespaces;

2、然后再通过一个表空间的名,利用dba_tables视图查看,这个表空间下表的所有者,就可以知道某个表空间下都有哪些用户了。

例如:select owner from dba_tables where tablespace_name='SYSTEM' group by owner;

 

回答步骤2:

如果有索引,只查表可能会漏掉。

你可以通过下面这条语句,查询到表空间被用户所使用的情况:

select owner from dba_segments where tablespace_name='表空间名' group by owner;

 

回答步骤3:

刚突然想到,如果你查临时表空间应该是查不到owner的。

你可以这样查

1、如果是临时表空间

select username from dba_users where temporary_tablespace='TEMP' group by username;

2、其它存储对象(表、索引等)用的表空间,还是用这条语句查:

select owner from dba_segments where tablespace_name='表空间名' group by owner;

 

下面做个演示:

1、查询表空间名

先把所有表空间名遍历出来,如下:

2、举例查询临时表空间TEMP

可以知道,TEMP临时表空间共被44用户同时使用。

3、举例查询数据表空间EXAMPLE

可以看到EXAMPLE表空间被5个用户共用。

相关TAG标签
上一篇:redis中关于过期键的删除策略
下一篇:一个Linux内核的自旋锁设计-接力嵌套堆栈式自旋锁
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站