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

Ядро Oracle. Внутреннее устройство для администраторов и разработчиков баз данных

Покупка
Артикул: 732541.02.99
Доступ онлайн
519 ₽
В корзину
В данной книге автор приводит только самую необходимую информацию о внутреннем устройстве СУБД Oracle, которую должен знать каждый администратор баз данных, чтобы успешно бороться с неполадками. Снаружи Oracle выглядит сложной. В действительности же обширные функциональные возможности основываются на очень небольшой базовой инфраструктуре, являющейся результатом архитектурных решений, принятых в самом начале и выдержавших испытание временем. Эта инфраструктура управляет транзакциями, реализует механизмы подтверждения и отката изменений, защищает целостность базы данных, позволяет выполнять резервное копирование и восстановление из резервных копий, а также обеспечивает масштабируемость до поддержки тысяч пользователей, одновременно обращающихся к одним и тем же данным. Большинство проблем, с которыми администраторы баз данных сталкиваются ежедневно, можно легко идентифицировать, если знать и понимать, как действует ядро Oracle, о чем и рассказывается в книге. Издание предназначено администраторам баз данных, готовых совершенствовать свое мастерство, когда управление СУБД осуществляется на основе глубоких знаний и понимания особенностей ее работы.
Льюис, Д. Ядро Oracle. Внутреннее устройство для администраторов и разработчиков баз данных : практическое руководство / Д. Льюис ; пер. с англ. А. Н. Киселева. - 2-е изд - Москва : ДМК Пресс, 2023. - 373 с. - ISBN 978-5-89818-327-1. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2102614 (дата обращения: 10.12.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Джонатан Льюис

Ядро 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, учится на первом курсе Йоркского университета). Несмотря на привязанность родителей к математике, ни 
один не пошел по их стопам.

Доступ онлайн
519 ₽
В корзину