ORA-01031权限不足:已授CREATE USER角色仍无法创建用户
Oracle XE 18c ORA-01031 权限不足问题排查
结论:非版本限制,为操作疏漏
以下是具体排查与修复步骤:
1. 确认目标角色在会话中已激活
以BT_MASTER登录后,执行语句检查当前会话的激活角色:
SELECT * FROM session_roles;
若MAIN_ADMIN_ROLE未出现在结果中,需手动启用角色:
SET ROLE MAIN_ADMIN_ROLE;
或设置为用户默认角色,实现登录自动激活:
-- 切换至SYSTEM用户执行 ALTER USER BT_MASTER DEFAULT ROLE MAIN_ADMIN_ROLE;
2. 精准验证角色的权限配置
之前的role_sys_privs查询未过滤目标角色,易导致误判,执行精准查询:
-- 以SYSTEM用户执行 SELECT * FROM role_sys_privs WHERE role = 'MAIN_ADMIN_ROLE';
需确认结果中存在CREATE USER权限的记录,且该权限未被回收。
3. 检查角色授予的正确性
确保授予角色给BT_MASTER的语句无错误,标准语句为:
-- 以SYSTEM用户执行 GRANT MAIN_ADMIN_ROLE TO BT_MASTER;
关于Oracle XE 18c的权限说明
Oracle XE 18c仅在存储容量、并发会话数等资源维度有限制,核心权限体系与标准版完全一致,通过角色授予CREATE USER权限的场景是被支持的,因此可排除版本限制因素。
内容的提问来源于stack exchange,提问作者Paull1986
相关产品推荐
相关产品推荐

