This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
kurs:rman [2009/01/30 08:50] 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> | ||