Предисловие
Благодарности
Введение ...
Часть I Метод
1 Введение в управление производительностью Oracle 3
Что такое настройка? 6
Почему необходима настройка? 7
Кто должен заниматься настройкой? 8
Сколько требуется вести настройку? 9
Не пора ли остановиться? 10
2 Метод, стоящий за безумием 13
Почему нужно заботиться о методологии настройки? 16
Что такое хорошая методология настройки? 18
Методология настройки производительности Oracle 101 19
Поставьте разумные цели настройки производительности 20
Измерьте и задокументируйте текущую производительность 22
Идентифицируйте узкие места производительности Oracle
на текущий момент 30
Захват событий ожидания в файлы трассировки 45
Идентифицируйте текущие узкие места ОС 46
Настраиваем требующийся компонент 54
Отследите и выполните процедуры контроля изменений 55
Измерьте и задокументируйте текущую производительность 55
Повторяйте шаги с 3 по 7 до тех пор, пока не будут
достигнуты цели настройки 55
Итоги 55
Часть II
Настройка приложения
3 Настройка приложения — вопросы, относящиеся
к ведению АБД 59
История об оптимизаторе Oracle 62
Старший сын: оптимизатор, основанный на системе правил 63
На чем сказывалась негибкость оптимизатора, основанного
на системе правил? 64
Оптимизатор, основанный на системе правил, и компилятор С:
взгляд эксперта 65
Новорожденный: стоимостный оптимизатор 66
Процесс взросления стоимостного оптимизатора 67
Добрые старые времена: оптимизатор, основанный
на системе правил 67
Возврат стоимостного оптимизатора 67
Стоимостный оптимизатор взрослеет 68
Установки параметров инициализации для использования
оптимизатора Oracle 68
Что такое "подсказка"? 69
Какой оптимизатор используется? 70
Вычисление статистики объектов 72
Зачем требуется собирать статистику? 72
Как вычислять статистику? 72
Сколько требуется статистики? 73
Различные методы вычисления статистики объектов 74
Как часто нужно вычислять статистику? 78
Вопросы, связанные с вычислением статистики объектов 79
Оптимальные стратегии индексирования . . . .... .79
Что такое индекс? 79
Когда использовать индексы? 80
Как строить оптимальные индексы 81
Когда необходимо перестраивать индексы? 85
Какими методами соединения и когда можно пользоваться 88
Как не стоит писать SQL '. 89
Начало оптимального SQL 98
Как способствовать созданию оптимальных SQL . 99
4 Настройка приложения — отслеживание
"плохих" операторов SQL 105
Процесс настройки операторов SQL 107
Как отслеживать SQL? 107
Где расположен нужный файл трассировки и как его найти? 111
"Выполнение tkprof для файлов трассировки. 112
Интерпретация выходных результатов tkprof
Oracle — каков ваш план
Как получить ПД Oracle? 117
У нас есть план, может ли кто-нибудь помочь его прочесть? 118
Часть III
Настройка экземпляра и базы данных
-
Настройка экземпляра — область коллективного пула 123
Архитектура Oracle 126
Системная глобальная область 127
Фоновые процессы 131
Процесс сервера 134
Синтаксический анализ SQL: что происходит при нажиме
на клавишу ENTER? 136
Жесткая и мягкая разборки 138
Разбирать или не разбирать: вот в чем вопрос 139
Параметры инициализации и коллективный пул 139
Конфигурирование пулов 140
Коллективный пул 141
Большой пул 141
Пул Java ' 142
Настраиваем экзотическую SPA 143
Фрагментация коллективного пула: проективное управление
ошибкой ORA-04031 151
Чтовызываетфрагментациюколлективногопупа?. 151
Ошибка ORA-04031 в Oracle 7.3 и более поздних версиях 153
События ожидания, влияющие на область коллективного пула 154
6 Настройка экземпляра — буферный кэш базы данных 157
Что такое пятиминутное правило кэширования или теперь уже,
наверное, десятиминутное? 160
Как работает буферный кэш базы данных 161
Управление буферным кэшем базы данных до появления Oracle8i . . 161 Управление буферным кэшем базы данных в Oracle8i
и последующих версиях 164
Конфигурирование буферных пулов 165
Пул по умолчанию. V 166
Пул сохранения 166
Пул повторного использования 167
Назначение объектов пулу 168
Использование опции cache 168
Анализ кэша буфера базы данных
Коэффициент попадания в кэш
Что находится в буферном кэше базы данных?
События ожидания, влияющие на буферный кэш базы данных
Разрешение проблемы
Параметры инициализации, влияющие на буферный кэш-
базы данных . . .
базы данных . . .
Настройка экземпляра — буфер журнала обновлений
Конфигурируем буфер журнала обновлений
Параметры инициализации, влияющие на буфер журнала
обновлений
обновлений
События ожидания, влияющие на буфер журнала обновлений . . .
Решение вопросов, связанных с буфером журнала обновлений . .
Прочая настройка экземпляра
Прочая настройка экземпляра
Контрольные точки
Файлы журнала обновлений
Архивирование
Параметры инициализации для прочей настройки экземпляра
Настройка оптимизатора Oracle
Настройка оптимизатора Oracle
Параметры инициализации, настраивающие поведение
оптимизатора
Настройка базы данных 197
Выбор правильного размера блока базы данных . . . .' 200
Как размер блока базы данных влияет на производительность .... 200
Как оптимально выбрать размер блока базы данных Oracle? 201
Изменение размера блока базы данных: основные вопросы 205
Малые размеры блоков против больших:
интересные перспективы 205
Конфигурирование параметров хранения уровня блока 207
Конфигурируем pctused 207
Конфигурируем pctfree 208
Конфигурируем initrans 209
Конфигурирование maxtrans 210
Конфигурирование freelists ' 211
Проектирование, конфигурирование и настройка
табличных пространств 212
Метод четырех областей памяти при конфигурировании
табличных пространств 213
Конфигурируем временные табличные пространства .219
Глобальные временные таблицы и временные
табличные пространства 220
Конфигурирование локально управляемых
табличных пространств 221
Секционирование базы данных для достижения
лучшей производительности 223
Функциональные преимущества секционирования 224
Основные соображения при секционировании базы данных 225
Конфигурируемые параметры инициализации 228
Вопросы настройки для гибридных баз данных 229
Вопросы настройки для баз данных хранилищ данных 230
Часть IV
Специализированная настройка
9 Настройка параллельных запросов 235
Что такое параллелизм 236
Когда использовать параллельные запросы 237
Как использовать параллелизм 238
Операторы SQL, выигрывающие от применения параллелизма . . . 243
Параметры инициализации, влияющие на параллелизм 245
Взаимодействие между параметрами PARALLEL_MIN_SERVERS,
, PARALLEL_MAX_SERVERS и PARALLEL_MIN_PERCENT 247
Проектирование базы данных для параллелизма 249
Соображения о параллельном DML 251
PDML и конфигурирование сегментов отката 251
PDML и восстановление экземпляра 252
Ограничения и проблемы PDML 253
Мониторинг параллельных запросов 254
10 Настройка конкуренции 257
Проверяем Oracle на конкуренцию 259
Сегменты отката: почему, как и как много? 260
Многоверсионная согласованность по чтению 260
Как работает многоверсионная совместимость? 261
Создание и развенчание мифа о переносах 263
Обнаружение конкуренции за сегмент отката 266
Понимание использования сегментов отката 269
Как конфигурировать сегменты отката 270
Какой размер выбрать для сегментов отката? 271
Как избежать ош ибки "OR А-01555 - Snapshot too old" .274
Проективное управление конкуренцией для временных сегментов . 277
Конкуренция временных сегментов 277
Мониторинг использования временных сегментов
в табличных пространствах 279
Защелки 281
Настройка ввода/вывода 287
Что такое RAID.
Чем RAID не является
Почему нужно заботиться о RAID
Три основные концепции RAID
Чтотакоестрайпинг.
Что такое зеркалирование
Контроль четности ..
Собираем все это вместе
Типы RAID
Уровни RAID 296
Oracle и RAID 303
Основы конфигурирования дисковых массивов 308
Основы страйпинга дисков 309
Шаги по созданию томов со страйпингом, часть 1 311
Конфигурирование ширины полосы страйпинга 312
' Шаги по созданию томов со страйпингом, часть 2 314
Конфигурирование операционной системы 315
"Религиозные" дебаты: неформатированные устройства
против файловых систем 316
Асинхронный ввод/вывод 317
Конфигурируем базу данных на оптимальное размещение
317 Разделение объектов, к которым идут одновременные
обращения 317
'Отделите данные от ассоциированных с ними индексов ........ 318
Совместное существование табличных пространств
отката и временных табличных пространств 318
Разделение "горячих" объектов в табличном пространстве 319
Как нужно распределять данные? 319
Параметры инициализации, влияющие На производительность
ввода/вывода 320
RAID и базы данных Oracle: основные вопросы. 321
Примеры конфигураций RAID ...... 323
Настройка операционной системы
Настройка ОС: общие вопросы
Конфигурируем адекватную RAM для нашей системы. . .
Разумный метод выделения памяти .
Настройка буферного кэша файловой системы
Настройка пространства свопинга настраиваемой системы.
' Блокировка (закрепление) SGA Oracle в памяти
Настраиваем ядро UNIX
Настройка Solaris 340
Асинхронный ввод/вывод 341
Блокировка SGA в памяти 342
Настройка демона подкачки страниц 343
Настройка AIX ■ 344
Асинхронный ввод/вывод 344
Блокировка SGA в памяти 347
Настройка демона подкачки страниц 348
Настройка HP-UX • • • - • • 350
Асинхронный ввод/вывод 352
Блокировка SGA в памяти 352
Настройка буферного кэша файловой системы 353
Управление процессом настройки 354
Настройка Windows NT 355
Увеличение доступной Windows NT памяти 356
Уменьшение приоритета приложений переднего плана 357
Удаление неиспользуемых сетевых протоколов
и переустановка порядка связывания 357
Конфигурирование Windows NT как сервера базы данных 359
Конфигурируем "No Windows Dressing"
Что такое старт запуска (startup starting)? 359
Настройка виртуальной памяти и файла подкачки страниц 360
13 А теперь сделаем красивую обертку 361
Настройка производительности Oracle: резюме 362
Что такое управление производительностью Oracle? 362
Метод, стоящий за безумием 362
Настройка приложения: замены нет 364
Настройка области коллективного пула 365
Настройка буферного кэша базы данных 366
Буфер журнала обновлений и прочая настройка 367
Настройка базы данных 368
Настройка параллельных запросов 369
Настройка конкуренции 370
Настройка ввода/вывода .,372
Настройка операционной системы 374
Вся книга... в ореховой скорлупе 375
Часть VI
Приложения
Л Глоссарий 379
В Дополнительные советы и ресурсы 393
С Ссылки 405
< Предыдущая | Следующая > |
---|