Oracle Database 12c Release 2 Новое в Manageability · Title: How to Use the PowerPoint...

Post on 11-Aug-2020

12 views 0 download

Transcript of Oracle Database 12c Release 2 Новое в Manageability · Title: How to Use the PowerPoint...

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c Release 2 Новое в Manageability

Борис Пищик Консультант, Oracle Corp. Email: boris.pischik@oracle.com

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Safe Harbor Statement

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.

2

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

План

3

AWR & Remote AWR

SQL Tuning Advisor

Index Usage

DB Operations

Real Application Testing

EM Express and EM Cloud Control

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

• Единый AWR репозиторий на БД – Для non-CDB находится в SYSAUX

– Для CDB находится в Root’s SYSAUX (12.1)

• Нет понятия локального AWR для PDB (нет «Top N» для PDB)

• Неполная AWR статистика – Time-Wait model, sysmetrics statistics для PDB

– Нет разбивки по PDB

• AWR данные не транспортируются через unplug/plug

4

AWR и Multitenant: Архитектура и Ограничения

AWR Архитектура (pre-DB12.2)

MMON Process

SGA

In Memory Statistics

DBA_HIST Views V$ Views

Foreground Processes

ADDM

Self Tuning

Components

Internal Clients

OEM SQL*Plus

External Clients

Background Processes

Automatic Workload Repository (AWR)

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 5

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Развитие AWR для Multitenant (DB12.2)

• Поддержка CDB Level Snapshot

• Функциональность, как в Oracle Database 12.1

– CDB snapshots снимаются на уровне Root и сохраняются в Root’s SYSAUX

– Установки по-умолчанию – создание snapshot автоматически каждый час, хранение 8 дней

– Сбор snapshots включен по-умолчанию

• Дополнительная статистика

– Статистика уровня PDB собирается и хранится в новых views: v$con_sysstats, v$con_sysmetric, v$con_sys_time_model

6

• Поддержка PDB Level Snapshot

• Настройки сбора и хранения AWR snapshots на уровне PDB

• Диагностические данные PDB сохраняются в локальном табличном пространстве SYSAUX

– Snapshots содержат данные из локальных представлений v$

• Ручной и автоматический режим сбора AWR snapshots

– Автоматический сбор snapshots по-умолчанию выключен

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Новая AWR Архитектура для Multitenant (DB 12.2) Поддержка Per-PDB AWR

AW

R

AWR AWR AWR

AWR AWR

PDBs

Root

CDB

Multitenant Container Database

AW

R

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 8

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

AWR-отчеты на уровне PDB

• AWR-отчеты на уровне локальной PDB помогают получить следующую информацию:

– Как меняются события ожидания для конкретной PDB ?

– Как меняется значение определенной статистики для PDB?

– Top N SQL для конкретной PDB?

– TOP N сервисов для конкретной PDB?

• Эта информация недоступна для AWR-отчета уровня CDB

9

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Demo (5 min) AWR Multitenant

10

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Remote AWR и Поддержка Active Data Guard (ADG) в DB12.2

• Проблема

– AWR snapshots нельзя снять в read-only standby

– Мониторинг производительности ADG ограничен базовой функциональностью STATSPACK

• Решение – В Oracle Database 12.2, в AWR framework добавлена возможность генерации

remote snapshots из любых БД, включая Active Data Guard (ADG) • БД каталога содержит AWR snapshots из зарегистрированных Баз Данных (источников)

• Snapshots можно собирать вручную или автоматически

• AWR-таблицы БД каталога аккумулируют данные из источников через database links

• БД-источники нужно зарегистрировать в БД-каталоге

• Стандартный username для database links: SYS$UMF

11

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

AWR Remote Management Framework

12

Source databases

Active Data Guard

Remote AWR Data

Store

Каталог зарегистрированных БД

Remote database может быть Primary или любая другая БД

DBID1 AWR Data

DBID2 AWR Data

ADG

DB5

Primary

db_link_to_sources

db_link_to_target

DB1

DB3 DB4 DB2

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Remote Snapshot Конфигурация для ADG

13

Primary

Local AWR Data

Catalog database

Remote AWR Data

ADG Reader Farm

Source databases

Active Data Guard 3. Определить исходные БД

4. Определить исходные БД

5. Создать топологию

6. Зарегистрировать исходные БД

7. Зарегистрировать исходные БД для AWR service DBMS_WORKLOAD_REPOSITORY.CREATE_REMOTE_SNAPSHOT

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 14

