将资源授予用户以创建 table

Grant Resource to user to create table

我正在尝试将权限授予数据库用户,并希望允许该用户创建表。检查 "RESOURCE" 权限,它包含以下内容:

SELECT privilege FROM dba_sys_privs WHERE grantee = 'RESOURCE';

资源

CREATE TABLE
CREATE OPERATOR
CREATE TYPE
CREATE CLUSTER
CREATE TRIGGER
CREATE INDEXTYPE
CREATE PROCEDURE
CREATE SEQUENCE

正如我注意到的,其中包括 CREATE TABLE,我假设可以将 RESOURCE 授予我的用户,并且该用户将能够在他自己的模式中创建表。

GRANT RESOURCE TO User1;

在 User1 上,我 运行 以下内容:

    CREATE TABLE testable (
        sessionID varchar2(32 char) not null,
        attributeA varchar(10) ,
        attributeB varchar2(50)
    );

不过我明白了:

Error: ORA-01031: insufficient privileges

SQLState:  42000
ErrorCode: 1031

如果我手动将 "CREATE TABLE" 授予 User1,它就可以工作。为什么会这样?

GRANT CREATE TABLE TO User1;

一旦获得 resource 授权(来自 sys 用户),您将需要 重新连接 与您的用户,因为您的 current session 无法识别新给定赠款(资源)。

干杯!!