Заполнение таблиц в сегментах памяти Oracle

Я пытаюсь загрузить таблицы в базу данных оракула в памяти. Я включил таблицы для INMEMORY с помощью команды sql+ ALTER TABLE table_name INMEMORY. Таблица также содержит данные, т.е. таблица заполнена. Но когда я пытаюсь использовать команду SELECT v.owner, v.segment_name name, v.populate_status status from v$im_segments v;, она показывает no rows selected.

В чем может быть проблема?


person kadsank    schedule 06.10.2016    source источник


Ответы (1)


Вы обдумывали это?

https://docs.oracle.com/database/121/CNCPT/memory.htm#GUID-DF723C06-62FE-4E5A-8BE0-0703695A7886

Заполнение хранилища столбцов IM в ответ на запросы Установка атрибута INMEMORY для объекта означает, что этот объект является кандидатом на заполнение хранилища столбцов IM, а не то, что база данных немедленно заполняет объект в памяти.

По умолчанию (INMEMORY PRIORITY имеет значение NONE) база данных откладывает заполнение таблицы в хранилище столбцов IM до тех пор, пока база данных не сочтет это полезным. Когда для объекта установлен атрибут INMEMORY, база данных может решить не материализовывать все столбцы, если она решит, что память лучше использовать в другом месте. Кроме того, хранилище столбцов IM может заполнять подмножество столбцов из таблицы.

Вам, вероятно, нужно сначала запустить выбор по дате

person David Aldridge    schedule 06.10.2016