上一篇
场景引入:
刚入职的小王接到任务——"给新项目组的同事开通数据库基础操作权限",他兴冲冲打开Oracle权限列表,却被五花八门的角色搞懵了:CONNECT
、RESOURCE
、DBA
... 到底该选哪个?🤔 别急,今天我们就来拆解其中最常用的RESOURCE角色,让你像老司机一样精准发车!
在Oracle中,RESOURCE
是一个预定义角色(就像系统赠送的"新手礼包"🎁),主要赋予用户创建数据库对象的基础权限。
👉 核心权限包括:
CREATE TABLE/VIEW/SEQUENCE...
) CREATE TEMPORARY TABLESPACE
) 💡 对比其他角色:
CONNECT
:仅能登录+查数据(像"游客模式") DBA
:拥有所有权限(危险!慎用💣) CONNECT
+自定义权限) -- 给用户zhangsan赋予RESOURCE角色 GRANT RESOURCE TO zhangsan; -- 通常搭配CONNECT角色一起给(能登录+能建表) GRANT CONNECT, RESOURCE TO zhangsan;
-- 查询RESOURCE角色包含的具体权限 SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'RESOURCE'; -- 结果示例(Oracle 21c): PRIVILEGE | ADMIN_OPTION ---------------------|------------- CREATE SEQUENCE | NO CREATE TABLE | NO CREATE TRIGGER | NO ... | ...
警惕权限溢出:
RESOURCE角色包含UNLIMITED TABLESPACE
权限(可无限占用表空间),建议通过配额限制:
ALTER USER zhangsan QUOTA 500M ON users;
生产环境慎用:
默认配置可能不符合最小权限原则,推荐自定义角色替代。
版本差异:
Oracle 12c后部分权限有调整(如UNLIMITED TABLESPACE
需单独授权)
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE = 'RESOURCE';
CREATE TABLE
) RESOURCE角色是Oracle权限体系的"瑞士军刀"🔧——方便但需谨慎使用。权限给的越少,数据库睡的越香!下次分配权限时,不妨先问自己:"这个用户真的需要建表权限吗?"
(本文基于Oracle 21c版本整理,2025年8月验证)
本文由 所冷萱 于2025-08-02发表在【云服务器提供商】,文中图片由(所冷萱)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/513346.html
发表评论