ORACLE XE – ORA-12953: The request exceeds the maximum allowed database size of 11 GB

Você é desenvolvedor e tem um Oracle XE instalado na sua máquina para facilitar os seus testes. Em mais um dia comum de trabalho você recebe a seguinte mensagem:

ORA-12953: The request exceeds the maximum allowed database size of 11 GB

É… chegou a hora de limpar a sua base de dados local. Primeiro, você deve limpar mesmo os dados das tabelas que você não utiliza mais usando os velhos comandos DELETE ou TRUNCATE. Mas, isso não será o suficiente, pois, o Oracle XE considera o espaço já alocado pelos seus databases, mesmo quando as tabelas estão vazias. É agora que esse artigo vai ajudar, pois, aqui tem os comandos certos para limpar o espaço alocado pelos databases da sua máquina.

O comando a seguir serve para você consultar o espaço ocupado pelos database do seu Oracle XE:
(Os comandos só funcionam com privilégios de SYSDBA)

select file_id, tablespace_name, (bytes/1048576) as MB from dba_data_files d;

O resultado é algo semelhante a isso:

FILE_ID TABLESPACE_NAME MB
4 USERS 7160
3 UNDOTBS1 9341
2 SYSAUX 770
1 SYSTEM 370
5 TS_MEUDB1 2048
6 TS_MEUDB2 100
7 TS_TESTE 15
8 TS_INTC 15
9 TS_JMS 50
10 TS_CLTC 20

No caso acima, o tablespace “UNDOTBS1” está muito grande. Para diminuir a alocação dele para 5 gigabaytes, basta executar o seguinte comando passando o seu FILE_ID:


alter database datafile 3 resize 5G;

Você também deve diminuir o espaço alocado pelas outros tablespaces do seu Oracle XE que você tenha realizado DELETEs ou TRUNCATEs.


alter database datafile 5 resize 15M;

Gostou da dica? Deixe um comentário. Certamente isso irá me incentivar a escrever mais artigos como este.

Abraço!
Sergio Figueiredo

2 thoughts on “ORACLE XE – ORA-12953: The request exceeds the maximum allowed database size of 11 GB”

Deixe uma resposta

O seu endereço de e-mail não será publicado.