Estou tentando criar um índice para uma tabela relativamente grande (80 milhões de linhas).
Primeiro, recebi um erro ORA-01652 , depois procurei no SO e encontrei uma pergunta relacionada.
No entanto, tentando implementar as etapas mencionadas lá, recebi um erro ORA-02195 : Tentativa de criar objeto PERMANENTE em um espaço de tabela TEMPORARY .
Se o índice for um objeto permanente e não puder ser criado em um tablespace temporário, como devo entender esta parte do manual do Oracle?
Obrigado.
Tabelas e índices são criados no tablespace users, que é
USERS
o padrão. Um tablespace temporário,TEMP
por padrão, é utilizado pelo oracle para ordenar grande quantidade de dados em disco. O espaço de tabela temporário é normalmente usado para processar junções, ordenar ou criar índices.Como o espaço de tabela padrão
TEMP
não é grande o suficiente para criar um índice grande, seu exemplo cria um espaço de tabela temporário grandets_tmp
apenas para fins de criação de índice e o descarta posteriormente.Ao criar o índice com o
CREATE UNIQUE INDEX ... TABLESPACE ...
comando, não usets_tmp
naTABLESPACE
cláusula. Isso vai te darAttempt to create PERMANENT object in a TEMPORARY tablespace error
.Não use a
TABLESPACE
cláusula, então o tablespace defualt users será usado. Ou dê um nome de tablespace que foi criado com umCREATE TABLESPACE
comando.