Управление длинными транзакциями и Workspace Manager

Предположим, что в базе данных Oracle Database выполняются чрезвычайно длительные транзакции — возможно, занимающие целый день. Прежде всего, Oracle использует блокировки для обеспечения параллелизма и атомарности длительных транзакций, что может катастрофически снизить степень этого самого параллелизма, потому что другие пользователи будут вынуждены ждать завершения длительно выполняющейся транзакции.

К счастью, Oracle предлагает Workspace Manager — средство, которое можно применять для версионных таблиц, так что разные пользователи смогут поддерживать разные версии данных. Во время выполнения длительных транзакций изменения могут быть проведены в одной и той же таблице, в разных рабочих областях, и все эти версии в конечном итоге будут согласованы и результаты зафиксированы в исходной таблице. Рабочее пространство (workspace) можно воспринимать как виртуальную среду, разделяемую несколькими пользователями для проведения изменений в одних и тех же данных.

В дополнение к облегчению работы с длинными транзакциями, Workspace Manager позволяет создавать множество сценариев данных для анализа типа “что если”. Это средство также может помочь отслеживать хронологию всех изменений в некотором множестве таблиц базы данных Oracle Database. Оно особенно полезно в совместных проектах, поскольку позволяет разным командам разделять общее содержимое.

Workspace Manager допускает одновременный доступ по чтению и записи к рабочим данным во время длительных транзакций. Он использует множественные версии таблиц, чтобы обеспечить возможности одновременного чтения и записи данных.Согласованность при этом гарантирована, потому что финальная, постоянная версия таблицы не будет иметь никаких конфликтов в данных. Все пользователи увидят свои собственные виртуальные версии базы данных, т.е. разные версии строк в одних и тех же таблицах. Но эти версии, которые увидит каждый из пользователей из своего рабочего пространства, будут гарантированно транзакционно согласованными; они будут содержать все данные, которые были в таблице на момент начала работы пользователя,плюс все изменения, которые он провел в исходных данных.

 

Преимущества использования Workspace Manager

Помимо всего прочего, Workspace Manager позволяет опробовать различные сценарии работы с данными (например, эффект от различных маркетинговых кампаний), прежде чем вы окончательно не выберете одну приемлемую версию, которую сделаете постоянной, выполнив слияние всех виртуальных версий данных таблицы. Такое слияние в сумме объединяет все данные дочерних рабочих областей с исходными данными (из родительского рабочего пространства). Если после анализа вы решите обнулить все данные дочерней рабочей области, то сможете сделать это, выполнив откат — как вы откатываете транзакцию в обычных условиях.


На заметку! Хотя Workspace Manager обеспечивает возможность создания множества версий одной таблицы, или даже всех таблиц базы данных, это не требует дополнительных затрат на хранение, потому что версионности в каждом рабочем пространстве подвергаются только измененные строки, и эти новые версии сохраняются в исходной таблице (и исходном табличном пространстве). Другими словами, дополнительно выделять специальное место для таблиц базы данных, содержащих различные версии строк, не потребуется.


Workspace Manager предлагает следующие возможности.

  • Возможна поддержка множественных версий данных, которые при необходимости легко отбросить.
  • Множество пользователей могут одновременно иметь обращаться и модифицировать одни и те же данные.
  • Обновления, проведенные несколькими пользователями в течение времени, изолируются в рабочих пространствах до тех пор, пока не будут объединены в рабочей базе данных.
  • Конфликты между множественными версиями разрешаются автоматически самим Workspace Manager.

 

Версионность таблиц и рабочие пространства

В основу средства Workspace Manager положены концепции версионности таблицы и рабочих пространств. Версионность таблиц позволяет иметь различные наборы строк, разделяющих одно и то же имя таблицы. Важнейшее свойство версионности таблиц состоит в том, что пользователи могут продолжать изменять данные посредством операций DML на повседневной основе. Workspace Manager поддерживает структуру версионной таблицы с использованием представлений, основанных на исходной рабочей таблице. Эта возможность иметь несколько версий даже рабочей таблицы делает Workspace Manager очень мощным инструментом проведения анализа “что если”.

Для получения подробной информации о версионных таблицах служат таблицы WM$VERSIONED_TABLES и WM$VERSION_TABLE. Обе эти таблицы принадлежат схеме WMSYS, поэтому сначала убедитесь, что в базе данных присутствует схема WMSYS.

Рабочие пространства позволяют пользователям проводить изменения в версиях таблицы, и рабочие области изолируют версионные таблицы до тех пор, пока они не будет отброшены (discarded) или объединены с исходной таблицей. Такая способность рабочих областей сохранять версионные таблицы означает, что доступ к исходным таблицам не будет затруднен. Вы можете назначить рабочую область одному или нескольким пользователям, и они смогут видеть согласованное представление базы данных, включая строки своих версий таблиц из рабочей области, плюс все прочие таблицы на момент создания или обновления рабочей области, в зависимости от того, что произошло позже.

Обратите внимание, что когда версионные таблицы создаются в базе данных, их исходные прототипы переименовываются в виде имяТаблицы_LT. Oracle также создает новую таблицу по имени имяТаблицы_AUX и представление, одноименное с исходной таблицей. Когда пользователи подключаются, все они по умолчанию оказываются в рабочем пространстве LIVE. Все прочие рабочие области, имеющиеся в базе данных,являются дочерними по отношению к области LIVE. Всякий раз, когда вы обновляете рабочую область, вы можете видеть последние изменения, проведенные в родительском рабочем пространстве, которые также включают все изменения, слитые из дочерних рабочих пространств. Слияние (merging) рабочего пространства с родительским пространством LIVE делает все изменения, внесенные в дочернее рабочее пространство, общедоступными. Оператор MERGE вызывает немедленное разрешение любых конфликтов.

Средство Workspace Manager предоставляется в рамках программного обеспечения Oracle, но может и не быть автоматически инсталлированным в созданной вручную базе данных. Если для создания новой базы данных вы использовали Database Configuration Assistant (DBCA) и позволили Oracle создать начальную базу данных в процессе инсталляции программного обеспечения Oracle, то средство Workspace Manager инсталлируется автоматически. Простейший способ определить, установлен ли Workspace Manager,заключается в том, чтобы проверить наличие пользователя WMSYS через представление DBA_USERS, поскольку WMSYS принадлежат все таблицы Workspace Manager. Если такой пользователь уже там есть, приступайте к применению этого средства. В противном случае нужно будет дополнительно инсталлировать Workspace Manager в базе данных.

Простейший способ использовать Workspace Manager — через OEM. Средство OEM позволит создавать и управлять рабочими пространствами, а также включать и отключать версионность таблиц.

Вас заинтересует / Intresting for you:

Oracle Database: обзор базы да...
Oracle Database: обзор базы да... 23484 просмотров Илья Дергунов Sun, 11 Aug 2019, 15:01:35
Версии СУБД Oracle Database 10...
Версии СУБД Oracle Database 10... 5717 просмотров Илья Дергунов Sat, 11 Aug 2018, 11:43:08
Дискретные и автономные транза...
Дискретные и автономные транза... 9270 просмотров Дэн Tue, 25 Sep 2018, 04:21:26
Фиксация и откат транзакций в ...
Фиксация и откат транзакций в ... 5402 просмотров Antoniy Tue, 21 Nov 2017, 13:18:46
Войдите чтобы комментировать