Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

ORA-01652:incapaz de estender o segmento temporário em 128 no tablespace SISTEMA:Como estender?


Cada tablespace tem um ou mais arquivos de dados que ele usa para armazenar dados.

O tamanho máximo de um arquivo de dados depende do tamanho do bloco do banco de dados. Eu acredito que, por padrão, isso deixa você com um máximo de 32 GB por arquivo de dados.

Para descobrir se o limite real é de 32 GB, execute o seguinte:
select value from v$parameter where name = 'db_block_size';

Compare o resultado obtido com a primeira coluna abaixo e isso indicará qual é o tamanho máximo do seu arquivo de dados.

Eu tenho o Oracle Personal Edition 11g r2 e em uma instalação padrão ele tinha um tamanho de bloco de 8.192 (32 GB por arquivo de dados).
Block Sz   Max Datafile Sz (Gb)   Max DB Sz (Tb)

--------   --------------------   --------------

   2,048                  8,192          524,264

   4,096                 16,384        1,048,528

   8,192                 32,768        2,097,056

  16,384                 65,536        4,194,112

  32,768                131,072        8,388,224

Você pode executar esta consulta para descobrir quais arquivos de dados você possui, quais tablespaces eles estão associados e para qual você definiu o tamanho máximo do arquivo (que não pode exceder os 32 gb mencionados):
select bytes/1024/1024 as mb_size,
       maxbytes/1024/1024 as maxsize_set,
       x.*
from   dba_data_files x

MAXSIZE_SET é o tamanho máximo para o qual você definiu o arquivo de dados. Também relevante é se você definiu a opção AUTOEXTEND como ON (seu nome faz o que implica).

Se o seu arquivo de dados tiver um tamanho máximo baixo ou o autoextend não estiver ativado, você pode simplesmente executar:
alter database datafile 'path_to_your_file\that_file.DBF' autoextend on maxsize unlimited;

No entanto, se seu tamanho estiver próximo a 32 GB, um autoextend estiver ativado, sim, você precisará de outro arquivo de dados para o tablespace:
alter tablespace system add datafile 'path_to_your_datafiles_folder\name_of_df_you_want.dbf' size 10m autoextend on maxsize unlimited;