Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-00354: corrupt redo log block header / 25 сообщений из 33, страница 1 из 2
12.12.2016, 20:13
    #39365247
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
Суть проблемы:

суть в том что очистить или удалить я его не могу так как он CURRENT, а изменить курент тоже не могу, бекапа нет.

SQL> alter database open;
*
ERROR at line 1:
ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 7885 change 27310521 time 04/29/2016 14:10:08
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/redo04b.log'
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/redo04.log'


Вариант решения:

SQL> alter database drop logfile group 4;
*
ERROR at line 1:
ORA-01623: log 4 is current log for thread 1 - cannot drop
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/redo04.log'
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/redo04b.log'


alter database clear unarchived logfile group 4;
*
ERROR at line 1:
ORA-01624: log 4 needed for crash recovery of thread 1
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/redo04.log'
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/redo04b.log'

alter system switch logfile
*
ERROR at line 1:
ORA-01109: database not open


SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIM
------------- ---------
1 1 18327 16777216 2 NO INACTIVE
27309378 05-MAY-16

2 1 18325 16777216 2 NO INACTIVE
27306168 05-MAY-16

3 1 18326 16777216 2 NO INACTIVE
27308161 05-MAY-16


GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIM
------------- ---------
4 1 18328 12582912 2 NO CURRENT
27310223 05-MAY-16

5 1 18321 12582912 2 NO INACTIVE
27225792 04-MAY-16

6 1 18322 12582912 2 NO INACTIVE
27245872 04-MAY-16


GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIM
------------- ---------
7 1 18323 12582912 2 NO INACTIVE
27265949 04-MAY-16

8 1 18324 12582912 2 NO INACTIVE
27286076 05-MAY-16


8 rows selected.
...
Рейтинг: 0 / 0
12.12.2016, 21:22
    #39365268
а тут?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
AndreyATC, select * from v$logfile?
...
Рейтинг: 0 / 0
12.12.2016, 21:36
    #39365271
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
SQL> select * from v$logfile;

    GROUP# STATUS
---------- -------
MEMBER
--------------------------------------------------------------------------------
         1
/u01/oracle/oradata/redo01.log

         2
/u01/oracle/oradata/redo02.log

         3
/u01/oracle/oradata/redo03.log


    GROUP# STATUS
---------- -------
MEMBER
--------------------------------------------------------------------------------
         4
/u01/oracle/oradata/redo04.log

         5 STALE
/u01/oracle/oradata/redo05.log

         6 STALE
/u01/oracle/oradata/redo06.log


    GROUP# STATUS
---------- -------
MEMBER
--------------------------------------------------------------------------------
         7 STALE
/u01/oracle/oradata/redo07.log

         8 STALE
/u01/oracle/oradata/redo08.log

         1
/u01/oracle/oradata/redo01b.log


    GROUP# STATUS
---------- -------
MEMBER
--------------------------------------------------------------------------------
         2
/u01/oracle/oradata/redo02b.log

         3
/u01/oracle/oradata/redo03b.log

         4
/u01/oracle/oradata/redo04b.log


    GROUP# STATUS
---------- -------
MEMBER
--------------------------------------------------------------------------------
         5 STALE
/u01/oracle/oradata/redo05b.log

         6 STALE
/u01/oracle/oradata/redo06b.log

         7 STALE
/u01/oracle/oradata/redo07b.log


    GROUP# STATUS
---------- -------
MEMBER
--------------------------------------------------------------------------------
         8 STALE
/u01/oracle/oradata/redo08b.log
...
Рейтинг: 0 / 0
12.12.2016, 21:46
    #39365272
Rinka777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
...
Рейтинг: 0 / 0
12.12.2016, 21:52
    #39365273
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
Rinka777,

в результате:

SQL> recover database until cancel;
ORA-00279: change 27310521 generated at 05/05/2016 14:10:02 needed for thread 1
ORA-00289: suggestion : /opt/app/oracle/product/8.1.7/dbs/arch1_18328.dbf
ORA-00280: change 27310521 for thread 1 is in sequence #18328

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
CANCEL
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/u01/oracle/oradata/system01.dbf'


SQL> alter database open resetlogs;
ERROR at line 1:
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/u01/oracle/oradata/tais/system01.dbf'
...
Рейтинг: 0 / 0
12.12.2016, 23:11
    #39365300
