Oracle для профессионалов. Архитектура, методики программирования и особенности версий 9i, 10g и 11g

Томас Кайт

Второе издание бестселлера Тома Кайта, известного во всем мире профессионала «Ask Tom», посвящено наилучшим методикам применения СУБД Oracle для построения масштабируемых приложений, которые обладают хорошей производительностью и надежностью. Философия Тома проста: СУБД Oracle можно воспринимать как «черный ящик» с данными внутри, или же разобраться в том, как она работает, и эксплуатировать СУБД как мощную вычислительную среду. Избрав второй подход, вы обнаружите, что существует не так уж много проблем управления информацией, которые не удалось, бы решить быстро и элегантно.

Полностью пересмотренное второе издание книги покрывает новые приемы разработки, появившиеся после выхода Oracle Database 11g. Изучение каждого средства производится на основе примеров, при этом объясняется не только то, что оно собой представляет, но также и то, как средство работает, как разрабатывать программное обеспечение с его использованием, и какие известные «подводные камни» с ним связаны.

Не воспринимайте Oracle Database как «черный ящик». Возьмите эту книгу. Загляните «за кулисы». Ускорьте свой карьерный рост.

  • Полностью пересмотренный материал с учетом Oracle Database 11g
  • Подход на основе реальных примеров: книга станет руководством для повседневного использования
  • Глубокий анализ наиболее мощных средств Oracle Databases

В книге рассматриваются следующие темы:

  • Разработка подхода к решению задач на основе существующих фактов
  • Управление транзакциями в средах с высокой степенью параллелизма
  • Ускорение доступа к данным благодаря эффективному проектированию таблиц и индексов
  • Управление файлами и структурами памяти, позволяющее достичь высокой производительности и надежности
  • Повышение масштабирования с помощью секционирования и параллельной обработки
  • Загрузка и выгрузка данных для взаимодействия с внешними системами
  • Умение самостоятельно принимать проектные решения

Для кого предназначена эта книга. Эта книга предназначена для администраторов баз данных Oracle, разработчиков на PL/SQL и Java, которые пишут код, развертываемый внутри базы данных, и разработчиков внешних приложений, использующих базы данных Oracle в качестве хранилища. Книга ориентирована на тех, кто стремится создавать эффективные и масштабируемые приложения.

Издательство: Вильямс, 2011 г.

ISBN 978-5-8459-1703-4, 978-1-43-022946-9, 978-5-8459-1115-5, 1-59-059530-0

Количество страниц: 848.

