ORA-01919
ORA-01919 表示 Oracle 找不到您指定的任何权限,因此转而在角色中搜索名称,但仍然没有运气。
让我们看看一些错误模式。
1. 无效权限
尝试向用户授予权限,但失败并出现 ORA-01919。
SQL> grant create_table to hr;
grant create_table to hr
*
ERROR at line 1:
ORA-01919: role 'CREATE_TABLE' does not exist换句话说,您在语句中指定的特权既不是有效的特权,也不是有效的角色。
2. PLUSTRACE
在某些情况下,您可能认为特权或角色是有效的。我们以PLUSTRACE为例。
SQL> grant plustrace to hr;
grant plustrace to hr
*
ERROR at line 1:
ORA-01919: role 'PLUSTRACE' does not exist是的,PLUSTRACE是Oracle数据库中有效的角色,但需要安装!
解决方案
1. 无效权限
您应该为该语句指定一个有效的特权或有效的角色。在这种情况下,我们应该使用CREATE TABLE,而不是CREATE_TABLE。
SQL> grant create table to hr;
Grant succeeded.2. PLUSTRACE
要创建PLUSTRACE角色,只需通过SYS执行$ORACLE_HOME/sqlplus/admin/plustrce.sql 即可。
为了正确授予权限,可点此查看《 Oracle 正确授予权限》。
原文标题:How to Resolve ORA-01919: role does not exist
原文作者:Ed Chen
原文链接:https://logic.edchen.org/how-to-resolve-ora-01919-role-does-not-exist/
最后修改时间:2022-10-27 14:59:33
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




