Benutzer kopieren mit Rechten und Rollen
Sie möchten einen neuen Benutzer erstellen, der die gleiche Rechtestruktur, Standard-Tablespaces und Default-Rollen erhält wie ein bestehender Benutzer? Das folgende Skript unterstützt Sie darin:
Oracle Benutzer: Kopieren
clear screen SET serveroutput ON SET pages 0 feed off veri off LINES 500 PROMPT =============================================================== PROMPT = PROMPT = PROMPT = Erstellen eines neuen Benutzers als Kopie des alten Benutzers PROMPT = inkl. Rechte und Rollen PROMPT = PROMPT = PROMPT =============================================================== accept oldname PROMPT "Bitte Namen des Benutzers zur Vorlage eingeben: " accept newname PROMPT "Neuen Benutzer eingeben: " accept psw PROMPT "Kennwort des neuen Benutzers: " PROMPT PROMPT Skript wird generiert ... PROMPT SPOOL cr_user.tmp -- CREATE user... SELECT 'CREATE user &&newname identified by &&psw' || ' default tablespace ' || default_tablespace || ' temporary tablespace ' || temporary_tablespace || ' profile ' || profile || ';' FROM sys.dba_users WHERE username = upper('&&oldname'); -- GRANT Roles... SELECT 'GRANT ' || GRANTed_role || ' to &&newname' || decode(ADMIN_OPTION, 'YES', ' WITH ADMIN OPTION') || ';' FROM sys.dba_role_privs WHERE grantee= upper('&&oldname'); -- GRANT System Privs... SELECT 'GRANT ' || privilege || ' to &&newname' || decode(ADMIN_OPTION, 'YES', ' WITH ADMIN OPTION') || ';' FROM sys.dba_sys_privs WHERE grantee= upper('&&oldname'); -- GRANT Table Privs... SELECT 'GRANT ' || privilege || ' on ' || owner || '.' || table_name || ' to &&newname;' FROM sys.dba_tab_privs WHERE grantee= upper('&&oldname'); -- GRANT COLUMN Privs... SELECT 'GRANT ' || privilege || ' on ' || owner || '.' || table_name || '(' || COLUMN_name || ') to &&newname;' FROM sys.dba_col_privs WHERE grantee= upper('&&oldname'); -- set Default Role... SELECT 'alter user &&newname default role ' || GRANTed_role || ';' FROM sys.dba_role_privs WHERE grantee= upper('&&oldname') AND default_role = 'YES'; SPOOL OFF PROMPT PROMPT PROMPT =============================================================== PROMPT = PROMPT = Benutzer mit obigen Skripten erstellen? PROMPT = PROMPT = - Abbruch mit strg + c PROMPT = - Zum erstellen beliebige Taste druecken PROMPT = PROMPT =============================================================== PAUSE PROMPT PROMPT Benutzer wird jetzt erstellt ... @cr_user.tmp PROMPT Vorgang abgeschlossen /

info
held-informatik
de