На рисунке представлена структурная схема экземпляра Oracle. Давайте разберем отдельные его компоненты.
Для настройки экземпляра Oracle, в соответствии с назначением и особенностями использования конкретной схемы, существует множество параметров и методик. Настройка экземпляра это, как правило, итерационный процесс. Вы начинаете с априори (слова то, какие умные) приемлемых значений параметров, а затем по мере накопления опыта эксплуатации (после того, например как он у вас завалится раза три, четыре, потому, что ручки шаловливые) уточняете их значения. Настройка включает внесение необходимых изменений в параметры, хранящиеся в файле init.ora.
В этом файле имеется большое число параметров, многие из которых не документированы, но это иногда не мешает, особо ретивым, поэкспериментировать с ними! :) Но я бы, советовал воспользоваться системным представлением x$ksppi. Давайте дадим такой запрос:
SELECT k.ksppinm, k.ksppdesc FROM x$ksppi k /
Например на моей БД я получил в ответ следующее:
SQL> SELECT k.ksppinm, k.ksppdesc FROM x$ksppi k 2 / KSPPINM KSPPDESC ----------------------------- ---------------------------------------------------------------- _trace_files_public Create publicly accessible trace files _spin_count Amount to spin waiting for a latch _latch_miss_stat_sid Sid of process for which to collect latch stats _max_sleep_holding_latch max time to sleep while holding a latch _max_exponential_sleep max sleep during exponential backoff _latch_wait_posting post sleeping processes when free latch _latch_recovery_alignment align latch recovery structures _use_vector_post use vector post processes user processes sessions user and system sessions timed_statistics maintain internal timing statistics timed_os_statistics internal os statistic gathering interval in seconds resource_limit master switch for resource limit license_max_sessions maximum number of non-system user sessions allowed license_sessions_warning warning level for number of non-system user sessions _session_idle_bit_latches one latch per session or a latch per group of sessions _single_process run without detached processes cpu_count number of cpu's for this instance _number_cached_attributes maximum number of cached attributes per instance instance_groups list of instance group names . . . KSPPINM KSPPDESC ----------------------------- --------------------------------------------------------------- _domain_index_dml_batch_size maximum number of rows for one call to domain index dml routines aq_tm_processes number of AQ Time Managers to start hs_autoregister enable automatic server DD updates in HS agent self-registration 443 строк выбрано.
Впечатляет количество параметров? Я думаю да! Поле KSPPDESC, содержит краткое описание каждого параметра. Обратите внимание, что недокументированные параметры, как правило начинаются с символа "_" ! Будьте очень осторожны при изменении этих параметров, если не представляете, что они делают. Можете кстати вернуться к шагу 20 там, последний запрос показывал содержимое файла init.ora при обращении к системному представлению v$parameter, примерно что-то вроде:
SELECT a.name, a.value FROM v$parameter a ORDER BY a.name / . . NAME VALUE ---------------------------------------------------------------- -------- db_block_lru_latches 1 db_block_max_dirty_target 49285 db_block_size 8192 db_domain com db_file_direct_io_count 64 db_file_multiblock_read_count 8 db_file_name_convert db_files 1024 dblink_encrypt_login FALSE db_name proba dbwr_io_slaves 0 db_writer_processes 1 disk_asynch_io TRUE distributed_transactions 10 dml_locks 264 . .
Большинство настроек экземпляра связано с компонентами в SGA. Однако кроме них, существуют и некоторые опции настройки, касающиеся фоновых процессов и процессов пользователей. Далее мы будем возвращаться к нашему рисунку еще несколько раз, по этому советую его просто распечатать и держать под рукой! :)