ORA-26930: User “string” does not have privileges to perform this operation

文档解释

ORA-26930: User “string” does not have privileges to perform this operation

Cause: An attempt was made to create, alter, or drop a process that has a different user (such as capture user or apply user) than the invoking user.

Action: Use the DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE or DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE procedures to grant the invoking user proper privileges.

官方解释

报这个错误的常见情况可以概括以下:

1. 当你以一个特定的用户登陆数据库,并尝试执行指定的数据库操作时,报错 ORA-26930。这表明这个用户没有执行这个操作所需的相应权限;

2. 当你把在我们一般应用程序中使用的数据库账号(如jdbc)连接到Oracle数据库时,如果它们没有正确的授权,后端的 Oracle 数据库会抛出:ORA-26930;

3. 如果你使用的权限切距离短暂修改,而没有重设权限,你也可能会看到这条错误。

一般处理方法及步骤

1. 查看用户权限:通过执行以下 SQL 语句来检查给定用户是否有执行操作所需的权限:

SELECT * FROM USER_SYS_PRIVS WHERE USERNAME = ‘username’;

2. 补充用户权限:如果没有,则需要确定拥有给与这个用户权限的管理者,以便他可以更改用户的权限。

3. 使用“GRANT”语句给用户没有的权限:

GRANT ALL PRIVILEGES TO username;

你可能感兴趣的