Catalog database

SQL> exec DBMS_UMF.create_topology ('Topology_1', 'T'); SQL> exec DBMS_UMF.register_node ('Topology_1', 'S0', 'DBLINK_T_to_S0', 'DBLINK_S0_to_T', TRUE /* Set it as a source */, FALSE /* Set it as not a candidate destination */); SQL> exec DBMS_UMF.register_node ('Topology_1', 'S1', 'DBLINK_T_to_S1', 'DBLINK_S1_to_T', TRUE /* Set it as a source */, TRUE /* Set it as a candidate destination */); SQL> exec DBMS_UMF.create_link ('Topology_1', 'S0', 'S1', 'DBLINK_S0_to_S1', 'DBLINK_S1_to_S0'); SQL> exec DBMS_WORKLOAD_REPOSITORY.register_remote_database(node_name=>'S0'); SQL> exec DBMS_WORKLOAD_REPOSITORY.register_remote_database(node_name=>'S1');

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Поддержка SQL Tuning Advisor для Active Data Guard

• Проблема

– ADG Standby БД широко используются для разгрузки основной БД для задач аналитики или оперативных отчетов

– Запросы на Standby БД часто требуют настройки производительности

• Решение • Oracle Database 12.2 представляет возможность автоматической настройки SQL-запросов на ADG

Standby БД

• Все этапы работы SQL Tuning Advisor инициируются на standby

– Create tuning task, execute tuning task и применение рекомендаций SQL Tuning Advisor

– Test execution (heavy lifting) происходит также на standby

• Все необходимые данные для работы и отчетов SQL Tuning Advisor извлекает из primary через dblink

• Отчеты о настройке генерируются локально на standby

15

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Поддержка SQL Tuning Advisor для Active Data Guard

• Решение • Для удаленного SQL Tuning,а используется private database link для read/write в remote tables

• Привилегированный пользователь SYS$UMF по умолчанию используется для этих операций

– Создается скриптом catumfusr.sql при создании БД

• Пример создания private database link для remote SQL tuning:

– CREATE DATABASE LINK <link_name> CONNECT TO sys$umf IDENTIFIED BY <password> USING <connect string>

• Рекомендации по настройке, которые можно выполнять в standby:

– SQL Profile - dbms_sqltune.accept_sql_profiles

– SQL Plan Baseline - dbms_sqltune.create_sql_plan_baseline

– Через API или EM Express

16

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Поддержка SQL Tuning Advisor для Active Data Guard

Primary Standby

dblink_to_primary

create tuning task execute tuning task report tuning task implement recommendations

– Все изменения делаются на primary и передаются на standby через redo apply

– Данные, необходимые для tuning tasks извлекаются из primary

– Поддерживаются PDB

– Test execution (heavy lifting) happens on standby, only minimal write related activity on primary

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Поддержка SQL Tuning Advisor для Active Data Guard

18

Primary Standby

dblink_to_primary 1a. create_tuning_task : create a tuning task

1b. Write data about the task

Active Data Guard

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Поддержка SQL Tuning Advisor для Active Data Guard

19

Primary Standby

dblink_to_primary

2a. execute_tuning_task : Fetch data from primary to execute a task 2b. Execute tuning analysis process

2c. Write tuning results to disk

Active Data Guard

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Поддержка SQL Tuning Advisor для Active Data Guard

20

Primary Standby

dblink_to_primary

3a. report_tuning_task: Fetch data from primary to produce and create a tuning report

3c. Write accepted profile results to disk

3b. Execute: accept_sql_profile

3d. Accepted profile available via redo apply

Active Data Guard

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Поддержка SQL Tuning Advisor для Active Data Guard

• EM Express также поддерживает standby database workload (ADG)

• DBMS_SQLTUNE API – интерфейс командной строки (пример)

– Создать Tuning Task • DBMS_SQLTUNE.CREATE_TUNING_TASK(sql_text, task_name, database_link_to);

– Выполнить Tuning Task • DBMS_SQLTUNE.EXECUTE_TUNING_TASK(task_name, database_link_to);

– Создать SQL Tuning Report • select dbms_sqltune.report_tuning_task(task_name,'text', 'ALL', 'ALL',NULL, NULL, NULL, NULL, database_link_to) from dual;

– Применить рекомендации SQL Profile • DBMS_SQLTUNE.ACCEPT_SQL_PROFILE (task_name, name, database_link_to);

21

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Demo (5 min) SQL Tuning Advisor - ADG

