gpt4 book ai didi

database - Oracle - 权限不足

转载 作者:搜寻专家 更新时间:2023-10-30 22:27:38 24 4
gpt4 key购买 nike

我创建这个用户“user1”是为了创建我自己的表和触发器,因为我认为以 SYS 身份创建表和触发器不是一个好主意(我得到了一个异常(exception),我无法创建一个在 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

enter image description here

然后当我尝试登录时,出现以下错误:

enter image description here

最佳答案

男孩,你授予了所有可能(和不可能)的权限:)

信不信由你,这些 - 实际上 - 有效。看看我的 11g XE 上发生了什么:

SQL> show user
USER is "SYS"
SQL> create user user1 identified by password1;

User created.

SQL> grant connect to user1 ;

Grant succeeded.

SQL> grant create session to user1 ;

Grant succeeded.

SQL> grant resource to user1 ;

Grant succeeded.

SQL> grant unlimited tablespace to user1 ;

Grant succeeded.

SQL> grant all privileges to user1 ;

Grant succeeded.

SQL> grant dba to user1 ;

Grant succeeded.

SQL> connect user1/password1@xe
Connected.

Session altered.

SQL> create table test (id number);

Table created.

SQL>

看到了吗?一切似乎都很好 - 我以 USER1 的身份连接并创建了一个表。您介意发布与我相同的输出,但这次是在您的数据库上运行,以便我们可以看到您做了什么以及 Oracle 是如何响应的吗?

顺便说一句,我建议你不要像你那样做:在创建用户时,只授予他需要的最小权限集。如果事实证明他需要别的东西,你可以很容易地给予。授予它 DBA 角色是,嗯,有点危险。这就是我通常这样做的方式:

SQL> connect sys@xe as sysdba
Enter password:
Connected.

Session altered.

SQL> drop user user1 cascade;

User dropped.

SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS

SQL> create user user1 identified by password1
2 default tablespace users
3 temporary tablespace temp
4 profile default
5 quota unlimited on users;

User created.

SQL> grant create session to user1;

Grant succeeded.

SQL> grant create table to user1;

Grant succeeded.

SQL> connect user1/password1@xe
Connected.

Session altered.

SQL> create table test (id number);

Table created.

SQL>

关于database - Oracle - 权限不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49241408/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com