Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Руководство по диагностике и устранению проблем в Oracle

Покупка
Артикул: 805526.02.99
Доступ онлайн
749 ₽
В корзину
Книга предоставляет исчерпывающие и актуальные рекомендации по обеспечению надежной и эффективной работы СУБД Oracle в сложных производственных корпоративных средах. Семь ведущих экспертов по Oracle объединили свои усилия, чтобы создать не имеющий аналогов сборник испытанных решений, практических примеров и пошаговых описаний процедур для Oracle версий 12c, 11g и более поздних. Каждое решение тщательно подготовлено, для того чтобы помочь опытным администраторам понять и устранить серьезные проблемы как можно быстрее. Рассмотрены сегменты LOB, пространства таблиц UNDO, циклы ожидания высоконагруженных буферов сборщика мусора, время задержек при ответах на запросы, конкуренция при блокировках, индексация, распределенные XA-транзакции, резервное копирование/восстановление RMAN и др. Описаны оптимизация языка определения данных, настройка механизма VLDB, исследование и тестирование баз данных, гибкая настройка совместного использования курсоров, извлечение больших объемов данных, перемещение данных, SSD, индексация, а также способы решения проблем с Oracle RAC. Издание предназначено администраторам баз данных, а также программистам, работающим с Oracle.
Руководство по диагностике и устранению проблем в Oracle : практическое руководство / Т. Фарук, М. Олт, П. Португал [и др.] ; пер. с англ. А. В. Снастина. - Москва : ДМК Пресс, 2018. - 498 с. - ISBN 978-5-97060-448-9. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2155880 (дата обращения: 18.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Тарик Фарук, Майк Олт, Пауло Португал, Мохамед Хури,  
Сайед Джаффар Хуссейн, Джим Чупрински, Гай Хэррисон

Руководство  
по диагностике и устранению  
проблем в Oracle
Tariq Farooq, Mike Ault, Paulo Portugal, Mohamed Houri, 
Syed Jaffar Hussain, Jim Czuprynski, Guy Harrison

Oracle Database Problem 
Solving and Troubleshooting 
Handbook

 
Boston • Columbus • Indianapolis • New York • San Francisco • Amsterdam • Cape Town 
Dubai • London • Madrid • Milan • Munich • Paris • Montreal • Toronto • Delhi • Mexico City  
São Paulo • Sidney • Hong Kong • Seoul • Singapore • Taipei • Tokyo
Тарик Фарук, Майк Олт, Пауло Португал, Мохамед Хури,  
Сайед Джаффар Хуссейн, Джим Чупрински, Гай Хэррисон

Руководство  
по диагностике  
и устранению проблем  
в Oracle

Москва, 2018
УДК004.65:004.451OracleDatabase
ББК32.973.34
Ф25

ФарукТ.,ОлтМ.,ПортугалП.,ХуриМ.,ХуссейнС.Дж.,Чупрински Дж.,ХэррисонГ.
Ф25 Руководство по диагностике и устранению проблем в Oracle / пер. с англ. А. 

В. Снастина. – М.: ДМК Пресс, 2018. – 498 с.: ил.

ISBN978-5-97060-448-9

Книга предоставляет исчерпывающие и актуальные рекомендации по обеспечению 
надежной и эффективной работы СУБД Oracle в сложных производственных корпоративных 
средах. Семь ведущих экспертов по Oracle объединили свои усилия, чтобы 
создать не имеющий аналогов сборник испытанных решений, практических примеров 
и пошаговых описаний процедур для Oracle версий 12c, 11g и более поздних. Каждое 
решение тщательно подготовлено, для того чтобы помочь опытным администраторам 
понять и устранить серьезные проблемы как можно быстрее.
Рассмотрены сегменты LOB, пространства таблиц UNDO, циклы ожидания высоко-
нагруженных буферов сборщика мусора, время задержек при ответах на запросы, конкуренция 
при блокировках, индексация, распределенные XA-транзакции, резервное 
копирование/восстановление RMAN и др. Описаны оптимизация языка определения 
данных, настройка механизма VLDB, исследование и тестирование баз данных, гибкая 
настройка совместного использования курсоров, извлечение больших объемов данных, 
перемещение данных, SSD, индексация, а также способы решения проблем с Oracle RAC.
Издание предназначено администраторам баз данных, а также программистам, 
работающим с Oracle.

УДК 004.65:004.451Oracle Database
ББК 32.973.34

Authorized translation from the English language edition, entitled Oracle Database Problem 
Solving and Troubleshooting Handbook; ISBN 0134429206; by Farooq, Tariq; and by Ault, Mike; and 
by Portugal, Paulo; and by Houri, Mohamed; and by Hussain, Syed Jaffar; and by Czuprinski, Jim; and 
by Harrison, Guy; published by Pearson Education, Inc., publishing as Addison-Wesley professional. 
Copyright © 2016 by Pearson Education, Inc.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any 
means, electronic or mechanical, including photocopying, recording or by any information storage 
retrieval system, without permission from Pearson Education, Inc. RUSSIAN language edition 
published by DMK PUBLISHERS, Copyright © 2017.
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой 
бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев 
авторских прав.

ISBN 978-0-13-442920-5 (анг.) 
ISBN 978-5-97060-448-9 (рус.) 

Copyright © 2016 Pearson Education, Inc.
© Оформление, издание, перевод, ДМК Пресс, 2018
Содержание

Предисловие ..........................................................................................................................14

Благодарности .......................................................................................................................16

Об авторах ..............................................................................................................................19

О технических рецензентах и прочих участниках проекта .....................................23

Глава 1. Диагностика и настройка производительности сегментов LOB .............25
Краткое описание типа данных LOB .......................................................................................25

Устранение проблемы с LOB-объектом: пример из практики .........................................26
Еще один пример из реальной практики: HW Resolution .................................................28
Проблемы BASICFILE LOB: более эффективное решение .................................................32

Сравнение LOB-объектов BASICFILE с SECUREFILE LOB .......................................................32

Различия между новыми и старыми типами LOB .............................................................33
Преобразование BASICFILE LOB-объектов в SECUREFILE LOB-объекты .........................36

Воздействие параметра PCTFREE на LOB-объекты ................................................................38
Улучшение производительности операции вставки данных INSERT ...................................41
Резюме .......................................................................................................................................42

Глава 2. Восстановление табличного пространства, поврежденного  
при выполнении операции UNDO ...................................................................................43
Общий обзор процедуры отмены изменения данных...........................................................43

Важность параметра UNDO_RETENTION ............................................................................44
Настройка параметра UNDO_RETENTION ..........................................................................45

Сегменты DTP, XA и сегмент отката (rollback) ........................................................................46

Прочие нестандартные ситуации, возникающие в сегментах отката  
и сегментах Undo ..................................................................................................................48

Восстановление поврежденного табличного пространства Undo ........................................48

Профилактика, обнаружение и восстановление повреждений ........................................49
Обработка повреждений памяти ........................................................................................50
Обработка логических повреждений..................................................................................53
Устранение повреждений носителей информации ...........................................................53

Резюме .......................................................................................................................................56

Глава 3. Обработка событий ожидания освобождения буферов  
глобального кэша .................................................................................................................58
Обзор событий ожидания освобождения буферов ................................................................58
Практическое применение утилиты ORAchk  .........................................................................59

Установка утилиты ORAchk  .................................................................................................59
Результаты выполнения ORAchk : пример выводимой информации ..............................61

Устранение событий gc buffer busy wait ..................................................................................61

Использование ADDM для поиска информации о событии .............................................63
Использование AWR для поиска информации о событии ................................................64
Использование ASH для поиска информации о событиях ................................................66

Определение проблем, связанных с событием gc buffer busy wait .......................................67

Использование представлений ASH для поиска ожидающих сеансов .............................68
Быстрое определение узких мест, снижающих производительность ..............................69
 
Содержание

Методики устранения событий gc buffer busy wait ................................................................72
Резюме .......................................................................................................................................73

Глава 4. Адаптивное разделение курсора .....................................................................74
Алгоритм работы механизма ACS ...........................................................................................75

Чувствительность к связыванию с определением диапазона избирательности.............75
Чувствительность к связыванию с предикатом равенства и гистограммой ...................78
Чувствительность к связыванию при секционировании по диапазонам ключей ..........79

Работа механизма адаптивного разделения курсора (ACS) ..................................................81
Мониторинг осведомленности о связывании в механизме ACS ...........................................85

Связь BUCKET_ID и COUNT ..................................................................................................86
Как сделать курсор осведомленным о связывании ...........................................................89

Курсор, осведомленный о связывании ...................................................................................96
Практический пример ..............................................................................................................99
Резюме ..................................................................................................................................... 105

Глава 5. Стабилизация времени ответа на запрос  
с помощью механизма управления планами SQL.................................................... 106
Общие положения .................................................................................................................. 107
Создание базовой линии плана выполнения SQL ................................................................ 110

Автоматический захват плана выполнения..................................................................... 110
Загрузка планов из кэша курсора ..................................................................................... 113

Имитация базовых линий ...................................................................................................... 115
Оптимизатор Oracle и его взаимодействие с механизмом управления планами SQL ..... 119

План стоимостного оптимизатора не соответствует базовой линии  
плана выполнения SQL ...................................................................................................... 122
Базовая линия плана выполнения SQL не является воспроизводимой ......................... 128

Воспроизводимость базовой линии плана выполнения SQL .............................................. 132

Переименование индекса .................................................................................................. 133
Изменение типа индекса ................................................................................................... 135
Добавление в индекс замыкающих столбцов .................................................................. 136
Реверсирование индекса ................................................................................................... 137

Параметр NLS_SORT и воспроизводимость базовой линии плана выполнения SQL ........ 138
Сравнение параметров ALL_ROWS и FIRST_ROWS ............................................................... 142
Адаптивное разделение курсора и механизм управления планами SQL ........................... 146

Взаимодействие механизмов ACS и SPM в версии Oracle 11g Release 11.2.0.3.0 ........... 147
Взаимодействие механизмов ACS и SPM в версии Oracle 12c Release 12.1.0.1.0 ........... 152

Резюме ..................................................................................................................................... 155

Глава 6. Советы, методики и особые приемы оптимизации  
для языка определения данных (DDL) ........................................................................ 156
Основы оптимизации операций языка определения данных ............................................ 156
Механизм оптимизации операций языка определения данных (DDL) .............................. 159

Оценка мощности таблицы ............................................................................................... 160
Столбец C_DDL в виртуальном столбце ............................................................................ 162
Столбец C_DDL в расширении группы столбцов ............................................................. 163
Что происходит при изменении значения по умолчанию для столбца C_DDL ............. 165
Столбец C_DDL и индексы ................................................................................................. 168

Оптимизация операций языка определения данных для столбцов с атрибутом NULL ..... 170
Резюме ..................................................................................................................................... 175
Содержание  7

Глава 7. Управление, оптимизация и настройка очень больших  
баз данных ........................................................................................................................... 176
Общие сведения об очень больших базах данных ............................................................... 176
Оптимальная базовая конфигурация ................................................................................... 177

Шаблон конфигурации хранилища данных ..................................................................... 178
Выбор оптимального размера блока данных ................................................................... 178
Табличные пространства большого файла ....................................................................... 179
Выбор правильных размеров системной глобальной области (SGA)  
и программной глобальной области (PGA) ...................................................................... 180
Группы временных табличных пространств .................................................................... 181
Секционирование данных ................................................................................................. 181
Секционирование по индексу: сравнение локального и глобального индексов .............. 182
Сжатие данных ................................................................................................................... 183
Сжатие таблицы ................................................................................................................. 183
Инструменты Heat Map и Automatic Data Optimization (ADO)........................................ 184
Расширенная функция сжатия секционированного индекса ............................................ 185

Основные правила настройки производительности очень большой БД ........................... 185

Пример из реальной жизни ............................................................................................... 186
Ограничение воздействия индексов на операции загрузки данных ............................. 187
Максимальное использование ресурса ............................................................................ 188

Сбор статистических данных оптимизатора ........................................................................ 189

Краткий обзор постепенно накапливаемых статистических данных ........................... 189
Сбор статистических данных в параллельном режиме ................................................... 191
Установка значения параметра ESTIMATE_PERCENT ...................................................... 193

Наилучшие практические методики резервного копирования и восстановления  
данных ..................................................................................................................................... 193

Решения на основе Exadata ............................................................................................... 195
Использование среды Data Guard ..................................................................................... 195

Резюме ..................................................................................................................................... 195

Глава 8. Эффективные практические методики резервного  
копирования и восстановления данных с использованием  
диспетчера восстановления ............................................................................................ 196
Идеальный план резервного копирования и восстановления ............................................ 196
Общий обзор диспетчера восстановления ........................................................................... 197
Рекомендации по проектированию стратегий резервного копирования баз данных ...... 198

Процедуры полного и инкрементального резервного копирования ............................. 199
Резервное копирование со сжатием данных ................................................................... 199
Инкрементальное резервное копирование ..................................................................... 200
Ускоренные операции инкрементального резервного копирования ............................ 201
Операции отката к предыдущему состоянию в технологии Oracle Flashback ............... 202
Резервное копирование с использованием дисковой памяти ....................................... 203
Стратегия Recover Forward Forever .................................................................................... 203

Проверка корректности резервных копий диспетчера восстановления ........................... 211
Оптимизация и настройка операций резервного копирования ......................................... 212

Настройка производительности операций резервного копирования  
с использованием дисковых накопителей ....................................................................... 213

Использование диспетчера восстановления в кластерных (RAC) базах данных ............... 214
Хранение данных в каталоге восстановления ...................................................................... 216
Надежная стратегия восстановления .................................................................................... 216
Использование консультанта по восстановлению данных DRA ......................................... 218
Резюме ..................................................................................................................................... 219
 
Содержание

Глава 9. Методики тестирования и настройки базы данных  
с использованием анализа автоматического репозитория  
рабочей нагрузки: часть 1 ............................................................................................... 221
Общий обзор автоматического репозитория рабочей нагрузки ........................................ 222
Что нужно искать .................................................................................................................... 223
Раздел заголовка ..................................................................................................................... 224

Профиль нагрузки .............................................................................................................. 226
Характеристики производительности экземпляра БД ................................................... 227
Совместно используемый пул оперативной памяти ....................................................... 228
Ожидание событий ............................................................................................................ 228
Средняя нагрузка ............................................................................................................... 231
Использование процессоров экземпляром БД ................................................................ 232
Статистические характеристики оперативной памяти .................................................. 232

Специальные разделы отчета по кластерным (RAC) базам данных ................................... 233

Статистические данные по использованию процессоров в кластерной  
базе данных ........................................................................................................................ 234
Статистические данные по нагрузке глобального кэша ................................................. 234
Глобальный кэш и сервисы формирования очереди ....................................................... 234
Сетевые соединения в кластере ........................................................................................ 236

Статистические характеристики временной модели .......................................................... 236
Статистические характеристики операционной системы .................................................. 237

Ожидание событий в интерактивном режиме................................................................. 238
Ожидание событий в фоновом режиме ............................................................................ 240
Гистограммы времени ожидания событий ...................................................................... 241
Статистические данные по сервисам ............................................................................... 242

Раздел команд SQL ................................................................................................................. 243

Общее затраченное время ................................................................................................. 243
Общее процессорное время .............................................................................................. 244
Общее время использования буфера ................................................................................ 244
Общее время операций чтения с диска ............................................................................ 245
Общее количество выполнения команд ........................................................................... 245
Общее количество операций (вызовов) синтаксического анализа ................................ 245
Совместно используемая память ...................................................................................... 246
Счетчик версий команд ..................................................................................................... 246
Общее время ожидания событий в кластере ................................................................... 247

Статистические данные по операциям в экземпляре базы данных ................................... 247

Статистические данные для согласованных операций чтения ...................................... 250
Статистические характеристики операций получения блоков базы данных ............... 251
Статистические данные по «грязным» блокам ................................................................ 251
Статистические данные по очередям ............................................................................... 251
Счетчик выполнения ......................................................................................................... 251
Статистические данные по свободным буферам ............................................................ 251
Статистические данные по глобальному кэшу (GC) ........................................................ 252
Статистические данные для поиска по индексу .............................................................. 252
Статистические данные по листьям-узлам в B-деревьях ............................................... 253
Статистические данные по открытым курсорам ............................................................. 253
Статистические данные по операциям синтаксического анализа ................................. 253
Статистические данные по физическим операциям чтения и записи .......................... 253
Статистические данные по рекурсивным операциям .................................................... 256
Статистические данные о повторно выполняемых командах ....................................... 256
Статистические данные по курсорам сеанса ................................................................... 257
Содержание  9

Статистические данные по операциям сортировки ........................................................ 257
Общая длина «грязной» очереди ...................................................................................... 257
Статистические данные по выборкам из таблиц ............................................................. 258
Откаты транзакций ............................................................................................................ 258
Статистические данные по вектору изменений отмены операций ............................... 259
Статистические данные пользователей ........................................................................... 259
Статистические данные по рабочей области ................................................................... 260
Статистические данные по операциям экземпляра БД – абсолютные значения ......... 260
Статистические данные по операциям экземпляра БД – потоковые операции ........... 260

Резюме ..................................................................................................................................... 260

Глава 10. Методики тестирования и настройки базы данных  
с использованием анализа автоматического репозитория  
рабочей нагрузки: часть 2 ............................................................................................... 261
Статистические данные по вводу/выводу в табличном пространстве ............................... 261
Статистические данные по пулу буферов ............................................................................. 263

Статистические данные по пулу буферов ........................................................................ 265
Статистические данные по восстановлению экземпляра ............................................... 265
Раздел рекомендаций по пулу буферов ............................................................................ 266

Статистические данные по программной глобальной области .......................................... 266

Общие показатели по программной глобальной области .............................................. 268
Сводные статистические показатели цели PGA .............................................................. 268
Сводная гистограмма цели PGA ........................................................................................ 268
Рекомендации по использованию памяти в PGA ............................................................ 270

Статистические данные по совместно используемому пулу .............................................. 271
Прочие рекомендации ........................................................................................................... 271

Рекомендации по параметру SGA_TARGET ...................................................................... 273
Рекомендации по пулу потоков (streams) ........................................................................ 273
Рекомендации по пулу Java ............................................................................................... 273

Статистические данные по ожиданиям, связанным с буферами ....................................... 273
Статистические данные по очередям ................................................................................... 275
Статистические данные по сегментам отмены действий (откатов) ................................... 276
Статистические данные по защелкам ................................................................................... 278

Операции с защелками ...................................................................................................... 280
Нарушения состояния «сна» защелок ............................................................................... 280
Счетчик защелок и циклов ожиданий .............................................................................. 280
Защелки как источники промахов .................................................................................... 281
Обзор спящих мьютексов .................................................................................................. 281
Защелки-предки и защелки-потомки .............................................................................. 282

Области доступа к сегментам ................................................................................................ 282
Разделы операций с библиотечным кэшем .......................................................................... 284
Разделы компонентов динамической памяти ..................................................................... 287
Разделы памяти процессов .................................................................................................... 289

Общая сводка по памяти процессов ................................................................................. 290
Общая сводка по памяти системной глобальной области .............................................. 291
Различия в сегментации системной глобальной области ............................................... 291

Разделы компонентов потоков .............................................................................................. 291
Статистические данные по ограничениям ресурсов ........................................................... 293
Изменения параметров инициализации .............................................................................. 294
Статистические данные по глобальной очереди и другие разделы по кластерной БД ..... 295

Статистические данные по глобальной очереди ............................................................. 298
Статистические данные по службе глобального согласованного чтения ...................... 298
 
Содержание

Статистические данные по обслуживанию текущих глобальных объектов .................. 299
Статистические данные по обмену с глобальным кэшем ............................................... 299
Статистические данные по временам обмена с глобальным кэшем ............................. 299
Статистические данные по прямому обмену с глобальным кэшем ............................... 299
Статистические данные по времени прямого обмена с глобальным кэшем ................ 300
Статистические данные по задержкам пингования сетевого соединения .................... 300
Пропускная способность сетевого соединения на стороне клиента .............................. 300
Статистические данные об устройстве сетевого соединения ......................................... 300

Резюме ..................................................................................................................................... 301

Глава 11. Сценарии устранения проблем в кластерных базах данных ............. 302
Устранение проблем и настройка кластерной базы данных ............................................... 303

Первая проверка с помощью ORAchk  ............................................................................... 303
Использование утилиты TFA Collector ............................................................................. 303
Использование репозитория автоматической диагностики .......................................... 303
Проверка журнальных файлов предупреждений и трассировки ................................... 304
Применение трех «А» ......................................................................................................... 304
Проверка защищенного соединения в кластерной БД.................................................... 304
Установка режима трассировки и отслеживание журналов трассировки ...................... 304
Использование монитора работоспособности кластера ................................................. 305
Прочие инструменты и утилиты ....................................................................................... 305
Полезные ресурсы My Oracle Support (MOS) .................................................................... 305

Бесперебойно работающая экосистема RAC ........................................................................ 305

Архитектура, обеспечивающая максимальную доступность ......................................... 306
Оптимизированные и эффективные базы данных в кластере RAC ............................... 307

Устранение проблем в кластере RAC с помощью Диспетчера предприятия Oracle 12c ...... 309
Утилиты и команды для устранения проблем ..................................................................... 309
Резюме ..................................................................................................................................... 315

Глава 12. Использование консультантов по командам SQL  
для анализа и устранения проблем с языком SQL .................................................. 316
OEM 12c – SQL Advisors Home ................................................................................................ 317
Консультант по настройке команд SQL ................................................................................. 317

Запуск консультанта по настройке команд SQL в среде OEM 12c .................................. 318
Запуск консультанта по настройке команд SQL вручную в среде SQL*Plus .................. 321

Консультант по оптимизации доступа SQL  ......................................................................... 322

Запуск консультанта по оптимизации доступа SQL в среде OEM 12c ............................ 322
Запуск консультанта по оптимизации доступа SQL вручную в среде SQL*Plus ............ 325

Консультант по исправлению кода SQL ................................................................................ 326
Анализатор производительности SQL .................................................................................. 327
Резюме ..................................................................................................................................... 328

Глава 13. Применение утилиты Data Pump для перемещения  
данных и объектов............................................................................................................. 329
Использование механизма Data Pump .................................................................................. 329

Копирование объектов ...................................................................................................... 330
Режимы механизма Data Pump ......................................................................................... 331

Работа с частными и общедоступными объектами ............................................................. 332

Сохранение и восстановление связей БД ......................................................................... 332
Экспорт общедоступных связей БД и синонимов ........................................................... 333
Проверка корректности содержимого файла дампа экспорта ....................................... 334
Содержание  11

Поиск корректных значений параметров INCLUDE и EXCLUDE ......................................... 334
Экспорт подмножеств данных ............................................................................................... 336
Изменение свойств объекта ................................................................................................... 338

Импорт секционированных таблиц как несекционированных ...................................... 338
Импорт секций таблицы как отдельных таблиц .............................................................. 339
Маскирование данных ....................................................................................................... 339
Переименование таблиц или изменение табличных пространств ................................ 339
Использование параметров хранения по умолчанию .................................................... 340
Изменение размеров табличных пространств во время импорта ................................. 340
Объединение нескольких табличных пространств ......................................................... 340

Использование программного интерфейса (API) PL/SQL совместно с Data Pump ............ 342
Контроль и изменение ресурсов ............................................................................................ 344
Повышение производительности ......................................................................................... 345
Обновление баз данных ......................................................................................................... 346
Резюме ..................................................................................................................................... 347

Глава 14. Стратегии быстрого перемещения данных  
между базами данных ...................................................................................................... 349
Почему необходимо перемещение данных .......................................................................... 350
Определение наилучшей стратегии ...................................................................................... 350

Сравнение перемещения в реальном времени с перемещением  
в «почти реальном времени» ............................................................................................ 351
Способность работать в режиме только для чтения ........................................................ 351
Обратимость ....................................................................................................................... 351

Какие данные действительно требуют перемещения ......................................................... 352
Методики перемещения данных ........................................................................................... 352

Методики перемещения с возможностью фиксаций транзакций ................................. 353
Методики перемещения без возможности выполнения транзакций ............................ 355
Методики постепенного перемещения ............................................................................ 369

Резюме ..................................................................................................................................... 376

Глава 15. Диагностика проблем и восстановление из временного файла  
ввода/вывода TEMPFILE .................................................................................................. 377
Общий обзор временных табличных пространств .............................................................. 377

Базы данных в режиме только для чтения ....................................................................... 378
Локально управляемые временные табличные пространства ....................................... 378
Группы временных табличных пространств .................................................................... 379
Глобальные временные таблицы ...................................................................................... 380

Корректировка файла TEMPFILE для изменения состояний ожидания  
завершения операций ввода/вывода .................................................................................... 383

Недостаточный размер программной глобальной области ............................................ 384
Нецелесообразное изменение размера экстента TEMPFILE ........................................... 388
Нецелесообразное использование групп временных табличных пространств ............ 389

Резюме ..................................................................................................................................... 389

Глава 16. Работа с защелками и обработка состояния конкуренции  
между мьютексами ............................................................................................................ 390
Обзор архитектуры защелок и мьютексов ............................................................................ 390

Что такое защелки .............................................................................................................. 391
Что такое мьютексы ........................................................................................................... 393
Внутреннее устройство защелки и мьютекса .................................................................. 393
 
Содержание

Количественные характеристики конкуренции защелок и мьютексов ............................. 394

Идентификация отдельных защелок ................................................................................ 396
Исследование сегментов и команд SQL ............................................................................ 396

Сценарии использования защелок и мьютексов ................................................................. 398

Ожидание библиотечного кэша для мьютексов .............................................................. 399
Ожидание освобождения занятого библиотечного кэша ............................................... 401
Защелка совместно используемого пула .......................................................................... 401
Защелка цепочек кэш-буферов ......................................................................................... 402
Прочие ситуации конкуренции за защелки ..................................................................... 405

Трудноразрешимые проблемы конкуренции за защелки ................................................... 407

Алгоритмы точной настройки защелок ........................................................................... 407

Резюме ..................................................................................................................................... 408

Глава 17. Использование SSD-накопителей для устранения проблем  
с производительностью подсистемы ввода/вывода .............................................. 410
Сравнение SSD-технологии с HDD-технологией ................................................................. 411

Появление твердотельных flash-накопителей ................................................................. 412
Задержки flash SSD-накопителей ...................................................................................... 413
Экономические характеристики SSD-накопителей ........................................................ 413
Накопители SLC, MLC и TLC .............................................................................................. 415
Производительность операций записи и долговечность ................................................ 416
Сборка мусора и регулирование уровня износа .............................................................. 416
Сравнение SATA SSD и PCIe SSD ........................................................................................ 418
Использование SSD-устройств в базах данных Oracle .................................................... 419

Механизм Oracle Database Flash Cache .................................................................................. 419

Случаи ожидания свободных буферов ............................................................................. 419
Конфигурирование и регулирование механизма DBFC .................................................. 422
Использование опции FLASH_CACHE ............................................................................... 423
Статистические данные о производительности flash-кэша ........................................... 424

Сравнение характеристик SSD-накопителей ....................................................................... 426

Чтение индексированных данных .................................................................................... 426
Рабочая нагрузка при операциях чтения/записи в OLTP-системе ................................. 427
Производительность при поиске по всей таблице .......................................................... 427
Собственный кэш SSD-накопителей и поиск по всей таблице ....................................... 428
Операции сортировки с использованием диска и операции хэширования .................. 429
Оптимизация для журналов повторно выполняемых операций ................................... 430

Расслоение хранимых данных ............................................................................................... 434

Использование секций для расслоения данных .............................................................. 434

Flash-устройства и комплекс Exadata .................................................................................... 438

Создание групп дисков ASM на основе flash-устройств в комплексе Exadata ............... 440

Резюме ..................................................................................................................................... 442

Глава 18. Проектирование и контроль индексов для достижения  
оптимальной производительности ............................................................................... 443
Типы индексов ........................................................................................................................ 443

B-tree-индексы .................................................................................................................... 444
Битовые индексы ............................................................................................................... 447
Секционированные индексы ............................................................................................ 449
Другие типы индексов ....................................................................................................... 452
Сжатые индексы ................................................................................................................. 453

Несколько индексов по одинаковым столбцам .................................................................... 454
Содержание  13

Проблемы производительности индексов............................................................................ 454

Статистика по индексам .................................................................................................... 454
Влияние низкого фактора кластеризации ....................................................................... 456
Важность индексов при выполнении операций .............................................................. 457
Скрытие неиспользуемых индексов ................................................................................. 459
Проблемы производительности индексов в кластерных (RAC) базах данных .............. 461

Резюме ..................................................................................................................................... 463

Глава 19. Использование SQLT для повышения производительности  
запросов ................................................................................................................................ 464
Установка утилиты SQLT ........................................................................................................ 465
Использование метода XTRACT ............................................................................................ 466
Использование метода XECUTE ............................................................................................. 467
Применение других методов утилиты SQLT ........................................................................ 470
Пример из реальной практики .............................................................................................. 471
Резюме ..................................................................................................................................... 472

Глава 20. Устранение проблем в распределенных транзакциях  
расширенной архитектуры (XA) .................................................................................... 473
Устранение общих проблем при использовании распределенных транзакций ................ 474
Восстановление распределенных транзакций-«невидимок» ............................................. 475

Информация существует, но транзакция отсутствует ..................................................... 475
При возникновении ошибки ORA-1591 не найдено соответствующей  
информации ....................................................................................................................... 476
Транзакция зависает при попытке выполнения команды COMMIT  
или ROLLBACK .................................................................................................................... 478

Контроль распределенных транзакций ................................................................................ 481
Резюме ..................................................................................................................................... 482

Предметный указатель ..................................................................................................... 483
Предисловие

Жизнь администраторов СУБД становится все более и более сложной, а напряженный 
режим работы быстро становится нормой. Администраторы баз данных 
постоянно сталкиваются с проблемами, которые при определенных условиях 
могут привести организации и прочие юридические лица к многомиллионным 
убыткам буквально за минуту или, при самом худшем развитии событий, к полной 
остановке работы инфраструктуры баз данных компании. Конечно, подобные 
ситуации маловероятны, но к потенциальной возможности их возникновения 
должен быть готов каждый администратор баз данных, чтобы вовремя устранить 
надвигающиеся проблемы.
Главная задача этой книги – показать способы максимально оперативного 
устранения в базах данных серьезных проблем, которые могут оказать воздействие 
на эксплуатационную среду в целом. Читателям демонстрируется пошаговое 
руководство, необходимое для решения конкретной проблемы, с разбором 
случаев из реальной практики, которые могут произойти (и происходят) в любой 
день, в любое время, в любой базе данных Oracle.
Чтобы не терять времени в попытках поиска решения проблемы, которая представляет 
опасность для вашей базы данных или уже нарушила ее работоспособность, 
вы можете сразу же обратиться к этой книге, предлагающей решения некоторых самых 
крупных проблем, вероятность возникновения которых наиболее велика. Даже 
если решение текущей проблемы не найдено здесь, вы узнаете, как нужно быстро 
искать в Интернете способы устранения любой конкретной проб лемы.
Основная идея данной книги заключается в том, чтобы предложить вам реаль-

ную помощь при возникновении серьезных проблем с базами данных Oracle 
в различных эксплуатационных средах. Наряду с описанием самых эффективных 
обобщенных методик в книге исследуются некоторые наиболее важные проблемы, 
возникающие в базах данных Oracle, а также способы оперативного решения 
этих проблем, описанные в простой и понятной форме.
Ориентированная в основном на администраторов СУБД Oracle (DBA) и на администраторов 
аппаратно-программных комплексов (кластеров серверов) Oracle 
Database Machine (DMA) книга «Руководство по диагностике и устранению проблем 
в СУБД Oracle» может служить практическим техническим руководством для 
выполнения повседневных действий по диагностике и устранению неисправностей, 
по настройке и устранению проблем в ходе операций администрирования 
семейства программных продуктов Oracle Database Server.
Написанная известными во всем мире авторами с огромным опытом работы 
в группах Oracle ACE, в качестве руководителей ACE и независимых экспертов, эта 
книга должна стать настольным справочником по решению проблем, объединяющим 
практические примеры из реальной жизни и планы действий по диагностике 
и устранению неисправностей в сложных совокупностях баз данных Oracle. 
В данной книге подробно описаны методы решения следующих задач:

выбор наикратчайшего пути для решения крупномасштабных проблем;

наиболее эффективная организация рабочего дня с помощью надежных 
методик, основанных на практическом опыте экспертов этой области;
Предисловие  15

создание собственного плана по устранению неисправностей и решению 
проблем;

осуществление повседневного «упреждающего» сопровождения, обеспечивающего 
стабильность эксплуатационной среды;

использование стандартных инструментальных средств и сценариев, наиболее 
пригодных для быстрых и эффективных решений проблем.
Авторы этой полезной, изобилующей разнообразными техническими подробностями 
книги при ее написании ориентировались на различные уровни (средний, 
опытный эксперт) пользователей семейства программных продуктов Oracle 
Database Server. В этой книге рассматриваются версии Oracle Database 11g и Oracle 
Database 12c и весь комплект соответствующего вспомогательного и дополнительного 
программного обеспечения для СУБД Oracle.
Благодарности

Тарик Фарук

Я хочу выразить безграничную благодарность за все хорошее в моей жизни всемогущему 
Аллаху, властелину миров, всемилостивейшему, всемилосердному.
Я посвящаю эту книгу моим родителям, г-ну и г-же Абдулла Фарук (Abdullah 
Farooq), моей прекрасной жене Эмбрин (Ambreen), моим чудесным детям Сумайе 
(Sumaiya), Хафсе (Hafsa), Фатиме (Fatima) и Мухаммад-Тала (Muhammad-Talha), 
а также моим племянникам Мухаммаду-Хамзе (Muhammad-Hamza), Мухаммаду-
Сааду (Muhammad-Saad), Мухаммеду-Муазу (Muhammed-Muaz), Абдул-Кариму 
(Abdul-Karim) и Ибраиму (Ibrahim), без постоянной поддержки которых эта книга 
никогда бы не появилась на свет. Я бесконечно благодарен им за то, что в течение 
почти двух лет у меня была возможность уделять часть времени написанию этой 
книги, главным образом в самолетах, а также поздними ночами и по выходным 
дома.
Сердечно благодарю моих друзей в Oracle Technology Network (OTN), коллег по 
Oracle ACE, сотрудников и всех участников сообщества Oracle, а также товарищей 
по работе, поддержавших меня в стремлении к завершению этого проекта, особенно 
Дэйва Витало (Dave Vitalo).
Замысел написания книги по диагностике и устранению неисправностей 
в СУБД Oracle и решению различных проблем в этой области я вынашивал достаточно 
долго. Идея окончательно оформилась в реальный проект после встречи 
с Пауло Португалом (Paulo Portugal) в Сан-Франциско на конференции Oracle 
Open World в 2013 году. Я очень горжусь своим сотрудничеством с лучшими умами 
в данной отрасли ИТ, в том числе с сотрудниками Oracle ACE, руководителями ACE 
и дипломированными специалистами, которые внесли свой вклад в написание 
и техническое рецензирование этой книги от начала и до конца.
С момента написания самого первого подготовительного технического материала 
до выхода из печати создание книги представляет собой сложный, трудоемкий, 
длительный и иногда мучительный процесс, и эту книгу невозможно было 
бы написать без огромной помощи и руководства превосходной команды издательства 
Addison-Wesley. Особая благодарность Грегу Дунчу (Greg Doench), главному 
редактору, и всем другим сотрудникам издательства, обеспечившим надежную 
поддержку проекта. Честь и слава техническим редакторам, рецензентам и редакторским 
группам Addison-Wesley за великолепную работу над этой книгой.
Глубоко признателен моим друзьям, соавторам и техническим рецензентам – 
Пауло Португалу (Paulo Portugal), Мохамеду Хури (Mohamed Houri), Майку Олту 
(Mike Ault), Джиму Чупрински (Jim Czuprynski), Сайеду Джаффару Хуссейну (Syed 
Jaffar Hussain), Камрану Агаеву (Kamran Agayev), Анжу Гарг (Anju Garg), Берту 
Шальцо (Bert Scalzo) и Гаю Хэррисону (Gay Harrison) – за выдающуюся совместную 
работу, которая позволила представить эту книгу тебе, уважаемый читатель. 
Особая благодарность моему другу и соратнику, руководителю Oracle ACE Биджу 
Томасу (Biju Thomas), за написание главы 13.
Благодарности  17

И наконец, спасибо тебе, мой уважаемый читатель, за то, что ты присоединился 
к нам в этом нелегком походе за знаниями, – искренне надеюсь, что ты много 
узнаешь из этой книги и что чтение ее доставит тебе не меньше удовольствия, чем 
нам, авторам, при ее подготовке и создании.

Майк ОлТ

Благодарю компании Texas Memory Systems (TMS) и IBM за предоставление мне 
свободного времени для продолжения написания и исследования тем, связанных 
с СУБД Oracle.

ПаулО ПОрТугал

Я отдал много времени работе над этой книгой, и все это время моя маленькая 
принцесса была слишком юна, чтобы понять мою поглощенность этим проектом. 
Я посвящаю эту книгу ей и моей любимой жене, которая всегда поддерживала 
меня в любых делах и при любых обстоятельствах.

МОхаМед хури

Эту книгу я посвящаю моим родителям, моим любимым дочерям Имани Соне (Ima-
ne Sonia), Ясмин (Yasmine) и Селме (Selma), а также моей семье и моим друзьям.

Сайед джаФФар хуССейн

За все в моей жизни я благодарен всемогущему Аллаху, властелину миров, всемилостивейшему, 
всемилосердному. Я посвящаю эту книгу моим родителям,  
г-ну и г-же Саифулла (Saifulla), моей восхитительной жене Айше (Ayesha), моим 
чудесным детям Ашфаку (Ashfaq), Арфану (Arfan) и Аахилу (Aahil), моим братьям 
Садаку (Sadak), Сабдару (Sabdar) и Нууру (Noor), а также моим друзьям и коллегам. 
Огромная благодарность сотрудникам издательства Addison-Wesley за их безмерную 
помощь и руководство при создании данной книги. Глубоко признателен 
моим соавторам и техническим рецензентам – Пауло Португалу (Paulo Portugal), 
Мохамеду Хури (Mohamed Houri), Майку Олту (Mike Ault), Джиму Чупрински (Jim 
Czuprynski), Сайеду Джаффару Хуссейну (Syed Jaffar Hussain), Камрану Агаеву 
(Kam ran Agayev), Анжу Гарг (Anju Garg), Берту Шальцо (Bert Scalzo) и Гаю Хэррисо-
ну (Gay Harrison) – за выдающуюся совместную работу, которая позволила представить 
эту книгу тебе, уважаемый читатель. Особая благодарность моему другу 
и брату Тарику Фаруку (Tariq Farooq) за то, что пригласил меня участвовать в этом 
проекте.

джиМ ЧуПринСки

Свою часть книги я посвящаю моей дорогой жене Рут (Ruth) – моей помощнице, 
лучшему другу и спутнику жизни в течение уже почти сорока лет. Без ее внимательной, 
чуткой поддержки, без ее навыков корректорского вычитывания, без 
ее безграничного терпения во время долгих ночей, когда я писал, редактировал, 
 
Благодарности

брюзжал и бранился, пытаясь уложиться в срок, завершение моих трудов стало бы 
просто невозможным.

гай хэрриСОн

Спасибо Тарику за предоставленную возможность поработать в такой великолепной 
группе технических писателей, спасибо Анжу (Anju) за превосходное техническое 
редактирование, спасибо всем сотрудникам издательства Addison-Wesley, 
которые работали над этим проектом. Спасибо моей семье за постоянную любовь 
и поддержку.

Биджу ТОМаС

Я очень признателен Тарику за приглашение к участию в этом выдающемся проекте 
и очень горжусь тем, что работал вместе с такими уважаемыми и известными 
авторами. Моя искренняя благодарность Тарику и всем соавторам этой книги. 
Спасибо Камрану за чрезвычайно полезное техническое редактирование и ценные 
предложения. Я весьма высоко оцениваю все усилия сотрудников издательства 
Addison-Wesley, которые они приложили для обеспечения качества содержания, 
оформления и внешнего вида книги. Благодарю Oracle Technology Network 
(OTN) и программу Oracle ACE за всю поддержку. Спасибо моей семье, которая 
всегда рядом со мной, обеспечивая прочную поддержку и ободрение.
Об авторах

ТарикФарук(TariqFarooq) – инженер, архитектор и специалист 
по решению задач, связанных с СУБД Oracle, который 
работает с различными технологиями Oracle более 24 лет 
в особо сложных программных средах в нескольких самых 
крупных в мире организациях. Присутствуя практически на 
всех основных конференциях/мероприятиях Oracle по всему 
миру, Тарик является ведущим церемоний награждения, лидером/
организатором сообщества, автором различных изданий, 
участником форумов и техническим блоггером. Он также 
является президентом-основателем рабочей группы IOUG 
Virtualization & Cloud Computing Special Interest Group и социальной 
сети Brain-Surface для разнообразных сообществ Oracle. Тарик основал, 
организовал и провел несколько конференций по Oracle, в том числе OTN 
Middle East and North Africa (MENA) Tour, VirtaThon (самая крупная онлайн-конференция, 
объединившая различные домены, применяющие Oracle), ряд конференций 
CloudaThon & RACaThon, а также самую первую, посвященную только 
Oracle конференцию в Массачусетском технологическом институте (Massachu-
setts Institute of Technology) в 2011 году. Он был основателем и основным ведущим 
цикла программ VirtaThon Internet Radio. Тарик является сертифицированным 
экспертом Oracle RAC Certified Expert, обладателем 14 профессиональных 
сертификатов Oracle. Тарик – автор более ста статей, докладов и прочих публикаций, 
соавтор нескольких книг по СУБД Oracle: Expert Oracle RAC 12c (Apress, 2013), 
Oracle Exadata Expert’s Handbook (Addison-Wesley, 2015), Building Database Clouds in 
Oracle 12c (Addison-Wesley, 2016). Тарик удостоен нескольких наград Oracle ACE 
и ACE Director.

МайкОлт(MikeAult) начал работать с компьютерами 
в 1980 го ду – в течение шести лет службы по контракту в ВМФ 
США обслуживал атомные подводные лодки, затем программировал 
на Basic и Fortran IV для архитектуры PDP-11 в атомной 
индустрии. За годы работы в этой отрасли Майку приходилось 
иметь дело с архитектурами PDP, IBM-PC, Osborne, 
позже c VAX-VMS и HP, а также с СУБД Informix и Ingres. После 
резкого падения активности в атомной промышленности 
Майк начал работать с Oracle как единственный администратор 
СУБД в Luka, основанном на Миссисипи проекте Advanced 
Solid Rocket Motor (ASRM) для НАСА в 1990 году. После 1990 го-

да Майк работал с Oracle как в компаниях, так и в качестве независимого консультанта. 
Большой опыт использования Flash Майк получил, работая в качестве ведущего 
специалиста по Oracle в компании Texas Memory Systems. После поглощения 
TMS корпорацией IBM в 2012 году Майк продолжил работу как ведущий специалист 
по Oracle в подразделении IBM STG Flash group. Майк является автором более 
Доступ онлайн
749 ₽
В корзину