Tenho apenas 2% livre no tablespace UNDOTBS1. Consiste em 2 arquivos de dados.
Quando eu lançar
alter database datafile '+DATADF/dbname/datafile/undotbs1.555.23454732' resize 32G;
Eu obtive :
ORA-01144: O tamanho do arquivo (4194304 blocos) excede o máximo de 4194303 blocos
Como posso estender este tablespace?
Você tem duas opções.
Seu limite atual com smallfiles é 2G. Como você pode ver, o limite é de 4194303 blocos, que é 4194303 x 512 bytes de tamanho de bloco = 2.147.483.136 bytes = 2G.
Monte seus sistemas de arquivos com a opção -largefiles, que permitirá criar 32G e superior.
Você só pode adicionar arquivos de dados 2G.
A opção -largefiles tem sido o padrão há muitos anos, então não deve haver um problema para o seu administrador unix alterar isso.
Acho que o problema é que, por alguma estranha razão nos cálculos de espaço interno da Oracle, " 32G " simplesmente não funciona aqui.
" 32000K " funcionará perfeitamente bem, embora possa ser um pouco menor do que você gostaria.
Como alternativa, basta adicionar um terceiro arquivo de dados de qualquer tamanho que desejar.
Esqueça as opções de montagem do sistema de arquivos e
32000M
(não32000K
).A primeira não tem nada a ver com isso.
32000M
também não é o tamanho máximo, e esses tamanhos de arquivo vêm da falta de compreensão dos limites do banco de dados físico: Limites do banco de dados físicoUm arquivo de dados de tablespace smallfile pode conter
2^22-1 * database block size
bytes. Com o tamanho de bloco padrão de 8192 bytes, isso significa4194303 * 8192 = 34359730176
bytes, enquanto32G = 34359738368
bytes.Portanto, isso deve funcionar com o tamanho de bloco padrão de 8192 bytes em um tablespace smallfile:
Se você atingir esse limite, poderá adicionar o próximo arquivo de dados ao tablespace, exemplo:
Onde ilimitado também significa o
2^22-1 * database block size
limite.