Www.fors.ru Почему нужно переходить на Oracle Database 11g Валерий Юринский Директор Отделения технологического консалтинга vyourinsky@fors.ru 20 июля.

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



Advertisements
Похожие презентации
Масштаб 1 : Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______.
Advertisements

Масштаб 1 : Приложение 1 к решению Совета депутатов города Новосибирска от
Администрирование информационных систем Лекция 4. Система управления базами данных.
Урок 2. Информационные процессы в обществе и природе.
Приложение 1 к решению Совета депутатов города Новосибирска от Масштаб 1 : 5000.
Машина для баз данных Oracle Exadata как один из основных компонентов современного ЦОД Александр Штакал Oracle СНГ (Беларусь)
Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______ Масштаб 1 : 5000.
Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота Ю.К.
Новые возможности 12c Active Data Guard Евгений Горбоконенко.
Г. Москва, тел.: +7 (495) , Internet: Методы бизнес-анализа в системе Бизнес-инженер.
Лекция 1 Раздел 1 Windows Phone Темы раздела 3 Windows Phone Устройство на платформе Windows Phone 4.
Докладчик: Зацепилов Д.С инженер-электроник УА Применение технологии виртуализации на основе XEN для развёртывания Web-серверов и серверов приложений производственного.
Савенков Виталий Мещеряков Александр Специалист технической поддержки Oracle ФОРС – Центр Разработки
Расширенные темы 1. SQL запросы Язык JPQL является абстракцией и «общим знаменателем» всех SQL диалектов. Очевидно, что конкретный диалект обладает бОльшими.
Новая версия СУБД Oracle - Oracle 11g: обзор характеристик и возможностей Марк Ривкин Российское представительство Oracle.
Д. Дуброво д. Бортниково с. Никульское д. Подлужье д. Бакунино пос. Радужный - Песчаный карьер ООО ССП «Черкизово» - Граница сельского поселения - Граница.
Таблица умножения на 8. Разработан: Бычкуновой О.В. г.Красноярск год.
Слайд 1 из 11 Преимущества торговых решений на платформе 1С: Предприятие 8.2 Заржецкий Александр Руководитель департамента автоматизации непродовольственн.
Опыт проведения нагрузочного тестирования DocsVision Виктор Сущев DocsVision Директор по консалтингу.
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
Транксрипт:

Почему нужно переходить на Oracle Database 11g Валерий Юринский Директор Отделения технологического консалтинга 20 июля 2011 г.

2 Oracle Database 11g Объявлена в октябре 2006 на OOW Oracle Database 11g R1 - вышла в 2007 г Oracle Database 11g R2 - вышла в 2009 г Linux, SUN Solaris, Solaris X64, HP-UX, AIX, Windows 32, Windows – вышла осенью 2010 г В каждом релизе сотни улучшений

Переход на Oracle Database 11g снижает затраты На серверное оборудование – до 70% Grid и виртуализация Стандартные аппаратные средства (commodity hardware) Real Application Clusters На системы хранения данных – до 70% Автоматическое управление памятью (ASM) Advanced Compression Управление жизненным циклов информации (ILM) На техническую поддержку – до 50% за 3 года Не нужна дополнительная плата за расширенную техподдержку устаревших версий (Extended Support = +10% первый год +20% второй год +20% третий год)

Политика технической поддержки Oracle Premier support (первичная поддержка) 5 лет с момента выхода редакции (GA=General Availability) Extended support (расширенная поддержка) 3 года после окончания первичной поддержки Только для терминальных версий (например, ) За дополнительную плату (+10%, +20%, +20%) Sustaining support («подпирающая» поддержка) в течение периода расширенной поддержки для тех, кто расширенную поддержку не оплатил (но оплатил обычную поддержку) неопределенно долго после окончания периода расширенной поддержки Нет дополнительной платы, но платим за полноценную поддержку, а получаем «подпирающую» 4

5 t Сегодня Почему нужно делать Upgrade? Политика технической поддержки Sustaining Support Premier Support R2 July 2007 Extended Support July 2010 January 2009 January 2012 R2 July 2010 July August 2012 August 2015 July 2008 July 2011 R January 2015 January 2018

6 Количество запросов в техподдержку по версиям 32% 58% 8% 12% 72% 14%

7 Пути перехода на Oracle Database 11g R R "Empty" arrows mean: no specific patch release required

© 2010 Oracle Corporation 8 Перейти на Oracle 11g проcто Объем документов по Upgrade Oracle страниц Oracle страницы – 111 шагов для БД с 9-ю компонентами Oracle страницы Oracle страниц – Всего 6 шагов! Oracle страниц Oracle страниц – Добавлены детальные объяснения и информация по новым опциям Oracle страниц

Upgrade Companion 9

10 Почему нужно переходить на Oracle 11g? Преимущества: Oracle Database 11g по сравнению с 10g

11 Изменения в ORACLE 11g Основные направления снижения стоимости Снизить стоимость используемого оборудования в 5 раз Снизить стоимость используемых систем хранения данных в 20 раз Увеличить производительность в 10 раз Исключить простои и неиспользуемые ресурсы Увеличить производительность работа АБД в 2 раза Уменьшить стоимость обновления (upgrade) в 4 раза Снизить риски внесения изменений New 11.2

12 Новые возможности GRID, RAC, High Availability Повышение производительности Управление информацией (Information Management) Улучшения для всех типов данных, Файловая система в БД, ILM, ASM и ASM CFS, размещение данных и т д Разработка приложений Тестирование изменений Управляемость Прочее Новые опции СУБД (Database/Audit Vault, ACO, ADG, RAT, Total Recall, RAC One Node, In Memory Database Cache) Exadata Database Machine – машина баз данных

Database GRID, Real Application Clusters, High Availability 13

Масштабируемость и высокая доступность Данные Real Application Clusters

Масштабируемость и высокая доступность Постепенное наращивание Данные Real Application Clusters

Масштабируемость и высокая доступность Постепенное наращивание Дополнительные ресурсы по запросу с нулевым простоем Данные Real Application Clusters

