Я пытаюсь дать привилегии пользователю БД и хочу разрешить пользователю создавать таблицы. Проверяя привилегию «RESOURCE», она содержит следующее:
SELECT privilege FROM dba_sys_privs WHERE grantee = 'RESOURCE';
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;