Архивирование TB SERVIES

Материал из START-IP
Перейти к навигации Перейти к поиску

Инструкция по архивированию таблицы tb_services

На данный момент есть инструкция - удаление глобальных индексов на TB_SERVICES.

Архивирование данных

  • Создать временную таблицу, желательно в другом табличном пространстве
create table tb_services_part_temp tablespace users as select * from tb_services where 1=2; 
ALTER TABLE tb_services_part_temp ADD ( CONSTRAINT SRV_PK_temp PRIMARY KEY (SRV_ID));
  • Переместить в эту таблицу данные за месяц, который нужно архивировать (sys)
alter table sip_w.tb_services exchange partition part2007_08 with table sip_w.tb_services_part_temp 
update global indexes;
(перестройка всех локальных индексов для архивируемой партиции):
alter INDEX srv_ab_fk_i rebuild partition part2007_08 online;
alter INDEX srv_cnt_id_ix rebuild partition part2007_08 online;
alter INDEX srv_date_i rebuild partition part2007_08 online;
alter INDEX srv_us_fk_i rebuild partition part2007_08 online;
--(ALTER TABLE table_name MODIFY PARTITION part_name REBUILD UNUSABLE LOCAL INDEXES online?)
<pre>


* Сделать экспорт архивируемых данных 
<pre>
exp sip_w/sip_w file=TB_SERVICES1.dmp log=tb_services1.log tables=tb_services_part_temp statistics=NONE  
buffer=10000000
  • Очистить временную таблицу
truncate table tb_services_part_temp;

или

delete * from tb_services_part_temp; commit;

или

drop table tb_services_part_temp


Восстановление данных

производится в обратном порядке

  • Сделать импорт архивных данных
imp sip_w/sip_w file=TB_SERVICES.dmp log=tb_servicesi.log tables=tb_services_part_temp ignore=y
  • Переместить данные из временной таблицы в основную:
alter table sip_w.tb_services exchange partition part2007_08 with table sip_w.tb_services_part_temp 
update global indexes;
--(перестройка всех локальных индексов для архивируемой партиции):
alter INDEX srv_ab_fk_i rebuild partition part2007_08 online;
alter INDEX srv_cnt_id_ix rebuild partition part2007_08 online;
alter INDEX srv_date_i rebuild partition part2007_08 online;
alter INDEX srv_us_fk_i rebuild partition part2007_08 online;

--#alter table sip_w.tb_services truncate partition PART2007_08 drop storage update global indexes;
--#ALTER TABLE sip_w.TB_SERVICES DROP PARTITION "PART2007_08" update global indexes;