I am trying to design an application. The application tables will have their respective tablespaces. All the tables will be stored only in their respective tables. None of them will go to SYSTEM or USERS tablepaces.
But when I create the user, I issue these commands
create user TEMP identified by temp
default tablespace users
temporary tablespace temporary;
alter user temp quota 0 to system;
alter user TEMP quota 0 to users;
The basic idea is , I don't want the user TEMP to take any space from USERS tb or SYSTEM tb. Is it OK. And what happens to all CONSTRAINTS. Where do they go. All Index's also will automatically go to respective index tb.
ok now you are definately confusing me.
a User that cannot use any space? Why would you want a user called TEMP?
What I am trying to explain is..
All the scripts I create to in the User TEMP, will take the tablespace like Appl1, Index1. I want to spare USERS tablespace from my application tables.
Typically I create the table this way
create table app( account char)
I think it gives more clear idea.
Only segments (tables, indexes, clusters, MVs, ...) as user objects are physicaly stored in a designated tablespaces. All other user's stuff (constraints, comments, PL/SQL code, views, etc etc ....) gets stored in a SYSTEM tablespace in a database dictionary tables owned by SYS, so the user does not need (and should never have been granted) any quota on SYSTEM tablespace.