Почему я не могу создать триггеры для объектов, принадлежащих SYS?

при попытке создать триггер под названием ghazal_current_bef_upd_row :

create trigger ghazal_current_bef_upd_row
before update on ghazal_current
for each row 
when (new.Rating < old.Rating)
begin

insert into ghazal_current_audit
 (GhazalName,Old_Rating,New_Rating)
 values
 (:old.GhazalName,:old.Rating,:new.Rating);
end;

Я получаю следующую ошибку :

Error report:
ORA-04089: cannot create triggers on objects owned by SYS
04089. 00000 -  "cannot create triggers on objects owned by SYS"
*Cause:    An attempt was made to create a trigger on an object owned by SYS.
*Action:   Do not create triggers on objects owned by SYS.

обе таблицы с именем ghazals_current и ghazal_current_audit было создано SYS. Почему я не могу создать триггер в таблице, созданной SYS .

1 ответов


вы не должны создавать любой объекты в схеме SYS. Этот пользователь является частью системы управления базами данных Oracle, и инструменты вокруг него, вероятно, сломают вашу базу данных. От документация:

" административная учетная запись SYS автоматически создается при создается база данных. Эта учетная запись может выполнять все базы данных административная функция. Схема SYS хранит базовые таблицы и вид данных словарь. Эти базовые таблицы и представления критичным для работы базы данных Oracle. Столы в sys схема управляется только базой данных и никогда не должна изменяться любым пользователем."

О, если вам интересно, то же самое относится и к системе.

триггеры особенно склонны к злоупотреблениям и являются основным источником проблем масштабирования. Вот почему Oracle запрещает нам создавать триггеры в SYS, потому что это может повредить или по крайней мере повлиять представление словаря данных.

конечно, это не то, что здесь происходит. Вы создали свои собственные таблицы в SYS. Ладно, брось их. Сейчас. Используйте SYS, чтобы создать своего пользователя, газель или что-то еще и предоставить ему необходимые привилегии. Затем подключитесь как новый пользователь, чтобы создать таблицы и схемы.