![Page 1: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/1.jpg)
Oracle Database 12c: от эволюции к революции
Игорь Мельников
Oracle CIS
![Page 2: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/2.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 2
The following is intended to outline our general product direction. It is
intended for information purposes only, and may not be incorporated into
any contract. It is not a commitment to deliver any material, code, or
functionality, and should not be relied upon in making purchasing
decisions. The development, release, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion
of Oracle.
![Page 3: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/3.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 3
План
Transaction Guard и Application Continuity как развитие
Transparent Application Failover
Адаптивное оптимизация SQL-запросов
PL/SQL-функции внутри SQL-запросов
Перемещение данных (секций и файлов) “на лету “ - в
online
Автоматизация управления жизненным циклом
информации (ILM)
![Page 4: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/4.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 4
Transaction Guard и Application
Continuity
![Page 5: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/5.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 5
Неизвестное состояние транзакции Текущая ситуация
Транзакция фиксируется в БД
и результат возвращается
серверу приложений.
Серверы
приложений
Серверы БД
Пользователь
![Page 6: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/6.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 6
Неизвестное состояние транзакции Текущая ситуация
Сбой в инфраструктуре может
привести к тому, что сервер
приложений никогда не получит
ответ от БД.
Серверы
приложений
Серверы БД
Пользователь
![Page 7: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/7.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 7
Transparent Application Failover (TAF)
Успешно произошло подключение к СУБД
Появилась еще в Oracle Database Client 8.0.6
![Page 8: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/8.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 8
Transparent Application Failover (TAF)
Успешно произошло подключение к СУБД
Появилась еще в Oracle Database Client 8.0.6
![Page 9: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/9.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 9
Transparent Application Failover (TAF)
Сбой узла: приложение автоматически
переключилось на второй узел
Переключает приложение на другой узел Oracle RAC
![Page 10: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/10.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 10
Возможности TAF
TAF сохраняет или восстанавливает:
– Соединение между клиентом и сервером
– Подготовленные SQL команды
– Активные курсоры (команда select), начавшие возвращать
результат выполнения
TAF не сохраняет и не защищает:
– Активные транзакции (ORA-25402 transaction must roll back)
– Серверные переменные PL/SQL пакетов
– Состояние сессии пользователя (команды alter session)
![Page 11: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/11.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 11
Oracle Database 12c: Transaction Guard
Предоставляет информацию о результате выполнения COMMIT
API , который «знает» о
каждой транзакции
Без Transaction Guard повтор
транзакции может привести к
логическим ошибкам
С Transaction Guard
приложение корректно
обрабатывает ситуацию
возникновения ошибки
Прозрачно используется для
Application Continuity
Серверы
приложений
Серверы БД
Пользователь
![Page 12: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/12.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 12
Oracle Database 12c: Transaction Guard API для разработчиков
Транзакция
Client Driver
Start
Transaction
Database
Commit? Commit
SQL, PL/SQL или RPC
Resultset
SQL, PL/SQL или RPC
Communication failed
Время
![Page 13: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/13.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 13
Oracle Database 12c: Application Continuity Скрывает плановые и внеплановые простои
Повторяет транзакции
восстанавливая приложение от
ошибки
Когда это возможно: маскирует
ошибки железа, ПО, систем
хранения
Освобождает от трудоемкого
программирования перехвата
ошибок
Повышает продуктивность работы
пользователей
5. Ответ
приложению
1. Транзакция
2. Вызовы к БД
Oracle Database 12c
4. Повтор операций
3. Ошибка
![Page 14: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/14.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
Oracle Database 12c: Application Continuity Как устроен Application Continuity изнутри
![Page 15: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/15.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 15
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 16: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/16.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 16
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 17: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/17.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 17
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 18: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/18.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 18
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Call 1
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 19: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/19.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 19
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Call 1
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 20: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/20.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 20
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Call 1
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 21: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/21.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 21
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Call 1
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 22: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/22.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 22
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Call 1
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 23: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/23.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 23
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Call 1
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 24: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/24.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 24
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Call 1
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Call 2
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 25: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/25.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 25
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Call 1
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Call 2
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 26: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/26.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 26
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Call 1
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Call 2
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 27: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/27.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 27
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Call 1
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Call 2
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 28: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/28.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 28
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Call 1
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Call 2
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 29: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/29.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 29
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Call 1
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Call 2
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 30: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/30.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 30
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Call 1
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Call 2
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 31: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/31.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 31
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Call 1
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Call 2
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 32: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/32.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 32
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Call 1
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Call 2
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 33: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/33.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 33
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Call 1
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Call 2
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 34: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/34.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 34
Application Continuity JDBC-драйвер повтора (JDBC Replay Driver)
Call 1
Application Proxy 1
Proxy 2
RAC
Database
Instance1
Instance2
Instance3
Call 2
Connection
Replay Context
Oracle JDBC Driver
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13
![Page 35: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/35.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 35
Владелец последовательности просто выполняет
– либо:
Application Continuity Сохранение результата недетерминированных функций для повтора
SQL> GRANT [KEEP DATE TIME | KEEP SYSGUID].. [to USER]
SQL> GRANT KEEP SEQUENCE.. [to USER] on [sequence object];
SQL> REVOKE KEEP SEQUENCE [from USER] on [sequence object];
SQL> ALTER SEQUENCE.. [sequence object] [KEEP|NOKEEP];
SQL> CREATE SEQUENCE.. [sequence object] [KEEP|NOKEEP];
![Page 36: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/36.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 36
Traditional Database Service Deployments В чем различие между TAF и Application Continuity?
TAF
– OCI, OCCI, JDBC Thin/OCI
– Повторяет только
операторы SELECT
– Для контекста нужно
определять callback
– Все проверки и действия
происходят только на
клиенте
Application Continuity
– Пока только в JDBC Thin
– Повторяет все виды запросов (SQL,
PL/SQL)
– Интегрирован с Transaction Guard
– Для контекста нужно определять
callback
– Сохранение результатов систем.
Недерминированных функций для
безопасного повтора
![Page 37: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/37.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 37
![Page 38: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/38.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 38
Адаптивные планы
Метод соединения (join)
Метод распределения
данных в параллельном
запросе
Адаптивная
статистика
Cобирается в время
компиляции запроса
Собирается в момент
выполнения
Oracle 12c: Adaptive Query Optimization
Adaptive Query
Optimization
Adaptive Plans
Adaptive
Statistics
Join
Methods
Parallel
distribution
Methods
At
compile
time
At run
time
![Page 39: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/39.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 39
Адаптивные планы
Метод соединения (join)
Метод распределения
данных в параллельном
запросе
Адаптивная
статистика
Cобирается в время
компиляции запроса
Собирается в момент
выполнения
Oracle 12c: Adaptive Query Optimization
Adaptive Query
Optimization
Adaptive Plans
Adaptive
Statistics
Join
Methods
Parallel
distribution
Methods
At
compile
time
At run
time
![Page 40: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/40.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 40
Запрос: Найти все продукты с ценой 15 , которые в заказе присутствует более 1 раз
Возможны два метода соединения:
Nested Loops
Hash Join
Oracle 12c: Adaptive Join Methods Пример
![Page 41: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/41.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 41
Альтернативная часть
плана (sub-plan)
формируется заранее
Sub-plan сохраняется в
этом же курсоре
Статистика собирается
перед тем как перейти к
соединению
Строки буферизуется
перед тем как выбрать
метод соединения
Adaptive Join Methods Выбор метода соединения “на лету”
Table scan
Order _items
NESTED LOOPS
Index Scan
Prod_info_ind
Statistics Collector
HASH JOIN
Table scan
Prod_info
Строки из order_items буферизуются до соединения,
если их число меньше порогового значения то
выбирается Nested Loop, иначе – Hash Join
![Page 42: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/42.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 42
Новый уровень dynamic
sampling – 11 (включен по
умолчанию)
Решение об
использовании dynamic
sampling принимается на
основе сложности
предиката, текущей
статистики и времени
выполнения запроса
Динамическая статистика
разделяется между
разными запросами
Oracle 12c: Dynamic Statistics
![Page 43: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/43.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 43
Oracle 12c: Adaptive Statistics
В ходе выполнения запроса оптимизатор сравнивает текущую
статистику с полученной в ходе выполнения
Если статистики сильно различаются, то для последующего
выполнения будет выбран другой план
Переоптимизация использует статистику полученную в
предыдущих выполнениях запроса
Впервые эта технология появилась в 11g Rel2 под названием
“Cardinality Feedback”
Re-optimization
![Page 44: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/44.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 44
PL/SQL внутри SQL
![Page 45: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/45.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 45
Затраты на переключение между SQL/PL/SQL До 12с: затраты на переключение контекста между SQL и PL/SQL VM
Хранимая PL/SQL-функция вызывается внутри SQL-запроса
Накладные расходы - На переключение в PL/SQL и передачу параметров
- На переключение в SQL-движок и возврат результатов
SELECT
DISTINCT my_package.get_domain(catalog_url)
FROM
orders;
![Page 46: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/46.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 46
Вызовы PL/SQL в SQL-запросах Oracle 12с: тело функции прямо в запросе
WITH
FUNCTION get_domain(url VARCHAR2) RETURN VARCHAR2 IS
pos PLS_INTEGER;
len PLS_INTEGER;
BEGIN
pos := INSTR(url, 'www.');
len := INSTR(SUBSTR(url, pos + 4), '.') - 1;
RETURN SUBSTR(url, pos + 4, len);
END;
SELECT DISTINCT get_domain(catalog_url) FROM orders;
Уменьшение затрат на переключение контекста SQL<->PL/SQL
Выше быстродействие: предпочтительно, чтобы не было вложенных
PL/SQL вызовов
![Page 47: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/47.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 47
Oracle Database 12c PL/SQL Oracle 12с: новая директива (прагма) компиляции
Для функций, которые будут выполняться в SQL, введена новая
директива компилятора PRAGMA UDF:
CREATE FUNCTION get_domain(url VARCHAR2) RETURN VARCHAR2 IS
PRAGMA UDF;
pos PLS_INTEGER;
len PLS_INTEGER;
BEGIN
pos := INSTR(url, 'www.');
len := INSTR(SUBSTR(url, pos + 4), '.') - 1;
RETURN SUBSTR(url, pos + 4, len);
END;
SELECT DISTINCT get_domain(catalog_url) FROM orders;
![Page 48: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/48.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 48
Перемещение данных в Online
![Page 49: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/49.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 49
Перемещение файлов в Online Перемещение файлов “на лету”
SQL> ALTER DATABASE RENAME FILE ‘/ssd_data/hot.dbf TO ‘/sas_data/hot.dbf’;
… …
ORA-01511: error in renaming log/data files
ORA-01121: cannot rename database file 5 – file is in use or
recovery
SQL> ALTER DATABASE MOVE DATA FILE ‘/ssd_data/hot.dbf TO
‘/sas_data/hot.dbf’ REUSE;
SQL> ALTER DATABASE MOVE DATA FILE ‘/ssd_data/hot.dbf TO ‘+sas_data’ KEEP;
SQL> ALTER DATABASE MOVE DATA FILE 5 TO ‘+sas_data’ KEEP;
11g
11g
![Page 50: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/50.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 50
Перемещение файлов в Online Перенос файлов на ASM и обратно
FileSystem Storage
Tablespace HR: 3 data files
File 1 File 2 File 3
ASM Storage
Tablespace HR: Diskgroup A
MOVE
ONLINE
1 2
ASM Storage
Tablespace APP: Diskgroup B
1 FileSystem Storage
Tablespace APP: 3 data files
2
MOVE
ONLINE
![Page 51: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/51.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 51
Перемещение файлов в Online Перенос файлов на дешевый и емкий носитель
High Cost Storage (SSD)
Tablespace HR: 3 data files
Low Cost Storage (SATA)
Tablespace HR: 3 data files
MOVE
ONLINE
Uncompressed Storage
Tablespace HR: 3 data files
Highly Compressed Storage
Tablespace HR: 3 data files
MOVE
ONLINE
![Page 52: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/52.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 52
Операция MOVE PARTITION ONLINE
Полностью
прозрачна для
приложений
Поддерживается
DML и запросы в
момент переноса
секции
Автоматическая
перестройка
глобального
индекса
Oracle 12c: новое в секционировании Перемещение секций в online
Jan2012 Aug2012 Sep2012 Oct2012
…
Nov2012 Dec2012
![Page 53: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/53.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 53
Операция MOVE PARTITION ONLINE
Полностью
прозрачна для
приложений
Поддерживается
DML и запросы в
момент переноса
секции
Автоматическая
перестройка
глобального
индекса
Oracle 12c: новое в секционировании Перемещение секций в online
Jan2012 Aug2012 Sep2012 Oct2012
…
Nov2012 Dec2012
![Page 54: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/54.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 54
Пример:
Просто сжатие секции с сохранением всех индексов:
ALTER TABLE ORDERS MOVE PARTITION ORD_P1
ROW STORE COMPESS ADVANCED
UPDATE INDEXES ONLINE;
Oracle 12c: перемещение секций в online
Перемещение в другой tablespace c сжатием и с сохранением
глобальных индексов на “лету”:
ALTER TABLE ORDERS MOVE PARTITION ORD_P1
ROW STORE COMPESS ADVANCED
UPDATE GLOBAL INDEXES ONLINE;
![Page 55: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/55.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 55
Автоматизация управления
жизненным циклом
информации (ILM)
![Page 56: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/56.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 56
Automatic Data Optimization
Текущий квартал Текущий год Предыдущие годы
OLTP Отчетность Архивные
данные
Row Store
для OLTP
Compressed Column Store для аналитики
10x сжатие 15x сжатие
По мере “остывания” данных, Automatic Data Optimization
автоматически перемещает данные и может их сжимать на лету
Archive Compressed Column Store с максимальным сжатием
SSD
HDD
15000RPM
HDD
7200RPM
![Page 57: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/57.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 57
Oracle Database 12c Release 1
Очень много, на первый взгляд небольших, но очень практичных
новшеств, например:
– Адаптивная оптимизация запросов
– Повтор транзакций после сбоя (Application Continuity)
– PL/SQL в SQL-запросах
– перемещение файлов и секций в Online
Полная автоматизация операций ILM – Automatic Data Optimization
Заключение
![Page 58: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/58.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 58
Увидимся в Oracle Database 12c!
SQL> SELECT * FROM next_topic;
ERROR at line 1:
ORA-00028: your session has been killed
![Page 59: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/59.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 59
Graphic Section Divider
![Page 60: Oracle Database 12c: от эволюции к революцииlib.custis.ru/images/e/e6/5_Melnikov_12c.pdf · 2013-11-06 · Oracle Database 12c: Application Continuity Скрывает](https://reader034.vdocument.in/reader034/viewer/2022042803/5f4b19c116ddaf3a0779c696/html5/thumbnails/60.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 60