ПредишенСледващото

Рейтинг: 0/5

FLASHBACK_TRANSACTION_QUERY представителство позволява идентификация на сделката или сделките, които отговарят на определени промени за таблици с данни, които са настъпили през определен интервал от време. Ретроспекция на транзакциите Query просто разпитва представителство FLASHBACK_TRANSACTION_QUERY и предоставя информация за сделката. включително SQL отчети. необходимо, за да отмените промените, извършени от или от една сделка или набор от операции за определен период от време. Този инструмент ви позволява не само да се коригира логически грешки, но също така да извършва одит на транзакциите в базата данни.

Ретроспекция на транзакциите Query получава цялата информация за сделката от сегмента на отмяна. Затова стойността, определена за UNDO_RETENTION на параметъра. Той определя колко далеч в миналото може да се върне, за да получите отказ данни.

Използване на Ретроспекция на транзакциите за заявките

За представяне FLASHBACK_TRANSACTION_QUERY на проучването нужда привилегия система SELECT всяка сделка. Това представяне съдържа колони, които позволяват да се идентифицират клеймото на сделката, потребителят, който е извършена сделката, от вида на операцията се извършва по време на операцията и сегменти за отмяна, необходими за извличане на низа източник. Изброяването по-долу показва структура представителство FLASHBACK_TRANSACTION_QUERY на.

Представяне FLASHBACK_TRANSACTION_QUERY включва следните колони.

  • START_SCN START_TIMESTAMP и идентифициране, когато даден ред е създаден.
  • COMMIT_SCN и доклад COMMIT_TIMESTAMP когато сделката е записан.
  • XID. ROW_ID и UNDO_CHANGE # определят линията на сделката и да анулират номера на промяна, съответно.
  • РАБОТА казва какво е извършено ГСД операция - за вмъкване, актуализиране или изтриване.

Съвет! Ако колоната операцията не е известен на стойност. Това означава, че премахването на пространството за таблици не е достатъчно информация, за да определи правилно точния вид на операциите по сделката.

  • LOGON_USER. TABLE_NAME и TABLE_OWNER представляват името на потребителско име, име на таблица и схема.
  • UNDO_SQL показва точното изявление SQL, за да се изпълни, за да отмените операцията. Ето един пример от типа на данните, които могат да бъдат намерени в UNDO_SQL колона:

В случай, че някоя от масите, които участват в операцията Ретроспекция на транзакциите на заявките, съдържа съответните редове, или ако се използва струпани маса, преди да кандидатствате Ретроспекция на транзакциите за заявки в базата данни трябва да включва допълнителна сеч. Това се постига чрез използване на следната SQL изявление:

Следната заявка показва всички транзакции като записват и активен във всички затвори сегменти:

Query в Обява-долу показва как да се определи операция, която анулира сделката, отчета за SQL и частното, че ще извърши такова анулиране:

РАБОТА колона в списъка по-горе показва, че по време на периода, посочен в искането, се извършва два вложки. UNDO_SQL колона показва точното изявление SQL, което е необходимо за извършване на отмените промените - екстракти изиска информация от сегмента на отмяна. В този прост пример, виждаме само две оператори изтриване. трябва да извършите, ако искате да отмените вложка показва запитване. Въпреки това, сделката обикновено съдържат няколко изявления от ГСД, и в този случай е необходимо да се прилага за премахване на промените в последователността, в която се завърнали по искане за възстановяване на правилно данните в първоначалното му състояние.

На Съвета. Ако възнамерявате да използвате заявки Oracle Flashback заявка или Oracle Flashback транзакциите на заявките да се определи критични грешки в данните, помислете за използването на пространството за инсталация за отмяната на маса RETENTION_GARANTEE. Това гарантира, че базата данни не запазва необходимата отмяна на остарели данни във всички сегменти на анулирането.

Съображенията за Ретроспекция на транзакциите за заявките

