® Системы высокой доступности на базе СУБД Oracle (Oracle9i) Грищенко Сергей Российское представительство Oracle.

Презентация:



Advertisements
Похожие презентации
Администрирование информационных систем Лекция 4. Система управления базами данных.
Advertisements

Лекция 27 Лекция 27 Идентификация пользователей. Проверка и назначение полномочий и представлений данных пользователей. Защита базы данных. Контроль параллельной.
ASE 12.0 Эволюция продуктов ASE for Linux поддержка jConnect ASE 12.0 Распределенные транзакции Java/XML в БД Enterprise Event Broker Обработка событий.
Что Такое Progress ?. Progress Software Corporation l Основана в 1981 l Штаб-квартира в Bedford, USA l 1,100 сотрудников l Присутствие в 60+ странах l.
Л ЕКЦИЯ 6 Распределенные корпоративные системы. У ЧЕБНЫЕ ВОПРОСЫ 1. Преимущества построения распределенных систем 2. Распределенные системы в Oracle.
Лекция 25 Лекция 25 Понятие целостности базы данных. Условия целостности. Транзакции. Обработка транзакций. Свойства транзакций. Модель ANSI/ISO. Назначение.
Распределенные и параллельные вычисления на MS SQL (always on). Адаптация для 1С 8 Сердюк Владимир Баркетов Павел.
Савенков Виталий Мещеряков Александр Специалист технической поддержки Oracle ФОРС – Центр Разработки
Что Такое Progress ? Графеева Н. Помыткина Т. Санкт-Петербург 2002.
Построение отказоустойчивой распределенной системы резервного копирования Бакшеев Дмитрий, Старший специалист Департамента систем управления.
Администрирование информационных систем Обеспечение доступности серверов БД.
Администрирование информационных систем Администрирование баз данных Восстановление данных.
FastTrack Data Warehouse Иван Косяков Technology Architect, MTC Moscow Особая благодарность Алексею Халяко из SQLCAT.
Модели транзакций Журнализация и буферизация. Зачем нужна буферизация Если бы запись об изменении базы данных, которая должна поступить в журнал при выполнении.
AlwaysOn в SQL Server «Denali» Иван Косяков Архитектор программных систем, MTC
Урок 1. Обзор сервера SQL Server. Обзор Что такое сервер SQL Server Архитектура сервера SQL Server Система безопасности сервера SQL Server Базы данных.
Репликация – это процесс создания и поддерживания копии объектов базы данных на удаленном сервере.
Exchange 2010: Новые возможности по хранению данных и обеспечению отказоустойчивости в Exchange 2010, backup и восстановление с использованием System Center.
БАЗЫ ДАННЫХ часть II Параллельные архитектуры баз данных.
Учебный курс Технологии и средства разработки корпоративных систем Лекция 1 Открытые системы. Клиент и сервер Лекции читает кандидат технических наук,
Транксрипт:

® Системы высокой доступности на базе СУБД Oracle (Oracle9i) Грищенко Сергей Российское представительство Oracle

Oracle : высокая доступность Надежность Способность к восстановлению – быстрое восстановление без участия человека Работоспособность – способность предоставлять сервисы при выполнении операций сопровождения Три характеристики высокодоступного решения

Oracle9 i - Высокая доступность Плановые операции Незаплани- рованный сбой Сопровождение БД Сопровождение системы Человеческий фактор Потери данных и катастрофы Системный сбой Online Redefinition Partitioning, Parallel SQL Dynamic Reconfiguration Data Guard, RAC Flashback Query Log Miner, Data Guard Recovery Manager Data Guard Real Application Clusters Fast Restart

Oracle : высокая доступность Защита от краха систем и системных сбоев Защита от человеческих ошибок и катастроф Обеспечение высокой доступности при операциях по сопровождению СУБД

Oracle : высокая доступность Защита от краха систем и системных сбоев – Standart Fault Recovery – Fast-start Checkpointing – Fast-start parallel rollback – Cold Failover – Warm Failover - Real Application Cluster – Hot Failover – Маскировка сбоев - Transparent Application Failover

Принципы восстановления БД Для восстановления после сбоя БД должна : À Убедиться, что все изменения, сделанные до сбоя, сохранены (roll forward) Объем работы пропорционален скорости изменения данных и промежутком между контрольными точками (checkpoints) Á Откатить все незавершенные транзакции (roll back) Объем работы пропорционален величине самой большой транзакции, поэтому полное время не может быть проконтролировано администратором Recovery Time = Roll Forward + Roll Back БД до Recovery Step 1: Roll Forward Step 2: Roll Back Uncommitted Transaction Committed Transaction

