Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 将资源授予用户以创建表_Oracle_Squirrel Sql - Fatal编程技术网

Oracle 将资源授予用户以创建表

Oracle 将资源授予用户以创建表,oracle,squirrel-sql,Oracle,Squirrel Sql,我试图授予db用户权限,并希望允许用户创建表。检查“资源”权限时,它包含以下内容: SELECT privilege FROM dba_sys_privs WHERE grantee = 'RESOURCE'; CREATE TABLE testable ( sessionID varchar2(32 char) not null, attributeA varchar(10) , attributeB varchar2(50)

我试图授予db用户权限,并希望允许用户创建表。检查“资源”权限时,它包含以下内容:

SELECT privilege FROM dba_sys_privs WHERE grantee = 'RESOURCE';
    CREATE TABLE testable (
        sessionID varchar2(32 char) not null,
        attributeA varchar(10) ,
        attributeB varchar2(50)
    );
资源

CREATE TABLE
CREATE OPERATOR
CREATE TYPE
CREATE CLUSTER
CREATE TRIGGER
CREATE INDEXTYPE
CREATE PROCEDURE
CREATE SEQUENCE
正如我注意到的,createtable包含在内,我假设可以将资源授予我的用户,并且用户可以在自己的模式中创建表

GRANT RESOURCE TO User1;
在User1上,我运行以下命令:

SELECT privilege FROM dba_sys_privs WHERE grantee = 'RESOURCE';
    CREATE TABLE testable (
        sessionID varchar2(32 char) not null,
        attributeA varchar(10) ,
        attributeB varchar2(50)
    );
但我得到的是:

Error: ORA-01031: insufficient privileges

SQLState:  42000
ErrorCode: 1031
如果我手动将“createtable”授权给User1,它就会工作。为什么会这样

GRANT CREATE TABLE TO User1;

一旦您的用户获得
资源
授权(来自sys user),您将需要重新连接,因为您的
当前会话
无法识别新授予的授权(资源)


干杯

希望在向用户授予资源授权后,您可以重新登录该用户。表示断开并连接用户,然后尝试创建表。另外,应该从sys user执行grant资源。您是对的,我需要在授予资源后重新连接,但不是为了授予create table。非常感谢。如果此答案解决了您的问题,则接受此答案,以便将此问题标记为已解决。