USER + PRIVILEGES + ROLES ::
======== > Account Lock <===
select username,account_status from dba_users where account_status like '%LOCK%';
SQL > alter user XYZ account unlock;
=====> Schema <============
select owner, sum(bytes)/1024/1024/1024 schema_size_gig from dba_segments group by owner;
select username from dba_users where username like '%XYZ%';
alter session set current_schema=XYZ;
select sum(bytes)/1024/1024/1024 as size_in_gig, segment_type from dba_segments where owner='XXX' group by segment_type;
TABLE_NAME :
===========
select TABLE_NAME ,STATUS,OWNER from dba_tables where OWNER='XXX'
SQL> select TABLE_NAME ,STATUS,OWNER from dba_tables where table_name='XXX';
* select OBJECT_NAME ,OWNER from dba_objects where OBJECT_NAME like '%LINK%' and owner='XXX'
select segment_name,segment_type,bytes/1024/1024 MB from dba_segments where segment_type='TABLE' and segment_name='XXX';
============= USER CREATION + GRANT PRIVILIGES ===============
select username from dba_users where username like '%XXX%';
SQL> create user xxx identified by xxx;
SQL> grant create session to xxxx;
>>>>>
select role from dba_roles where role like '%READ_ONLY%';
>>> select 'grant select on SHEMANAME.'||table_name|| ' to USERNAME;' from dba_tables where owner='XXXX';
======== USER MAP ==================
select role from dba_roles where role like '%READ_ONLY%';
select * from DBA_ROLE_PRIVS where GRANTEE=upper('&user');
select grantee,table_name,privilege from dba_tab_privs where grantee='&rolename';
=========
The best way I believe is the take a spool of the grants and execute them once after the import is complete
==> ROLES
select 'grant '||PRIVILEGE||' on '||OWNER||'.'||TABLE_NAME||' to XXTEST;' from dba_tab_privs where GRANTEE='XXTEST' ;
===============================================
======== > Account Lock <===
select username,account_status from dba_users where account_status like '%LOCK%';
SQL > alter user XYZ account unlock;
=====> Schema <============
select owner, sum(bytes)/1024/1024/1024 schema_size_gig from dba_segments group by owner;
select username from dba_users where username like '%XYZ%';
alter session set current_schema=XYZ;
select sum(bytes)/1024/1024/1024 as size_in_gig, segment_type from dba_segments where owner='XXX' group by segment_type;
TABLE_NAME :
===========
select TABLE_NAME ,STATUS,OWNER from dba_tables where OWNER='XXX'
SQL> select TABLE_NAME ,STATUS,OWNER from dba_tables where table_name='XXX';
* select OBJECT_NAME ,OWNER from dba_objects where OBJECT_NAME like '%LINK%' and owner='XXX'
select segment_name,segment_type,bytes/1024/1024 MB from dba_segments where segment_type='TABLE' and segment_name='XXX';
============= USER CREATION + GRANT PRIVILIGES ===============
select username from dba_users where username like '%XXX%';
SQL> create user xxx identified by xxx;
SQL> grant create session to xxxx;
>>>>>
select role from dba_roles where role like '%READ_ONLY%';
>>> select 'grant select on SHEMANAME.'||table_name|| ' to USERNAME;' from dba_tables where owner='XXXX';
======== USER MAP ==================
select role from dba_roles where role like '%READ_ONLY%';
select * from DBA_ROLE_PRIVS where GRANTEE=upper('&user');
select grantee,table_name,privilege from dba_tab_privs where grantee='&rolename';
=========
The best way I believe is the take a spool of the grants and execute them once after the import is complete
==> ROLES
select 'grant '||PRIVILEGE||' on '||OWNER||'.'||TABLE_NAME||' to XXTEST;' from dba_tab_privs where GRANTEE='XXTEST' ;
===============================================