1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| create tablespace TBS_TEST datafile 'C:\TBS_TEST.DBF'
size 10M autoextend on next 1M maxsize unlimited;
create user test identified by test;
GRANT CONNECT ,RESOURCE TO TEST;
ALTER USER TEST DEFAULT TABLESPACE TBS_TEST temporary tablespace TEMP;
DEFAULT ROLE ALL;
conn system/XX@test2
select * from dba_role_privs where grantee='TEST';
GRANTEE GRANTED_ROLE ADM DEF
------------------------------ -----
TEST CONNECT NO YES
TEST RESOURCE NO YES
select * from dba_sys_privs where grantee='TEST';
GRANTEE PRIVILEGE ADM
---------------------------------------
TEST UNLIMITED TABLESPACE NO
==> NB : grant resource donne les grant unlimited TBS ...
SELECT * FROM DBA_TAB_PRIVS where grantee='TEST';
aucune ligne sélectionnée
create user test2 identified by test2;
GRANT CONNECT ,RESOURCE TO test2;
create tablespace TBS_TEST2 datafile 'C:\TBS_TEST2.DBF'
size 10M autoextend on next 1M maxsize unlimited;
ALTER USER TEST2 DEFAULT TABLESPACE TBS_TEST2 temporary tablespace TEMP;
DEFAULT ROLE ALL;
conn test2/test2@test2
create table tab (n number);
insert into tab values (1);
1 ligne créée.
commit;
grant select on tab to test;
conn system/XX@test2
select * FROM DBA_TAB_PRIVS where grantee='TEST';
GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE
---------------------------------------------------
TEST TEST2 TAB TEST2 SELECT
conn test/test@test2
select count(*) from test2.tab;
==> 1
delete from test2.tab;
ERREUR à la ligne 1 :
ORA-01031: privilèges insuffisants
conn test2/test2@test2
grant delete on tab to test;
conn test/test@test2
delete from test2.tab;
1 ligne supprimée.
commit;
conn test2/test2@test2
revoke delete from tab to test;
SQL> revoke delete on tab from test;
conn test/test@test2
delete from test2.tab;
ERREUR à la ligne 1 :
ORA-01031: privilèges insuffisants |
Partager