Лучшая практика и мифы Oracle RMAN.

Перевод незавершенной статьи Oracle RMAN Best Practices and Myths, Caleb Small (http://www.caleb.com/rman/) которая возможно будет завершенной.

Включая пример скрипта и логфайла.

Вне всякого сомнения RMAN — это лучший вариант для резервного копирования баз данных Oracle. Он прост настолько, что можно ввести BACKUP DATABASE и позволить RMAN-у сделать всё самому. Однако, RMAN это мощный и сложный инструмент, иногда даже ненадёжный, где требования к производственному резервированию сильно рознятся. Есть несколько хороших статей, касающихся наилучших практик, в дополнение к официальной документации Oracle, см. мою ссылку ниже.

Цель данной статьи- собрать все хорошие (и плохие) идеи и представить некоторые практические советы, основанные на многолетнем производственном опыте. Я также включил образцы скрипта и лога, которые демонстрирует некоторые из представленных здесь идей. В целях улучшения практического применения этого продукта на производстве, комментарии и отзывы приветствуются.

Ниже приводится растущее собрание тем, а также некоторые детальные обсуждения, количество которых будут увеличиваться с течением времени. Читать далее «Лучшая практика и мифы Oracle RMAN.»

Получить команду DDL, GET_DDL

Вывод получится довольно большой, потому перед началом лучше дать:
set pagesize 0
set long 30000

Получиться DDL команду для VIEW:
select dbms_metadata.get_ddl('VIEW','ИМЯ_ПРЕДСТАВЛЕНИЯ','ИМЯ_СХЕМЫ') from dual;
select dbms_metadata.get_ddl('VIEW','ACCOUNT_MANAGERS','OE') from dual;

 

 

 

select dbms_metadata.get_ddl('INDEX','ИМЯ_ИНДЕКСА','ИМЯ_СХЕМЫ') from dual;
select dbms_metadata.get_ddl('INDEX','DEPT_IDX','SCOTT') from dual;

Доп инфа

Перенос файлов временного табличного пространства.

    «Место на файловой системе начало подходить к коцу. Здесь же, на диске D располагаются bigfile пространства, довольно большие, переносить их не очень хочется, да и особо некуда, а место для их роста освободить не помешает.» — руководствуясь такими рассуждениями принимаю решение перенести что-то наименее критичное — это пара temp файлов.

1. Используя следующий запрос, посмотрим какие TEMP файлы имеет смысл переносить:
select round((bytes/1024/1024/1024),2) GB, Name from v$tempfile;

Нашли два файла по 60Гб каждый, их и будем переносить. Идём дальше. Читать далее «Перенос файлов временного табличного пространства.»

Перекомпиляция инвалидных объектов схемы

Определение инвалидных объектов

Для определения инвалидных объектов можно использовать представление DBA_OBJECTS, как в этом запросе:

COLUMN object_name FORMAT A30
SELECT owner,
object_type,
object_name,
status
FROM dba_objects
WHERE status = 'INVALID'
ORDER BY owner, object_type, object_name;

Полученную информацию можно использовать для выбора метода рекомпиляции. Читать далее «Перекомпиляция инвалидных объектов схемы»