【发布时间】:2018-03-12 17:41:57
【问题描述】:
我创建了这个用户“user1”,以便在上面创建我自己的表和触发器,因为我认为将表和触发器创建为 SYS 不是一个好主意(我遇到了一个例外,我无法创建在 SYS 创建的特定表上触发)。
这个“user1”有以下权限:
create user user1 identified by password1;
grant connect to user1 ;
grant create session to user1 ;
grant resource to user1 ;
grant unlimited tablespace to user1 ;
grant all privileges to user1 ;
grant dba to user1 ;
但是,我仍然无法连接到数据库,并且在尝试登录时出现“权限不足”错误。
缺少哪些特权?
这是输出:
它是德语,意思是:
-user1 created
-grant succeeded
-connected
-The established connection got closed with "Connected"-Script command
然后当我尝试登录时,出现以下错误:
【问题讨论】:
-
你确定你没有发出
create user "user1" identified by password1,而不是create user user1 identified by password1? -
用撇号会是正确的方式吗?因为我在没有他们的情况下发出了命令。
-
不,您的命令没有问题,一切正常,甚至更多。我只是想知道您是否在任何步骤错误地发出了
"user1",而不是user1。 -
resource和connect是旧的默认角色,已被 Oracle 弃用。最好创建旧角色或脚本以授予适当的权限集。在现实生活中,没有适合grant all privileges的情况。但是,您的陈述应该有效,所以无论发生什么都不是您认为正在发生的事情。如果您希望我们提供更多帮助,请发布实际输出。