22

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Optimizer Statistics Advisor

• Состоит из 4 компонент

– Rules – Правила, определяющие наилучшие практики использования статистики

– Findings – Отклонения от правил в вашей БД

– Recommendations – Рекомендуемые действия для устранения проблем

– Actions – Готовый скрипт для применения рекомендаций

23

Rules Findings Recommendations Actions

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Optimizer Statistics Advisor – Пример

24

Do not use sampling when gathering statistics

ESTIMATE_PERCENT=>0.1 is used in statistics scripts

Use default ESTIMATE_PERCENT (AUTO_SAMPLE_SIZE)

Set preference that overrides estimate_percent parameter and gather

statistics

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Indexes Usage Statistics

• Как настроить производительность БД ?

– Слишком много индексов «тормозят» запросы и занимают место

– От каких индексов избавиться для Database In-Memory ?

• Oracle Database 12.2 представляет новый framework для автоматического учета использования индексов с минимальным overhead

• Новые views предоставляют кумулятивную статистику для каждого индекса с момента запуска БД

– {USER_|DBA}_INDEX_USAGE: Track total accesses, executions and usage histogram

– Columns: Name, total_access_count, total_exec_count, total_rows_returned, bucket_0_access_count, bucket_1_access_count, bucket_2_10_rows_returned,……, bucket_100_plus_rows_returned

– V$INDEX_USAGE_INFO

SALES_FACT POS

SALES_DAILY

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Indexes Usage Statistics SALES_FACT POS

SALES_DAILY

• OBJECT_ID NOT NULL NUMBER

• NAME NOT NULL VARCHAR2(128)

• OWNER NOT NULL VARCHAR2(128)

• TOTAL_ACCESS_COUNT NUMBER

• TOTAL_EXEC_COUNT NUMBER

• TOTAL_ROWS_RETURNED NUMBER

• BUCKET_0_ACCESS_COUNT NUMBER

• BUCKET_1_ACCESS_COUNT NUMBER

• BUCKET_2_10_ACCESS_COUNT NUMBER

• BUCKET_2_10_ROWS_RETURNED NUMBER

• BUCKET_11_100_ACCESS_COUNT NUMBER

• BUCKET_11_100_ROWS_RETURNED NUMBER

• BUCKET_101_1000_ACCESS_COUNT NUMBER

• BUCKET_101_1000_ROWS_RETURNED NUMBER

• BUCKET_1000_PLUS_ACCESS_COUNT NUMBER

• BUCKET_1000_PLUS_ROWS_RETURNED NUMBER

• LAST_USED DATE

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Мониторинг составных операций в БД (DBOP)

• Oracle Database 12.1.0.2: Поддержка составных бизнес-операций в БД

• Все вызовы к БД, между двумя точками, установленными разработчиком

• Например: ETL-загрузка, Закрытие квартала/дня, Расчет зарплаты и т.д.

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Включение мониторинга в PL/SQL

PROCEDURE calc_salary(v_pDep IN NUMBER) IS

BEGIN

prepare_calc();

main_calc();

finish_calc();

END;

Например: закрытие операционного дня в PL/SQL

PROCEDURE calc_salary(v_pDep IN NUMBER) IS

v_xDBOpId NUMBER;

BEGIN

v_xDBOpId := dbms_sql_monitor.begin_operation(‘CALC_SALARY',

forced_tracking => 'Y');

prepare_calc();

main_calc();

finish_calc();

