В первой части статей рассматривались пути извлечения недокументированных пакетов, рекомендаций, утилит и выполняемых модулей из Оракла. В этой части рассмотрим некоторые пути, где недокументированные параметры используются с целью помочь специалистам Oracle в управлении и настройке их систем.
Компания Oracle делает большую оговорку, что недокументированная инициализация параметров обычно только используется в непредвиденных случаях.
Невозможно рассмотреть более 100 недокументированными параметров в одной статье. Давайте рассмотрим в первую очередь параметры связанные с производительностью.
Для специализированных задач, таких как настройка базы данных,  невозможно определить недокументированные (скрытые параметры). Необходимо тщательно протестировать все недокументированные параметры и получить разрешение технической  поддержки компании Oracle перед их использованием в работе.
Параметры внутренней блокировки
- _db_block_hash_buckets - по умолчанию 2x db_block_buffers, ближайшее простое число должно приниматься значение до 2х db_block_buffers 
- _db_block_hash_latches - по умолчанию 1024 , но лучше иногда проставлять  значение 32768 
- _kgl_latch_count - по умолчанию =0, которое означает 1+количество CPU. Сопоставления данных блокировки может зачастую может быть сокращено переустановкой параметра на значение 2*CPU+1 
- _latch_spin_count - этот параметр показывает, как часто выполняется запрос внутренней блокировки 
- _db_block_write_batch - Прежде документированный параметр, на данный момент недокументированный. Данный параметр - это количество блоков, которые разработчики баз данных включат в каждый пакет. По умолчанию параметр равен 512 или db_files*db_file_simultaneous_writes/2 до лимита 1/4значения параметра db_cache_size 
Параметры параллельных запросов
Данные параметры - это эффективное средство для улучшения скорости поиска больших и заполненных таблиц,  некоторые пользователи DBA осведомлены, что существуют дюжины скрытых параметров, которые можно изменить для изменения характера параллельных запросов. Ниже приведен запрос для отображения параметров:
COLUMN parameter                FORMAT a37
COLUMN description               FORMAT a30 WORD_WRAPPED
COLUMN "Session VALUE"     FORMAT a10
COLUMN "Instance VALUE"    FORMAT a10
SET LINES 100 PAGES 0
 
SELECT
   A.KSPPINM  "Parameter",
   A.KSPPDESC "Description",
   B.KSPPSTVL "Session Value",
   C.KSPPSTVL "Instance Value"
FROM
   X$KSPPI A,
   X$KSPPCV B,
   X$KSPPSV C
WHERE
   A.INDX = B.INDX
   AND 
   A.INDX = C.INDX
   AND
   A.KSPPINM LIKE '/_parallel%' escape '/'
SPOOL OFF
Этот скрипт запускается под пользователем SYS, потому что только пользователь SYS имеет доступ к внутренним таблицам X$.
NAME                                VALUE
----------------------------------- ------------------------------
_parallel_adaptive_max_users        1
_parallel_default_max_instances     1
_parallel_execution_message_align   FALSE
_parallel_fake_class_pct            0
_parallel_load_bal_unit             0
_parallel_load_balancing            TRUE
_parallel_min_message_pool          64560
_parallel_recovery_stopat           32767
_parallel_server_idle_time          5
_parallel_server_sleep_time         10
_parallel_txn_global                FALSE
_parallelism_cost_fudge_factor      350
Наиболее важен это параметр _parallelism_cost_fudge_factor. Данный параметр определяет выполнение параллельного запроса путем вызова затратного SQL оптимизатора, когда значение параметра parallel_automatic_tuning=true. Путем настройки параметров можно контролировать пороговую величину вызова параллельных запросов.
Сейчас рассмотрим некоторые общие недокументированные параметры DBA. Ниже указаны наиболее распространенные  недокументированные параметры, используемые в администрировании.
Недокументированные параметры повреждения
Данные параметры позволяют игнорировать разрушение блоков данных, когда база данных повреждена. Эти параметры необходимо использовать только в экстренных случаях.
- _allow_resetlogs_corruption - Данный параметр может использоваться только в случае открытия резервных копий без настроек резервирования в табличном пространстве 
- _corrupted_rollback_segments - Единственный способ  стартовать без повреждений публичных сегментов отката. Этот недокументированный параметр может быть использован не боясь потери поддержки 
- _allow_read_only_corruption - Этот параметр позволяет открыть базу данных даже если она повреждена. Данный параметр следует использоваться для экспорта большого кол-ва данных из поврежденной базы данных как только возможно перед созданием базы данных. Базу данных открытую  данным способом не следует использовать в рабочем виде, поскольку она не будет поддерживаться 
- _corrupt_blocks_on_stuck_recovery -Данный параметр иногда полезен в получении поврежденных стартовых данных базы данных. Тем не менее, можно она не будет поддерживаться без одобрения компании Oracle. Как только экспорт таблиц сделан и перестроен база данных может быть использована 
Недокументированные параметры SQL оптимизатора
Данные параметры контролируют внутренние характер SQL оптимизатора по стоимости (CBO).
- _fast_full_scan_enabled - данный параметр позволяет  или запрещает быстрый полный поиск по индексам, если только индексы требуются для разрешения выполнения запросов 
- _always_star_transformation - данный параметр помогает настраивать (редактировать) запросы  хранилища данных, чтобы хранилище было должным образом разработано 
- _small_table_threshold - Этот параметр устанавливает размер описания небольшой таблицы. Небольшая таблица автоматически закрепляет в буферы при необходимости. По умолчанию равен 2 в Oracle 9i