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

Oracle 23AI中以USER000身份为sales用户创建表的权限问题

解决ORA-01031权限不足问题的正确操作

错误原因

执行ALTER SESSION SET CURRENT_SCHEMA = sales后,建表操作的主体仍是USER000,而非sales:

  • USER000拥有的CREATE TABLE权限仅允许其在自身schema下建表,无法操作sales的schema。
  • 给sales授予CREATE TABLE权限,仅允许sales自身在其schema内建表,不赋予USER000替sales建表的权限。

正确操作方法

方法一:授予USER000跨schema建表的系统权限

以ADMIN用户执行以下语句,赋予USER000在任意schema下建表的权限:

GRANT CREATE ANY TABLE TO USER000 WITH ADMIN OPTION;

之后USER000可直接执行建表操作(两种方式任选其一):

-- 方式1:切换schema后建表
ALTER SESSION SET CURRENT_SCHEMA = sales;
CREATE TABLE sale (
    saleID NUMBER,
    productID NUMBER
);

-- 方式2:直接指定schema建表
CREATE TABLE sales.sale (
    saleID NUMBER,
    productID NUMBER
);

方法二:让sales授予USER000专属建表权限

先切换到sales用户,执行语句赋予USER000在sales schema下的建表权限:

GRANT CREATE TABLE ON SCHEMA sales TO USER000;

之后USER000即可切换到sales schema执行建表操作,或直接指定schema创建表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 15:39:58