Я создал одну таблицу «app_config» и переместил эту таблицу в пользовательское табличное пространство «appuser_tbs_initial». Но всякий раз, когда я пытаюсь вставить значения в эту таблицу, я получаю сообщение об ошибке «нет привилегий в табличном пространстве« ПОЛЬЗОВАТЕЛИ »». Я не понимаю, почему, имея другое табличное пространство, я получаю сообщение об ошибке для табличного пространства по умолчанию. Здесь прикреплен скриншот, который может быть полезен для понимания моего запроса -
нет привилегий на табличное пространство «ПОЛЬЗОВАТЕЛИ», в то время как мое табличное пространство является чем-то другим
Ответы (1)
Спасибо Джону Хеллеру за подсказку, как решить эту проблему. Я нашел реальную причину проблемы. То, что я сделал, было -
- Создайте таблицу без какого-либо пользовательского табличного пространства.
- Создайте ограничение первичного ключа для этой таблицы.
- Измените таблицу, чтобы изменить табличное пространство на пользовательское.
Но я не изменил ограничение на перестроение, поэтому табличное пространство по-прежнему было по умолчанию. После того, как я изменил ограничение и проверил с помощью того же SQL, который предоставил Джон Хеллер, он показывает мне правильное имя табличного пространства. Теперь я могу вставить данные в эту таблицу.
person
Aniket Nandan
schedule
24.04.2020
Вы можете захотеть изменить пользователя по умолчанию на правильное табличное пространство:
alter user appuser default tablespace appuser_tbs_initial;
С этим изменением конфигурации вам больше никогда не понадобится указывать табличное пространство.
- person Jon Heller; 25.04.2020
Да, это тоже помогает. Спасибо @JonHeller
- person Aniket Nandan; 26.04.2020
select tablespace_name from dba_indexes where table_owner = 'APPUSER' and table_name = 'APP_CONFIG';
- person Jon Heller   schedule 24.04.2020