Обычный Checkpointing Процесс Recovery повторяет все изменения, сделанные со времени последнего Checkpoint Обычный алгоритм периодически идентифицирует все модифицированные блоки в буфере и пишет их на диск – Как только все записи завершены, время checkpoint сдвигается ко времени начала процесса записи – Должен поддерживать максимальную скорость модификации и поэтому осуществляет иногда слишком много операций записи в обычном случае

Архитектура быстрого восстановления после сбоя: – Ограничивает время наката и делает его предсказуемым – Полностью устраняет влияние времени отката Oracle9 i : новый стандарт восстановления Roll Back RIP Roll Back RIP Recovery Time = Roll Forward + Roll Back Fast-Start Recovery Time = + 0

Fast-Start Checkpoints ДБА может прямо контролировать время наката, ограничивая число блоков, которые нужно восстанавливать в случае сбоя Oracle автоматически управляет интервалами между checkpoints Самый старый модифицированный блок записыватся всегда первым, что почти вдвое уменьшает время roll forward Present Redo Log Buffer Cache FAST_START_IO_TARGET Controls The Length Of Recovery Recovery Position Maintained In The Control File By Fast-Start Checkpoint (determined by oldest dirty block) Time Clean Buffer Dirty Buffer

Основные компоненты Server 1 Server 2 Server N Server 3 CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU Высокоскоростной сервер Высокосокростная связь Разделяемая дисковая подсистема

Кластерные базы данных Shared Cache/Disk – Oracle и IBM Mainframes – Чем больше узлов, тем надежней – Не требует секционирования данных Shared Nothing – Microsoft и IBM Unix/NT – Чем больше узлов, тем ненадежней – Static Data Partitioning DataA-Z DataA-EDataF-KDataL-SDataT-Z

Microsoft Clustered Database - распределенная БД database CLUSTER database partition database partition database partition database partition NETWORK

Масштабируемость - это возможность добавлять данные и узлы database partition database partition database partition database partition database partition Добавить узел... – Выгрузить данные – Переопределить таблицы, индексы, представления, триггеры – Перегрузить данные Распределенная БД...

Кластерная БД... Добавить узел... Масштабируемость - это возможность добавлять данные и узлы

Система должна обеспечивать высокую доступность В распределенной БД при падении узла... Локальные данные этого узла становятся недоступными Незавершенные транзакции могут блокировать данные других узлов (2-phase commit) Сложно восстанавливать database partition database partition database partition database partition database partition

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

Восстановление с Cold Failover Рестарт Oracle на запасном узле кластера Только одна система видит базу данных в любой момент времени Решение обеспечивает поставщик системы Время рестарта первичного узла отделено от времени восстановления Oracle Instance Oracle Instance Shared Disk Separate Databases Heartbeat

Восстановление с Warm Failover Переприсоединение на соседний узел кластера с Oracle Parallel Server Все восстановление выполняется работающими узлами Shared Disk and Database Oracle Instance OS Oracle Instance OS Oracle Instance OS

Восстановление с Hot Failover Предварительное соединение с соседним узлом кластера В случае сбоя используется это соединений В случае сотен пользователей это значительно экономит время Oracle Instance Oracle Instance Shared Database primary backup

Failover - Oracle Fail Safe for MS NT Основной узел Основной узел Windows NT MS Clust. Mgr. Oracle RDBMS Oracle Fail Safe Windows NT MS Clust. Mgr. Oracle Fail Safe Резервный узел Windows NT MS Clust. Mgr. Oracle Fail Safe OracleRDBMSOracle

Parallel Cache Management Read Block A 2. Read Block A 3. Update Block A 4. Update Block A 5. Ping Block A... Shared Memory/Global Area shared SQL log buffer Shared Memory/Global Area shared SQL log buffer DLM DLM Shared Disk Database Block A Обмен блоками По требованию Через диск Способы избежать –Application Partitioning –Tx Monitors

Cache Fusion Request Data Transfer Oracle9i Cache Fusion повышает производительность и масштабируемость – Данные пересылаются напрямую через интерконнект – Уменьшается число операций Ввода/Вывода

Все узлы online Oracle9i Real Application Cluster -- Масштабируемость и Высокая доступность Архитектура Shared Cache использует Cache Fusion Масштабирование всех приложений без изменений Простота администрирования, поддержка всех платформ Добавка дисков без re-partitioning Failover прозрачно для пользователей High-speed interconnect

