Problém 27
U klienta nastala potřeba udělat Flashback databáze. Databáze je nastavená správně a přesto se Flashback nezdařil.Při pokusu se objevovala chyba.SQL> flashback database to timestamp to_timestamp (‚2010-06-16 13:00:00′,’yyyy-mm-dd hh24:mi:ss‘);flashback database to timestamp to_timestamp (‚2010-06-16 13:00:00′,’yyyy-mm-dd hh24:mi:ss‘)*ERROR at line 1:ORA-38754: FLASHBACK DATABASE not started; required redo log is not availableORA-38761: redo log sequence 14 in thread 1, incarnation 2 could not be accessed
Řešení:
Řešením je provést Flashback z RMANa, protože on vám automaticky dohraje i archívní soubory, které vám chybí.
1) Zjistit SCN číslo
Podíval jsem se jaké SCN číslo odpovídá času, po který se potřebujeme dostat.Potřebnou informaci získáte z alert.loguWed Jun 16 12:59:49 2010Beginning log switch checkpoint up to RBA [0x7.2.10], SCN: 3591796008
2) Provedení flashbacku z RMANa
RMAN> flashback database to SCN 3591796008;Starting flashback at 17-JUN-10allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=531 device type=DISKstarting media recoverychannel ORA_DISK_1: starting archived log restore to default destinationchannel ORA_DISK_1: restoring archived logarchived log thread=1 sequence=6channel ORA_DISK_1: restoring archived logarchived log thread=1 sequence=7channel ORA_DISK_1: reading from backup piece +DATA/orcl/backupset/2010_06_16/annnf0_orcl arch daily_061610095701_0.1082.721864635channel ORA_DISK_1: piece handle=+DATA/orcl/backupset/2010_06_16/annnf0_orcl arch daily_061610095701_0.1082.721864635 tag=orcl ARCH DAILY_061610095701channel ORA_DISK_1: restored backup piece 1channel ORA_DISK_1: restore complete, elapsed time: 00:00:03channel ORA_DISK_1: deleting archived log(s)archived log file name=+DATA/orcl/archivelog/2010_06_17/thread_1_seq_6.368.721916409 RECID=64 STAMP=721916408channel ORA_DISK_1: deleting archived log(s)archived log file name=+DATA/orcl/archivelog/2010_06_17/thread_1_seq_7.369.721916407 RECID=63 STAMP=721916407media recovery complete, elapsed time: 00:00:02Finished flashback at 17-JUN-10
3) Po Flashbacku se musí databáze otevřít s resetlogs přepínačem
RMAN> alter database open resetlogs;database opened
Související chyby:
V případě, že se pokusíte otevřít databázi normálně, objeví se vám chybaSQL> alter database open;alter database open*ERROR at line 1:ORA-01589: must use RESETLOGS or NORESETLOGS option for database openV případě, že se snažíte udělat Flashback po SCN číslo, kdy nemáte k dispozici flashback logy zobrazí se vám následující chyba.RMAN> flashback database to SCN 3591788878;Starting flashback at 17-JUN-10using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: SID=505 device type=DISKRMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of flashback command at 06/17/2010 12:15:30RMAN-06796: Not enough flashback database log data to do FLASHBACK.Při flashbacku musí být databáze v mount režimu, neni-li, objeví se vám upozornění.RMAN> flashback database to SCN 3591796008;Starting flashback at 17-JUN-10using channel ORA_DISK_1starting media recoverymedia recovery failedRMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of flashback command at 06/17/2010 12:16:48ORA-38757: Database must be mounted and not open to FLASHBACK.RMAN> startup mountconnected to target database (not started)Oracle instance starteddatabase mountedTotal System Global Area 2672361472 bytesFixed Size 2162680 bytesVariable Size 1107296264 bytesDatabase Buffers 1543503872 bytesRedo Buffers 19398656 bytesMetalink:ORA-38754: FLASHBACK DATABASE NOT STARTED; REQUIRED REDO LOG IS NOT AVAILABLE [ID 560686.1]