Содержание книги «Oracle для профессионалов. Архитектура, методики программирования и особенности версий 9i, 10g и 11g»:

  • 14 Предисловие
    • 15 Предисловие из первого издания
  • 19 Об авторе
    • 19 О рецензентах
  • 21 Благодарности
  • 22 Введение
    • 22 О чем эта книга
    • 23 Кому адресована эта книга
    • 24 Как структурирована эта книга
      • 25 Глава 1. Разработка успешных приложений Oracle
      • 25 Глава 2. Обзор архитектуры
      • 25 Глава 3. Файлы
      • 26 Глава 4. Структуры памяти
      • 26 Глава 5. Процессы Oracle
      • 26 Глава 6. Блокировка и защелкивание данных
      • 26 Глава 7. Параллелизм и многоверсионность
      • 26 Глава 8. Транзакции
      • 27 Глава 9. Повтор и отмена
      • 27 Глава 10. Таблицы базы данных
      • 27 Глава 11. Индексы
      • 27 Глава 12. Типы данных
      • 28 Глава 13. Секционирование
      • 28 Глава 14. Параллельное выполнение
      • 28 Глава 15. Загрузка и выгрузка данных
      • 29 Глава 16. Шифрование данных
    • 29 Исходный код и обновления
    • 29 От издательства
  • 30 Настройка среды
  • 30 Настройка схемы SCOTT/TIGER
    • 30 Выполнение сценария
    • 31 Создание схемы без сценария
    • 32 Настройка среды
    • 33 Настройка средства AUTOTRACE в среде SQL*Plus
    • 34 Настройка пакета Statspack
    • 35 Специальные сценарии
    • 47 Соглашения в отношении кода
  • 49 Глава 1. Разработка успешных приложений Oracle
    • 51 Мой подход
    • 52 Метод «черного ящика»
    • 61 Как следует (и как не следует) разрабатывать приложения баз данных
      • 61 Архитектура Oracle
      • 72 Управление параллельной обработкой
      • 76 Многоверсионность
      • 101 Как заставить приложение выполняться быстрее?
      • 103 Отношения между администратором базы данных и разработчиком
    • 104 Резюме
  • 107 Глава 2. Обзор архитектуры
    • 108 Определение базы данных и экземпляра
    • 114 SGA и фоновые процессы
    • 116 Подключение к Oracle
      • 117 Выделенный сервер
      • 118 Разделяемый сервер
      • 120 Механизмы подключения через TCP/IP
    • 122 Резюме
  • 125 Глава 3. Файлы
    • 126 Файлы параметров
      • 127 Что собой представляют параметры
      • 131 Унаследованные файлы параметров init.ora
    • 133 Файлы параметров сервера (SPFILE)
      • 140 Заключительные соображения по поводу файла параметров
    • 140 Трассировочные файлы
      • 142 Запрошенные трассировочные файлы
      • 146 Трассировочные файлы, генерируемые в ответ на внутренние ошибки
      • 151 Заключительные соображения по поводу трассировочных файлов
    • 152 Файл оповещений
    • 155 Файлы данных
      • 155 Краткий обзор механизмов файловой системы
      • 157 Иерархия пространств хранения в базе данных Oracle
      • 161 Табличные пространства, управляемые словарем и управляемые локально
    • 164 Временные файлы
    • 166 Управляющие файлы
    • 166 Файлы журналов повторения транзакций
      • 167 Оперативный журнал повторения транзакций
      • 170 Архивный журнал повторения транзакций
    • 171 Файлы паролей
    • 175 Файл отслеживания изменений
    • 176 Ретроспективные журналы
      • 177 Команда FLASHBACK DATABASE
      • 178 Область для быстрого восстановления
    • 178 Файлы DMP (файлы EXP/IMP)
    • 180 Файлы Data Pump
    • 182 Плоские файлы
    • 183 Резюме
  • 185 Глава 4. Структуры памяти
    • 186 Глобальная область процесса и глобальная область пользователя
      • 187 Ручное управление памятью PGA
      • 194 Автоматическое управление памятью PGA
      • 206 Выбор между ручным и автоматическим управлением памятью
      • 207 Заключительные соображения по поводу использования областей PGA и UGA
    • 208 Системная глобальная область
      • 213 Фиксированная область SGA
      • 213 Буфер повторения
      • 215 Кэш буферов блоков
      • 222 Разделяемый пул
      • 225 Большой пул
      • 227 Пул Java
      • 227 Пул Streams
      • 228 Автоматическое управление памятью SGA
      • 229 Автоматическое управление памятью
    • 231 Резюме
  • 233 Глава 5. Процессы Oracle
    • 233 Серверные процессы
      • 234 Подключения посредством выделенного сервера
      • 236 Подключения посредством разделяемого сервера
      • 237 Резидентный пул соединений с базой данных (DRCP)
      • 238 Подключения и сеансы
      • 243 Сравнение режимов выделенного, разделяемого сервера и DRCP
      • 248 DRCP
      • 248 Заключительные соображения по поводу выделенного/разделяемого сервера
    • 249 Фоновые процессы
      • 250 Специализированные фоновые процессы
      • 261 Служебные фоновые процессы
    • 264 Подчиненные процессы
      • 264 Подчиненные процессы ввода-вывода
      • 265 Pnnn: серверы выполнения параллельного запроса
    • 265 Резюме
  • 267 Глава 6. Блокировка и защелкивание данных
    • 267 Что собой представляют блокировки
    • 271 Проблемы блокировки
      • 271 Потерянные обновления
      • 272 Пессимистическая блокировка
      • 274 Оптимистическая блокировка
      • 281 Выбор между оптимистической и пессимистической блокировкой
      • 286 Взаимоблокировки
      • 291 Эскалация блокировки
    • 291 Типы блокировок
      • 292 Блокировки DML
      • 302 Блокировки DDL
      • 307 Защелки
      • 317 Блокировка вручную и блокировки, определенные пользователем
    • 318 Резюме
  • 319 Глава 7. Параллелизм и многоверсионность
    • 319 Что собой представляет управление параллелизмом
    • 321 Уровни изоляции транзакций
      • 322 Уровень изоляции READ UNCOMMITTED
      • 324 Уровень изоляции READ COMMITTED
      • 325 Уровень изоляции REPEATABLE READ
      • 328 Уровень изоляции SERIALIZABLE
      • 331 Уровень изоляции READ ONLY
    • 332 Последствия многоверсионной согласованности чтения
      • 332 Распространенный прием организации хранилищ данных, который не работает
      • 333 Объяснение неожиданно высокой активности ввода-вывода в «горячих» таблицах
    • 336 Согласованность записи
      • 336 Согласованные чтения и текущие чтения
      • 339 Как увидеть перезапуск?
      • 342 Почему перезапуск важен для нас?
    • 343 Резюме
  • 345 Глава 8. Транзакции
    • 346 Операторы управления транзакциями
    • 347 Атомарность
      • 347 Атомарность на уровне оператора
      • 349 Атомарность на уровне процедуры
      • 353 Атомарность на уровне транзакции
      • 353 Операторы DDL и атомарность
    • 354 Постоянство
      • 354 Расширения WRITE оператора COMMIT
      • 356 Операторы COMMIT в нераспределенном блоке PL/SQL
    • 357 Ограничения целостности и транзакции
      • 357 Ограничения IMMEDIATE
      • 358 Ограничения DEFERRABLE и каскадные обновления
    • 362 Плохие привычки, связанные с транзакциями
      • 363 Фиксация в цикле
      • 370 Использование автоматической фиксации
    • 371 Распределенные транзакции
    • 373 Автономные транзакции
      • 373 Как работают автономные транзакции
      • 375 Когда использовать автономные транзакции
    • 378 Резюме
  • 379 Глава 9. Повтор и отмена
    • 380 Что собой представляет redo
    • 381 Что собой представляет undo
    • 384 Как redo и undo работают вместе
      • 384 Пример сценария INSERT-UPDATE-DELETE
    • 388 Обработка COMMIT и ROLLBACK
      • 388 Что делает COMMIT?
      • 395 Что делает ROLLBACK?
    • 396 Исследование redo
      • 397 Измерение redo
      • 398 Можно ли отключить генерацию журналов redo?
      • 402 Почему не удается разместить новый журнал?
      • 404 Очистка блоков
      • 408 Соперничество за журнал
      • 410 Временные таблицы и redo/undo
    • 414 Исследование undo
      • 414 Что генерирует максимум и минимум информации undo?
      • 416 Ошибка ORA-01555: snapshot too old
    • 428 Резюме
  • 429 Глава 10. Таблицы базы данных
    • 429 Типы таблиц
    • 431 Терминология
      • 432 Сегмент
      • 434 Управление пространством сегментов
      • 435 Маркер максимального уровня заполнения (HWM)
      • 436 Списки свободных блоков
      • 441 Параметры PCTFREE и PCTUSED
      • 444 Параметры LOGGING и NOLOGGING
      • 444 Параметры INITRANS и MAXTRANS
    • 444 Традиционные таблицы
    • 448 Индекс-таблицы
      • 463 Заключительные соображения по поводу индекс-таблиц
    • 464 Кластеризованные индекс-таблицы
      • 471 Заключительные соображения по поводу кластеризованных таблиц
    • 472 Кластеризованные хеш-таблицы
      • 480 Заключительные соображения по поводу кластеризованных хеш-таблиц
    • 481 Отсортированные кластеризованные хеш-таблицы
    • 484 Вложенные таблицы
      • 484 Синтаксис вложенных таблиц
      • 492 Хранение вложенных таблиц
      • 495 Заключительные соображения по поводу вложенных таблиц
    • 496 Временные таблицы
      • 503 Заключительные соображения по поводу временных таблиц
    • 504 Объектные таблицы
      • 510 Заключительные соображения по поводу объектных таблиц
    • 510 Резюме
  • 513 Глава 11. Индексы
    • 514 Обзор индексов Oracle
    • 516 Индексы со структурой B-дерева
      • 518 Сжатие ключа индекса
      • 521 Индексы по реверсированным ключам
      • 526 Индексы, упорядоченные по убыванию
      • 529 Когда следует использовать индексы B*Tree?
      • 539 Заключительные соображения по поводу индексов B*Tree
    • 540 Битовые индексы
      • 541 Когда следует применять битовые индексы?
      • 545 Битовые индексы соединений
      • 547 Заключительные соображения по поводу битовых индексов
    • 548 Индексы на основе функций
      • 548 Важные детали реализации
      • 549 Простой пример индекса на основе функции
      • 558 Индексация только некоторых строк
      • 560 Реализация выборочной уникальности
      • 560 Предупреждение относительно ошибки ORA-01743
      • 561 Заключительные соображения по поводу индексов на основе функций
    • 562 Индексы предметной области
    • 563 Часто задаваемые вопросы и мифы об индексах
      • 563 Работают ли индексы в представлениях?
      • 564 Могут ли значения NULL и индексы работать вместе?
      • 566 Нужно ли индексировать внешние ключи?
      • 567 Почему индекс не используется?
      • 574 Миф: пространство никогда не используется в индексе повторно
      • 577 Миф: наиболее отличительные элементы должны быть первыми
    • 580 Резюме
  • 581 Глава 12. Типы данных
    • 581 Обзор типов данных Oracle
    • 584 Символьные и двоичные строковые типы
      • 584 Обзор NLS
      • 587 Символьные строки
    • 594 Двоичные строки: типы RAW
    • 596 Числовые типы
      • 598 Синтаксис и использование типа NUMBER
      • 602 Синтаксис и использование типов BINARY_FLOAT/BINARY_DOUBLE
      • 603 Несобственные числовые типы
      • 603 Соображения относительно производительности
    • 605 Типы LONG
      • 605 Ограничения типов LONG и LONG RAW
      • 606 Копирование с унаследованными типами LONG
    • 612 Типы DATE, TIMESTAMP и INTERVAL
      • 612 Форматы
      • 613 Тип DATE
      • 619 Тип TIMESTAMP
      • 627 Тип INTERVAL
    • 629 Типы LOB
      • 630 Внутренние LOB
      • 641 Тип BFILE
    • 643 Типы ROWID/UROWID
    • 644 Резюме
  • 645 Глава 13. Секционирование
    • 646 Обзор секционирования
      • 646 Повышенная доступность
      • 648 Облегчение задач администрирования
      • 653 Производительность расширенных операторов
    • 655 Схемы секционирования таблиц
      • 656 Секционирование по диапазонам ключей
      • 658 Хеш-секционирование
      • 662 Секционирование по списку значений ключа
      • 664 Секционирование по интервалам ключей
      • 670 Секционирование по ссылкам
      • 675 Составное секционирование
      • 677 Перемещение строк
      • 680 Заключительные соображения по поводу схем секционирования таблиц
    • 681 Секционирование индексов
      • 681 Сравнение локальных и глобальных индексов
      • 682 Локальные индексы
      • 688 Глобальные индексы
      • 698 Система OLTP и глобальные индексы
    • 703 Еще раз о секционировании и производительности
    • 708 Аудит и сжатие пространства сегментов
    • 710 Резюме
  • 711 Глава 14. Параллельное выполнение
    • 712 Когда использовать параллельное выполнение
      • 713 Аналогия параллельной обработки
    • 715 Oracle Exadata
    • 715 Параллельный запрос
    • 721 Параллельный DDL
    • 724 Параллельный DDL
      • 725 Параллельный DDL и загрузка данных с использованием внешних таблиц
      • 727 Параллельный DDL и усечение экстента
    • 736 Параллельное восстановление
    • 736 Процедурный параллелизм
      • 737 Параллельные конвейерные функции
      • 741 Самодельный параллелизм
      • 744 Самодельный параллелизм старой школы
    • 748 Резюме
  • 749 Глава 15. Загрузка и выгрузка данных
    • 749 SQL*Loader
      • 754 Часто задаваемые вопросы относительно загрузки данных посредством SQLLDR
      • 778 Предупреждения относительно SQLLDR
      • 779 Заключительные соображения по поводу SQLLDR
    • 779 Внешние таблицы
      • 780 Установка внешних таблиц
      • 785 Обработка ошибок
      • 788 Использование внешней таблицы для загрузки различных файлов
      • 788 Проблемы многопользовательского доступа
      • 790 Заключительные соображения по поводу внешних таблиц
    • 790 Выгрузка в плоский файл
    • 798 Выгрузка Data Pump
    • 799 Резюме
  • 801 Глава 16. Шифрование данных
    • 801 Типы шифрования
      • 802 Данные в движении
      • 803 Данные в состоянии покоя
      • 805 Ручное шифрование приложений
      • 807 Бумажник Oracle
      • 810 Прозрачное шифрование на уровне столбца
      • 813 Прозрачное шифрование табличного пространства
    • 815 Чем не является шифрование
    • 816 Реализация ручного шифрования приложения
      • 817 Причины, по которым следует избегать ручного подхода
      • 818 Влияние ручного подхода на производительность
      • 822 Когда следует использовать ручной подход
    • 823 Реализация шифрования на уровне столбца
      • 823 Как использовать шифрование столбца
      • 824 Хранение данных с шифрованием столбца
      • 828 Измерение влияния на производительность шифрования столбцов
      • 828 Факторы, влияющие на величину
      • 834 Ограничения шифрования столбцов
    • 835 Реализация шифрования табличного пространства
      • 835 Как использовать шифрование табличного пространства
      • 836 Хранение данные с шифрованием табличного пространства
      • 838 Измерение влияния шифрования табличного пространства на производительность
    • 843 Выбор технологии шифрования
    • 844 Резюме
  • 845 Предметный указатель

Инструкция как скачать книгу Томас Кайт: Oracle для профессионалов. Архитектура, методики программирования и особенности версий 9i, 10g и 11g в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Oracle для профессионалов. Архитектура, методики программирования и особенности версий 9i, 10g и 11g
Рейтинг книги:
4 голоса
1572

Поиск книг:




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

Статистика: