首批通过分布式安全可靠测评,为关键业务系统打造
创建表失败,错误代码 5360/ORA-01031
更新时间:2026-05-19 09:51
本文介绍创建表失败报 5360/ORA-01031 错误提示权限不足的处理方法。
适用版本
OceanBase 数据库 V2.x 版本
问题现象
创建用户 u1,授予其在 db2 中的 CREATE TABLE 权限。
obclient> CREATE USER u1 IDENTIFIED BY ******;
obclient> GRANT CREATE SESSION TO u1;
obclient> GRANT CREATE TABLE ON db2.* TO u1;
在本地创建 SQL 脚本,内容如下。
CREATE TABLE t1 (id int,name varchar(20));
通过 OBClient 执行 SQL 脚本失败,错误信息如下。
[admin@hostname ~]$obclient -hxxx.xxx.xx.xxx -P2881 -u db2 < test.sql
ORA-01031: insufficient privileges
可能原因
这个问题与 OBClient 无关,用户 u1 虽然被授予了在 db2 中创建表的权限,但实际上 CREATE TABLE 权限仅适用于用户 u1 的数据库。若要使 u1 能够在其他库中创建表,需要向 u1 授予 CREATE ANY TABLE 权限。
解决方式
为用户 u1 授予 CREATE ANY TABLE 权限。
obclient> GRANT CREATE ANY TABLE TO u1;
obclient> \q
[admin@hostname ~]$obclient -hxxx.xxx.xx.xxx -P2881 -u db2 < test.sql