Ядро Oracle. Внутреннее устройство для администраторов и разработчиков баз данных
Покупка
Тематика:
Системы управления базами данных (СУБД)
Издательство:
ДМК Пресс
Автор:
Льюис Джонатан
Перевод:
Киселев Артём Николаевич
Год издания: 2023
Кол-во страниц: 373
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Профессиональное образование
ISBN: 978-5-89818-327-1
Артикул: 732541.02.99
В данной книге автор приводит только самую необходимую информацию о внутреннем устройстве СУБД Oracle, которую должен знать каждый администратор баз данных, чтобы успешно бороться с неполадками.
Снаружи Oracle выглядит сложной. В действительности же обширные функциональные возможности основываются на очень небольшой базовой инфраструктуре, являющейся результатом архитектурных решений, принятых в самом начале и выдержавших испытание временем. Эта инфраструктура управляет транзакциями, реализует механизмы подтверждения и отката изменений, защищает целостность базы данных, позволяет выполнять резервное копирование и восстановление из резервных копий, а также обеспечивает масштабируемость до поддержки тысяч пользователей, одновременно обращающихся к одним и тем же данным. Большинство проблем, с которыми администраторы баз данных сталкиваются ежедневно, можно легко идентифицировать, если знать и понимать, как действует ядро Oracle, о чем и рассказывается в книге. Издание предназначено администраторам баз данных, готовых совершенствовать свое мастерство, когда управление СУБД осуществляется на основе глубоких знаний и понимания особенностей ее работы.
- Полная коллекция по информатике и вычислительной технике
- Базы данных. Разработка и защита
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Системы управления базами данных (СУБД)
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Джонатан Льюис Ядро Oracle Внутреннее устройство для администраторов и разработчиков баз данных
Oracle Core Essential Internals for DBAs and Developers Jonathan Lewis
Москва, 2023 Ядро Oracle Внутреннее устройство для администраторов и разработчиков баз данных Джонатан Льюис 2-е издание, электронное
УДК 004.65:004.451Oracle Database ББК 32.973.34 Л91 Л91 Льюис, Джонатан. Ядро Oracle. Внутреннее устройство для администраторов и разработчиков баз данных / Дж. Льюис ; пер. с англ. А. Н. Киселева. — 2-е изд., эл. — 1 файл pdf : 373 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-327-1 В данной книге автор приводит только самую необходимую информацию о внутреннем устройстве СУБД Oracle, которую должен знать каждый администратор баз данных, чтобы успешно бороться с неполадками. Снаружи Oracle выглядит сложной. В действительности же обширные функциональные возможности основываются на очень небольшой базовой инфраструктуре, являющейся результатом архитектурных решений, принятых в самом начале и выдержавших испытание временем. Эта инфраструктура управляет транзакциями, реализует механизмы подтверждения и отката изменений, защищает целостность базы данных, позволяет выполнять резервное копирование и восстановление из резервных копий, а также обеспечивает масштабируемость до поддержки тысяч пользователей, одновременно обращающихся к одним и тем же данным. Большинство проблем, с которыми администраторы баз данных сталкиваются ежедневно, можно легко идентифицировать, если знать и понимать, как действует ядро Oracle, о чем и рассказывается в книге. Издание предназначено администраторам баз данных, готовых совершенствовать свое мастерство, когда управление СУБД осуществляется на основе глубоких знаний и понимания особенностей ее работы. УДК 004.65:004.451Oracle Database ББК 32.973.34 Электронное издание на основе печатного издания: Ядро Oracle. Внутреннее устройство для администраторов и разработчиков баз данных / Дж. Льюис ; пер. с англ. А. Н. Киселева. — Москва : ДМК Пресс, 2015. — 372 с. — ISBN 978-5-97060-169-3. — Текст : непосредственный. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-327-1 © by Jonathan Lewis © Оформление, перевод на русский язык ДМК Пресс, 2015
оглавление Об авторе ..........................................................9 О технических рецензентах ................................ 11 Благодарности ................................................. 12 Введение ........................................................ 14 Глава 1. Начало... ............................................. 17 Oracle в процессах ................................................................... 18 Oracle в действии .................................................................... 21 В заключение .......................................................................... 22 Глава 2. Повтор и отмена ................................... 24 Изменение простых данных ..................................................... 24 Подход ...........................................................................................25 Пример ...........................................................................................26 Коротко о главном ..........................................................................30 Подведение итогов .........................................................................32 ACID ........................................................................................ 32 Простота механизма повторения ............................................. 35 Сложность механизма отмены ................................................. 44 Согласованное чтение ....................................................................45 Откат ..............................................................................................46 В заключение .......................................................................... 48 Глава 3. Транзакции и согласованность ................ 50 Разрешение конфликтов ......................................................... 51 Транзакции и механизм отмены ............................................... 52 Начало и конец транзакции .............................................................54 Таблица транзакций ........................................................................55 Обзор блока отмены .......................................................................58 Блоки данных и механизм отмены ........................................... 62 Подготовка полигона ......................................................................62 Список заинтересованных транзакций ...........................................64 Параллельные операции ................................................................67 Поддержка согласованности ................................................... 69
Оглавление Номер SCN подтверждения ..................................................... 75 Фиксирующая очистка ....................................................................76 Отложенная очистка блока ..............................................................79 Откат таблицы транзакций ..............................................................84 Большие объекты .................................................................... 92 В заключение .......................................................................... 93 Глава 4. Блокировки и защелки ........................... 95 В первую очередь... ................................................................. 96 Массивы .........................................................................................96 Указатели .......................................................................................97 Связанные списки ..........................................................................97 Хэш-таблицы ................................................................................100 Защелки ................................................................................ 105 Логика работы защелок ................................................................106 Статистики по операциям с защелками ........................................110 Защелки и масштабируемость .....................................................117 Блокировки ........................................................................... 120 Инфраструктура ...........................................................................120 Представление v$lock ...................................................................122 Взаимоблокировка .......................................................................127 Режимы блокировок .....................................................................133 Защелки для блокировок ..............................................................134 Блокировки KGL (и закрепления) ..................................................137 Блокировки и закрепления ...........................................................138 В заключение ........................................................................ 141 Глава 5. Кэши и копии ...................................... 143 Управление памятью ............................................................. 144 Гранулы ........................................................................................144 Гранулы и буферы ........................................................................146 Несколько кэшей данных ....................................................... 148 Гранулы и пулы буферов ...............................................................151 Пулы буферов ...............................................................................152 Рабочие наборы данных ........................................................ 155 Алгоритм LRU/TCH ................................................................ 156 Алгоритм LRU/TCH в действии ......................................................158 Переустановка ссылок в буфере ...................................................159 REPL_AUX .............................................................................. 161 Поиск данных ........................................................................ 164 Закрепленные буферы .................................................................168 Логический ввод/вывод ................................................................171 Изменение ...................................................................................172 Загрузка хэш-цепочки ..................................................................173 Согласованные копии ...................................................................174 Физический ввод/вывод ...............................................................175
Оглавление Сканирование таблиц ...................................................................176 В заключение ........................................................................ 178 Глава 6. Запись и восстановление ..................... 181 Цели ...................................................................................... 181 Запись в журнал .................................................................... 183 Цикл записи в журнал ...................................................................186 Оптимизация PL/SQL ....................................................................189 Аномалия ACID .............................................................................193 Расширенные механизмы подтверждения ....................................194 Механика ......................................................................................196 Непроизводительные потери памяти в буфере .............................200 Приватные буферы журнала .........................................................203 Запись данных ....................................................................... 204 Заголовки буферов.......................................................................206 Очереди контрольных точек ..........................................................206 Инкрементальные контрольные точки ...........................................209 Взаимодействия процесса записи данных............................. 211 Взаимодействие dbwr и lgwr .........................................................211 Процесс записи данных и списки LRU ...........................................213 Контрольные точки и очереди .......................................................217 Очереди заголовков буферов .......................................................223 Контрольные точки и файлы журнала ............................................224 Восстановление .................................................................... 227 Восстановление носителя ............................................................229 Резервные базы данных ...............................................................230 Ретроспективные базы данных .....................................................231 Побочные эффекты ......................................................................233 В заключение ........................................................................ 234 Глава 7. Парсинг и оптимизация ........................ 237 Понимание SQL ..................................................................... 237 Парсинг ........................................................................................238 Оптимизация ................................................................................238 Интерпретация результатов tkprof ................................................240 Кэш словаря .......................................................................... 243 Структура .....................................................................................248 Функционирование кэша словаря .................................................251 Вызов парсера – что это? ...................................................... 255 Кэш курсора .................................................................................257 Удержание курсоров .....................................................................260 Библиотечный кэш ................................................................ 262 Организация разделяемого пула ..................................................265 Детали организации разделяемого пула ......................................270 … и его работы! ............................................................................277 Парсинг и оптимизация ......................................................... 280
Оглавление Выполнение, блокировка и закрепление .......................................284 Мьютексы .....................................................................................286 В заключение ........................................................................ 287 Глава 8. rac и крах ......................................... 290 Общая картина ...................................................................... 291 Бесперебойная работа .................................................................294 Для чего это надо? ................................................................ 296 Отказоустойчивость .....................................................................297 Масштабируемость ......................................................................298 Oracle Grid ....................................................................................299 Как это работает? .................................................................. 301 GRD ..............................................................................................302 Ведущие и теневые ресурсы .........................................................305 GCS и GES ....................................................................................309 Cache Fusion .................................................................................312 Следствия ....................................................................................315 Восстановление .................................................................... 319 Последовательности ............................................................. 321 Кэширование последовательностей .............................................322 Внутреннее устройство последовательности ...............................323 Упорядоченные последовательности............................................325 Последовательности и индексы ....................................................328 В заключение ........................................................................ 331 Приложение. Вывод и отладка .......................... 334 oradebug ................................................................................ 334 Приостановка процессов ..............................................................334 Вывод дампов ..............................................................................335 Вывод содержимого памяти .........................................................340 Вывод дампа из инструкций SQL ........................................... 343 Альтернативы oradebug ................................................................344 Блоки файлов данных ...................................................................345 Файлы журнала ............................................................................346 Рекомендации ....................................................................... 350 Словарь терминов .......................................... 351 Предметный указатель .................................... 366
об авторе Джонатан Льюис (Jonathan Lewis) – опытный преподаватель с математической подготовкой из Оксфордского университета. Хотя первый интерес к компьютерам появился у него еще в нежном возрасте, чтото около 12 лет, – во времена, когда под высокими технологиями понималось использование клавиатуры, а не устройства для перфорирования карт – он, все же, не получил развития, пока Джонатан не закончил университет и не начал заниматься вычислениями профессионально. Кроме первого года после обучения, когда он, как неопытный продавец отвечал на любой вопрос «Да», вместо «Да, но это займет несколько недель на программирование и настройку», Джонатан работал только на себя. Первое знакомство Джонатана с Oracle состоялось с версией 5.1, которую он использовал на ПК, проектируя и создавая систему управления рисками для сырьевой торговой площадки в одной из крупных нефтяных компаний. (Тогда он написал на ПК первую версию системы с названием dBase III, в которой использовались таблицы, индексы и некоторые другие механизмы, характерные для систем управления реляционными базами данных.) Благодаря Oracle он узнал, что должна делать настоящая система управления реляционными базами данных, и эти знания немедленно были взяты им на вооружение. С того времени Джонатан сосредоточился исключительно на использовании Oracle RDBMS. Спустя три или четыре года работы по контракту, в течении которых он обрел опыт строительства больших систем, Джонатан решил закончить работы по контракту и заняться оказанием консалтинговых услуг, и теперь полностью посвящает свое
Об авторе время краткосрочным консалтинговым работам, проведению семинаров и «исследовательским» работам. Джонатан хорошо известен в мире Oracle – в течение последних 10 лет он работал в 50 странах и в десятках штатов США. Он оказывает посильную поддержку группам пользователей; в частности, принимает активное участие в работе группы пользователей Oracle Великобритании «UK Oracle User Group» (www.ukoug.org). При каждой удобной возможности старается выкроить время для встреч с группами пользователей в других странах, за пределами Великобритании, которые иногда имеют формат коротких собраний после окончания рабочего дня. Он также ведет свой блог, посвященный Oracle (http:// jonathanlewis.wordpress.com) и регулярно (когда не занят работой над очередной книгой) пишет статьи для разных журналов, форумов и семинаров. Джонатан совсем недавно отпраздновал серебряную свадьбу со своей супругой Дианой (Diana) (в настоящее время работает учителем в начальной школе и заведующей отделением математики после многих лет работы бухгалтером). У них есть двое детей: Анна (Anna, в настоящее время учится на последнем курсе Оксфордского университета) и Симон (Simon, учится на первом курсе Йоркского университета). Несмотря на привязанность родителей к математике, ни один не пошел по их стопам.