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

ORA-00838


Encontrei um problema interessante no outro dia que demorei um pouco para corrigir. Eu estava tentando iniciar um banco de dados de não produção e recebi este erro:
ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 1428M
ORA-01078: failure in processing system parameters

Para começar, a documentação do Oracle para minha versão diz que o valor mínimo para MEMORY_TARGET é 512 MB, mas o erro acima está me dizendo que preciso usar um valor maior. Portanto, o próximo passo lógico é obter ajuda para esta mensagem de erro.
[oracle@host ~]$ oerr ora 838
00838, 00000, "Specified value of MEMORY_TARGET is too small, needs to be at least %sM"
// *Cause: The specified value of MEMORY_TARGET was less than the sum of the
// specified values for SGA_TARGET and PGA_AGGREGATE_TARGET.
// *Action: Set MEMORY_TARGET to at least the recommended value.

Bem, isso é interessante. Aqui está o meu conteúdo PFILE.
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='DB_EXTENDED'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/orcl/data01/control01.ctl','/u01/app/oracle/oradata/orcl/data02/control02.ctl','/u01/app/oracle/oradata/orcl/data03/control03.ctl'
*.db_block_size=8192
*.db_domain='naucom.com'
*.db_files=1100
*.db_name='orcl'
*.db_recovery_file_dest_size=214748364800
*.db_recovery_file_dest='/archivelog'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.event=''
*.job_queue_processes=10
*.memory_target=1048576000
*.open_cursors=300
*.processes=1600
*.remote_login_passwordfile='EXCLUSIVE'
*.sec_case_sensitive_logon=FALSE
*.undo_tablespace='UNDOTBS4'



Observe que não estou especificando SGA_TARGET ou PGA_AGGREGATE_TARGET. Portanto, a ajuda da mensagem de erro não ajudou aqui. Depois de resolver o problema, descobri que alguém havia alterado meu arquivo de parâmetros.
*.processes=1600

Este é um pequeno banco de dados de não produção. Meu MEMORY_TARGET tem apenas 1 GB. Então, por que PROCESSES é definido com um valor tão grande? Quando retornei para um valor muito menor de 600, a instância não teve problemas ao iniciar. O número de processos deriva do número de sessões, o que exige uma SGA mais alta. A mensagem de erro inicial estava correta, mas não forneceu pistas sobre o motivo da existência do problema.