Transparent Application Failover (TAF) Transparent Application Failover работает на всех уровнях – Приложение и пользователи автоматически и прозрачно переприсоединяются к другому узлу – Приложения и запросы не прерываются – Поддерживается контекст Loginа ComputerA ComputerB ComputerA ComputerB При сбое узла А пользователи мигрируют на В Лучший сбой - это сбой, который прошел незаметно !

SELECT * FROM emp; TAF Select Failover Прерванная выборка записей продолжает выполняться Механизм много-версионного чтения гарантирует целостность результатов SELECT * FROM emp; Instance 2 Client empno name 7369 Smith 7499 Allen 7521 Ward 7566 Jones 7654 Martin 7698 Blake Instance 1 DB empno name 7369 Smith 7499 Allen 7521 Ward 7566 Jones 7654 Martin 7698 Blake Rows Partially Returned When Failover Occurred Continues Returning Remaining Rows

Характеристики TAF TAF защищает или переносит: – Client/server соединения – Состояние сессии – Активные курсоры (SELECT statements) которые начали возвращать результаты Не переносит: – Активные транзакции UPDATE – Переменные PL/SQL- пакетов со стороны сервера Все клиентские приложения, которые используют Oracle Call Interface version 8 (OCI8) или выше, явно или нет, работают с TAF – SQL*Plus, ODBC, JDBC/OCI, Oracle precompilers

DynaСonnect - Поддержка большого числа пользователей Соединения переключаются на наименее занятый узел

Real Application Cluster Использование DynaConnect Client Node Dispatchers Node Dispatchers Listener БД при старте регестрируется со всеми listenerми Узел сообщает об использовании ЦПУ listenerам Listener выбирает наименее используемый узел CPU Load

Oracle Parallel Query Server 1 Server 2 Server N OS ClusterWare Application Server 3 Query OS ClusterWare OS ClusterWare OS ClusterWare Oracle RDBMS Oracle RAC Oracle RDBMS Oracle RAC Oracle RDBMS Oracle RAC Subquery

Решения Oracle для кластеров Масштабируемость Доступность Oracle9iOracle9i + Oracle Fail Safe Oracle9i + RAC + OPQ Oracle9i + RAC

Решения Oracle для кластеров Real Application ClusterHardware Failover Плюсы – Высокие доступность и масштабируемость – Нет точек сбоя – Число клиентов, затрагиваемых сбоем, невелико – Пользователи могут работать в процессе восстановления – После сбоя данные находятся в кэше работающего узла – Балансировка нагрузки – Рост масштабируемости с числом узлов – Одинаковая реализация для различных платформ Плюсы – Высокая доступность – Простое администрирование и управление – Недорого – Небольшая дополнительная нагрузка на систему – Интеконнект проводит только heartbeat

Решения Oracle для кластеров Real Application ClusterHardware Failover Минусы – Более сложные настройка и администрирование – Цена – Интерконнект требует напряженной работы DLM Минусы – Перезагрузка кэша после восстановления – Запасной узел может быть недозагружен в обычном режиме – Или перегружен после перехода – Различная реализация для разных платформ

Oracle : высокая доступность Защита от краха систем и системных сбоев Защита от человеческих ошибок и катастроф Обеспечение высокой доступности при операциях по сопровождению СУБД

Oracle : высокая доступность Защита от катастроф – Oracle Data Guard – Advanced Replication – Geo-mirroring

Oracle Data Guard Поддержка синхронной копии базы данных Standby Database Log Apply Primary Server Standby Server Log Files Log Write Production Database

Failover и Switchover Primary Server Standby Server Production Database Log Files Log Write Standby Database Log Apply

Logical Standby Production Database ZERO DATA LOSS Physical Standby Database Ship Log FilesRecover Logs Apply SQL Statements Transform Log Files to SQL statements Logical Standby Database

Зеркалирование удаленных дисковых подсистем Удаленное зеркалирование диск-в-диск управляется системой хранения Используется: – Восстановление после катастроф – Ускорения архивирования – Создание read-only копии БД EMC Symmetrix + SRDF (Symmetric Remote Data Facility) + TimeFinder сертифицированы Oracle Production System Database Storage Backup System Database Mirror High Speed Link Oracle Server Oracle Server

Advanced Replication Репликация - процесс копирования и поддержания синхронности объектов БД в нескольких базах данных San Francisco Paris Singapore

