Ошибка при восстановлении: ORA-01666: control file is for a standby database

-13-
Дата: 09.10.2015 18:36:36
Восстанавливаюсь из бэкапа, сделанного со стендбая.

Восстановил:
1. файл параметров
2. контрольник

Посмотрел rman> list backup; контрольника,
там говорится, что есть sequence 85727:

 1    85726   31676338602 06-OCT-15 31676606756 06-OCT-15
 1    85727   31676606756 06-OCT-15 31676752041 07-OCT-15
 1    85728   31676752041 07-OCT-15 31676861477 07-OCT-15


Хочу выполнить неполное восстановление до последовательности 85727.

Выполнил restore database успешно, далее
recover database until sequence 85727; 

и ошибка:
Oracle Error:
ORA-01547: ┐┐┐┐┐┐┐┐┐┐┐┐┐┐: ┐┐┐┐┐┐┐┐┐┐┐┐┐┐ ┐┐┐┐┐┐ ┐┐┐┐┐┐┐, ┐┐┐┐┐┐ ┐┐┐┐┐┐┐ 
OPEN RESETLOGS ┐┐┐┐┐ ┐┐┐┐┐┐┐ ┐┐┐┐┐┐
ORA-01152: ┐┐┐┐ 1 ┐┐ ┐┐┐ ┐┐┐┐┐┐┐┐┐┐┐┐ ┐┐ ┐┐┐┐┐┐┐ ┐┐┐┐┐┐┐┐┐┐ ┐┐┐┐┐┐ ┐┐┐┐┐
ORA-01110: ┐┐┐┐ ┐┐┐┐┐┐ 1: 'D:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF'


channel default: deleting archived log(s)
archived log file name=E:\ORACLE\FLASHRECOVERY\ORCL\ARCHIVELOG\2015_10_09\O1_MF_
1_85727_C1GSYYOR_.ARC RECID=41494 STAMP=892634929
media recovery complete, elapsed time: 00:13:42
Finished recover at 09-OCT-15


автор
ORA-01547
warning: RECOVER succeeded but OPEN RESETLOGS would get error below

Cause: Media recovery with one of the incomplete recovery options ended without error.
However, if the ALTER DATABASE OPEN RESETLOGS command were attempted now, it would fail with the specified error.
The most likely cause of this error is forgetting to restore one or more datafiles from a sufficiently old backup before executing the incomplete recovery.

Action: Rerun the incomplete media recovery using different datafile backups, a different control file, or different stop criteria.


при попытке открыть БД с ресетом журналов ошибка:

SQL> ALTER DATABASE OPEN RESETLOGS;
ALTER DATABASE OPEN RESETLOGS
*
ERROR at line 1:
ORA-01666: control file is for a standby database


SQL> select status from v$instance;

STATUS
------------
MOUNTED

SQL> alter database activate physical standby database;
alter database activate physical standby database
*
ERROR at line 1:
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: 'D:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF'


автор
alter database activate physical standby database
Begin: Standby Redo Logfile archival
End: Standby Redo Logfile archival
Signalling error 1152 for datafile 1!
Beginning Standby Crash Recovery.
Serial Media Recovery started


вопрос в том, почему если в контрольнике есть данные о sequence 85727, и в бэкапе данный архивлог есть,
возникает ошибка?

если дать команду recover database until sequence 85729, то oracle накатит 85727, 85728 и затем поругается, что нет 85729.

попытка открыть с опцией upgrade
SQL> startup upgrade;
ORACLE instance started.

Total System Global Area 7482626048 bytes
Fixed Size                  2295784 bytes
Variable Size            4412409880 bytes
Database Buffers         3053453312 bytes
Redo Buffers               14467072 bytes
Database mounted.
ORA-16003: standby database is restricted to read-only access


подложил 85729, стало всё ок, но вопрос остался, как восстановиться до последовательности 85727.

SQL> alter database recover automatic standby database until cancel;
alter database recover automatic standby database until cancel
*
ERROR at line 1:
ORA-00279: change 31676966507 generated at 10/07/2015 01:06:12 needed for
thread 1
ORA-00289: suggestion :
E:\ORACLE\FLASHRECOVERY\ORCL\ARCHIVELOG\2015_10_09\O1_MF_1_85730_%U_.ARC
ORA-00280: change 31676966507 for thread 1 is in sequence #85730
ORA-00278: log file
'E:\ORACLE\FLASHRECOVERY\ORCL\ARCHIVELOG\2015_10_09\O1_MF_1_85730_%U_.ARC' no
longer needed for this recovery
ORA-00308: ┐┐┐┐┐┐┐┐┐┐ ┐┐┐┐┐┐┐ ┐┐┐┐┐┐┐┐┐┐┐┐┐┐ ┐┐┐┐┐┐┐┐
'E:\ORACLE\FLASHRECOVERY\ORCL\ARCHIVELOG\2015_10_09\O1_MF_1_85730_%U_.ARC'
ORA-27041: ┐┐┐┐┐┐┐┐┐┐ ┐┐┐┐┐┐┐ ┐┐┐┐
OSD-04002: unable to open file
O/S-Error: (OS 2) The system cannot find the file specified.


