2014.10.02
Техническая
информация:
Операционная
система: SuSE Linux Enterprise Server 8 Service Pack 3 32bit
БД: Oracle Enterprise Server
8.1.7.4 32bit
Дополнительная
информация: Указанная проблема возникала
ранее 1 раз - 28.08.2014.
Симптомы
проблемы:
1.
При подключении к ПО «Финколлекции»
выдается ошибка о невозможности
подключения в связи с невозможностью
произвести архивирование журналов
транзакций (Connect Internal Only until freed).
2.
В файле /u01/admin/main/bdump/alert_main.log множественные
сообщения (аналогичные указанному с
учетом того, что могут быть другие даты
и имена файлов):
Thu
Oct 2 00:04:11 2014
ARC0:
Beginning to archive log# 7 seq# 16005
ARC0:
Archiving not possible: No primary destinations
ARC0:
Failed to archive log# 7 seq# 16005
Описание
проблемы:
В журнале транзакций,
находящемся в группе 7 обнаружен
поврежденный блок данных, в результате
чего операции с данным журналом транзакций
невозможны.
Причины
возникновения проблемы:
Причины возникновения
неясны. Предположительно связано с
устаревшей версией БД Oracle. При анализе
возникновения ошибки была проведена
проверка файловой системы сервера,
анализ журналов работы системы. Никаких
предпосылок к возникновению проблемы
обнаружено не было.
Методика
решения:
adonis:/u01/admin/main/bdump #
su - oracle
oracle@adonis:~> export
ORACLE_SID=main
oracle@adonis:~> svrmgrl
SVRMGR> connect internal
Connected.
SVRMGR> shutdown abort
ORACLE instance shut down.
SVRMGR> startup
ORACLE instance started.
Total System Global Area
1726288032 bytes
Fixed Size
73888 bytes
Variable Size
250187776 bytes
Database Buffers
1475198976 bytes
Redo Buffers
827392 bytes
Database mounted.
ORA-16038: log 7 sequence#
16005 cannot be archived
ORA-00354: corrupt redo log
block header
ORA-00312: online log 7 thread
1: '/u02/oradata/main/redo07_01.rdo'
ORA-00312: online log 7 thread
1: '/u03/oradata/main/redo07_02.rdo'
SVRMGR> alter database
clear unarchived logfile group 7;
Statement processed.
SVRMGR> alter database drop
logfile group 7;
Statement processed.
SVRMGR> shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SVRMGR> startup
ORACLE instance started.
Total System Global Area
1726288032 bytes
Fixed Size
73888 bytes
Variable Size
250187776 bytes
Database Buffers
1475198976 bytes
Redo Buffers
827392 bytes
Database mounted.
Database opened.
SVRMGR>
Замечания
после устранения:
Во время решения
проблемы была удалена группа журналов
транзакций №7. Восстанавливаем ее. Не
покидая консоль, открытую в пункте
«Методика решения», выполняем:
SVRMGR> !
oracle@adonis:~> rm -v
/u02/oradata/main/redo07_01.rdo
removed
`/u02/oradata/main/redo07_01.rdo'
oracle@adonis:~> rm -v
/u03/oradata/main/redo07_02.rdo
removed
`/u03/oradata/main/redo07_02.rdo'
oracle@adonis:~> exit
exit
SVRMGR> ALTER DATABASE ADD
LOGFILE GROUP 7
('/u02/oradata/main/redo07_01.rdo',
'/u03/oradata/main/redo07_02.rdo')
SIZE 10240K REUSE
/ 2> 3> 4>
Statement processed.
SVRMGR>
Кроме того, цепочка
архивных журналов транзакций в результате
невозможности архивирования группы 7
была разорвана. В случае необходимости
проведения восстановления БД с
использованием журналов за период
времени, включающий поломку, операция
восстановления будет невозможна.
Читать далее