Как определяется табличное пространство по умолчанию при создании таблицы?


27

TablespaceПараметр не является обязательным при создании таблиц.

После выполнения CREATE TABLEоператора Oracle назначает значение по умолчанию, если оно не было определено.

В базе данных по умолчанию есть табличное пространство «USERS». Если бы было определено несколько табличных пространств, какое из них было бы назначено?

Ответы:


41

Когда вы создаете нового пользователя, вы можете дополнительно указать табличное пространство по умолчанию и временное табличное пространство по умолчанию для любых объектов, созданных этим пользователем. Например:

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

Если вы пропустите предложения при создании пользователя, он унаследует значения базы данных по умолчанию. Они могут быть запрошены следующим образом:

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>

... и модифицировано так:

alter database default tablespace PHILTS; 

alter database default temporary tablespace PHILTEMP;

Чтобы запросить значения по умолчанию для данного пользователя, используйте следующий запрос:

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

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

SQL>

5

SELECT DEFAULT_TABLESPACE FROM DBA_USERSзнать табличное пространство по умолчанию для каждого пользователя. ALTER DATABASE DEFAULT TABLESPACE othertablespace;изменить табличное пространство по умолчанию. Обычно, если есть несколько табличных пространств, администратор должен установить табличное пространство по умолчанию при создании нового пользователя, такого какCREATE USER myuser IDENTIFIED BY mypass DEFAULT TABLESPACE onetablespace

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.