Ретроспекция на транзакциите за заявки по отношение на необходимостта да се вземат предвид следните съображения.

  • Включи минимална допълнителна сеч, ако операциите, свързани с тях се занимават с редове и специални структури за съхранение, например струпани на маса.
  • В едно проучване на операцията по индекса маси актуализация винаги се показва като операция от две стъпки е отстраняване / вмъкване.
  • Ако искането включва дистанционно маса или на отдалечен потребител, той ще се върне на броя на обектите и потребителски идентификатори вместо имена на обекти и потребителски имена.

Споделянето Ретроспекция на заявките на транзакциите и Ретроспекция Версии за заявки

Флашбек Версии Query означава позволява различни версии на линия извличат, заедно с техните уникални идентификатори се пита версия низ, SCN номера и т.н. Тя показва, че това е в реда, и това, което се е случило с нея. Средства Ретроспекция Сделки за заявки, от друга страна, не само идентифицира типа на операцията се извършва на всеки ред версия, но също така предоставя SQL код е необходимо, за да го върне в първоначалното си състояние. Тя показва как да се върне към предишната версия на линията.

Възможностите на тези два инструмента могат да се комбинират, които ги използват постоянно за одит и свързаните с него дейности. Помислете за един пример, който показва как да се съчетаят средствата Ретроспективен кадър Версии за заявки и флашбек Сделки заявка, за да отмените нежелани промени в данните.

За да започне употреба флашбек версии Запитване за идентифициране на всички версии на конкретен ред на таблицата, която се е променила с течение на времето, както е показано по-долу Обявата (това е идентична с първата регистрация в този документ).

Да предположим, че в горното изброяване идентифицирана втора линия, която показва етапа на отстраняване (D). По погрешка един от потребителите изтрит грешна линия. Всичко, което трябва да направите, за да получите правилната SQL-отчет на дружеството за отмяна на отстраняване - е да се вземе идентификационен номер (XID) от този резултат флашбек Версии за заявки и да го намерите в FLASHBACK_TRANSACTION_QUERY представителство .В Обява-долу показва заявка, която трябва да се изпълни.

Средства Ретроспекция на маса

Oracle Flashback инструмент таблица ви дава възможност да се възстанови една маса в определено време в миналото. Този инструмент се позовава на информация от анулиране на сегменти на база данни за анулиране за извършване на възстановяване до точката във времето, без възстановяване на всякакви файлове с данни или прилагането на архивирани ремонтирам лог файлове, които се изискват от традиционното възстановяване на база данни с конкретен момент във времето. Ретроспекция инструмент таблица може да се използва, за да се върне назад промени в предишен момент определен брой момент в клипа или SCN.

Защото вие разчитате на анулиране на база данни трансфер на данни или някоя маса неговите пространства в самостоятелна (изключен) държавата по време на периода на експлоатация Ретроспекция на маса не е необходимо да се върне на масата на състояние (резервно копие вместо възстановяване на файлове). Oracle определя изключителните брави за възстановяване на ГСД таблица или таблици, но тези таблици са достъпни онлайн.

Как инструментът Ретроспекция маса

Ретроспекция на маса използва информация, за да се възстанови за анулиране на блокове от данни на редове в таблици, модифициран DML оператори като вмъкнете. Актуализиране и изтриване. Нека да разгледаме стъпките в последователност операция Ретроспекция на маса.

Съвет! Потребителят SYS обекти не могат да бъдат възстановени.

Първата стъпка е да се уверите, че потребителят, който изпълнява Ретроспекция на операцията по таблица има всички права, които могат да бъдат или ретроспекция ANYTABLE, или повече специфични Ретроспекция обект привилегия на масата е необходимо. Потребителят трябва също така да имат привилегията SELECT на масата. Вмъкване, изтриване и ALTER.

ретроспективни (ретроспекция) операции не пречат на Oracle ROWID-документи за самоличност, когато те са намалени в модифицираната линия на единици за маса, тъй като при операциите извършената работа ГСД. Тези операции ГСД ROWID променящите идентификатори на редове засегната, така че трябва да се гарантира, че резолюцията се движат редове в таблици с помощта на Flashback маса означава:

