Новая версия СУБД Oracle - Oracle 11g: обзор характеристик и возможностей Марк Ривкин (Mark.Rivkin@oracle.com) Российское представительство Oracle.

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



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

Введение в SQL (НЕ select) Затрагиваемые темы Роль языка SQL. Части SQL Роль языка SQL. Части SQL Администрирование БД: привилегии (DCL) Администрирование.
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
Технические возможности. Наши цели Максимальная гибкость Максимальная скорость считывания и обработки данных Стабильность работы Максимальная простота.
Лекция 3 Домены Ограничения на значения столбцов Создание, изменение и удаление таблиц Ключи и ссылочная целостность Защита таблиц.
ASE 12.0 Эволюция продуктов ASE for Linux поддержка jConnect ASE 12.0 Распределенные транзакции Java/XML в БД Enterprise Event Broker Обработка событий.
Новые возможности 12c Active Data Guard Евгений Горбоконенко.
Обеспечение целостности данных Процедурное. Хранимые процедуры Хранимые процедуры пишутся на специальном встроенном языке программирования, они могут.
Савенков Виталий Мещеряков Александр Специалист технической поддержки Oracle ФОРС – Центр Разработки
Слайд 1 из 11 Преимущества торговых решений на платформе 1С: Предприятие 8.2 Заржецкий Александр Руководитель департамента автоматизации непродовольственн.
Администрирование информационных систем Начало работы с MS SQL Server 2000.
Настройка запроса по образцу: четыре способа корректировки плана запроса без изменения кода Деев Илья, «Иннова-Системс»
Основы DB2 Белькова Евгения, программист отдела тестирования, группа DB2 Tools.
Система контроля прав доступа При помощи процедур и триггеров в MySQL.
Администрирование информационных систем Обеспечение доступности серверов БД.
Компоненты SQL Server Реляционный сервер –Внутризапросный параллелизм –Распределенные фрагментированные представления (серверные фермы) –Службы тиражирования.
Triggers для mysql. Что есть триггер? Триггер - это хранимая процедура особого типа, исполнение которой обусловлено наступлением определенного события.
OLAP и OLTP системы OLTP – оперативная транзакционная обработка данных OLAP – оперативная аналитическая обработка данных.
«Особенности файловой системы WinFS» Сравнение с предыдущими файловыми системами.
Базы данных. Введение Базы данных обеспечивают хранение информации. Доступ к базе данных осуществляется через специальную программу - систему управления.
Транксрипт:

Новая версия СУБД Oracle - Oracle 11g: обзор характеристик и возможностей Марк Ривкин Российское представительство Oracle

Версия Oracle Database 11G Объявлена в октябре 2006 на OOW Находится в бетта тестировании Выйдет в 2007 г Не все может войти в первый релиз – features for New Versions

Новые возможности GRID Управляемость Надежность и устойчивость работы (HA) Производительность Управление информацией (Information Management) Улучшения для всех типов данных Файловая система в БД ILM Разработка и тестирование приложений Новые опции СУБД (Database/Audit Vault, Content/Records DB, SES, SEB) И как всегда все работает быстрее

The art of progress is to preserve order amid change and to preserve change amid order. Мастерство движения вперед заключается в том, чтобы сохранить порядок во время выполнения изменений и производить изменения сохраняя порядок. Не дай Вам бог жить в эпоху перемен !!!! Alfred North Whitehead: Principia Mathematica

Информация всегда доступна Сбой системы Катастрофа, потеря файлов/дисков Человеческие ошибки Сопровожде- ние системы Модификация структуры БД Незаплани рованные остановки Плановые остановки

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

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

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

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

SQL Replay: анализ производительности

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

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

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

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

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

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

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

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

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

Online Application Upgrade Демо

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

Edition-Based Redefinition Editions (Редакции) обеспечивают поддержку многоверсионности для объектов БД PL/SQL, триггеры, views, синонимы, и т д. Скрипты патчей и апгрейдов вносят изменения в Новую Редакцию и эти изменения не видны для пользователей эксплуатационной системы После того, как скрипты выполнены и новый код протестирован, Новая Редакция активизируется для эксплуатационной системы sql> create Edition New_Edition as child of Old_Edition; sql> alter session set Current_Edition = New_Edition; … Загрузка новых версий нетабличных объектов

Многоверсионность таблиц Таблицы не заменяются на новую версию через Редакции Чтобы реализовать новые версии таблиц создается перед таблицей Editioning View Editioning Views отображает подмножество колонок одной таблицы Это полезно для того, чтобы спрятать новые или измененные колонки от пользователей старой системы Editioning view создается в Старой Редакции и прячет изменения, сделанные в Новой Редакции Нет испорченных объектов и нет ошибок при переходе на новую версию приложения!

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

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

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

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

Новые возможности Flashback Flashback Transaction Одним нажатием кнопки откатить транзакцию и все конфликтующие транзакции Оптимизирован Flashback Database Снижена нагрузка от операций insert и direct loads

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

Файлы и реляционные данные Многие приложения работают как с файлами, так и с реляционными данными Например, документооборот, медицина, CAD, работа с изображениями Простота и производительность работы с файловой системой делает ее привлекательной для хранения данных в файлах, в то же время реляционные данные хранятся в СУБД Это вызывает проблемы с безопасностью, надежностью и управляемостью Различные модели аудита и обесп безопасности Изменения не делаются автоматически Backup и восстановление фрагментированы Поиск по реляционным данным и файлам сложен Сложно управлять пространством хранения Различные интерфейсы и протоколы Два менеджера данных для одного приложения – слишком жирно При патчировании приложения возникает щель

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

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

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

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) Буферный кэш следующего уровня

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

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

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

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

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

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

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

ILM Assistant

Механизмы СУБД, используемые для 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

Виртуальные колонки - пример 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

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

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');

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...

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

Прочее Оптимизирован Cach Fusion Protocol Оптимизирован DataGuard Cжатие Redo, ускорена передача, применение Fast-Start Failover при Async режиме (с потерями) Поддержка XMLType, TDE для Logical Standby Binary (Native) XML Семантические сети Transparent encription для tablespace и LOB

Как нас найти... Телефон в Москве +(7 495)

Семантические сети Oracle Database 11g – первая промышленная открытая, масштабируемая, безопасная и надежная СЕМАНТИЧЕСКАЯ СУБД со встроенной поддержкой стандартов RDF и OWL. Она может работать с наборами данных, превышающими по размеру в десятки раз объемы данных специализированных RDF и OWL СУБД. Oracle обеспечивает более продвинутые и точные средства запроса и позволяет легко расширить функционал существующих SQL приложений за счет подключения семантического поиска и семантических запросов.

Database Security and Compliance Products AdvancedSecurityLabelSecurityDatabaseVault Multi-factor DBA Controls EncryptedDataDataClassification SecureBackup Encrypted Data on Tape SecureSearch AuthorizedSearch AuditVault Monitor, Alert, Consolidate Beta

Прочие новые возможности Oracle Database 11g High Availability Flashback Archive Flashback Transaction Performance and Scalability RAC Scalability Enhancements Query Result Cache Partition Advisor I/O Resource Management Security Tablespace and LOB Encryption Business Intelligence Next generation OLAP Supermodels for Data Mining Manageability and Diagnosability Support Workbench SQL Test Case Builder ADDM for RAC Automatic Health Monitoring Content Management Infrastructure Binary XML storage Enhanced XML indexing LOBs as fast as filesystems DICOM Medical Imaging Support Storage & Query of Semantic Content