You can sometimes run into wierd problems with users ability to modify the database. Here's an example.
SQL> insert into test_tbl 2 values (1, 'Some data'); 1 row created. SQL> select * from test_tbl; FIRST SECOND ---------- ------------------------------ 1 Some data SQL> create table test_tbl_2 ( 2 first number(2), 3 second varchar2(30) 4 ); create table test_tbl_2 ( * ERROR at line 1: ORA-01536: space quota exceeded for tablespace 'USERS' SQL>
WTF? I can update a table, and I have the CONNECT role granted to my user but I can't write due to a quota? I thought that using the "default" profile would keep this sorta thing from happening!
I removed the user from the RESOURCE role, and as soon as I did I lost the ability to create tables, even though the CONNECT role explicitely allows CREATE TABLE... and why a quota error and not a permissions error?
....