Jak określa się domyślny obszar tabel podczas tworzenia tabeli?

27

Ten Tablespaceparametr jest opcjonalny podczas tworzenia tabel.

Po wykonaniu CREATE TABLEinstrukcji Oracle przypisuje domyślną, jeśli nie została zdefiniowana.

W domyślnej bazie danych znajduje się obszar tabel „UŻYTKOWNICY”. Gdyby zdefiniowano kilka obszarów tabel, który z nich zostałby przypisany?

Centurion
źródło

Odpowiedzi:

41

Podczas tworzenia nowego użytkownika można opcjonalnie określić domyślny obszar tabel i domyślny tymczasowy obszar tabel dla dowolnych obiektów utworzonych przez tego użytkownika. Na przykład:

CREATE USER phil IDENTIFIED BY l33t
       DEFAULT TABLESPACE philtablespace
       TEMPORARY TABLESPACE philtemp;

Jeśli podczas tworzenia użytkownika zostaną pominięte klauzule, użytkownik odziedziczy domyślne wartości bazy danych. Można je zapytać w następujący sposób:

SQL> select *
  2  from database_properties
  3  where property_name like 'DEFAULT%TABLESPACE';

PROPERTY_NAME                  PROPERTY_VALUE       DESCRIPTION
------------------------------ -------------------- ----------------------------------------
DEFAULT_TEMP_TABLESPACE        TEMP                 Name of default temporary tablespace
DEFAULT_PERMANENT_TABLESPACE   USERS                Name of default permanent tablespace

SQL>

... i zmodyfikowano tak:

alter database default tablespace PHILTS; 

alter database default temporary tablespace PHILTEMP;

Aby wysłać zapytanie o wartości domyślne dla danego użytkownika, użyj następującego zapytania:

SQL> select USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE
  2  from DBA_USERS
  3  where USERNAME='PHIL';

USERNAME                       DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE
------------------------------ ------------------------------ ------------------------------
PHIL                           USERS                          TEMP

SQL>
Philᵀᴹ
źródło
5

SELECT DEFAULT_TABLESPACE FROM DBA_USERSznać domyślny obszar tabel dla każdego użytkownika. ALTER DATABASE DEFAULT TABLESPACE othertablespace;zmienić domyślny obszar tabel. Zwykle, jeśli istnieją pewne obszary tabel, administrator powinien ustawić domyślny obszar tabel podczas tworzenia nowego użytkownika, takiego jakCREATE USER myuser IDENTIFIED BY mypass DEFAULT TABLESPACE onetablespace

Hola Soy Edu Feliz Navidad
źródło