pravednik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
AndreyATC,

скопируйте в "сторонку" все датафайлы и контрольники.
далее

Код: plsql
1.
2.
3.
4.
SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile;
SQL> shu immediate
SQL> startup mount
SQL> alter database open resetlogs;
...
Рейтинг: 0 / 0
12.12.2016, 23:21
    #39365307
Rinka777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
бекап есть?
...
Рейтинг: 0 / 0
13.12.2016, 10:17
    #39365497
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
Rinka777,
уже есть, но полсле corrupt redo log block header
...
Рейтинг: 0 / 0
13.12.2016, 10:36
    #39365512
Alexey Zhidkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
в группе по 2 мембера, но все яйца в одной корзине :)
...
Рейтинг: 0 / 0
13.12.2016, 10:42
    #39365516
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
pravednik,

После неудачной рекавери откатил все датафайлы и контрол файлы.

alter system set "_allow_resetlogs_corruption"=true scope=spfile
*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
...
Рейтинг: 0 / 0
13.12.2016, 10:49
    #39365525
Rinka777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
а init есть?

Option#2: Force open the database by setting the _ALLOW_RESETLOGS_CORRUPTION=TRUE in the init.ora. But there is no 100% guarantee that we can open the database
...
Рейтинг: 0 / 0
13.12.2016, 11:00
    #39365534
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
Rinka777,

версия 8.1.7.4.0, может там нет такого параметра?

alter database open;

ERROR at line 1:
ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 7885 change 27310521 time 04/29/2016
14:10:08
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/tais/redo04b.log'
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/tais/redo04.log'
...
Рейтинг: 0 / 0
13.12.2016, 11:35
    #39365567
Alexey Zhidkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
AndreyATCRinka777,

версия 8.1.7.4.0, может там нет такого параметра?

alter database open;

ERROR at line 1:
ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 7885 change 27310521 time 04/29/2016
14:10:08
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/tais/redo04b.log'
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/tais/redo04.log'
Бэкапы как делаете?
Если rman:
авторthe database will have to be restored and recovered to a point in time to last available archivelog file.
...
Рейтинг: 0 / 0
13.12.2016, 11:40
    #39365570
Rinka777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
AndreyATCRinka777,

версия 8.1.7.4.0, может там нет такого параметра?

да есть вот пишут.


Oracle Server - Enterprise Edition - Version 8.1.7.4 to 10.2.0.4 [Release 8.1.7 to 10.2]
Information in this document applies to any platform.



There are 3 options available, as shown below:

Option#1: Restore the database from the same backupset, and then recover it by applying up to the last available archivelog to roll it forward, but any updates to the database after the point-in-time of recovery will be lost.

Option#2: Force open the database by setting the _ALLOW_RESETLOGS_CORRUPTION=TRUE in the init.ora. But there is no 100% guarantee that we can open the database. However, once the database is opened, then you must immediately rebuild the database. Database rebuild means doing the following, namely: (1) perform a full-database export, (2) create a new and separate database, and finally (3) import the recent export dump.

Note: When exporting after opening the database with the allow corruption parameters, you should set the Event 10231 before export to extract data from all non-corrupt > blocks in order to be able to import the data successfully. For additional information about Event 10231, please review Note 21205.1 : EVENT: 10231 "skip corrupted blocks on _table_scans_".

Option#3: Manually extract the data using the Oracle's Data Unloader (DUL), which is performed by Oracle Field Support on-site for an extra charge.
...
Рейтинг: 0 / 0
13.12.2016, 12:01
    #39365587
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
бэкап файлов, и контроль файлов впапку.
rman есть.
с параметром в init.ora все равно не откривает базу.
...
Рейтинг: 0 / 0
13.12.2016, 12:07
    #39365593
Alexey Zhidkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
AndreyATCбэкап файлов, и контроль файлов впапку.
rman есть.
ну так сделайте
авторthe database will have to be restored and recovered to a point in time to last available archivelog file.
...
Рейтинг: 0 / 0
13.12.2016, 12:26
    #39365609
pravednik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
AndreyATCс параметром в init.ora все равно не откривает базу.
Что пишет ?
...
Рейтинг: 0 / 0
13.12.2016, 12:45
    #39365637
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
pravednikAndreyATCс параметром в init.ora все равно не откривает базу.
Что пишет ?

