Oracle разделяне оперативно движение и възстановяване на исторически данни, Oracle маса

1. Въведение

При решаването на проблема за съхраняване и предоставяне на достъп до историческите данни са често възниква проблемът за качване на архивираните данни за архивиране медии (като лента) с възможност за ранно възстановяване на тази информация и да я предоставят на потребителите. Този проблем е от особено значение за съхранение на данни, но също така може да се използва за обработка на данни за минали периоди OLTP системи.

Тази статия описва начин за решаване на този проблем, като се използва за разделяне на Oracle Database опции за бази данни.

Илюстрация подход движат исторически данни

Първата стъпка е да се определят участъците съдържащи исторически данни. Исторически данни - това е исторически данни, на която в бъдеще няма да провежда операции промени. След това частта с исторически данни, се преместват в временна таблица подготвен предварително. Следващата стъпка се произвежда за износ метаданни Транспорт Таблица Space (TTS). В края на прехвърлянето на файла се извършва с метаданните на файла и пространство за таблици на носителите на архивите.

Описаният подход е приет като основа за задачите на движението и възстановяване на исторически данни "Ростелеком" корпоративен складови данни на компанията.

2. Определяне на данните за минали периоди

За да се идентифицират историческите данни, т.е. вида на данните, които вече няма да бъде променена, администраторът трябва да се наблюдава на месечна база на външния им вид. Списъкът на информация, която следва да бъде признат за исторически, се определят изискванията на бизнеса. Често правилото за данните за минали периоди се свежда до такова състояние, признат за историческия период за запазване на данни, от които надхвърли определени граници, например, 5 години, считано от сега.

За автоматизиране на идентификацията на исторически данни в конкретен факт на маса, което можете да направите следната заявка (препратката към Oracle Database речника):

Тази заявка ще върне списък на секции (вж. Поле partition_name) в съответствие с таблиците, данните, които са исторически (срок на годност повече от 5 години). Тези данни трябва да бъдат подкрепени и преместени на резервната медиите.

3. Преместете данните за минали периоди

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

  1. Създаване на временна таблица. които ще бъдат преместени в историческите данни.
  2. Преместете се на временни данни tablitsuistoricheskie чрез промяна на секции (обмен дял).
  3. Премахване на всички логически и физически пространство маса връзка и раздел маса с всички обекти, с изключение на временна таблица.
  4. Направи таблици само за четене (само за четене).
  5. Смятате износ точка метаданни с исторически данни таблица пространство (за успешното изпълнение на износа и вноса, потребителят трябва, изпод които да извършват тези операции, има правата и exp_full_database imp_full_database съответно).
  6. Копирайте файла с файловете на метаданни и данни за пространство за таблици с данни за минали периоди в папката за прехвърляне на резервната медиите.
  7. Направете архив включва: метаданни файл, файлове за таблици. допълнително описание на файла.
  8. Премахване на пространството таблица с данни от базата данни.

По-долу е поредица от действия върху движението на историческите данни от раздел P_0106 ПРИЗОВАВА маса.

данни раздел P_0106 се съхранява в пространство за таблици TBS_CALLS_0106_1, което, от своя страна, се състои от два файла: TBS_CALLS_0106_1_001.dbf и TBS_CALLS_0106_1_002.dbf.

По-долу, всички скриптове се изпълняват от системата на потребителя.

4. Създаване на временна таблица

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

5. Преместване на данните в временна таблица

Изпълнение на секцията за команда смяна (обмен paertition) P_0106 (раздел с исторически данни) между извикванията на маса и временната таблица ПРИЗОВАВА $ EXP $ P_0106.

6. Отстранете Връзки

Смятате износ метаданни пространство за таблици, само ако то не е свързано с други обекти в базата данни.

За да проверите връзките, изпълнете следната процедура, както и заявка (те трябва да извършат в рамките на потребителя SYS):

Ако се представя на TRANSPORT_SET_VIOLATIONS искане връща записи, това означава, че съществуват този раздел връзки с други обекти на базата данни. Необходимо е, че искане за това представителство не се връща линии. За да направите това, трябва да промените пространството за таблици за P_0106 преградната разговори на маса - се движат пространство TBS_CALLS_0106_HIST таблицата на дяловете и да се премести за метаданните за маса ПРИЗОВАВА $ EXP $ P_0106 маса пространство TBS_CALLS_0106_1:

Проверки за връзката отново.

записите подаването TRANSPORT_SET_VIOLATIONS разположение - без връзки.

7. атрибут "само за четене"

метаданни за износ, за да направят пространството за таблици е възможно само, когато е в режим "само за четене". Направете пространството таблица е само за четене, като пуснете следната команда:

8. Износ на пространството на маса

Ние извършваме износ на маса метаданни пространство. За тази DataPump технология и, съответно, ще се използва expdp инструмент.

В командния ред, трябва да експортирате команда (виж скрипт -. Export.sh) в директорията, са определени в променливата DATA_PUMP_DIR на базата данни.

Отидете до директорията, която определя променлива DATA_PUMP_DIR.

Копирайте файла с метаданни и бази данни файлове с данни TBS_CALLS_0106_1.DMP TBS_CALLS_0106_1_001.dbf, TBS_CALLS_0106_1_002.dbf до директорията / архивиране / DWH / TBS_CALLS_0106_1_HIST, предназначена за временно съхраняване на файлове, преди прехвърляне на резервната медиите. Предварително TBS_CALLS_0106_1_HIST трябва да се създаде директория в / архивиране / DWH / на.

Препоръчително е да се създаде текст /backup/DWH/TBS_CALLS_0106_1.txt файл, който описва местоположението на файлове с данни, изнесени на пространство за таблици. И след това да включва текстовия файл в архива.

За създаване на описание на файла, можете да извършвате следните действия (в операционната система Unix):

  • Създайте файл: докосване TBS_CALLS_0106_1.txt.
  • Отворете файла за редактиране: котка> TBS_CALLS_0306_1.txt.
  • За да текстовия файл.
  • Чрез редактиране на файлове завършване преса CNTR + D.

10. Създаване на архив

Нека да създадете архив със съдържание TBS_CDR_0306_1_HIST директория, като използвате помощната катран. Този архив, а след това, и ще бъде преместен на резервната медиите.

Архив създаден. Сега можете да изтриете историческите данни от таблицата с данни.

11. Премахване на таблици

Премахване на пространство за таблици TBS_CALLS_0106_1

Заедно с маса пространство TBS_CALLS_0106_1 заличава и временната таблица ПРИЗОВАВА $ EXP $ P_0106.

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

12. Възстановяване на исторически данни

За възстановяване на историческите данни от архива, използвайте следните стъпки:

  1. Копирайте архива с историческите данни от архивни медиите в директория за възстановяване.
  2. Разопаковайте архива.
  3. Копирайте файла с метаданни в папката за файловете за възстановяване и данни в папка (или директория) на сървъра на базата данни, където те са били преди износа.
  4. Внос исторически данни във временна таблица.
  5. Промяна на пространства за таблици.

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

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

Izvlechom файлове от архива.

Копирайте файла с метаданни в директорията TBS_CALLS_0106_1.DMP /u01/app/oracle/product/10.2.0/db_1/admin/DWH/dpdump/,

TBS_CALLS_0106_1_001.dbf файл с данни в директорията / Wh / оракул / disk1 / DWH /;

файл TBS_CALLS_0106_1_002.dbf данни в директорията / Wh / Oracle / disk0 / DWH / на.

15. Внос исторически данни

Изпълнение на пространството за износ командни метаданни маса (виж скрипт -. Import.sh) до директорията, посочена в променлива DATA_PUMP_DIR на базата данни.

След края на метаданни внос пространството за таблици в таблицата схема DWH появява ПРИЗОВАВА $ EXP $ P_0106.

16. Промяна на пространството за таблици

Shift е възможно (partitio6 размяна) между масата ПРИЗОВАВА $ EXP $ P_0106 и ПРИЗОВАВА маса.

17. Заключение

С Oracle Database осигурява гъвкав механизъм за управление на пространството таблица с данни в разделени таблици, което го прави лесно достатъчно, за да организира управлението на исторически данни в OLTP системи и хранилища на данни.

Можете да изтеглите и пълен архив на скриптове на този линк.

18. Допълнителна информация