Create table sur un autre schéma
Situation est que user1 donne permision à l'utilisateur2:
GRANT CREATE ANY TABLE, SELECT ANY TABLE TO user2;
Et après l'exploitation sur user2, je suis en train de créer une table:
CREATE TABLE user1.test(id NUMBER PRIMARY KEY);
le résultat est ORA-01031 - insufficient privileges
Je peux créer une table sur propre schéma et sélectionnez les tables à partir d'autres schémas. Je pensais que CREATE ANY TABLE
résout le problème, mais il semble que d'autres. Ah, et les deux utilisateurs ont unlimited tablespace. Que dois-je la garantie?
OriginalL'auteur Fuv | 2013-03-03
Vous devez vous connecter pour publier un commentaire.
Peut-être vous avez besoin d'accorder également des
CREATE ANY INDEX
? Vous êtes à la création d'un index lorsque vous ajoutez la clé primaire. Vous pouvez rapidement tester en omettant le PK contrainte.OriginalL'auteur DCookie
"créer une table" est trop puissant pour moi un privilège d'octroi de non-DBA. Une meilleure approche serait de créer un "create table" procédure dans le schéma cible qui accepte les variable d'environnement composants de la nécessaire DDL, et grant execute privilège sur que pour les utilisateurs requis.
Une interface adaptée serait quelque chose comme ...
... de sorte que vous pouvez ...
... et la procédure de construire et d'exécuter le DDL pour vous.
OriginalL'auteur David Aldridge
utilisateur
SUBVENTION DE CRÉER UN INDEX POUR SCHEMA_NAME
OriginalL'auteur Amr Fawaz