天天看點

[20171031]rman xxx Failure.txt

[20171031]rman xxx Failure.txt

--//簡單測試 List Failure, Advise Failure and Repair Failure指令在11g下,也許以後工作需要.

--//雖然我自己很少使用這個指令,感覺這個有點傻瓜化.

1.環境:

SYS@book> @ &r/ver1

PORT_STRING                    VERSION        BANNER

------------------------------ -------------- --------------------------------------------------------------------------------

x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

RMAN> report schema;

using target database control file instead of recovery catalog

Report of database schema for database with db_unique_name BOOK

List of Permanent Datafiles

===========================

File Size(MB) Tablespace           RB segs Datafile Name

---- -------- -------------------- ------- ------------------------

1    760      SYSTEM               ***     /mnt/ramdisk/book/system01.dbf

2    940      SYSAUX               ***     /mnt/ramdisk/book/sysaux01.dbf

3    865      UNDOTBS1             ***     /mnt/ramdisk/book/undotbs01.dbf

4    128      USERS                ***     /mnt/ramdisk/book/users01.dbf

5    346      EXAMPLE              ***     /mnt/ramdisk/book/example01.dbf

6    40       TEA                  ***     /mnt/ramdisk/book/tea01.dbf

List of Temporary Files

=======================

File Size(MB) Tablespace           Maxsize(MB) Tempfile Name

---- -------- -------------------- ----------- --------------------

1    414      TEMP                 32767       /mnt/ramdisk/book/temp01.dbf

2.建立測試環境:

--//建立備份:

delete archivelog all;

backup database format '/home/oracle/backup/full_%U';

backup archivelog all format '/home/oracle/backup/archive_%U';

--//過程略.

3.關閉資料庫,删除一個資料檔案:

RMAN> shutdown immediate ;

database closed

database dismounted

Oracle instance shut down

$ mv /mnt/ramdisk/book/tea01.dbf /mnt/ramdisk/book/tea01.dbf_20171031

4.啟動資料庫:

SYS@book> startup

ORACLE instance started.

Total System Global Area  634732544 bytes

Fixed Size                  2255792 bytes

Variable Size             197133392 bytes

Database Buffers          427819008 bytes

Redo Buffers                7524352 bytes

Database mounted.

ORA-01157: cannot identify/lock data file 6 - see DBWR trace file

ORA-01110: data file 6: '/mnt/ramdisk/book/tea01.dbf'

SYS@book> select open_mode from v$database ;

OPEN_MODE

--------------------

MOUNTED

5.通過以下指令觀察:

--//List Failure;

RMAN> List Failure;

List of Database Failures

=========================

Failure ID Priority Status    Time Detected       Summary

---------- -------- --------- ------------------- -------

71648      HIGH     OPEN      2017-10-31 15:48:51 One or more non-system datafiles are missing

RMAN> List Failure detail;

  Impact: See impact for individual child failures

  List of child failures for parent failure ID 71648

  Failure ID Priority Status    Time Detected       Summary

  ---------- -------- --------- ------------------- -------

  71651      HIGH     OPEN      2017-10-31 15:48:51 Datafile 6: '/mnt/ramdisk/book/tea01.dbf' is missing

    Impact: Some objects in tablespace TEA might be unavailable

RMAN> List Failure 71651;

71651      HIGH     OPEN      2017-10-31 15:48:51 Datafile 6: '/mnt/ramdisk/book/tea01.dbf' is missing

  Impact: Some objects in tablespace TEA might be unavailable

--//Advise Failure

RMAN> Advise Failure;

analyzing automatic repair options; this may take some time

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=28 device type=DISK

allocated channel: ORA_DISK_2

channel ORA_DISK_2: SID=41 device type=DISK

allocated channel: ORA_DISK_3

channel ORA_DISK_3: SID=54 device type=DISK

analyzing automatic repair options complete

Mandatory Manual Actions

========================

no manual actions available

Optional Manual Actions

1. If file /mnt/ramdisk/book/tea01.dbf was unintentionally renamed or moved, restore it

Automated Repair Options

Option Repair Description

------ ------------------

1      Restore and recover datafile 6

  Strategy: The repair includes complete media recovery with no data loss

  Repair script: /u01/app/oracle/diag/rdbms/book/book/hm/reco_4210181035.hm

$ cat /u01/app/oracle/diag/rdbms/book/book/hm/reco_4210181035.hm

   # restore and recover datafile

   restore datafile 6;

   recover datafile 6;

   sql 'alter database datafile 6 online';

--//可以發現修複腳本.再次執行Advise Failure ;還是在目錄/u01/app/oracle/diag/rdbms/book/book/hm/生産不同的檔案.

--//Repair Failure

RMAN> Repair Failure preview;

Strategy: The repair includes complete media recovery with no data loss

Repair script: /u01/app/oracle/diag/rdbms/book/book/hm/reco_3211653773.hm

contents of repair script:

RMAN> Repair Failure ;

Do you really want to execute the above repair (enter YES or NO)? yes

executing repair script

Starting restore at 2017-10-31 15:55:10

using channel ORA_DISK_1

using channel ORA_DISK_2

using channel ORA_DISK_3

channel ORA_DISK_1: starting datafile backup set restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

channel ORA_DISK_1: restoring datafile 00006 to /mnt/ramdisk/book/tea01.dbf

channel ORA_DISK_1: reading from backup piece /home/oracle/backup/full_gdsidcrr_1_1

channel ORA_DISK_1: piece handle=/home/oracle/backup/full_gdsidcrr_1_1 tag=TAG20171031T154706

channel ORA_DISK_1: restored backup piece 1

channel ORA_DISK_1: restore complete, elapsed time: 00:00:01

Finished restore at 2017-10-31 15:55:12

Starting recover at 2017-10-31 15:55:12

starting media recovery

media recovery complete, elapsed time: 00:00:00

Finished recover at 2017-10-31 15:55:12

sql statement: alter database datafile 6 online

repair failure complete

Do you want to open the database (enter YES or NO)? YES

database opened

READ WRITE

--//OK現在資料庫正常打開了.