2010-12-17 7 views
6

Benötigen Sie eine SQL-Abfrage, die Klonen von Oracle-Benutzer tun wird. Als Quelle habe ich einen Benutzer, der alle notwendigen Berechtigungen besitzt. Ich frage mich, ob es möglich ist, das gleiche zu erstellen, aber mit einem anderen Benutzernamen in der gleichen Datenbank.So klonen Benutzer in Oracle

Antwort

8

Kurz (von here)

select dbms_metadata.get_ddl('USER', '...') FROM DUAL; 
SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT','...') FROM DUAL; 
SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','...') FROM DUAL; 
SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT','...') FROM DUAL; 
SELECT DBMS_METADATA.GET_granted_DDL(‘TABLESPACE_QUOTA’, ‘...’) FROM dual; 

Dann ersetzen Sie einfach den Benutzernamen mit dem neuen Sie erstellen möchten.

+0

PS. Wenn Sie über Java-Berechtigungen, Netzwerk-ACLs usw. verfügen, benötigen sie möglicherweise zusätzlichen Code. –

Verwandte Themen