Oracle 11g SQL命令行角色权限授予失败求助(含ORA-00911错误)
Oracle 11g权限配置解决方案
1. 修复ORA-00911错误
你的用户名21F_9208以数字开头,Oracle中这类标识符必须用双引号包裹,否则会触发无效字符错误。所有涉及该用户名的SQL命令都需要用双引号将用户名括起来。
2. 高权限用户执行授权操作
普通用户无法授予CREATE ANY ROLE权限,必须以SYSTEM或SYS等高权限用户登录执行:
- 登录高权限用户:
CONNECT SYSTEM/你的系统密码; - 授予
21F_9208创建角色的权限:
(如果GRANT CREATE ANY ROLE TO "21F_9208";admin表不属于21F_9208,还需额外授予跨用户授权权限:GRANT GRANT ANY OBJECT PRIVILEGE TO "21F_9208";)
3. 创建角色并分配表权限
切换回21F_9208用户完成后续操作:
- 登录目标用户:
CONNECT "21F_9208"/你的用户密码; - 创建superadmin角色:
CREATE ROLE superadmin; - 给角色分配admin表的增删改查权限:
GRANT SELECT, INSERT, UPDATE, DELETE ON admin TO superadmin;
内容的提问来源于stack exchange,提问作者F219208 Muhammad Ahmad Shakeel
相关产品推荐
相关产品推荐