Сравнение решений

Oracle : высокая доступность Защита от краха систем и системных сбоев Защита от человеческих ошибок и катастроф Обеспечение высокой доступности при операциях по сопровождению СУБД

Database Resource Manager Batch Processing DSS User Database Resource Manager Batch: low priority DSS queries: medium priority OLTP User OLTP updates and queries: high priority Ресурсы, предоставляемые пользователям, базируются на плане, определяемом администратором Позволяет выставлять приоритеты

Database Resource Manager Выделение ресурсов Управляемые ресурсы – Использование ЦПУ – МАХ степень параллелизма Уровень параллелизма выбирается автоматически, основываясь на выделенных ресурсах и степени загрузки системы Возможны разные планы для разных дней недели или времени суток

LogMiner Файлы redo log содержат информацию об активности над базой данных Oracle9i LogMiner предоставляет стандартный интерфейс, позволяющий анализировать содержимое этих файлов LogMiner можно использовать: – Отслеживать специфические изменения, основанные на транзакциях, пользователе, таблице, времени, etc. – Определять, как выполнить откат – Восстановление проводится на уровне приложения, а не на уровне БД – Выполнять тюнинг

Пример LogMiner SQL> select sql_redo, sql_undo from v$logmnr_contents where 2 username = joe smith and seg_name = EMPLOYEE; Joe Smith поднял себе зарплату…. 14 rows selected SQL> exit

Секционирование таблиц и индексов Улучшает доступность, управляемость 01-JAN to 31-MAR 01-APR to 30-JUN 01-JUL to 30-SEP 01-OCT to 31-DEC Секционирование упрощает управление VLDB Секционирование значительно повышает производительность Разделы прозрачны для пользователей и приложений Данные разбиваются в зависимости от приложения Диапазон значений

Секционирование таблиц и индексов Секционирование по hash-значению ORDER table Вставляет записи в раздел, основываясь на вычисляемом значении Отлично для равномерного распределения данных и параллельного DML Данные разделяются используя hash-алгоритм

Секционирование таблиц и индексов Сложное секционирование ORDER table Лучшее из обоих видов секционирования – Параллельный доступ – Управляемость и доступность Вначале по ключу, потом по hash-значанию Q1Q2Q3 Q4

1200 GMT List Partitioning Пример преимущества - скользящее окно : данные разбиваются согласно бизнес-требованиям Сопровождение Запросы online Europe Region Europe Region Americas Region Americas Region Asia Region Asia Region

Секционирование индексов Global Non- Partitioned Index Local Partitioned Index Prefixed or Not Global Partitioned Index TablePartitionTablePartition TablePartition TablePartition Индекс GLOBAL указывает на запись в любой секции – Индекс может быть секционирован или нет – Поддержка секций влияет на весь индекс – Лучший подход для OLTP LOCAL - секционирован как и таблица – Ключ разбиения может отличаться от ключа для таблицы – Ключ разбиения можно поддерживать отдельно – Оптимально для DSS – Оптимально для OPS

Параллельное выполнение запросов sort by store, sum revenues SQL data dynamic data distribution scan line_items, executing profit function in parallel scan scan scan sort A-K sort L-S sort T-Z ship SQL functions, assemble results scanning sorting & grouping query servers select sum(revenue), store from line_items where profit (price,units) > 0.2 group by store order by store cost user-defined function Coordinator

Параллельные INSERT, UPDATE и DELETE Полное использование параллельности аппаратуры С ростом БД, выполнение операций должно быть паралельным для получения желаемого времени отклика Операции с хранилищем данных, выполнеемые параллельно, значительно повышают производительность при глобальных изменениях – Глобальный UPDATE – Глобальный DELETE – Глобальный INSERT CPUCPUCPUCPUCPUCPUCPUCPU Query--Index--Load Insert--Update--Delete Query--Index--Load Insert--Update--Delete

xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx Изменения и запросы Реорганизация структур данных «на лету» Структуры данных можно изменять «на лету» при одновременных операциях пользователей Операция не требует блокировок Фиксация Перенос таблицы Перенос таблицы завершен xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx Изменения и запросы

Восстановление данных Запрос на определенный момент времени (flashback) Запросить состояние данных на любое выбранное время в прошлом Любой SQL запрос допустим

Направляемая, экспертная диагностика и настройка Разрешение проблем Web интерфейс HTML отчеты Документация для задач Oracle Enterprise Manager

Oracle9 i - Высокая доступность

Как нас найти... Телефон в Москве