К основному контенту

Использование Oracle Total Recall

1. Создание табличного пространства под архив:

  CREATE TABLESPACE FLASH_ARCH_TS datafile
        SIZE 10M AUTOEXTEND ON NEXT 100M;

2. Создание архива с периодом хранения год:

CREATE FLASHBACK ARCHIVE FLASH_ARCH TABLESPACE FLASH_ARCH_TS
RETENTION 1 YEAR;

3. Выдача прав для использования архива:

   GRANT FLASHBACK ARCHIVE ON FLASH_ARCH TO DBAX;
   ALTER FLASHBACK ARCHIVE FLASH_ARCH SET DEFAULT;

4. Включение архива для новой таблицы:

CREATE TABLE FB_TEST (
  id          NUMBER,
  text  VARCHAR2(50)
  )
FLASHBACK ARCHIVE [FLASH ARCH];
 или   
ALTER TABLE FB_TEST FLASHBACK ARCHIVE [FLASH_ARCH];
 для уже существующей таблицы.

5. Тест. Пробуем вставить данные в таблицу, затем убеждается, что 5 секунда назад их не было.

insert into FB_TEST  values(1,'test');
commit;

select * from FB_TEST AS OF  TIMESTAMP(SYSTIMESTAMP - INTERVAL '5' second);

no rows selected

6. Изменение структуры
alter table FB_TEST  add (text2 varchar2(20));
alter table FB_TEST  drop column text;

select * from test_tab_1 as of timestamp (sysdate - 5/24/60/60);

ID TEXT2                D_3620339_TEXT
 1

Отображена как новая колонка, так и удаленная

7. Просмотр истории изменений:
SELECT versions_startscn, versions_starttime,
       versions_endscn, versions_endtime,
       versions_xid, versions_operation,
     a.*
  FROM FB_TEST  
  VERSIONS BETWEEN TIMESTAMP
      TO_TIMESTAMP(sysdate-10/24)
  AND TO_TIMESTAMP(sysdate) a;

8. Основная информация по архивам находится в:
 dba_flashback_archive_tables
 dba_flashback_archive_ts
 dba_flashback_archive

9. Удаление:
Таблицы из архива
ALTER TABLE FB_TEST NO FLASHBACK ARCHIVE;
Всего Архива:
DROP FLASHBACK ARCHIVE FLASH_ARCH;


В версии 11gR2 большинство ограничений на проведение DDL (что были в 10й версии) были устранено:
Сейчас можно: 
  • Добавлять, удалять, модифицировать колонки.
  • Удалять или выполнять truncate для партиций.
  • Переименовывать или выполнять truncate для таблиц.
  • Добавлять, удалять или переименовывать constraints.

Если какие либо DDL не проходят, требуется исполнить DISASSOCIATE_FBA, а после проведения требуемой операции REASSOCIATE_FBA из пакета DBMS_FLASHBACK_ARCHIVE.

Комментарии

Популярные сообщения из этого блога

Установка и настройка pgAgent(планировщика заданий PostgreSQL)

Установка pgAgent Последняя версия скрипта для установки агента  тут . Перенести инструкцию по агенту в отдельную тему. 1. Создать пользователя ОС, и сделать ему домашний каталог: useradd -s /bin/false -r -M pgagent mkdir /home/pgagent 2. Установить и настроить демон: yum install pgagent_94 При наличии ошибок вида (была на Oracle Linux 6.8) Error: Package: pgagent_94-3.4.0-1.rhel6.x86_64 (pgdg94)            Requires: libwx_baseu-2.8.so.0(WXU_2.8)(64bit) Нужно установить EPEL systemctl enable pgagent_94 chown pgagent:pgagent /var/log/pgagent_94.log 3. Установить схему агента в базе: sudo -u postgres psql -f /usr/share/pgagent_94-3.4.0/pgagent.sql postgres 4. Создать файл паролей для подключения агента к базе. vi /home/pgagent/.pgpass localhost:5432:*:postgres:postgres chown pgagent.pgagent /home/pgagent -R chmod 600 /home/pagent/.pgpass 5. Запустить и проверить работу агента systemctl start pgagent...

Включение логирования для Haproxy

Изначально логирование в syslog в HaProxy отключено. Ниже пример настройки логирования для ОС Centos 7. Настройка: Добавить строку  log 127.0.0.1 local2 в секцию global файла /etc/haproxy/haproxy.cfg Раскомментировать $ModLoad imudp и $UDPServerRun 514 в файле  /etc/rsyslog.conf Создать файл  /etc/rsyslog.d/haproxy.conf со следующим содержимым:  local2.* /var/log/haproxy.log Перезапустить rsyslog и haproxy.

Установка PL/Java для PostgreSQL 9.4

Предварительные требования:  1. Компилятор C. Как правило имеется в виду gcc и g++ gcc  --version на CENTOS 7 мне понадобился gcc_c++ (в дополнение к установленному ранее gcc) 2. JAVA. Убедиться, что  javac  -version работает  3. PostgreSQL установлен и  работает pg_config Файлы для разработки (.h файлы) для нашего PostgreSQL также должны быть установлены. Убедиться можно посмотрев что лежит в INCLUDEDIR-SERVER (вывод pg_config). Я раньше компилировал БД из исходников на этой машине, так что у меня эти файлы были. 4. компилятор Maven mvn --version Установка git clone https://github.com/tada/pljava.git или git clone ssh://git@github.com/tada/pljava.git Заходим в директорию pljava и выполняем mvn clean install В результате должны получить: [INFO] PostgreSQL PL/Java ................................ SUCCESS [INFO] PL/Java API ....................................... SUCCESS [INFO] PL/Java backend Java code...