Кластеры серверов приложений Кластеры баз данных Сетевые устр. хранения Application Grid Database Grid (RAC) Storage Grid Grid Control RAC в Oracle Grid Computing

Замена большого сервера на кластер 18

Замена большого сервера на кластер 19

Замена большого сервера на кластер 20

21 Database Server Pools Oracle Clusterware 11gR2 AR Service AP Service ERP SP SALES Service Sales SPHR SPFree SP Oracle Database 11gR2 OS Service OS Service Динамическое управление ресурсами СУБД на основе политик Контроль доступности с помощью атрибутов Min, Max, & Importance Облегчает управление большими кластерами с множеством БД HR Service HR Service New 11.2

22 Front Office DW Back Office Free App Servers Упрощенное создание новых узлов Новый умный инсталлятор На 40% меньше шагов при установке RAC Узлы могут быть легко переназначены Информация о настройках сети и системы хранения считывается из профайла и конфигурируется автоматически Не нужно вручную готовить узел Узлы могут быть динамически добавлены или удалены из кластера mycluster.myco.com RAC One New 11.2

23 Single Client Access Name (SCAN) Используется клиентами для связи с любой БД кластера Не нужно менять описание на клиенте при изменении конфигурации кластера Балансировка нагрузки между инстансами, обеспечивающими сервис Обеспечивает переключение междуперемещающимися инстансами Клиенты SCAN Listeners Oracle RAC Database Local Listeners Application Server New 11.2

24 Front Office DW Back Office Free App Servers Ресурсы защищены с помощью Oracle Clusterware Restart Можно описать зависимость ресурсов Hard / Weak / Attraction / PullUp / Dispersion © 2009 Oracle Corporation – Proprietary and Confidential RAC ONE A RAC ONE B RAC ONE C RAC ONE D RAC ONE E RAC ONE F RAC ONE G RAC ONE H RAC ONE I RAC ONE J RAC ONE K RAC ONE L SOA IMDB OC4J APACHE New 11.2

25 Элементы Grid: RAC One Node Новая RAC конфигурация для одного инстанса: OMotion – перемещает СУБД на другой сервер Rolling patches для одного инстанса и ОС Встроенная high availability Online upgrade to RAC Позволяет заказчикам использовать единую стандартную модель установки и управления БД Поддерживается и на физических, и на виртуальных средах Oracle Clusterware RAC One Node New 11.2

26 RAC One Node. Сбой сервера RAC One Node интегрирован с Oracle Clusterware, которое осуществляет мониторинг состояния БД и обеспечивает доступность сервиса БД При сбое сервера RAC One Node обнаружит ошибку и выполнит Либо рестарт неисправной БД Либо её переключение на другой сервер (failover) RAC One Node обеспечивает автоматическое восстановление при сбоях в течение 5-30 минут Хорошо подходит для приложений, допускающих короткие периоды вынужденного простоя, но не допускающих ожидания вмешательства персонала для решения проблем

RAC One Node. Сбой сервера Oracle Clusterware Сервер AСервер B Сервер C БД 1БД 2БД 4 Общая разделяемая внешняя память Одиночный кластер БД 3 27

RAC One Node. Перенос Перенос (миграция) экземпляра БД на другой сервер для Балансировки нагрузки (переход на менее загруженный сервер) Выполнения работ, требующих остановки сервера Используя Omotion, RAC One Node Стартует второй экземпляр БД на другом сервере По мере завершения транзакций на прежнем сервере соединения клиентов переключаются на другой сервер После переключения всех сессий выполняет остановку экземпляра БД на прежнем сервере Некоторое время с БД одновременно работают два экземпляра сервера Oracle Database 11g 28

RAC One Node. Перенос БД Oracle Clusterware Сервер AСервер B Сервер C БД 1БД 2БД 3БД 4 Общая разделяемая внешняя память Одиночный кластер БД 2 Соединения клиентов 29

30 Oracle In-memory Database Cache (TimesTen) Кэшируются (помещаются в оперативную память) таблицы из БД Oracle Пользователь конфигурирует группы кэширования Кэширование индивидуальных таблиц и зависимых таблиц Кэширование всех или подмножества строк и столбцов Только чтение или изменение Автоматическая синхронизация данных Из TimesTen в Oracle Из Oracle в TimesTen Checkpoints Tx Logs Network Client- Server Cache Tables Cache Agent Direct-linked Application TimesTen Libraries TimesTen Client lib Application

Преимущества Oracle In-Memory Database Cache (TimesTen) Время ответа – микросекунды Огромная пропускная способность (~ TPS) Высочайшая скорость обработки данных Поддержка уровней изолированности транзакций Поддержка SQL Поддержка PL/SQL

Быстродействие

33 Oracle In-memory Database Cache (Times Ten) 11.2 Улучшена производительность, масштабируемость Оптимизация SQL, Bitmap индексы, write throughput Улучшена совместимость с Oracle Database Поддержка Oracle Call Interface (OCI) и Pro*C PL/SQL Повышение надежности Падение узла TT => автоматическоне переключение на другой TT, репликация Падение Oracle DB => переключение кэша на резервную БД Автоматическое client connections failover и notification Нулевое время простоя, данные не теряются © 2009 Oracle Corporation – Proprietary and Confidential New 11.2

34 Автоматическая степень параллелизма (DoP) До 11.2 настройка параллелизма делалась вручную Единая степень параллелизма не подходит для всех запросов Слишком большой параллелизм может затопить систему При автоматическом определении степени параллелизма Oracle сам решает Нужно ли выполнять данный SQL параллельно (например, если выполнение займет больше установленного предела времени – 30 сек) Какую степень параллелизма использовать Оптимизатор вычисляет DoP для SQL на основе требуемых для выполнения ресурсов Стоимость всех операций сканирования Максимально разрешенная степень параллелизма © 2009 Oracle Corporation – Proprietary and Confidential New 11.2

