====== USERS ======
* Liste des users non système
set lines 600
col USERNAME format a30
col ACCOUNT_STATUS format a20
col DEFAULT_TABLESPACE format a20
col PROFILE format a20
col LAST_LOGIN format a20
SELECT USERNAME,CREATED,ACCOUNT_STATUS,DEFAULT_TABLESPACE,PROFILE,LAST_LOGIN
FROM dba_users
WHERE ORACLE_MAINTAINED='N';
* Liste des objets d'un user particulier
select distinct owner, tablespace_name from dba_segments where owner in ('xxx');
\\
== Création user et grant sur un autre schéma ==
create user R2D2_READ_ONLY_USER identified by "r2d2_2024";
grant CONNECT to R2D2_READ_ONLY_USER ;
alter user R2D2_READ_ONLY_USER profile LUCAS_PROFILE;
BEGIN
FOR R IN (SELECT owner, object_name FROM dba_objects WHERE owner='R2D2USER' and object_type in ('TABLE','VIEW'))
LOOP
EXECUTE IMMEDIATE 'grant select on '||R.owner||'.'||R.object_name||' to R2D2_READ_ONLY_USER ';
EXECUTE IMMEDIATE 'CREATE OR REPLACE SYNONYM T24_READ_ONLY_USER.' || R.object_name || ' FOR ' || R.owner || '.' || R.object_name;
END LOOP;
END;
/