07.08.2015 11:08
OlegON
 
Поскольку RAC состоит из нескольких нод, операции с redo несут в себе некоторые нюансы.
Ну, для начала необходимо посмотреть, где REDO лежит
Код:
col member format a35
select * from v$logfile;
Код:
    GROUP# STATUS  TYPE    MEMBER                              IS_
---------- ------- ------- ----------------------------------- ---
         1         ONLINE  +DATA/dbname/redo01.log             NO
         2 STALE   ONLINE  +DATA/dbname/redo02.log             NO
         7         ONLINE  +DATA/dbname/redo07.log             NO
         8 STALE   ONLINE  +DATA/dbname/redo08.log             NO
         5 STALE   ONLINE  +DATA/dbname/redo05.log             NO
         6         ONLINE  +DATA/dbname/redo06.log             NO
         3         ONLINE  +DATA/dbname/redo03.log             NO
         4         ONLINE  +DATA/dbname/redo04.log             NO
Далее, посмотрите их характеристики
Код:
SQL> set lines 132
SQL> set trims on
SQL> select * from v$log;
Код:
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
         1          1         53   52428800          1 NO  CURRENT                2274385 08-OCT-08
         2          1         52   52428800          1 NO  INACTIVE               2114717 07-OCT-08
         3          2         27   52428800          1 NO  CURRENT                2206475 08-OCT-08
         4          2         26   52428800          1 NO  INACTIVE               2030730 07-OCT-08
         5          1         17   52428800          1 NO  INACTIVE               1780062 06-OCT-08
         6          1         18   52428800          1 NO  CURRENT                2051445 07-OCT-08
         7          2         21   52428800          1 NO  CURRENT                2072021 07-OCT-08
         8          2         20   52428800          1 NO  INACTIVE               1932027 07-OCT-08
Азы тут не интересуют, но, обратите внимание, что в колонке thread# два числа. Это две ноды RAC. Таким образом, каждая нода пользуется только выделенным для нее пулом redo. Соответственно, если вы будете создавать группы без указания потока, то создаваемые группы будут принадлежать только той ноде, с которой их создали. Дропать их можно с любой ноды и без указания потока. Но о создании:
Код:
ALTER DATABASE ADD LOGFILE THREAD 1 GROUP 10 ('+DATA/DBNAME/redo01.db','+DATA/DBNAME/redo01-2.db') SIZE 1024m;
Соответственно, если мембера удалили, то убедитесь, что он не остался на диске
Код:
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/asm
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=+ASM1
asmcmd
ASMCMD> cd DATA
ASMCMD> find . *
+DATA/DBNAME/
+DATA/DBNAME/CONTROLFILE/
+DATA/DBNAME/CONTROLFILE/Current.256.666981619
+DATA/DBNAME/ONLINELOG/
+DATA/DBNAME/ONLINELOG/group_10.271.667595443
+DATA/DBNAME/ONLINELOG/group_20.272.667595443
+DATA/DBNAME/ONLINELOG/group_30.265.667595411
+DATA/DBNAME/ONLINELOG/group_40.266.667595411
+DATA/DBNAME/ONLINELOG/group_50.267.667595411
+DATA/DBNAME/ONLINELOG/group_60.268.667595411
+DATA/DBNAME/ONLINELOG/group_70.269.667595413
+DATA/DBNAME/ONLINELOG/group_80.270.667595413
+DATA/DBNAME/control01.ctl
+DATA/DBNAME/redo01-tmp.log
+DATA/DBNAME/redo02-tmp.log
+DATA/DBNAME/redo03-tmp.log
+DATA/DBNAME/redo04-tmp.log
+DATA/DBNAME/redo05-tmp.log
+DATA/DBNAME/redo06-tmp.log
+DATA/DBNAME/redo07-tmp.log
+DATA/DBNAME/redo08-tmp.log
ASMCMD> exit
А если мусор какой-то остался, то можно и почистить его
Код:
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/asm
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=+ASM1
sqlplus /nolog
connect / as sysdba
ALTER DISKGROUP DATA DROP FILE '+DATA/dbname/redo01.log';
Часовой пояс GMT +3, время: 02:22.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.