dbms_sql_monitor.end_operation(‘CALC_SALARY', v_xDBOpId);

END;

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Улучшения Database Operations Monitoring (DBOP)

• Проблема

– DBOP нельзя настроить для уже работающей сессии

• Решение • Oracle Database 12.2 представлят возможность включить DBOP для активной сессии

• Похожий механизм используется для включения SQL trace для другой сессии

• DBA может включить/выключить DBOP для произвольной сессии через Session ID и Serial#

• Параметры "SESSION_ID” и "SESSION_SERIAL” добавлены в вызов процедуры DBMS_SQL_MONITOR.BEGIN_OPERATION

EXEC :eid := DBMS_SQL_MONITOR.BEGIN_OPERATION(

dbop_name => 'DBOP_EXAMPLE',

session_id =>24,

session_serial=>2355 );

29

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Real Application Testing (RAT) Решение для тестирования БД

Remediate

Test

Deploy

• Состав продукта:

• Database Replay - полный захват/воспроизведение всей нагрузки на БД. Интеграционное тестирование.

• SQL Performance Analyzer (SPA) - анализ производительности отдельных SQL-

запросов. Модульное тестирование.

Изменения

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Улучшения Real Application Testing • Проблема

– Для некоторых нагрузок с большим количеством вызовов PL/SQL-кода (напр. EBS) при воспроизведении (Replay) ухудшается производительность

– Database Replay всегда захватывает «top-level PL/SQL calls» без информации о вызовах внутри PL/SQL-кода • Note: Работает корректно для большинства нагрузок

• Решение

• ‘Extended’ режим для PL/SQL capture и replay

– В 12.2, вы можете захватывать и воспроизводить рекурсивные вызовы SQL внутри PL/SQL

• Для некоторых нагрузок, интенсивно использующих PL/SQL, захват и воспроизведение рекурсивных SQL дает более корректный профиль нагрузки

31

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Database Replay - PL/SQL Top Level и Extended Top Level Capture & Replay Extended Capture & Replay

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Database Replay Extended - синтаксис PL/SQL APIs

Capture:

exec DBMS_WORKLOAD_CAPTURE.START_CAPTURE ( name => ‘EXTENDED_1', dir => ‘PL_SQL_CAP', duration => 6000, plsql_mode => ‘EXTENDED’);

33

Preprocess:

exec DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE ( capture_dir => ' PL_SQL_CAP ‘, plsql_mode => ‘EXTENDED’);

Replay:

exec DBMS_WORKLOAD_REPLAY.INITIALIZE_REPLAY ( name => ‘EXTENDED_1', dir => ‘PL_SQL_CAP', plsql_mode => ‘EXTENDED’);

* Значение по-умолчанию для plsql_mode = ‘TOP_LEVEL’

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Улучшения SQL Performance Analyzer (SPA)

• SQL Performance Analyzer (SPA) параметры:

- EXECUTE_FULLDML_TRIGGERS

- EXECUTE_WITH_FIXED_DATE

- NUM_ROWS_TO_FETCH

• SQL Tuning Sets (STS):

- STS capture - start_capture и stop_capture API DBMS_SQLTUNE

- STS capture - для Oracle Real Application Clusters (Oracle RAC).

- STS capture - дополнительные метрики для Exadata и In-Memory Database.

Analysis Report

Compare SQL Performance

SQL plans + stats SQL plans + stats

Pre-change Trial Post-change Trial

SQL Workload

STS

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

EM Express (DB12.2) Расширенная поддержка Multiple PDBs/Instances

• Показывает информацию о производительности в контексте user/container

– На уровне root: разбивка по Top N PDBs или агрегированная статистика. Top SQL - разбивка по PDB

– На уровне PDB: информация, относящаяся к конкретной PDB

– Поддержка новых операций с PDB: hot cloning, relocate

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

EM Express (DB12.2) Расширенная поддержка Multiple PDBs/Instances • Показывает список PDB с

использованием Top-N критериев по ключевым метрикам

– CPU, active sessions, memory, I/O, size

– Поиск по PDB name

• Улучшена производительность при работе с большим количеством PDB

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

EM Express (DB12.2)

• Упрощение соединения с EM Express через использование единого порта для CDB и всех PDB

– В 12.1.0.2 нужен отдельный порт на каждуюr PDB

– Единый EM Express порт в database 12.2 • Доступ к PDB через единый порт можно

запретить из соображений безопасности

• dbms_xdb_config.setGlobalPortEnabled(FALSE);

Упрощенная конфигурация для Multitenant

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

EM Express (DB12.2)

• В 12.2 можно генерировать отдельные Perfhub-отчеты:

– Глобальный, для From the CDB$ROOT

– Для каждой PDB

Perfhub отчеты для PDB

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

EM Express (DB12.2)

• Теперь поддерживаются SQL Performance Analyzer (SPA) и SPA Quick Check

– SPA Quick Check для повседневных задач (напр. по проверке параметров)

– SPA для стандартных тестов по SQL Tuning

Поддержка SPA

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

EM Express (DB12.2) Поддержка Resource Manager

• Resource Manager установка и конфигурация

• Визуализация использования планов ресурсов

• Мониторинг использования resource plan effectiveness including violations, waits etc.

• Метрики:

– CPU breakdown by service

– Maximum SQL execution statistics

– Parallel operations downgraded

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Demo (5 min) EM Express Enhancements

41

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |

Поддержка Sharding в EM

42

• GDS Run Time load Balancing (RLB) monitoring in sharded environment

• Shard Pool Performance