Ежедневное тестирование работы связки primary-standby

dbstalker, 07 ноября

Периодически нужно проверять все ли редо логи накатываються на резервном сервере. Для это можно просматривать некоторые предаставления.

Первым делом нужно проверить какой архивный журнал повторного выполнения создан на основном сервере и какие накатаны на резервных. Это можно сделать запросом:

SELECT  ARCHIVED_SEQ#, APPLIED_SEQ# FROM V$ARCHIVE_DEST_STATUS;

10852                                 	0                                     
10852                                 	10851                                 
10852                                 	10835                                 

Из результатов видно,что на основном сервере создан лог 10852, на одном резервном накатан 10851 лог, на втором (установлено delay 480) накатан 10835.

Представление V$ARCHIVE_DEST_STATUS содержит информацию о всех местах архивации журнальных файлов.

Следующим запросом можна выявить логи, которые по каким либо причинам не были накатаны на резервных серверах:

SELECT my_primary.SEQUENCE# FROM (SELECT  SEQUENCE# FROM V$ARCHIVED_LOG WHERE DEST_ID=1) my_primary,
(SELECT SEQUENCE# FROM V$ARCHIVED_LOG WHERE DEST_ID=2) standby1,
(SELECT SEQUENCE# FROM V$ARCHIVED_LOG WHERE DEST_ID=3) standby2
WHERE my_primary.SEQUENCE#=standby1.SEQUENCE#(+) 
  and my_primary.SEQUENCE#=standby2.SEQUENCE#(+)
  and (standby2.SEQUENCE# is null or standby2.SEQUENCE# is null)

Еще очень полезно на резервной базе посмотреть на такую выборку:

SQL> select * from v$managed_standby;

PROCESS          PID STATUS       CLIENT_P CLIENT_PID                               CLIENT_DBID                              GROUP#                             
--------- ---------- ------------ -------- ---------------------------------------- ---------------------------------------- ---------------------------------
ARCH            2108 CONNECTED    ARCH     2108                                     N/A                                      N/A                                
ARCH            2100 CONNECTED    ARCH     2100                                     N/A                                      N/A                                
RFS             2392 RECEIVING    ARCH     32508                                    1438788172                               5                                  
MRP0             948 WAIT_FOR_LOG N/A      N/A                                      N/A                                      N/A                                
RFS             2400 ATTACHED     ARCH     32276                                    1438788172                               4                                  

Следующее представление дает возможность посмотреть на каком файле нарушилась последовательность передачи архивных файлов и застопорился накат:

select * from v$archive_gap;
SELECT sequence#, first_time, status, applied, deleted FROM v$archived_log ORDER BY 1 ;
SELECT MAX(sequence#)FROM v$archived_log  WHERE applied='YES';

По перечисленным выше представлениям документацию посмотрите здесь.

 

Новый комментарий

Я не спамер: введите суму 7+4



 

От авторов блога

О Блоге - прочитай перед началом.

Задать вопрос и получить ответ - уже решено 94 вопросов

Глоссарий - список терминов и сокращений


 
 

Бизнес форум

Последние темы:

Досуг для взрослых
19 июня, 1 ответа
авто
19 июня, 1 ответа
Отдых
18 июня, 2 ответа