2016-10-06 1 views
0

Je suis en train de charger les tables dans la base de données Oracle en mémoire. J'ai activé les tables pour INMEMORY en utilisant sql + commande ALTER TABLE table_name INMEMORY. La table contient également des données, c'est-à-dire que la table est remplie. Mais quand j'essaie d'utiliser la commande SELECT v.owner, v.segment_name name, v.populate_status status from v$im_segments v;, cela montre no rows selected.en segments remplir des tables Oracle en mémoire

Quel peut être le problème?

Répondre

0

Avez-vous envisagé cela?

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

Population de la banque IM de colonne en réponse aux requêtes Réglage de l'attribut InMemory sur un objet signifie que cet objet est un candidat pour la population dans le magasin de colonne IM, pas que la base de données Remplit immédiatement l'objet en mémoire.

Par défaut (priorité InMemory est réglé sur NONE), la population retarde la base de données d'une table dans le magasin de colonne IM jusqu'à ce que la base de données considère utile. Lorsque l'attribut INMEMORY est défini pour un objet, la base de données peut choisir de ne pas matérialiser toutes les colonnes lorsque la base de données détermine que la mémoire est mieux utilisée ailleurs. En outre, le magasin de colonnes de messagerie instantanée peut remplir un sous-ensemble de colonnes d'une table.

Vous avez probablement besoin d'exécuter une sélection contre la première date