Oracle
 sql >> база данни >  >> RDS >> Oracle

ORA-00838

Онзи ден се сблъсках с интересен проблем, който ми отне известно време да поправя. Опитвах се да стартирам непроизводствена база данни и получих тази грешка:

ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 1428M
ORA-01078: failure in processing system parameters

Като начало, документацията на Oracle за моята версия казва, че минималната стойност за MEMORY_TARGET е 512 MB, но горната грешка ми казва, че трябва да използвам по-голяма стойност. Така че следващата логична стъпка е да получите помощ за това съобщение за грешка.

[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.

Е това е интересно. Ето моето съдържание на 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'

Забележете, че не посочвам SGA_TARGET или PGA_AGGREGATE_TARGET. Така че помощното съобщение за грешка не беше от полза тук. След като реших проблема, открих, че някой е променил файла ми с параметри.

*.processes=1600

Това е малка непроизводствена база данни. Моят MEMORY_TARGET е само 1GB. И така, защо PROCESSES е зададен на толкова голяма стойност? Когато върнах това на много по-малка стойност от 600, екземплярът нямаше проблеми със стартирането. Броят на процесите определя броя на сесиите, което налага по-висок SGA. Първоначалното съобщение за грешка беше правилно, но не даде улики защо е съществувал проблемът.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да направя топ 1 в Oracle?

  2. ORA-00911:невалиден знак

  3. Как да експортирате резултата от заявката в Excel в Oracle SQL Developer?

  4. KGXGN грешка при анкетиране (15)

  5. Oracle PL/SQL получава IP на сървъра v4?