Таблица не создана в определенном табличном пространстве — Oracle

Я являюсь умеренным пользователем Oracle, и мне пришлось создать некоторые таблицы в указанном табличном пространстве, как показано ниже.

create table t_abc tablespace abc_tbspc as select * from abc;
create table t_xyz tablespace abc_tbspc as select * from xyz;

После запуска этих заданий (файл, содержащий около 5 таблиц, которые нужно создать в одном табличном пространстве), я увидел, что таблица t_abc создается в abc_tbspc ; но таблице t_xyz присваивается значение null, когда я запрашиваю all_tables. Не уверен, почему вторая таблица не создается в указанном табличном пространстве, хотя в табличном пространстве достаточно места.


person chill3chee    schedule 02.12.2014    source источник


Ответы (1)


TABLESPACE_NAME будет нулевым по одной из следующих причин:

  1. Временные Временные таблицы используют временное табличное пространство.
  2. Организованный по индексу Таблицы, организованные по индексу, хранят данные в индексе, а не в куче.
  3. Раздельно У каждого раздела может быть свое табличное пространство, не обязательно одно табличное пространство для всей таблицы.
  4. Внешние Внешние таблицы не хранят свои данные в табличном пространстве.

Ваш код не должен не соответствовать одному из приведенных выше условий; вы упустили некоторые детали? Я выполнил запрос ниже, чтобы найти другие случаи, когда TABLESPACE_NAME имеет значение null, но не смог найти ни одного.

select *
from dba_tables
where tablespace_name is null
    and (temporary is null or temporary <> 'Y')              -- #1
    and (iot_type is null or iot_type <> 'IOT')              -- #2
    and (partitioned is null or partitioned <> 'YES')        -- #3
    and (owner, table_name) not in                           -- #4
        (select owner, table_name from dba_external_tables)
person Jon Heller    schedule 02.12.2014
comment
Спасибо. Да, таблица была разделена на разделы и также могла получить информацию о табличном пространстве для разделенных таблиц из dba_segments. - person chill3chee; 04.12.2014