Wie wird der Standardtabellenbereich beim Erstellen einer Tabelle festgelegt?

27

Der TablespaceParameter ist beim Erstellen von Tabellen optional.

Bei der Ausführung einer CREATE TABLEAnweisung weist Oracle die Standardanweisung zu, wenn sie nicht definiert wurde.

In der Standarddatenbank gibt es einen "USERS" -Tabellenbereich. Wenn mehrere Tablespaces definiert wären, welchen würde man zuweisen?

Zenturio
quelle

Antworten:

41

Wenn Sie einen neuen Benutzer erstellen, können Sie optional den Standardtabellenbereich und den temporären Standardtabellenbereich für alle von diesem Benutzer erstellten Objekte angeben. Beispielsweise:

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

Wenn Sie die Klauseln beim Erstellen des Benutzers weglassen, übernimmt der Benutzer die Standardwerte der Datenbank. Diese können wie folgt abgefragt werden:

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>

... und so modifiziert:

alter database default tablespace PHILTS; 

alter database default temporary tablespace PHILTEMP;

Verwenden Sie die folgende Abfrage, um die Standardwerte für einen bestimmten Benutzer abzufragen:

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ᵀᴹ
quelle
5

SELECT DEFAULT_TABLESPACE FROM DBA_USERSden Standardtabellenbereich für jeden Benutzer kennen. ALTER DATABASE DEFAULT TABLESPACE othertablespace;um den Standardtabellenbereich zu ändern. In der Regel sollte der Administrator bei einigen Tablespaces den Standard-Tablespace festlegen, wenn ein neuer Benutzer angelegt wirdCREATE USER myuser IDENTIFIED BY mypass DEFAULT TABLESPACE onetablespace

Hola Soja Edu Feliz Navidad
quelle