/**PageBeginHtml Block Begin **/ /***自定义返回顶部小火箭***/ /*生成博客目录的JS 开始*/ /*生成博客目录的JS 结束*/

oracle查看所有用户_Oracle实用命令查看共用一个表空间的所有用户

oracle查看所有用户_Oracle实用命令查看共用一个表空间的所有用户

概述

有朋友问到如何查出表空间都被哪些用户使用的一些方法,因为有几种情况需要考虑,也顺便做个总结。


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


查看某表空间下表的所有者

使用dba用户查询:

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

select tablespace_name from dba_tablespaces;
e0269d64248882d82a6c048cd04b4a34.png

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

select owner from dba_tables where tablespace_name='USERS' group by owner;
30fa23e19e84ce0c667863a2855c9ad5.png

考虑索引

如果有索引,只查表可能会漏掉。所以这里我们改一下查的表

select owner from dba_segments where tablespace_name='表空间名' group by owner;
4252d143033b7061eb1715c9b539a9d9.png

考虑临时表空间:

上面的命令在查临时表空间应该是查不到owner的。所以还是要区别对待下:

1、临时表空间

select username from dba_users where temporary_tablespace='TEMP' group by username;
08c74edc35430df1ea08b1007e02aa79.png

2、其它存储对象(表、索引等)用的表空间:

select owner from dba_segments where tablespace_name='表空间名' group by owner;
 
posted @ 2023-08-15 15:39  一品堂.技术学习笔记  阅读(490)  评论(0编辑  收藏  举报