SQL> alter database recover automatic cancel;

Database altered.


SQL> alter database activate physical standby database;

Database altered.
flexgen
Дата: 09.10.2015 22:38:30
-13-,

Нечто подобное я видел когда в бэкап сете были не все датафайлы. Сравни количество датафайлов в восстановленной базе и в стендбае. Если файлы не все - выполни resync catalog, потом бэкап базы стендбай и уж потом восстановление.
-13-
Дата: 10.10.2015 00:15:45
flexgen
-13-,

Нечто подобное я видел когда в бэкап сете были не все датафайлы. Сравни количество датафайлов в восстановленной базе и в стендбае. Если файлы не все - выполни resync catalog, потом бэкап базы стендбай и уж потом восстановление.

Спасибо за совет, но файлы все.
Я думаю это связано с тем, что я из бэкапа стендбая от 11.2.0.3 пытаюсь восстановиться в 11.2.0.4
Идея была просто в концовке дать команду alter database open resetlogs upgrade;
Но какой-то косяк, возможно сама методика не правильная, знающие люди, пожалуйста, любезно подскажите, можно ли так восстанавливаться.
mutate
Дата: 11.10.2015 19:20:21
-13-
подложил 85729, стало всё ок, но вопрос остался, как восстановиться до последовательности 85727.
[/src]


Просто выполни вместо:

-13-
SQL> alter database recover automatic cancel;
[/src]


либо
recover standby database until cancel;
и подсовывай логи поштучно нажимая ентер, а как дойдешь до лога, который не надо применить набери cancel и ентер

либо
recover standby database until change 'SCN_номер';

где SCN_номер, это SystemChanageNомер, если он тебе известен, можешь отрекаверить с точностью до нужной транзакции.

далее активируй:

SQL> alter database activate physical standby database;

Database altered.
-13-
Дата: 12.10.2015 10:53:26
mutate, вопрос в том, почему из одного и того же бэкапа восстановление в 11.2.0.3 проходит без ошибок,
а на 11.2.0.4 с ошибками и требуется донакат и прочие пляски с бубном?
-13-
Дата: 12.10.2015 11:20:55
Бэкап выполняется со Standby 11.2.0.3 (Windows 2008) следующим способом:
backup incremental level 0 as compressed backupset database;
backup archivelog all format '\\server01\DB\ORACLE\week\arch_%T_%t_%s';

и
backup incremental level 1 cumulative database;


восстановление в 11.2.0.3 (Windows 2008) без ошибок, неполное:
recover database until sequence 85729;


в 11.2.0.4 (Windows 2012) сразу после выполнения recover (до resetlogs) сообщает:
1_85726_C1GT0110_.ARC RECID=41502 STAMP=892634960
archived log file name=E:\ORACLE\FLASHRECOVERY\ORCL\ARCHIVELOG\2015_10_09\O1_MF_
1_85727_C1GSYYOR_.ARC thread=1 sequence=85727
Oracle Error:
ORA-01547: ??????????????: ?????????????? ?????? ???????, ?????? ??????? 
OPEN RESETLOGS ????? ??????? ??????
ORA-01152: ???? 1 ?? ??? ???????????? ?? ??????? ?????????? ?????? ?????
ORA-01110: ???? ?????? 1: 'D:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF'

channel default: deleting archived log(s)
archived log file name=E:\ORACLE\FLASHRECOVERY\ORCL\ARCHIVELOG\2015_10_09\O1_MF_
1_85727_C1GSYYOR_.ARC RECID=41494 STAMP=892634929
media recovery complete, elapsed time: 00:13:42
Finished recover at 09-OCT-15a


может в самом методе восстановления какой-то косяк?
ведь разные версии Oracle.
li_malina
Дата: 12.10.2015 14:04:35
-13-,

ведь разные версии Oracle.-сами отвечаете на свой вопрос!Восстанавливайтесь на ту версию из которой делали копию и все будет нормально!Здесь многие пытались сделать так как Вы-и никакой upgrade им не помог!
-13-
Дата: 12.10.2015 14:37:37
li_malina
-13-,

ведь разные версии Oracle.-сами отвечаете на свой вопрос!Восстанавливайтесь на ту версию из которой делали копию и все будет нормально!Здесь многие пытались сделать так как Вы-и никакой upgrade им не помог!


Да, насчёт версий вы правы, они разные, но это не значит, что из бэкапа 11.2.0.3 нельзя восстановиться в 11.2.0.4
Потребовалось правда накатить ещё архивлоги , upgrade прошёл успешно:)
Q.Tarantino
Дата: 12.10.2015 15:00:30
-13-
upgrade прошёл успешно:)

ну еще как минимум каталогу надо upgrade сделать.
-13-
Дата: 12.10.2015 18:27:26
Q.Tarantino
-13-
upgrade прошёл успешно:)

ну еще как минимум каталогу надо upgrade сделать.

имеется ввиду oracle home?