Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Unzureichende Berechtigungen für Oracle-Änderungstabellen

Es gibt kein ALTER TABLE Privileg. Die gültigen Berechtigungen sind in der Dokumentation aufgeführt .

Wenn Sie CREATE TABLE haben Anschließend können Sie Ihre eigene Tabelle erstellen und ändern. Um die Definition einer Tabelle in einem anderen Schema zu ändern, benötigen Sie den ALTER ANY TABLE Privileg.

Seltsamerweise diese Seite bezieht sich auf ALTER TABLE :

Der ALTER TABLE Befehlsvoraussetzungen auch sagen:

In diesem Zusammenhang ist es etwas klarer; 'ALTER Objektprivileg' bedeutet, dass Ihnen ALTER direkt gewährt wurde auf der Tabelle durch seinen Besitzer, anstatt über ALTER ANY TABLE Systemprivileg, wie in:

create table t42(id number);
grant alter on t42 to user2;

Dann user2 wäre in der Lage, alter table t42 ... , oder erstellen Sie einen Trigger darauf (zum Beispiel), aber keine anderen Tabellen.