Як визначається простір таблиць за замовчуванням при створенні таблиці?


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.