SET LONG 1000000
SET LONGCHUNKSIZE 1000
SET LINESIZE 500
SET PAGESIZE 1000
SET TRIMSPOOL ON
SET WRAP OFF
SET ECHO OFF
SELECT DBMS_METADATA.GET_DDL ('USER','OLD') FROM DUAL;
SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','OLD') FROM DUAL;
SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT','OLD') FROM DUAL;
SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT','OLD') FROM DUAL;
--grants (ex: CREATE SESSION, CREATE TABLE...)
SELECT 'GRANT ' || privilege || ' TO NEW;' FROM dba_sys_privs WHERE grantee = 'OLD';
--Roles (ex: CONNECT, RESOURCE...)
SELECT 'GRANT ' || granted_role || ' TO NEW;' FROM dba_role_privs WHERE grantee = 'OLD';
--Object grants (tabelas, views, etc.)
SELECT 'GRANT ' || privilege || ' ON ' || owner || '.' || table_name || ' TO NEW;' FROM dba_tab_privs WHERE grantee = 'OLD';