Brauche ich Nur zum erstellen der Tabelle von einem Benutzer zu jedem Benutzer unter der gleichen DB.
letz prüfen, 3 Schemata.
Schema_1,Schema_2 und Schema_3.
schema 1 hatte DBA-Privileg.
Ist es möglich, die Tabelle in SChema_2 oder Schema_3 von Schema_1????
oder brauchen wir, um diese Rolle "CREATE ANY TABLE"??
Die DBA-Rolle sollten dieses Privileg in einer typischen installation - Sie können sehen, andere Rollen/Benutzer, die diese durch:
select grantee from dba_sys_privs where Privileg = 'ERSTELLEN einer TABELLE'
Als @dpbradly Staaten, Oracle "out of the box" Privilegien für die DBA-Rolle enthalten das 'ERSTELLEN einer TABELLE' Privileg. Sie können dies überprüfen, heraus mit der folgenden Abfrage (und alle system Privilegien, die dieser Rolle):
Dem Oracle data dictionary ist dein Freund.
Ok, lets make einige Dinge klar
CREATE ANY TABLE
ist system-Privileg keine Rollekönnen Sie Berechtigungen für eine Benutzer DBA Privilegien, indem Sie einfach schreiben
GRANT DBA TO <USER_NAME> WITH ADMIN OPTION;
Dass gesagt wird, die
schema_1
wird in der Lage sein, um Sie auf Tabelle erstellen, auf der jeder user wie er habenCREATE ANY TABLE
Privilegcreate table hr.dbaMade_tab
(id number,
name varchar2(20)
);
Wenn Sie schema_1 gewährt
CREATE ANY TABLE
dann schema_2 und schema_3 wird in der Lage sein, um die create table auf alle Tabellen.Erteilen Sie keine DBA-Rolle zu jedermann. Neue Rolle und geben Sie notwendigen Berechtigungen und gewähren, die Rolle an andere Benutzer. In Ihrem Fall schema_2 und schema_3. Hoffe, das hilft.