重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 95|回复: 0
打印 上一主题 下一主题

[Oracle] oracle 12c/19c查询业务用户

[复制链接]
跳转到指定楼层
楼主
发表于 2026-7-12 18:56:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在 Oracle 19c 中,不需要像老版本(11g及以前)那样手动去写一个长长的 WHERE owner NOT IN ('SYS', 'SYSTEM', ...) 列表来排除系统对象。

Oracle 提供了一个非常方便的字段 ORACLE_MAINTAINED。系统自带的对象该字段为 Y,用户创建的业务对象该字段为 N。

可以直接在数据库中执行以下 SQL 语句,就能自动精准地只查询您自己的业务对象:

SQL
SELECT owner, object_type, count(*) AS object_count
FROM dba_objects
WHERE oracle_maintained = 'N'  -- 核心过滤条件:排除所有Oracle系统自带对象
GROUP BY owner, object_type
ORDER BY owner, object_type;

如果只想看所有的业务用户(Owner)列表,可以使用:

SQL
SELECT username
FROM dba_users
WHERE oracle_maintained = 'N';

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-7-24 00:20 , Processed in 0.250866 second(s), 21 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表