35 Автоматическая степень параллелизма Как это работает SQL оператор SQL разобран и оптимизатор определил план выполнения SQL выполняется без параллелизма SQL выполняется параллельно Оптимизатор определяет идеальную DOP Если оцениваемое время выполнения больше чем задано параметром Реальная DOP = MIN(default DOP, ideal DOP) Если оцениваемое время выполнения меньше PARALLEL_MIN_TIME_THRESHOLD © 2009 Oracle Corporation – Proprietary and Confidential New 11.2 DOP = Degree of Parallelism

36 Очередь выполнения параллельного SQL Как это работает SQL оператор SQL разобран и Oracle автоматически определил DOP Если есть достаточ-ное число парал-лельных серверов, то SQL выполняется немедленно Если нет достаточного числа параллельных серверов, то SQL помещается в очередь FIFO Queue Когда требуемое число параллельных серверов станет доступным, пер- вый SQL из очереди будет послан на выполнение © 2009 Oracle Corporation – Proprietary and Confidential New 11.2 DOP = Degree of Parallelism

37 Параллельное выполнение в памяти Как это работает SQL оператор Определяет размер просматриваемой таблицы Читает в буферный кэш любого узла Таблица очень маленькая Всегда использует прямые чтения с диска Таблица – хороший кандидат для параллельного выполнения в памяти Таблица очень большая Фрагменты таблицы читаются в буферные кэши каждого узла Только параллель- ный сервер того же узла RAC будет обрабатывать этот фрагмент © 2009 Oracle Corporation – Proprietary and Confidential New 11.2

38 Online Patching of One-off Patches "Патчевание" работающих инстансов Oracle без их остановки Многие специализированные (one-off) патчи могут быть применены online Подмножество обновляющих RAC online патчей Подходит для диагностирующих патчей Включать, выключать и деинсталировать специализированные патчи без остановки инстанса Интегрировано с OPatch и inventory Первоначально пригодны для Linux и Solaris Долговременная цель - online применение критических патчей (Critical Patch Updates - CPUs).

39 Physical Standby с Real-Time Query Physical Standby БД Первичная БД Real-time Queries Постоянная передача и применение Redo Одновременные запросы в реаль- ном времени Запросы на чтение выполняются на physical standby одновременно с применением redo Поддержка RAC на primary / standby Запросы видят транзакционно консистентные результаты Немедленно доступно многим пользователям physical standby Совмещение защиты от катастроф и запросов в реальном времени уникально – нет простаивающих ресурсов Пригодно для всех типов данных, но не так гибко, как logical standby

40 Real-time Queries Резервная (Standby) БД Эксплуатаци- онная БД отчетыbackup Постоянная доставка и применение изменений Логический, физический и Snapshot Standby Традиционный Data Guard Phisical Standby

41 Real-time Queries Резервная (Standby) БД Эксплуатаци- онная БД отчетыbackup Постоянная доставка и применение изменений Логический, физический и Snapshot Standby Перенос части нагрузки на резервную БД Active Data Guard Phisical Standby + Real-Time Query

42 Изменения в Data Guard Active Data Guard – обеспечение качества сервиса Standby Query SLA (уровень сервиса для Standby) можно задавать от 0 до n секунд Задает максимально допустимое отставание данных в standby database СУБД возвращает приложению ошибку, если максимум превышен Приложение может перенаправить запрос на основную БД Автоматическая починка блока Плохой блок определяется и чинится за счет неиспорченной версии из standby Data Guard – использование сети Сжатие передаваемой информации Не только для уменьшения отставания после перерыва передачи © 2009 Oracle Corporation – Proprietary and Confidential New 11.2

43 Исследование причин сбоя При сбое – паника и неразбериха Основная часть времени тратится на: Исследование проблемы Выбор правильного решения Полное время простоя Время для анализа и время для планирования Время восстановления

44 Data Repair Advisor Анализирует проблему, основываясь на симптомах Например, Open failed из-за того, что потерян файл данных Грамотно определяет стратегию лечения Агрегирует ошибки для выбора эффективного способа лечения Например, если много плохих блоков – лучше восстановить весь файл Рекомендует только выполнимые варианты восстановления Есть ли бэкапы? Существует ли standby database? Ранжирует варианты на основе времени восстановления и возможности потери данных Может автоматически выполнить восстановление

45 Rolling Database Upgrades c помощью временного Logical Standby Logical standby позволяет выполнить rolling upgrades но имеет ограничения по типам данных Временное преобразование physical standby в logical для выполнения rolling upgrade Ограничения на типы данных на короткое время Не нужно создавать отдельный logical standby для апгрейда Physical Logical Upgrade Physical Возможно и в 10.2, но с большим объемом ручной работы

