default tablespace - Oracle 9 i 10
Jakie są domyślne przestrzenie tabel dla danych i danych tymczasowych
Utwórzmy użytkownika.CREATE USER test identified by test; User created. SQL> select username,temporary_tablespace,default_tablespace 2 from dba_users where username ='TEST'; USERNAME TEMPORARY_TABLESPACE DEFAULT_TABLESPACE ----------- -------------------- --------------------- TEST SYSTEM SYSTEM
Jak widzimy - domyślną przestrzenią tabel dla tego uzytkownika jest SYSTEM. Taki stan rzeczy jest reliktem z czasów gdy bazy danych były małe i wszystko mogło mieścić się w przestrzemi SYSTEM. Nie jest to dobra systuacja - może to na przykład prowadzić do zapchania miejsca w przestrzeni systemowej. Jak temu zapobiec?
Jak ustawić domyślną przestrzeń tabel dla bazy?
SQL> alter database default tablespace users; Database altered.
W Oracle 9 powyższe jest niestety niemożliwe i wykoczy bląd:
ERROR at line 1: ORA-12909: TEMPORARY keyword expected
SQL> alter database default temporary tablespace temp; Database altered.
Teraz sprawdźmy czy coś się zmieniło:
SQL> select username,temporary_tablespace,default_tablespace 2 from dba_users where username ='TEST'; USERNAME TEMPORARY_TABLESPACE DEFAULT_TABLESPACE ------------ ---------------------- ------------------ TEST TEMP USERS
Jak widać zmiany objęły nawet użytkownika, który został utworzony wcześniej.
Jak ustawić domyślną przestrzeń tabel dla użytkownika?
SQL>ALTER USER test DEFAULT TABLESPACE users; User altered. SQL>ALTER USER test TEMPORARY TABLESPACE temp; User altered.
Łukasz Goszczyński goszczu.pl