В нашей компании есть несколько баз данных. Среди них oracle 12 c (12.2.0.1.0, если быть точным), но у нас нет (квалифицированных) oracle администраторов баз данных. Производительность резко ухудшилась за последние 6 месяцев или около того, и теперь у меня есть задача выяснить, почему. Мое исследование показало, что мне следует увеличить некоторые параметры памяти в файле initDBN.ora. Вот как выглядел оригинал:
DBN.__data_transfer_cache_size=0
DBN.__db_cache_size=50331648
DBN.__inmemory_ext_roarea=0
DBN.__inmemory_ext_rwarea=0
DBN.__java_pool_size=79691776
DBN.__large_pool_size=8388608
DBN.__oracle_base='/orabin/app/oracle'#ORACLE_BASE set from environment
DBN.__pga_aggregate_target=197132288
DBN.__sga_target=734003200
DBN.__shared_io_pool_size=12582912
DBN.__shared_pool_size=536870912
DBN.__streams_pool_size=4194304
*.audit_file_dest='/orabin/app/oracle/admin/tmf/adump'
*.audit_trail='db'
*.compatible='12.2.0'
*.control_files='/orabin/app/oracle/oradata/tmf/control01.ctl','/orabin/app/oracle/fast_recovery_area/tmf/control02.ctl'
*.db_16k_cache_size=8388608
*.db_32k_cache_size=8388608
*.db_4k_cache_size=8388608
*.db_block_size=8192
*.db_domain='ubs-hainer.com'
*.db_name='tmf'
*.db_recovery_file_dest='/orabin/app/oracle/fast_recovery_area/tmf'
*.db_recovery_file_dest_size=4096m
*.diagnostic_dest='/orabin/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=TMFXDB)'
*.local_listener='LISTENER_TMF'
*.memory_max_target=0
*.nls_language='GERMAN'
*.nls_territory='GERMANY'
*.open_cursors=300
*.pga_aggregate_target=188m
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=700m
*.shared_pool_size=536870912
*.streams_pool_size=4194304
*.undo_tablespace='UNDOTBS1'
Пожалуйста, не обвиняйте меня в этом, потому что я его не писал. Это, конечно, не похоже на образец init.ora, и я не совсем уверен, откуда взялся синтаксис. Я изменил следующие значения:
- DBN .__ sga_target = 1024 м
- *. Sga_target = 1024 м
- *. Memory_max_target = 1408 м
- DBN. __pga_aggregate_target = 384m и * .pga_aggregate_target = 384m
Это порядок, в котором я внес изменения. После каждого изменения я использовал sqlplus, чтобы сначала воссоздать spffile с:
create spfile='spfileDBN.ora' from pfile='initDBN.ora';
За этим последовала попытка запустить базу данных с startup nomount
. В каждом случае я получал сообщение об ошибке, которое побуждало меня сделать следующее изменение.
Наконец-то я получил ошибку, которая указана в заголовке этого сообщения. Когда я попытался найти информацию по этому поводу, результаты были мрачными. В основном информация касалась других параметров и не объясняла, что на самом деле означает эта ошибка. Единственное, что давало реальную предысторию, - это ссылка на Burleson Consulting . Это не помогло мне решить проблему, поэтому я решил вернуть файл initDBN.ora и провести дополнительное исследование. Медленная база данных обычно лучше, чем ее отсутствие.
Но привет! Я по-прежнему получаю ту же ошибку, даже после повторного обращения к исходному файлу инициализации. Я уже в отчаянии. Понятия не имею, как это исправить. Из того, что я читал на сегодняшний день, установка «переменных подчеркивания» в вашем файле инициализации - это «НЕТ НЕТ».
Может ли кто-нибудь дать мне несколько полезных советов, как избавиться от этой ошибки?