Flashback query ("Время – назад») Запрос на определенный момент времени в прошлом (введено в Oracle9i R2) Запросить состояние данных на любое выбранное время в прошлом Допустим любой SQL запрос SELECT * FROM ORDERS AS OF 'Midnight 31-Dec-2004' Flashback – взгляд в прошлое

47 Новые возможности Flashback Flashback Transaction Откат транзакции вместе с зависящими от неё транзакциями одним нажатием кнопки Использует undo, archived redo logs, supplemental logging Для завершения flashback transaction используйте явный commit или rollback Зависимые транзакции Write after write – транзакции меняют одну и ту же строку Primary Key insert after delete – одна транзакция удалила первичный ключ, другая вставила тот же самый Оптимизирован Flashback Database Снижена нагрузка от операций insert и direct loads DBMS_FLASHBACK.TRANSACTION_BACKOUT

48 Flashback Data Archive Долговременное хранение - годы Автоматически сохраняет все изменения для выбранных таблиц в Flashback Data Archive Архив не может быть изменен Старые данные удаляются в соответствии с политикой сохранения Можно посмотреть содержимое таблицы на любой момент времени с помощью Flashback SQL Используется для Отслеживания изменений ILM Долговременной истории изменений Аудита Соответствия законодательству (Compliance) ORDERS User Tablespaces Flashback Data Archive Archive Tables Oracle Database Изменения "Припомним всё" Select * from orders AS OF Midnight 31-Dec-2004

49 Можно добавлять столбцы к таблицам с включённой архивизацией Другие DDL операции, портящие историю данных, НЕ запрещены в 11.1 DROP и TRUNCATE таблиц Удаление и изменение формата столбцов Можно отключать архивизацию перед большими изменениями - Но! Отключение архивизации удаляет уже собранную историю Транзакции и их данные отката для таблиц с включённой историей помечаются для архивирования Данные отката не затираются пока не будут заархивированы История записывается в архив новым фоновым процессом (fbda) Исходные данные Undo data DML операции Кэш данных 1 год 2 года 5 лет FBDA Три архива данных в трёх табличных пространствах с разными периодами хранения Как работает Flashback Data Archive?

50 Изменение базовой таблицы – история таблицы автоматически настраивается Drop, Rename, Modify Column Drop, Truncate Partition Rename, Truncate Table Flashback query поддержка после DDL изменений Поддерживаются сложные DDL изменения (например, расщепление таблицы) Объединять/разъединять history table через пакет DBMS_FLASHBACK_ARCHIVE package Поддержка изменений схемы в Total Recall Drop Column Add Column Время Flashback Version Query Add Column New 11.2

51 Управление информацией, STORAGE

52 Oracle SecureFiles Консолидированные средства безопасного управления данными SecureFiles – новая функция СУБД, созданная для того, чтобы убрать проблему производительности, заставляющую хранить файлы вне БД Похоже на LOB но намного быстрее и с новыми возможностями Прозрачное кодирование, сжатие, де-дублирование, и т д. Реализует безопасность, надежность и масштабируемость СУБД для файлов Расширение интерфейсов LOB позволяет легко мигрировать с LOB Позволяет консолидировать файлы и связанные с ними реляционные данные Единая модель безопасности Единый взгляд на данные Единство управления данными

53 Высокая производительность Предварительные результаты: производительность сравнима с файловой системой Linux Нет сетевого доступа, журналирования, единый поток чтения/записи файла Помните, что и LOBs и SecureFiles предлагают намного больше функциональности, чем обычные файлы Производительность – как у файловой системы Чтение файлов Размер файла (MB) Скорость (MB/sec) Запись файлов Размер файла (MB) LOBs Linux Files SecureFiles LOBs Linux Files SecureFiles

54 Интерфейсы СУБД и файловой системы С SecureFiles можно работать как из клиентов СУБД, так и из клиентов файловой системы Клиенты СУБД используют расширение интерфейсов LOB JDBC, ODBC, OCI,.NET, PL/SQL Oracle Database 11g имеет хорошо оптимизированный протокол для работы с SecureFiles Клиенты файловой системы используют протоколы файловой системы FTP WebDav Mountable NFS V4 file system (preview only)

55 Oracle Database 9i table compression работает для DW Сжатие для операций массовой загрузки (bulk load) Direct Path Load Create Table Select As … Выгоды сжатия Уменьшает использование диска – обычно в 2–3 раза Уменьшает ввод/вывод Увеличивает эффективность кэша Выше производительность операций чтения Теперь сжатие можно использовать для OLTP Обычные (non-bulk) INSERT, UPDATE, DELETE Add, Drop Column Сжатие для OLTP

56 Overhead Своб место Несжатые Сжатые Добавляемые данные не сжимаются Свободное пространство уменьшилось до PCTFREE – запускается сжатие Добавляемые данные не сжимаются Свободное пространство уменьшилось до PCTFREE – запускается сжатие Адаптирующееся, непрерывное сжатие Сжатие запускается автоматически, когда блок заполняется до PCTFREE Сжатие убирает дырки, появившиеся при удалении, и обеспечивает максимальный объем непрерывного свободного пространства в блоке Сжатие таблиц для OLTP

57 Oracle Database 11g имеет богатый набор механизмов сжатия Сжатие структурированных/реляционных данных Сжатие неструктурированных данных Сжатие для backup Сжатие сетевого трафика Сжатие для Data Pump (на 75%) Сжатие для Data Guard (gap resolution в 2 раза быстрее) Уменьшает требования к ресурсам и их стоимость Система хранения Пропускная способность сети Использование памяти Redo logsBackupsStandby Advanced Compression Option

58 Огромная экономия места на диске Промышленные алгоритмы сжатия (ZLIB, планируются и другие) Сжатие в 2-3 раза для обычных файлов (doc, pdf, xml) Минимальная нагрузка на CPU при сжатии - (3- 5% overhead) Автоматически определяет, что SecureFile можно сжать Не выполняет сжатие для уже сжатых данных Не выполняет сжатие, если экономия места будет минимальной или нулевой Два уровня сжатия Уровни сжатия: MEDIUM (default), HIGH Чем выше степень сжатия, тем больше задержка и нагрузка на CPU Сжатие SecureFiles независимо от сжатия таблиц и индексов Сжатие выполняется на сервере При работе с частями файлов, разжимаются только необходимые блоки Может быть задано на уровне partition SecureFiles Cжатие

59 Улучшения при сжатии Сжатие всех данных Активные OLTP данные – в 2-4 раза Архивные данные – в раз (Exadata) Хранилища данных – в 10 раз (Exadata) Сжатие SecureFiles Compression Level LOW Алгоритм сжатия оптимизирован для высокой производительности В 3 раза меньше использование CPU, чем при стандартном сжатии SecureFiles Обеспечивает 80% сжатие по сравнению со стандартным (default) Сжатие Data Guard Redo Transport Сжимает сетевой трафик при обычных операциях New 11.2

60 Backup & Recovery Новые возможности сжатия для RMAN backup HIGH – уменьшает размер backup более чем на 40% в зависимости от типа данных LOW – минимальное влияние на скорость backup MEDIUM – хороший баланс между скоростью и объемом Tablespace Point-in-time Recovery Можно восстановить удаленный tablespace Можно выполнять множество команд recovery на одном и том же tablespace Oracle Secure Backup Cloud Module Прозрачная интеграция между RMAN и cloud-based системой хранения Поддержка для Amazon Simple Storage Service (S3) New 11.2

61 Цикл жизни данных (ILM) Быстрые диски Дешевые диски Online архив Активные Менее активные Исторические Offline архив Цикл жизни данных Offline архив

62 Устройства хранения СУБД Oracle + Partitioning – идеальное средство для ILM Понимание бизнес данных Независимо от Hardware Прозрачно для приложений Настраиваемое Центральная точка управления Дешево – Можно использовать ASM для управления множеством областей хранения (storage tiers) Активные Менее активные Исторические Database + Partitioning

63 ILM Assistant

64 Механизмы СУБД, используемые для ILM Oracle Database 10g Partition, Table Level Compression Range, List and Hash Partitioning Composite Partitioning Range List, Range Hash Oracle Database 11g добавляет Лучшее сжатие для таблиц, партиций, LOB Новые Interval, Ref и Virtual Column Partitioning Новые виды смешанного (Composite) Partitioning RangeListHash RangeYes ListYes IntervalYes

65 Виртуальные столбцы - пример Adams Blake Smith King CREATE TABLE accounts (acc_no number(10) not null, acc_name varchar2(50) not null,... acc_branch number(2) generated always as (to_number(substr(to_char(acc_no),1,2))) partition by list (acc_branch) Базовая таблица со всеми атрибутами расширена виртуальной (вычисляемой) колонкой... которая используется как ключ секционирования Jones Clark Phillips Hurd

66 Interval Partitioning Расширение Range Partitioning Полная автоматизация для равномерных range partitions Вначале сегменты создаются только на уровне метаданных Создается только стартовая Partition Сегменты создаются только тогда, когда для них появляются данные Не надо создавать новые сегменты Также создаются и поддерживаются локальные индексы Не нужно управлять секциями

67 Interval Partitioning Table SALES Jan Feb 2006 Mar 2006Jan 2007Oct 2009Nov INSERT INTO sales (order_date DATE,...) VALUES ('04-MAR-2006',...); Новый сегмент создается автоматически Очень легко.. CREATE TABLE sales (order_date DATE,...) PARTITON BY RANGE (order_date) INTERVAL(NUMTOYMINTERVAL(1,'month') (PARTITION p_first VALUES LESS THAN ('01-JAN-2006');

68 Interval Partitioning Table SALES Q1 2006Oct 2006 Q ALTER TABLE sales (order_date DATE,...) SET INTERVAL(NUMTOYMINTERVAL(1,'month'); Таблица с Interval partition может совмещать классические range и автоматические interval секции Range partitioned таблица может быть расширена в interval partitioned таблицу Простая команда Защита инвестиций Можно слить и переместить старые секции для ILM... Новые помесячные Interval partitions Old range partition table...

69 REF Partitioning Таблица ORDERS Jan Feb 2006 Таблица LINEITEMS Jan Feb 2006 RANGE(order_date) Primary key order_id RANGE(order_date) Foreign key order_id RANGE(order_date) Foreign key order_id PARTITION BY REFERENCE Ключ секционирования наследуется через связь PK-FK

70 Улучшения в Partitioning Неиспользуемые индексы и индексные секции нулевой длины Умное Multi Branch Execution позволяет выполнять запрос на индексированных и неиндексированных секциях Виртуальные колонки в первичном и внешнем ключе для Reference Partitioning ORDERS TABLE (7 years) Большой нулевой неиспользуемый индекс Маленький используемый индекс Partition Scan Index Lookup New 11.2

71 Инфраструктура Grid: ASM Cluster File System (ACFS) ASM поддерживает ВСЕ данные Файлы БД Файловая система: ACFS, 3 rd -party file systems Разделяемые Clusterware файлы: OCR и Voting disk теперь хранятся в ASM Read-only snapshots (64) Общецелевая масштабируемая файловая система Для одного узла и для кластера POSIX, X/OPEN файловая система для UNIX/Linux DB Datafiles OCR and Voting Files Oracle Binaries 3 rd Party File Systems Automatic Storage Management (ASM) File Systems ApplicationsDatabases New 11.2

ASM снижает стоимость управления дисковой памятью 72 Число шагов Операции Упрощение – это наилучший способ удешевления!

73 Умное размещение данных Управляемое политиками размещение часто используемых файлов на быстрых частях дисков Классифицируйте файлы с точки зрения размещения как hot или cold Поддержка Oracle Exadata Storage Server Сохраняет до 35% стоимости дисков Увеличивает производительность дисков на 60% Совет: Поместите файлы ПО на медленный регион диска Редко исполь- зуемые данные Редко исполь- зуемые данные Часто исполь- зуемые данные Часто исполь- зуемые данные New 11.2

74 Database File System (DBFS) Network File System (NFS) интерфейс для БД Обращения к файловой системе посылается в DBFS- клиента Также доступен shell интерфейс PL/SQL package выполняет операции с файлами Создание, открытие, чтение, список файлов и т д. Файлы хранятся как LOBы используя Secure Files DBFS Links Метаданные хранятся в таблицах Linux File System Call OCI DBFS Client New 11.2

75 Создание сегмента по требованию Oracle Applications и SAP создают тысячи таблиц Только небольшая часть из них используется заказчиком Новое SEGMENT CREATION DEFERRED предложение При создании таблицы сегмент не создается для таблицы, LOB, индекса При Create Table As Select сегменты не создаются, если возвращается 0 строк При первой вставке строки все сегменты создаются New 11.2

76 Разработка приложений

77 Модификация приложений на лету (Online Application Upgrade) Большие, важные приложения часто недоступны в течение десятков часов из-за установки их новых версий Oracle Database 11g вводит новые революционные решения, позволяющие выполнять смену версии приложения не останавливая работу этого приложения Старая и новая версии приложения могут работать одновременно New 11.2

Обновление (upgrade) Старая версия Новая версия Установка «нового» приложения

Hot-rollover Старая версия Новая версия Использование обеих версий (hot-rollover period) ROLLOVER – замена, перевод из одной формы в другую HOT-ROLLOVER – горячая замена

После обновления (post-upgrade) Старая версия Новая версия «Старая» версия скрывается (retired). После этого уже работает только «новая» версия

81 Как это сделано? Oracle Database 11g вводит новые понятия Версия (Edition), Editioning View и CrossEdition Trigger Модернизтрованный код устанавливается в новую Версию. Изменения данных безопасны, поскольку они пишутся в новые колонки или новые таблицы, которые не видны старой Версии (old Edition) Editioning View выставляет различные проекции таблицы в каждую Версию, что позволяет в каждой Версии видеть только свой набор столбцов CrossEdition trigger (кросс-версионный триггер) заносит данные, измененные в старой Версии, в столбцы новой Версии или наоборот New 11.2

Простейший пример CREATE PROCEDURE my_proc IS BEGIN dbms_output.put_line('Ку! Я MY_PROC. Версии-1.0'); END; / EXEC my_proc; Ку! Я MY_PROC. Версии CREATE EDITION POST_UPG AS CHILD OF ORA$BASE; ALTER SESSION SET EDITION = POST_UPG; CREATE OR REPLACE PROCEDURE my_proc IS BEGIN dbms_output.put_line(Ку! И я MY_PROC. Но версии-2.0'); END; / EXEC my_proc; Ку! И я MY_PROC. Но версии-2.0

Edition-based Redefinition "Edition-based Redefinition is the killer feature of Oracle Database 11g Release 2. It is worth 2 features". Tom Kyte (24-feb-2010, Moscow, Russia) "Версионное переопределение – это революционная новинка Oracle Database 11g Release 2 («захватчик рынка»). Она достойна того, чтобы считать её не одной, а сразу несколькими новыми функциями". Том Кайт (24-фев-2010, Москва, Россия)

84 Тестирование изменений

85 Новые возможности Oracle Database 11g для сохранения работоспособности при внесении изменений Захват и воспроиз- ведение нагрузки Создание среды для тестирования Выполнение изменений в приложениях без остановки (Online) Тестирование и настройка изменений в производительности Управление изменением плана выполнения запроса Пакетирование информации об инцидентах для технической поддержки Online Hot Patching

86 Создание тестовой среды с помощью Snapshot Standbys Превращение Physical Standby в Snapshot Standby и открытие БД на запись для тестируемых приложений ALTER DATABASE CONVERT TO SNAPSHOT STANDBY; Откат тестовых изменений и продолжение накатки изменений ALTER DATABASE CONVERT TO PHYSICAL STANDBY; Обеспечивает нулевые потери данных Можно на ней воспроизвести загрузку основной БД (replay) Physical Standby Применение изменений Snapshot Standby Выполнение тестирования Откры- ваем БД Откатываем изменения

Capture - захват информации о нагрузке Записывает информацию о нагрузке СУБД, включая важную информацию об одновременности нагрузки Replay - воспроизведение Воспроизводит нагрузку в реальном времени (workload with actual timing) Анализ и отчетность Отчеты об ошибках Изменение данных Изменение производительности Использование ADDM для дальнейшего анализа производительности Rec Анализ и отчетность Запиши и воспроизведи Database Replay Захват и воспроизведение нагрузки СУБД

Захват реальной нагрузки на БД (Oracle 9i, 10g, 11g) Минимальные накладные расходы (

Фокус на проблемы с нагрузкой при выполнении SQL-команд Детальный анализ производительности отдельного SQL оператора Захват информации о SQL в эксплуатационной системе Захватывает текст SQL, планы, bind variables, статистику выполнения За указанный период времени Можно захватить информацию для SQL в Oracle Database 10g R2 Воспроизведение SQL Workload в тестовой среде Тестовое выполнение SQL в тестовой среде Выявляет SQL с изменившимися планами выполнения и SQL с ухудшившейся производительностью Для ухудшившегося SQL можно провести настройку с помощью SQL Tuning Advisor (10g) Производит анализ и отчеты SQL Performance Analyzer (SPA) Захват и воспроизведение SQL-нагрузки

Оценить влияние изменений в БД на производительность SQL Сравнить произ- водительность Среда до изменений Захватить SQL на Production и собрать статистику Сделать изменения Среда после изменений Воспроизвести SQL Настроить SQL Настроенная среда SQL Tuning Advisor Воспроизвести SQL SQL Replay

91 SPA Report

92 Real Application Testing Real Application Testing = SPA + Database Replay SPA + Database Replay дополняют друг друга Оценка влияния миграции со старых версий Oracle DB Replay: c и g SPA: 9i/ g и 11g 10.2.x 10.2.y и 11g 11g 11g

93 Управляемость

Упрощение поддержки баз данных 11g Advanced Diagnostic Repository Health Monitor Enterprise Manager Support Workbench New Advisors 94

95 Автоматическая настройка SQL Автоматически выбирает наиболее ресурсоемкие операторы SQL на основе анализа времени отклика, потребления ресурсов и частоты выполнения Автоматически настраивает SQL, создавая SQL Profiles Автоматически учитывает альтернативные планы выполнения на основе ранее использовавшихся планов Автоматически тестирует результаты, чтобы оценить степень улучшения Автоматически принимает сильно улучшающие выполнение (в 3 раза) планы (опционально) Автоматически строит отчеты о недостающих структурах доступа, устаревшей статистике, плохо структурированном SQL Автоматически выполняется в указанное время (maintenance window) или запускается вручную Настроенный SQL Пакетные прилож Кастомизируемые приложения Отчет от Advisor Автоматическая настройка SQL Index, Stats, Structure Analysis Тестирование SQL Profiles Применение Автомати- чески High-Load SQL AWR Ночью SQL Profiling Вручную

96 Автоматическая настройка областей памяти Автоматически адаптируется к изменениям нагрузки Унифицирует управление shared (SGA) и process (PGA) областями памяти Один динамический параметр для всей памяти СУБД Максимизирует использование памяти Помогает исключить ошибки out-of-memory Берет и освобождает память у следующих ОС: Linux, Windows, Solaris, HPUX, AIX Умеет работать под большой нагрузкой Не сжимается ниже минимума O/S Memory PGASGA PGA SGA

97 Новые советчики (advisors) Partitioning Repairing (восстановление) Streams performance (производительность Streams) Space management (управление пространством в БД) Compression Advisor

98 Compression Advisor Анализирует объекты и дает оценку сохранения места на диске для различных методов сжатия Помогает выбрать корректный уровень сжатия Рекомендует различные стратегии сжатия Выбирает лучший алгоритм сжатия для конкретных данных Указывает колонки для сортировки для лучшего сжатия Показывает альтернативы между разными алгоритмами сжатия Работает для OLTP сжатия (через OEM) и для Hybrid Columnar сжатия (через SQL*Plus) New 11.2

99 ADDM для RAC Эксперт по производительности из коробки Теперь и для RAC! Идентифицирует наиболее Глобально важные проблемы с производительностью для всей БД RAC Анализ уровня всей БД и отдельного экземпляра Анализ уровня всей БД: Проблемы глобального кэша интерконнекта (Global cache interconnect) Проблемы перегрузки Lock manager Глобальный спор за ресурсы (пропускная способность ввода вывода, hot blocks) Глобальные ресурсоемкие SQL операторы Ассиметрия во времени отклика инстансов БД Позволяет дальше перейти к инстансам (drill down) Выполняется проактивно каждый час (по умолчанию) Директивы для фильтрации результатов Self-Diagnostic Engine Database-Level ADDM Instance-Level ADDMs Node 1Node 2Node 3

100 Автоматическая диагностика Репозиторий автоматической диагностики Новый баг? Нет EM Support Workbench: Применение патча или Workaround Repair Advisors Да EM Support Workbench: Пакует инфо об инциденте и конфигурации Repair Advisors Автоматическое создание инцидента Захват инфо об ошибке Крити- ческая ошибка Извещение ДБА Проверка на металинке Уменьшает время решения проблемы

101 Простая диагностика с помощью Incident Packaging Service Пакетирует всю информацию из Automatic Diagnostic Repository, связанную с инцидентом Берет также информацию из других источников, связанных с данным инцидентом Заставляет пользователя собрать необходимую дополнительную информацию (например, test cases, redo logs) Пакетирует всю важную информацию о конфигурациях для всех важных продуктов (например, OS, AS, eBusiness suites) Обеспечивает простую индикацию сбора информации

102 Maximum Availability Architecture Advisor New 11.2

103 Resource Manager Instance Caging Более гибкий подход, чем server partitioning Более широкая поддержка платформ, чем у ОС resource managers Меньше накладных расходов, чем при виртуализации Установите CPU_COUNT для инстанса и включите resource manager Instance A Instance B Instance C Instance D Сумма cpu_counts Полное число CPUs = 16 4 New 11.2

104 Прочее

105 Server Results Cache join T1GBY join T2T3 GBY join T4join T5T6 join T1GBY join T2T3 GBY join T4join T5T6 Q1: build query cache join T1GBY join T2T3 GBY Q2: Использует это прозрачно cache Автоматически кэширует результаты запросов, подзапросов (query blocks) или вызова функций pl/sql Кэш совместно используется различными SQL операторами и сеансами сервера Значительное ускорение для операций чтения (read-only / read-mostly data) Буферный кэш следующего уровня

106 Server Results Cache Несколько уровней контроля Оператор – hints Таблица – table caching DDL Сессия – параметр Автоматически заставляет оптимизатор запросов определять стратегию кэширования Размер памяти для кэша задается ДБА Полная согласованность результата Кэш обновляется при изменении таблиц, из которых получен кэшируемый результат

107 OCI Client Result Cache Кэширует результаты запроса на клиенте Улучшает производительность работы с таблицами, используемыми в основном для чтения (read-mostly) Более быстрое время отклика – исключается передача по сети Уменьшает нагрузку на процессоры сервера Согласован с сервером Кэш проактивно обновляется, когда изменяется result set Как Cache Fusion между сервером и клиентом Application Server Database Связанное кэширование

108 OCI Client Result Cache Унифицированный интерфейс с Server result cache Кэш процесса разделяется несколькими сессиями/средами Работает со всеми 11g OCI-based клиентами Включая ODP.Net, JDBC Type 2, PHP, ODBC Для активизации СRC ДБА необходимо только устанавить размер клиентского кэша Параметр на клиенте может перекрыть размер клиентского кэша ALTER TABLE DEPT CACHE RESULTS

109 Улучшения в переопределении объектов Быстрое добавление столбца со значением по умолчанию Не нужно обновлять все строки и записывать туда величинупо умолчанию Invisible Indexes (невидимые индексы) предотвращают преждевременное использование вновь созданных индексов Online построение индексов без замедления выполнения DML Зависимые объекты не перекомпилируются когда В таблицу добавляются колонки Процедуры добавляются в пакет Легче выполнять DDL операции для таблиц в online Можно задать режим ожидания для активных DML-операций (вместо их прерывания)

110 Уменьшение ввода/вывода при использовании Flash Cache Прозрачное расширение буферного кэша с помощью solid-state диска (SSD) SSD работает как кэш второго уровня (SGA – уровень 1) Быстрее чем диск (в 100 раз быстрее на чтение) Дешевле чем оперативная память ($50 за Гб) Большая емкость (сотни Гб на 1 flash диск) Меньше устройств и больше скорость Для увеличения скорости ввода/вывода пользователи сегодня часто используют сотни дисков Flash обеспечивает высокую скорость I/O без этого New 11.2

111 Flash Cache Расширенный буфферный кэш 120 GB Flash Cache 16 GB SGA Memory Hot Data Warm Data 1. Блок читается в буферный кэш 3. Clean блоки перемещаются на Flash Cache используя LRU* 2. Dirty блоки сбрасываются на диск 4. Пользовательский процесс читает блоки из SGA (копирует из Flash Cache если их нет в SGA) 360 GB Magnetic Disks Cold Data * Заголовки для Flash Cached блоков хранятся в SGA Всего два параметра! db_flash_cache_file = db_flash_cache_size= New 11.2

112 Анализ производительности в оффлайн с помощью Active Reports Интерактивные отчеты для анализа в оффлайн Предоставляют тот же уровень интерактивности с drill-downs для детального анализа – очень полезно при диагностике Могут быть отправлены по почте специалисту для анализа Не требуют установки Enterprise Manager New 11.2

113 Native PL/SQL и JAVA компиляция 100+% быстрее для чисто PL/SQL или Java кода 10% – 30% быстрее для типичных транзакций SQL PL/SQL Только один параметр - On / Off Не нужен C компилятор Нет DLL файлов Java Только один параметр – On / Off JIT (Java in Time) на лету компилятор Прозрачно для пользователей (асинхронно, в фоновом режиме) Код сохраняется, чтобы избежать перекомпиляций JDBC 4.0, Java SE 5.0

114 Oracle ® Database Vault ? Опция СУБД Oracle 10g Release 2 EE Oracle 11g Release 1 EE Возможность ограничивать (исключать) доступ к данным приложений со стороны администратора базы данных (DBA) Обеспечение доступа к данным на основе динамически настраиваемых правил Повышение защищенности объектов БД от несанкционированных изменений Разделение полномочий пользователей в соответствии с их функциональными обязанностями и надежный внутренний контроль или Oracle 9i R2 ( ) EE

115 Проблема Как защитить данные от администратора БД? Database DBA Ответ: Использовать опцию Database Vault

116 Oracle ® Database Vault WEB-ориентированный интерфейс Управление Realms Rules Factors Reports Dashboard

117 Exadata Database Machine

118 Сегодняшние хранилища имеют узкое место при перемещении данных от дисков к серверам Канал между дисками и серверами часто в десятки раз медленнее чем требуется Проблема хранилищ данных

119 Решение Передавать меньше данных Увеличить количество каналов передачи данных Расширить каналы передачи данных

120 Exadata – новая архитектура Устраняет узкие места Exadata посылает меньше данных Обработка запросов перемещается на устройства хранения, что резко уменьшает объем передаваемых данных и разгружает процессоры сервера Exadata имеет больше каналов передачи данных Модульные ячейки cell объединяются в Massively Parallel Grid Кол-во каналов передачи растет вместе с увеличением дискового массива Exadata имеет более широкие каналы передачи Канал InfiniBand передает данные в 5 раз быстрее, чем Fibre Channel Exadata перемещает намного больше данных намного быстрее

121 Exadata – интеллектуальное выполнение операций сканирования SELECT customer_name FROM calls WHERE amount > 200; Возвращает только нужные колонки customer_name И нужные строки where amount>200 Оценка условий не на СPU сервера 2MB данных возвращаются на сервер Результат запроса Умный Scan находит строки и колонки, удовлетворяющие запросу в терабайтной таблице Создается умный Scan и посылается на ячейку Консолиди- рованный result set, построенный на данных ячеек SELECT customer_name FROM calls WHERE amount > 200;

122 Архитектура Exadata X2-2 Database Grid 8 compute servers (1U) 2 Intel Sockets Storage Grid 14 storage servers (2U) 2 Xeon CPUs per server 100 TB High Speed disk, or 336 TB High Capacity disk 5 TB PCI Flash Data mirrored across storage servers InfiniBand Network Redundant 40Gb/s switches Unified server & storage net

Состав Exadata X2-2 и X2-8 X2-2 Quarter Rack X2-2 Half Rack X2-2 Full Rack X2-8 Full Rack DB Servers 2 сервера Sun Fire 4170 M2: -2 x Six-Core Intel® Xeon® X5670 (2.93GHz) - 96 Gb RAM 4 сервера Sun Fire 4170 M2: -2 x Six-Core Intel® Xeon® X5670 (2.93GHz) - 96 Gb RAM 8 серверов Sun Fire 4170 M2: -2 x Six-Core Intel® Xeon® X5670 (2.93GHz) - 96 Gb RAM 2 сервера Sun Fire 4800: - 8 x Eight-Core Intel® Xeon® X7560 (2.26GHz) - 1 Tb RAM CPUs Total2 x 2 = 44 x 2 = 88 x 2 = 162 x 8 = 16 Cores Total2 x 2x6 = 244 x 2x6 = 488 x 2x6 = 968 x 2x8 = 128 Storage Cells3 сервера Sun Fire 4270: - 2x6core Intel Xeon - 24 Gb RAM 7 серверов Sun Fire 4270: - 2x6core Intel Xeon - 24 Gb RAM 14 серверов Sun Fire 4270: - 2x6core Intel Xeon - 24 Gb RAM 14 серверов Sun Fire 4270: - 2x6core Intel Xeon - 24 Gb RAM Disks Total3 x 12 = 36 disks7 x 12 = 84 disks14 x 12 = 168 disks Storage Total or High Perf. or High Cap. 3 x 12x0.6 = 22 Tb 3 x 12x2 = 72 Tb 7 x 12x0.6 = 50 Tb 7 x 12x2 = 168 Tb 14 x 12x0.6 = 101 Tb 14 x 12x2 = 336 Tb 14 x 12x0.6 = 101 Tb 14 x 12x2 = 336 Tb Flash Cache3 x 4x96Gb = 1.15Tb 7 x 4x96Gb = 2.69Tb 14 x 4x96Gb = 5.38Tb Только Oracle Database 11g Release 2 !!!

124 Infiniband (2) Cisco Switches Exadata X2-2 Quarter Rack DB RAC Nodes(2) Storage Cells (3)

Переход на Oracle Database 11g R2 – это не просто разумное, а мудрое и назревшее решение!

126 "ФОРС – Центр разработки" , Москва, Трифоновский тупик, 3 Телефон: +7 (495)