set echo
off;
set
feedback off;
set heading
off;
set verify
off;
set
linesize 1000
set
pagesize 0
set long
20000
set
longchunksize 20000
set
autoprint on
variable x
clob
execute
dbms_metadata.set_transform_param (dbms_metadata.session_transform,
'SQLTERMINATOR', true);
execute
dbms_metadata.set_transform_param (dbms_metadata.session_transform, 'PRETTY',
true);
SELECT
DBMS_METADATA.GET_DDL('USER','${_USERNAME}') FROM dual;
declare
no_grant
exception;
pragma
exception_init( no_grant, -31608 );
begin
:x :=
dbms_metadata.get_granted_ddl( 'ROLE_GRANT','${_USERNAME}') || ';';
exception
when
no_grant then :x := '-- no role grants';
end;
/
declare
no_grant
exception;
pragma
exception_init( no_grant, -31608 );
begin
:x :=
dbms_metadata.get_granted_ddl( 'DEFAULT_ROLE','${_USERNAME}');
exception
when
no_grant then :x := '-- no default role';
end;
/
declare
no_grant
exception;
pragma
exception_init( no_grant, -31608 );
begin
:x :=
dbms_metadata.get_granted_ddl( 'SYSTEM_GRANT','${_USERNAME}');
exception
when
no_grant then :x := '-- no system grants';
end;
/
declare
no_grant
exception;
pragma
exception_init( no_grant, -31608 );
begin
:x :=
dbms_metadata.get_granted_ddl( 'OBJECT_GRANT','${_USERNAME}');
exception
when
no_grant then :x := '-- no object grants';
end;
/
declare
no_grant
exception;
pragma
exception_init( no_grant, -31608 );
begin
:x :=
dbms_metadata.get_granted_ddl( 'TABLESPACE_QUOTA','${_USERNAME}');
exception
when
no_grant then :x := '-- no tablespace quota';
end;
/
exit