1 / 12

Review of undo componets of Oracle RDBMS

Review of undo componets of Oracle RDBMS. Andrey Kriushin, RDTEX J.S.C. Review of undo componets of Oracle RDBMS. Redo thread (stream). Еще одна точка зрения на работу СУБД Oracle Откуда смотрим – undo как оперативная часть журнала транзакций. Redo record. Head of redo thread. Redo record:

maja
Download Presentation

Review of undo componets of Oracle RDBMS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Review of undo componets of Oracle RDBMS Andrey Kriushin, RDTEX J.S.C.

  2. Review of undo componets of Oracle RDBMS Redo thread (stream) • Еще одна точка зрения на работу СУБД Oracle • Откуда смотрим – undo как оперативная часть журнала транзакций Redo record Head of redo thread Redo record: RBA – redo block address Redo entry # OP code Operands SCN of change DBA – data block address [Old data] New data

  3. Темы презентации • Как происходят и где регистрируются изменения БД • Согласование данных – Multiversion Read Consistency • Стуртуры БД, связанные с undo • Остальное • Управление undo (manual/auto) • Особенности для RAC • Undo и восстановление БД • Новые возможности Oracle 11gR2

  4. Как происходят изменения в БД • Многопользовательская БД с минимальным уровнем блокирования объектов • Уровни блокирования: - enqueue/lock - до COMMIT/ROLLBACK - latch/mutex - на время использование служебной структуры в SGA (shared pool) - block pin - на время чтения или изменения блока в кеше буферов • Наименьшее законченное изменение – redo record (RBA: Redo Block Address + redo record#), содержит инструкцию (OP code) и операнды, в т.ч. новые и старые данные, SCN (???) • Одна и та же подпрограмма kcrXXX применяет redo record как при нормальной работе БД, так и при восстановлении БД • Некоторые записи redo значимы для согласованного представления данных (COMMIT)

  5. Как происходят изменения в БД • Redo stream (или набор threads of redo для RAC) это журнал транзакций. Большинство DBMS обходятся одним журналом как для восстановления, так и для обеспечения целостности чтения. Ибо онЕ суть блокировочнеГи • Oracle RDBMS – версионник.

  6. Как происходят изменения в БД • Undo – оперативная часть журнала транзакций, необходимая для: • Создания согласованного на определенный SCN образа данных • Подтверждения фиксации/отката транзакции (DML, SELECT FOR UPDATE) • Выполнения очистки блока ([delayed] block cleanout)

  7. Physio-Logical Model Complex actions Sequence of block actions Data layer Tx layer Cache layer Before (old SCN) After (new SCN) LogicaloperationDO Datablock Datablock LogicaloperationDO Logicaloperationundo block Blockaction Undoblock Undoblock Undo record LogicaloperationUNDO Logicaloperationundo hdrblock RBU hdrblock RBU hdrblock Change vectors Chg1 Chg2 Chg3 Change vectors Redo record

  8. Before image Change vector After image Old SCN SEQ New SCN SEQ Opcode DBA SCN Seq#

  9. Согласование данных – Multiversion Read Consistency • Фазы выполнения команды SQL • Describe,Define,Parse,Bind • Execute – запоминаем текущий SCN • [Fetch] • Стандартный уровень изоляции – Read Committed – для команды доступны (видны) только данные, зафиксированные с SCN <= Execute SCN, а также измененные в текущей транзакции • Для READ ONLY: Execute SCN равен SCN команды SET TRANSACTION READ ONLY

  10. Стуктуры БД, связанные с undo • Undo cостоит из/содержит [ссылки на]: • Таблицы SYS.UNDO$ • Сегментов отмены (undo) • Таблицы транзакций в заголовке сегмента undo, V$TRANSACTION для текущих транзакций • KT-layer (Kernel Transaction) в блоках данных (таблицы, индексы, кластеры) Таблица транзакций в блоке данных Transaction control slot и ITL (Interested Transaction List) slots)

  11. Остальное • Управление undo (manual/auto) • Особенности для RAC • Undo и восстановление БД • Новые возможности Oracle 11gR2

  12. Q & A • Вопросы? • FAQ: Q1: Я выполнил COMMIT. Как узнать, c каким SCN завершилась транзакция? A1: Q2: ORA-01555, Snapshot too old? Я проверил, в моей БД нет объектов типа SNAPSHOT... A2:

More Related