You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle中执行GRANT语句需何种权限?UserA授权失败问题咨询

Oracle中执行GRANT语句所需权限及问题解决

在Oracle中,用户执行GRANT语句的权限要求分两种核心场景:

一、授予系统权限(如CREATE SESSION、CREATE USER)

要给其他用户授予系统权限,需满足以下任一条件:

  • 自身拥有该系统权限,且被授予时附带WITH ADMIN OPTION;
  • 拥有GRANT ANY PRIVILEGE系统权限(此权限允许授予任意系统权限给其他用户)。

二、授予对象权限(如对某表的SELECT、INSERT)

要给其他用户授予对象权限,需满足以下任一条件:

  • 是该对象的所有者;
  • 自身拥有该对象权限,且被授予时附带WITH GRANT OPTION;
  • 拥有GRANT ANY OBJECT PRIVILEGE系统权限(此权限允许授予任意对象权限给其他用户)。

针对你的场景的解决方案

你创建的UserA仅拥有CREATE SESSION、CREATE USER、CREATE TABLESPACE权限,但这些权限未附带WITH ADMIN OPTION,也没有GRANT ANY PRIVILEGE权限,因此无法给UserB授予权限。

要让UserA具备给其他用户授权的能力,可选择以下两种方式之一:

  1. 给UserA的现有权限添加WITH ADMIN OPTION:
GRANT CREATE SESSION, CREATE USER, CREATE TABLESPACE TO UserA WITH ADMIN OPTION;

这样UserA不仅能使用这些权限,还能将它们授予其他用户。

  1. 直接授予UserAGRANT ANY PRIVILEGE权限:
GRANT GRANT ANY PRIVILEGE TO UserA;

此权限范围更广,允许UserA授予任意系统权限给其他用户。

内容的提问来源于stack exchange,提问作者Chin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 13:05:29