powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / нет привелегий - что бы это значило?
8 сообщений из 8, страница 1 из 1
нет привелегий - что бы это значило?
    #32185527
akalend
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) создал БД test

1a) законектился как SYSDBA

2) создал в ней TABLESPASE TS
3) создал юзера SA в разделе TS

4) хочу создать таблицу:
как я понимаю SYSDBA должно иметь все привелегии
в OraEntManager - говорит НЕТ ПРИВЕЛЕГИЙ на TS

законектился в SQL+ как SA

CREATE TABLE test (....) - просто молчит...

вечные вопрос что делать?
...
Рейтинг: 0 / 0
нет привелегий - что бы это значило?
    #32185579
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Just GRANT QUOTA UNLIMITED on TS TO SA and also do the same on temporary tablespace assigned to SA. Having CREATE TABLE privilege is not enough - you must have sufficient space quota on table tablespace.

SY.
...
Рейтинг: 0 / 0
нет привелегий - что бы это значило?
    #32185595
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to akalend

Чтобы у юзера был доступ к TS ему нужно выделить квоту на него - это делается при создании или с пом. alter user.

Интересно, что даже если ты создаешь таблицу в схеме SA, залогинившись as sysdba, появляется ошибка no privileges on tablespace XXX'.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
SQL> connect / as sysdba
Connected.

SQL> CREATE USER usr2
   2       IDENTIFIED BY msx386
   3       DEFAULT TABLESPACE user_ts
   4       TEMPORARY TABLESPACE temp_ts;

User created.

SQL> create table test (x int) tablespace user_ts;

Table created.

SQL> create table usr2.test (x int) tablespace user_ts;
create table usr2.test (x int) tablespace user_ts
*
ERROR at line  1 :
ORA- 01950 : no privileges on tablespace 'USER_TS'

SQL> alter user usr2 QUOTA 100M ON user_ts;

User altered.

SQL> create table usr2.test (x int) tablespace user_ts;

Table created.
...
Рейтинг: 0 / 0
нет привелегий - что бы это значило?
    #32187524
Seloa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привилегия которой не хватает у sysdba - create any tables.
...
Рейтинг: 0 / 0
нет привелегий - что бы это значило?
    #32187555
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привилегия которой не хватает у sysdba - create any tables.

Не верно! Во первых у sysdba она есть, во вторых речь идет именно об отсутсвии квоты на tablespace, привилегии create any table не достаточно.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SQL> connect / as sysdba
Connected.

SQL> CREATE USER usr2
   2           IDENTIFIED BY msx386
   3           DEFAULT TABLESPACE user_ts
   4           TEMPORARY TABLESPACE temp_ts;

User created.


делаем

Код: plaintext
1.
2.
SQL> grant create any table to usr2;

Grant succeeded.


все раво получаем ошибку, т.к. нет квоты на 'USER_TS'!

Код: plaintext
1.
2.
3.
4.
SQL> create table usr2.test (x int) tablespace user_ts;
create table usr2.test (x int) tablespace user_ts
*
ERROR at line  1 :
ORA- 01950 : no privileges on tablespace 'USER_TS'
...
Рейтинг: 0 / 0
нет привелегий - что бы это значило?
    #32187561
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно, ведь у SA нет квот на таблеспейс TS и нет привилегии UNLIMITED TABLESPACE, а экстенты должны выделиться для объекта, создаваемого в его схеме.
...
Рейтинг: 0 / 0
нет привелегий - что бы это значило?
    #32187573
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Seloa

Как это у sysdba нет привилегии? Это же sys со всеми привилегиями, какие только есть в базе.
...
Рейтинг: 0 / 0
нет привелегий - что бы это значило?
    #32187579
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привилегия которой не хватает у sysdba - create any tables.

Вообще если быть точным, то привилегия sysdba разрешает все, не важно какие привилегии есть у юзера. Если он логинится as sysdba, он может все.

У юзера sys нет по умолчанию create any table, но поскольку он логинится as sysdba это роли не играет

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SQL> revoke create any table from sys;
revoke create any table from sys
*
ERROR at line  1 :
ORA- 01952 : system privileges not granted to 'SYS'

SQL> grant create any table to sys;

Grant succeeded.

SQL> create table usr2.test (x int) tablespace user_ts;
create table usr2.test (x int) tablespace user_ts
*
ERROR at line  1 :
ORA- 01950 : no privileges on tablespace 'USER_TS'


to Scott

Здесь было пару случаев что на похожие грабли наступали. Например назначали новый temporary ts юзеру Х но выпоняли запросы с его таблицами с сортировкой из под system и удивлялись, почему не используется этот новый ts. Даже в срабатывании команды alter user ХХХ temporary tablespace new_ts сомневались:-)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / нет привелегий - что бы это значило?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]