Yesterday, a friend company's Oracle Database crashed.
This once again confirms a proposition I have repeatedly mentioned: the database also needs to rest.
On holidays, databases often choose their own holidays.
In the past, I said: at the end of the year, it was difficult to enter the database accident-prone period. This year, I remember another Christmas. When I was in Beijing with Biti, I also met a friend in Shanghai who had a database crash, we remotely instructed this friend to recover the data.
This is the case.
1. First, the host goes down and the disk goes wrong.
If you see the following errors, your data may be dangerous.
Dec 24 13:52:13 kernel: sda5: rw = 0, want = 18298437640, limit = 163846872 Dec 24 13:52:13 kernel: attempt to access beyond end of device Dec 24 13:52:13 kernel: sda5: rw = 0, want = 10384710304, limit = 163846872 Dec 24 13:52:13 kernel: attempt to access beyond end of device Dec 24 13:52:13 kernel: sda5: rw = 0, want = 8756273744, limit = 163846872 Dec 24 13:52:13 kernel: attempt to access beyond end of device Dec 24 13:52:13 kernel: sda5: rw = 0, want = 5023902272, limit = 163846872 Dec 24 13:52:13 kernel: attempt to access beyond end of device Dec 24 13:52:13 kernel: sda5: rw = 0, want = 6730428824, limit = 163846872 Dec 24 13:52:13 kernel: attempt to access beyond end of device Dec 24 13:52:13 kernel: sda5: rw = 0, want = 8884660792, limit = 163846872 Dec 24 13:52:13 kernel: attempt to access beyond end of device Dec 24 13:52:13 kernel: sda5: rw = 0, want = 9182513808, limit = 163846872 Dec 24 13:52:13 kernel: attempt to access beyond end of device Dec 24 13:52:13 kernel: sda5: rw = 0, want = 5002858800, limit = 163846872 Dec 24 13:52:13 kernel: attempt to access beyond end of device Dec 24 13:52:13 kernel: sda5: rw = 0, want = 6730428824, limit = 163846872 Dec 24 13:52:13 kernel: attempt to access beyond end of device Dec 24 13:52:13 kernel: sda5: rw = 0, want = 15872410168, limit = 163846872 |
2. massive damage to data files
Of course, this is no exception. A large number of files are damaged, and dbv has the following errors:
[Oracle @ stat datafile] $ dbv file = o1_mf_system_29448mn7 _. dbf blocksize = 8192 DBVERIFY: Release 10.2.0.2.0-Production on Thu Dec 25 22:17:52 2008 Copyright (c) 1982,200 5, Oracle. All rights reserved. DBVERIFY-Verification starting: FILE = o1_mf_system_29448mn7 _. dbf Page 40 is influx-most likely media upt Corrupt block relative dba: 0x00400028 (file 1, block 40) Fractured block found during dbv: Data in bad block: Type: 6 format: 2 rdba: 0x00400028 Last change scn: 0x0000. 18990f0e seq: 0x1 flg: 0x06 Spare1: 0x0 spare2: 0x0 spare3: 0x0 Consistency value in tail: 0xbc120601 Check value in block header: 0xc0cb Computed block checksum: 0xb003 Page 232 is influx-most likely media upt Unzip upt block relative dba: 0x004000e8 (file 1, block 232) Fractured block found during dbv: Data in bad block: Type: 6 format: 2 rdba: 0x004000e8 Last change scn: 0x0000. 18991b98 seq: 0x1 flg: 0x06 Spare1: 0x0 spare2: 0x0 spare3: 0x0 Consistency value in tail: 0x6c440601 Check value in block header: 0x8d7f Computed block checksum: 0x77dc |
3. Control File Corruption
The following error occurs when you start the database:
Wed Dec 24 17:08:52 2008 ALTER DATABASE MOUNT Wed Dec 24 17:08:56 2008 Errors in file/opt/oracle/admin/stat/udump/stat_ora_4630.trc: ORA-00600: internal error code, arguments: [kccpb_sanity_check_2], [11258908], [10375171], [0x0], [], [], [], [], [] Wed Dec 24 17:08:57 2008 ORA-600 signalled during: alter database mount... Wed Dec 24 17:09:01 2008 Starting ORACLE instance (normal) Wed Dec 24 17:16:22 2008 Reset upt block 1 found during reading backup piece, file =/opt/oracle/product/db10g/dbs/snapcf_stat.f, 1__type = 2 |
4. After repeated confirmation, the environment is Over
5. Incomplete backup
The previous backup mechanism allows me to find a series of backup sets from the remote host, but there is no control file.
By using backup sets, dbms_backup_restore, and other means, first restore the data file, and then try to start the database