This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
kurs:rman [2009/01/30 10:22] mh |
kurs:rman [2014/09/10 21:22] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | === rman === | ||
+ | <code> | ||
+ | oracle@r06pc04:~$ rlwrap rman target / | ||
+ | Recovery Manager: Release 11.1.0.6.0 - Production on Thu Jan 29 13:14:37 2009 | ||
+ | |||
+ | Copyright (c) 1982, 2007, Oracle. All rights reserved. | ||
+ | |||
+ | connected to target database: ORCL (DBID=1204950473) | ||
+ | |||
+ | RMAN> backup database; | ||
+ | |||
+ | </code> | ||
+ | |||
+ | === blöcke herausfinden === | ||
+ | |||
+ | <code> | ||
+ | SQL> select FILE_ID, BLOCK_ID, blocks from dba_extents where SEGMENT_NAME=upper('large_table'); | ||
+ | |||
+ | in welchem file liegen die Blöcke | ||
+ | |||
+ | SQL> select name from V$DATAFILE where file#=4; | ||
+ | |||
+ | NAME | ||
+ | -------------------------------------------------------------------------------- | ||
+ | /u01/app/oracle/oradata/orcl/users01.dbf | ||
+ | |||
+ | Block demolieren | ||
+ | |||
+ | oracle@r06pc04:~$ dd if=/dev/zero of=/u01/app/oracle/oradata/orcl/users01.dbf seek=38681 bs=8k count=1 conv=notrunc | ||
+ | |||
+ | cache flushen | ||
+ | |||
+ | SQL> alter system flush buffer_cache; | ||
+ | |||
+ | SQL> select count(*) from bla.large_table; | ||
+ | select count(*) from bla.large_table | ||
+ | * | ||
+ | ERROR at line 1: | ||
+ | ORA-01578: ORACLE data block corrupted (file # 4, block # 38681) | ||
+ | ORA-01110: data file 4: '/u01/app/oracle/oradata/orcl/users01.dbf' | ||
+ | |||
+ | Lösung | ||
+ | rman> backup validate tablespace users; | ||
+ | |||
+ | rman> list failures; | ||
+ | |||
+ | rman> advise failure; | ||
+ | |||
+ | rman> repair failure; | ||
+ | |||
+ | RMAN> recover datafile 4 block 38681; | ||
+ | </code> | ||
+ | |||
+ | === Komplettes Recover === | ||
+ | <code> | ||
+ | |||
+ | RMAN> backup as copy format '/home/oracle/control.ctl' current controlfile; | ||
+ | |||
+ | RMAN> backup database ; | ||
+ | |||
+ | Databank zerstören, dann | ||
+ | |||
+ | oracle@r06pc04:~$ sql+ | ||
+ | |||
+ | SQL*Plus: Release 11.1.0.6.0 - Production on Thu Jan 29 15:26:46 2009 | ||
+ | |||
+ | Copyright (c) 1982, 2007, Oracle. All rights reserved. | ||
+ | |||
+ | Connected to an idle instance. | ||
+ | |||
+ | SQL> startup | ||
+ | ORACLE instance started. | ||
+ | |||
+ | ORA-00205: error in identifying control file, check alert log for more info | ||
+ | |||
+ | oracle@r06pc04:~$ rlwrap rman target / | ||
+ | |||
+ | Recovery Manager: Release 11.1.0.6.0 - Production on Thu Jan 29 15:27:45 2009 | ||
+ | |||
+ | Copyright (c) 1982, 2007, Oracle. All rights reserved. | ||
+ | |||
+ | connected to target database: ORCL (not mounted) | ||
+ | |||
+ | RMAN> list failure | ||
+ | st of Database Failures | ||
+ | ========================= | ||
+ | |||
+ | Failure ID Priority Status Time Detected Summary | ||
+ | ---------- -------- --------- ------------- ------- | ||
+ | 291 CRITICAL OPEN 29-JAN-09 Control file /u01/app/oracle/oradata/orcl/control01.ctl is missing | ||
+ | 288 CRITICAL OPEN 29-JAN-09 Control file /u01/app/oracle/oradata/orcl/control02.ctl is missing | ||
+ | 285 CRITICAL OPEN 29-JAN-09 Control file /u01/app/oracle/oradata/orcl/control03.ctl is missing | ||
+ | 142 HIGH OPEN 29-JAN-09 Datafile 4: '/u01/app/oracle/oradata/orcl/users01.dbf' contains one or more corrupt blocks | ||
+ | |||
+ | wenn kein autobackup aktiviert ist | ||
+ | |||
+ | RMAN> restore controlfile from '/home/oracle/control.ctl'; | ||
+ | |||
+ | </code> |