alter database open
*
ERROR at line 1:
ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 7885 change 27310521 time 04/29/2016
14:10:08
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/tais/redo04b.log'
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/tais/redo04.log'
...
Рейтинг: 0 / 0
13.12.2016, 12:48
    #39365641
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
Alexey ZhidkovAndreyATCбэкап файлов, и контроль файлов впапку.
rman есть.
ну так сделайте
авторthe database will have to be restored and recovered to a point in time to last available archivelog file.

есть скопированые файлы но уже с ошибкой, бекапа робочой базы нет.
...
Рейтинг: 0 / 0
13.12.2016, 12:51
    #39365642
trace.log
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
AndreyATCAlexey Zhidkovпропущено...

ну так сделайте
пропущено...


есть скопированые файлы но уже с ошибкой, бекапа робочой базы нет .

значит не особо и нужна БД, а если это так, то нафиг свистопляски с БД вытворять? Базу в морг и поднимайте новую.
...
Рейтинг: 0 / 0
13.12.2016, 12:52
    #39365643
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
попытка востановить ведет к:

SQL> recover database until cancel;
ORA-00279: change 27310521 generated at 05/05/2016 14:10:02 needed for thread 1
ORA-00289: suggestion : /opt/app/oracle/product/8.1.7/dbs/arch1_18328.dbf
ORA-00280: change 27310521 for thread 1 is in sequence #18328

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
CANCEL
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/u01/oracle/oradata/system01.dbf'


SQL> alter database open resetlogs;
ERROR at line 1:
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/u01/oracle/oradata/tais/system01.dbf'
...
Рейтинг: 0 / 0
13.12.2016, 12:55
    #39365644
pravednik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
AndreyATCalter database open
*
ERROR at line 1:
ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 7885 change 27310521 time 04/29/2016
14:10:08
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/tais/redo04b.log'
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/tais/redo04.log'

Код: plsql
1.
2.
3.
4.
5.
-- добавить _ALLOW_RESETLOGS_CORRUPTION=TRUE в инитфайл
startup force mount
recover database until cancel using backup controlfile;
--выбираем CANCLE
alter database open resetlogs;
...
Рейтинг: 0 / 0
13.12.2016, 12:56
    #39365645
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
trace.logAndreyATCпропущено...


есть скопированые файлы но уже с ошибкой, бекапа робочой базы нет .

значит не особо и нужна БД, а если это так, то нафиг свистопляски с БД вытворять? Базу в морг и поднимайте новую.

Базу настраивал не я мне принесли сервак уже в таком состоянии, востановить нужно очень сильно там данные с 10-го года
...
Рейтинг: 0 / 0
13.12.2016, 13:14
    #39365653
AndreyATC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
pravednikAndreyATCalter database open
*
ERROR at line 1:
ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 7885 change 27310521 time 04/29/2016
14:10:08
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/tais/redo04b.log'
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/tais/redo04.log'

Код: plsql
1.
2.
3.
4.
5.
-- добавить _ALLOW_RESETLOGS_CORRUPTION=TRUE в инитфайл
startup force mount
recover database until cancel using backup controlfile;
--выбираем CANCLE
alter database open resetlogs;



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
SQL> startup force mount
ORACLE instance started.

Total System Global Area 1093820576 bytes
Fixed Size                    73888 bytes
Variable Size             286810112 bytes
Database Buffers          806764544 bytes
Redo Buffers                 172032 bytes
Database mounted.
SQL> recover database until cancel using backup controlfile;
ORA-00279: change 27310521 generated at 05/05/2016 14:10:02 needed for thread 1
ORA-00289: suggestion : /opt/app/oracle/product/8.1.7/dbs/arch1_18328.dbf
ORA-00280: change 27310521 for thread 1 is in sequence #18328


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
CANCEL
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/u01/oracle/oradata/tais/system01.dbf'


ORA-01112: media recovery not started


SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/u01/oracle/oradata/tais/system01.dbf'
...
Рейтинг: 0 / 0
13.12.2016, 14:09
    #39365719
Rinka777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00354: corrupt redo log block header
startup force mount pfile='полное имя инит'
иначе стартует не оттуда
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-00354: corrupt redo log block header / 25 сообщений из 33, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]