Янв 182016
 

Столкнулся с интересной проблемой: RMAN при бэкапе очень долго (вплоть до многих часов) висит на стадии resync catalog. Полез смотреть, что происходит на базе, содержащей backup catalog, и увидел, что вот этот запрос работает большую часть времени:

DELETE FROM ROUT
WHERE
DB_KEY = :B2 AND ROUT_SKEY;

В самой таблице ROUT записей не очень много, всего несколько десятков тысяч, а занимала она у меня порядка 3 Гб без учёта индексов. Continue reading »

Сен 272013
 

Режим block change tracking в ORACLE 10g и выше позволяет уменьшить время инкрементального бэкапа за счёт ведения лога изменённых блоков с момента бэкапа предыдущего уровня.

Как это работает?

Continue reading »

Фев 282013
 

Возникла у меня такая задача: смигрировать базу c Linux x86-64 на AIX 7.1. Версия Oracle - 11.2.0.3. Можно было бы использовать expdp, но из-за приличного объёма базы (180Гб) процесс занял бы длительное время. Тут нам на помощь приходит технология Transportable Tablespaces. Суть её состоит в том, что файлы данных копируются целиком и все существующие сегменты данных "подключаются" напрямую, т.е. эта операция, в отличие от импорта, не генерирует redo информацию и не требует перестройки индексов. Технология эта годится только для относительно крупных баз, т.к. требует от администратора кучу действий, особенно при смене порядка бит (endianess), как в моём случае.
Заодно мы решили воспользоваться случаем и смигрировать данные сразу в ASM (раньше файлы просто лежали на большом дисковом разделе).

Итак, вот примерная последовательность действий. Continue reading »

Ноя 182011
 

В чём состоит разница между командами ALTER SYSTEM SWITCH LOGFILE и ALTER SYSTEM ARCHIVE LOG CURRENT? На первый взгляд, эти команды выполняют одно и то же:

  1. Вызывают событие checkpoint
  2. Процесс LGWR перестаёт писать в текущий лог и начинает писать в следующий
  3. Процесс ARCH архивирует старый лог

но делают они это немного по-разному. Continue reading »

Июл 202011
 

Рассмотрим практический пример восстановления резервного сервера после длительного простоя. Ситуация такова (см. картинку ниже): в серверной, где он стоял, отключилось электричество. Будем считать, что отключилось оно надолго, например, на неделю. Когда электроснабжение восстановили, появилась возможность активировать Standby, да только за неделю на основной базе накопилось множество архивных логов, и "догнать" standby до актуального состояния непросто. Continue reading »

Янв 112011
 

Если возникла необходимость восстановить archivelogs из бэкапа (такое приходится иногда делать при восстановлении Standby-сервера, когда он по каким-то причинам был пересоздан, и нужно "догнать" его до актуального состояния), пользуемся RMAN'ом:
Continue reading »