Като позволява движение на редовете в таблицата, вие сте готови да се извърши ретроспективно маса по всяко време или произволен брой SCN в миналото, тъй като необходимата информация в отмяната на таблици.

Преди да се прилагат средства Ретроспективен кадър на маса, запознайте се с пълния синтаксис:

Ето един пример, който показва как да се извърши ретроспективно на масата за изминалата брой SCN:

На Съвета. След операцията Ретроспекция на маса, всички индекси, свързани с таблиците в списък Ретроспекция на маса, и ще бъдат върнати на държавата в момента във времето, към която масата се връща. Въпреки това статистиката оптимизатор ще отразяват текущите данни в таблицата.

Можете също да укажете време, за създаване на клеймото вместо SCN номера:

маса за връщане за преди един ден е извършена със следното твърдение:

Ретроспективен може да се извърши за повече от една маса в даден момент, както е показано в следващия пример (първият необходимо да се гарантира, че движението на редовете в таблицата се оставя):

операция Ретроспекция на маса се извършва "на място", он-лайн, и затова не изисква прехвърлянето на файлове с данни или пространство за таблици в автономен режим, за разлика от традиционното възстановяване в определен момент от време. База данни по подразбиране Oracle деактивира всички свързани тригери и ги активира отново след приключване на реставрацията на таблицата, въпреки че това поведение е лесно да се промени, като добави строителство се даде възможност на тригери оператор Ретроспекция на маса.

При липса на достатъчно данни за анулиране да се върне на масата на старата грешка, както е показано в списъка по-долу, а това означава, че част от премахването на данните са презаписани. За съжаление, този инструмент Ретроспекция на маса не помогне в този случай, тъй като тя се основава на наличието на необходимата отмените информация. Единственото решение в този случай е да се използва пространството за таблици или анулиране по-голямо включване означава да се гарантира опазването на отмяната на данни.

За да отмените операцията Ретроспекция Таблица

Ако се окаже, че резултатите не отговарят на Flashback маса, вие пак може да издаде изявление ретроспекция TABLE да се върне на масата за състоянието, в което тя е в преди първия разговор Ретроспекция на маса.

Преди започване на работа Ретроспекция Таблица винаги е важно да се помни, че настоящият брой на SCN, така че ако е необходимо, можете да откажете операцията многократните призиви Ретроспекция на маса. ДА SCN. Настоящ брой на базата данни SCN се показва с следната заявка:

означава да се ограничи кадър Таблица

Ретроспективен Таблица със средства свързан няколко ограничения, най-важният от които са изброени по-долу.

  • Не е възможно да се направи ретроспективна маса, собственост на СИС. реставрирани предмети или дистанционно (дистанционно) на маса.
  • Не може да се извърши ретроспективно маса по време на предхождащ DDL всяка сделка, която включва промени в структурата на таблицата, като колонна делеция, отрязване маса, добавянето на ограничения или изпълнява операции, свързани с секции, като например добавяне или премахване на секции.
  • Ретроспекция изявление включва една сделка, а Flashback се извършва операция или напълно, или не. Ако ретроспективно действие обхваща няколко маси, да се върнете в състояние в даден момент или брой SCN има всички тези таблици или нито един от тях.
  • Ако Oracle засича всяко нарушение на ограниченията по време на работа на Flashback, операцията ще бъде отменено, а на масата ще остане в първоначалното си състояние.
  • Когато съкращаване на масата или да променяте атрибутите, които не са свързани със съхранението (различни от PCTFREE. INITTRANS и MAXTRANS), извършват дейността си по време на ретроспекцията, която предхожда тези промени, не е възможно.

Съвет! Всички ретроспективен операция се извършва под формата на една транзакция

Свързани статии

Подкрепете проекта - споделете линка, благодаря!