На действия PDML имеются некоторые ограничения. Если они нарушаются, Oracle производит операцию последовательно, даже не оповещая об этом пользователя! В большинстве случаев при этом не генерируется никаких сообщений и предупреждений. Отсутствует поддержка PDML для триггеров, когда принудительно налагаются какие-либо ограничения по целостности данных либо когда таблицы содержат LOB (очень большие двоичные объекты) или объектные типы, таблицы, организованные как индексы, кластеризованные таблицы и т. д. Более подробно об этом рассказывается в книге "Руководство по концепциям Oracle" (Oracle Concepts Guide) .
И, наконец, имеется еще несколько параметров инициализации, с которыми стоит познакомиться, прежде чем начать использовать PDML в своей системе. К их числу относятся ENQUEUE_RESOURCES, DMLLOCKS.TRANSACTIONS
и LOG_BUFFER. Информацию о них можно найти в книге "Руководство по настройке Oracle" (Oracle Tuning Guide).
Мониторинг параллельных запросов
Вот мы с вами и прочли эту главу, поняли ее, сконфигурировали систему и базу данных и даже начали использовать Но как убедиться, что и в самом деле действует так, как мы это спроектировали и как нам этого бы хотелось? Как всегда, Oracle предлагает несколько динамических представлений производительности V$, накапливающих статистику Эта статистика доступна как на уровне системы в целом, так и на уровне отдельного сеанса и является очень полезной для оценки производительности подчиненных процессов параллельных запросов. Представление V$PQ_SYSSTAT предлагает ценную информацию, которая может быть использована для определения параметров инициализации и PARALLEL_MAX_SERVERS. Ниже приводится фрагмент таблицы V$PQ_SYSSTAT:
SQL>select Statistic, Value from V$PQ_SYSSTAT;
STATISTIC
|
VALUE
|
Servers Busy
|
6
|
Servers Idle
|
0
|
Servers Highwater
|
6
|
Server Sessions
|
8
|
Servers Started
|
2
|
Servers Shutdown
|
0
|
Servers Cleaned Up
|
0
|
Queries Initiated
|
2
|
DML Initiated
|
0
|
DFO Trees
|
2
|
Sessions Active
|
2
|
Local Msgs Sent
|
6
|
Distr Msgs Sent
|
0
|
Local Msgs RecVd
|
12
|
Distr Msgs Recv'd
|
0
|
15 rows selected.
|
|
S0L>
|
Воспользоваться этим представлением - самый легкий путь, идя по которому
можно подкорректировать значения параметров инициализации
PARALLEL_MIN_ SERVERS и Если выяснилось, что
PARALLEL_MIN_ SERVERS и Если выяснилось, что
статистика
Servers Busy
постоянно близка по значению к параметру PARALLEL_MAX_SERVERS, необходимо увеличить его значение, чтобы иметь уверенность в том, что в нашем распоряжении еще имеется достаточное количество доступных серверов для выполнения любых дополнительных операций< Предыдущая | Следующая > |
---|